Changeset 524 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src
- Timestamp:
- Mar 14, 2013, 2:28:30 PM (12 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
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:
Note:
See TracChangeset
for help on using the changeset viewer.