- Timestamp:
- Mar 14, 2013, 2:28:30 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/BootVars.inc
r520 r524 44 44 .wNextXTCFportToScan resb 2 ; Needed for XT-CF port autodetection 45 45 %endif 46 47 48 46 %ifdef MODULE_HOTKEYS 49 47 .hotkeyVars resb HOTKEYVARS_size 50 %else51 .clearToZeroFromThisPoint:52 48 %endif 53 54 49 .rgDrvDetectInfo: ; Array containing DRVDETECTINFO structs 55 50 endstruc … … 59 54 60 55 struc HOTKEYVARS 61 .wTimeToClose resb 2 ; Earliest system time when Hotkey Bar can be closed 62 .clearToZeroFromThisPoint: 56 .wTimeWhenDisplayed resb 2 ; System time (ticks) when Hotkey bar was first displayed 63 57 .wFddAndHddLetters: 64 58 .bFddLetter resb 1 ; Floppy Drive letter hotkey (upper case) … … 74 68 %endif 75 69 76 ; Bit defines for KEYBOARDVARS.bFlags77 FLG_HOTKEY_HD_FIRST EQU (1<<0) ; First try to boot from HDD, then FDD70 ; Bit defines for HOTKEYVARS.bFlags 71 FLG_HOTKEY_HD_FIRST EQU (1<<0) ; First try to boot from HDD, then FDD 78 72 79 73 %endif ; MODULE_HOTKEYS -
trunk/XTIDE_Universal_BIOS/Inc/ModuleDependency.inc
r522 r524 20 20 ; Allow RELOCATE_INT13H_STACK only for AT builds 21 21 %ifndef USE_AT 22 %undef RELOCATE_INT13H_STACK 22 %ifdef RELOCATE_INT13H_STACK 23 %undef RELOCATE_INT13H_STACK 24 %warning "RELOCATE_INT13H_STACK is not supported for XT builds!" 25 %endif 23 26 %endif 24 27 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm
r521 r524 80 80 %ifdef MODULE_HOTKEYS 81 81 call TimerTicks_ReadFromBdaToAX 82 add ax, BYTE MIN_TIME_TO_DISPLAY_HOTKEY_BAR 83 mov [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wTimeToClose], ax 82 mov [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wTimeWhenDisplayed], ax 84 83 %endif 85 84 … … 89 88 .WaitUntilTimeToCloseHotkeyBar: 90 89 call TimerTicks_ReadFromBdaToAX 91 cmp ax, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wTimeToClose] 90 sub ax, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wTimeWhenDisplayed] 91 cmp ax, MIN_TIME_TO_DISPLAY_HOTKEY_BAR 92 92 jb SHORT .WaitUntilTimeToCloseHotkeyBar 93 93 %endif -
trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm
r392 r524 22 22 SECTION .text 23 23 24 %ifdef COPY_13H_HANDLER_TO_40H 24 25 ;-------------------------------------------------------------------- 25 26 ; Checks is floppy drive handler installed to interrupt vector 40h. … … 103 104 %endif 104 105 106 %endif ; COPY_13H_HANDLER_TO_40H 107 105 108 106 109 ;-------------------------------------------------------------------- -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm
r522 r524 64 64 mov [RAMVARS.fpOldI13h], ax ; Store old INT 13h offset 65 65 66 ; NOTE! Installing INT 40h handler is currently uncommented to test 67 ; if it is really needed. I suspect that it is not. Many bytes can be 68 ; saved if INT 40h related code can be removed. 69 %if 0 70 66 %ifdef COPY_13H_HANDLER_TO_40H 71 67 ; Only store INT 13h handler to 40h if 40h is not already installed. 72 68 ; At least AMI BIOS for 286 stores 40h handler by itself and calls … … 77 73 mov [es:BIOS_DISKETTE_INTERRUPT_40h*4+2], dx ; Store old INT 13h segment 78 74 .Int40hAlreadyInstalled: 79 %endif ; 075 %endif ; COPY_13H_HANDLER_TO_40H 80 76 81 77 mov al, BIOS_DISK_INTERRUPT_13h ; INT 13h interrupt vector offset -
trunk/XTIDE_Universal_BIOS/Src/Main.asm
r522 r524 91 91 at ROMVARS.ideVars0+IDEVARS.wControlBlockPort, dw DEVICE_ATA_PRIMARY_PORTCTRL ; Controller Control Block base port 92 92 at ROMVARS.ideVars0+IDEVARS.bDevice, db DEVICE_16BIT_ATA 93 at ROMVARS.ideVars0+IDEVARS.bIRQ, db 093 at ROMVARS.ideVars0+IDEVARS.bIRQ, db 14 94 94 at ROMVARS.ideVars0+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags, dw DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION) 95 95 at ROMVARS.ideVars0+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags, dw DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION) … … 98 98 at ROMVARS.ideVars1+IDEVARS.wControlBlockPort, dw DEVICE_ATA_SECONDARY_PORTCTRL 99 99 at ROMVARS.ideVars1+IDEVARS.bDevice, db DEVICE_16BIT_ATA 100 at ROMVARS.ideVars1+IDEVARS.bIRQ, db 0100 at ROMVARS.ideVars1+IDEVARS.bIRQ, db 15 101 101 at ROMVARS.ideVars1+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags, dw DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION) 102 102 at ROMVARS.ideVars1+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags, dw DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION) -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/BootVars.asm
r520 r524 36 36 %endif 37 37 38 ; Clear to zero38 ; Clear all DRVDETECTINFO structs to zero 39 39 mov al, DRVDETECTINFO_size 40 40 mul BYTE [cs:ROMVARS.bIdeCnt] 41 %ifdef MODULE_HOTKEYS ; We must not initialize anything before this! 42 mov di, BOOTVARS.hotkeyVars + HOTKEYVARS.clearToZeroFromThisPoint 43 %else 44 mov di, BOOTVARS.clearToZeroFromThisPoint 45 %endif 46 add ax, BOOTVARS_size 47 sub ax, di 41 mov di, BOOTVARS.rgDrvDetectInfo ; We must not initialize anything before this! 48 42 xchg cx, ax 49 43 … … 51 45 call Memory_ZeroESDIwithSizeInCX 52 46 53 ; Store default drives to boot from 47 ; Initialize HOTKEYVARS by storing default drives to boot from 48 mov WORD [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wFddAndHddLetters], DEFAULT_FLOPPY_DRIVE_LETTER | (DEFAULT_HARD_DRIVE_LETTER<<8) 54 49 mov dl, [cs:ROMVARS.bBootDrv] 55 56 ; fall through to BootVars_StoreHotkeyForDriveNumberInDL57 58 ;--------------------------------------------------------------------59 ; BootVars_StoreHotkeyForDriveNumberInDL60 ; Parameters:61 ; DL: Floppy or Hard Drive number62 ; DS: RAMVARS Segment63 ; ES: BDA Segment64 ; Returns:65 ; Nothing66 ; Corrupts registers:67 ; AX, CX, DI68 ;--------------------------------------------------------------------69 BootVars_StoreHotkeyForDriveNumberInDL:70 mov WORD [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wFddAndHddLetters], DEFAULT_FLOPPY_DRIVE_LETTER | (DEFAULT_HARD_DRIVE_LETTER<<8)71 50 call DriveXlate_ConvertDriveNumberFromDLtoDriveLetter 72 51 jmp HotkeyBar_StoreHotkeyToBootvarsForDriveLetterInDL … … 74 53 %else 75 54 jmp Memory_ZeroESDIwithSizeInCX 76 77 55 %endif ; MODULE_HOTKEYS -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/FindDPT.asm
r522 r524 176 176 ; IterateFindFirstDPTforIdevars 177 177 ; DL: Offset to IDEVARS to search from DPTs 178 ; SI: Offset to this callback function 178 179 ; DS:DI: Ptr to DPT to examine 179 180 ; Returns: … … 183 184 IterateFindSecondDPTforIdevars: 184 185 call IterateFindFirstDPTforIdevars 185 jc SHORT IterateFindFirstDPTforIdevars.done ; Wrong controller 186 187 ; We have found DPT for Master Drive, 188 ; next DPT is for slave drive or master for another controller 189 add di, BYTE LARGEST_DPT_SIZE 190 ; Fall to IterateFindFirstDPTforIdevars 186 jc SHORT .WrongController 187 mov si, IterateFindFirstDPTforIdevars 188 .WrongController: 189 stc 190 ret 191 191 192 192 IterateFindFirstDPTforIdevars: -
trunk/XTIDE_Universal_BIOS/makefile
r522 r524 29 29 # # 30 30 # Not modules but these affect the assembly: # 31 # COPY_13H_HANDLER_TO_40H Copies existing INT 13h handler to 40h if necessary # 31 32 # ELIMINATE_CGA_SNOW Prevents CGA snowing at the cost of a few bytes # 32 33 # RELOCATE_INT13H_STACK ** Relocates INT 13h stack to beginning of stolen conventional memory # … … 101 102 DEFINES_COMMON_LARGE = MODULE_BOOT_MENU MODULE_8BIT_IDE_ADVANCED 102 103 103 DEFINES_XT = $(DEFINES_COMMON) ELIMINATE_CGA_SNOW MODULE_8BIT_IDE_ADVANCED 104 DEFINES_XT = $(DEFINES_COMMON) ELIMINATE_CGA_SNOW MODULE_8BIT_IDE_ADVANCED COPY_13H_HANDLER_TO_40H 104 105 DEFINES_XTPLUS = $(DEFINES_COMMON) $(DEFINES_XT) USE_186 105 DEFINES_AT = $(DEFINES_COMMON) USE_AT USE_286 RELOCATE_INT13H_STACKMODULE_IRQ MODULE_ADVANCED_ATA106 DEFINES_AT = $(DEFINES_COMMON) USE_AT USE_286 MODULE_IRQ MODULE_ADVANCED_ATA 106 107 107 108 DEFINES_XT_LARGE = $(DEFINES_XT) $(DEFINES_COMMON_LARGE) … … 113 114 114 115 DEFINES_ALL_FEATURES = MODULE_8BIT_IDE MODULE_8BIT_IDE_ADVANCED MODULE_ADVANCED_ATA MODULE_EBIOS MODULE_BOOT_MENU MODULE_HOTKEYS MODULE_IRQ MODULE_SERIAL MODULE_SERIAL_FLOPPY MODULE_STRINGS_COMPRESSED MODULE_FEATURE_SETS 116 DEFINES_ALL_FEATURES += COPY_13H_HANDLER_TO_40H ELIMINATE_CGA_SNOW RELOCATE_INT13H_STACK RESERVE_DIAGNOSTIC_CYLINDER 115 117 116 118
Note:
See TracChangeset
for help on using the changeset viewer.