Changeset 594 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS
- Timestamp:
- Jul 4, 2018, 6:40:02 PM (6 years ago)
- Location:
- trunk/XTIDE_Universal_BIOS
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/RamVars.inc
r593 r594 69 69 .rgbTopOfStack: ; 256 bytes of stack 70 70 .fpInt13hEntryStack resb 4 71 %endif 72 %ifdef MODULE_MFM_COMPATIBILITY 73 .fpMFMint13h resb 4 71 74 %endif 72 75 .fpOldI13h resb 4 ; Far pointer to old INT 13h handler -
trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm
r593 r594 115 115 test al, al 116 116 jnz SHORT .ContinueInitialization ; CMOS byte 12h is ready for Windows 95 117 call CMOS_Verify10hTo2Dh 117 call CMOS_Verify10hTo2Dh ; Can we modify CMOS? 118 118 jnz SHORT .ClearBdaDriveCount ; Unsupported BIOS, use plan B 119 119 … … 123 123 call CMOS_WriteALtoIndexInDL 124 124 call CMOS_StoreNewChecksumFor10hto2Dh 125 %endif 125 .ClearBdaDriveCount: 126 %endif ; MODULE_WIN95_CMOS_HACK 126 127 127 128 test BYTE [cs:ROMVARS.wFlags], FLG_ROMVARS_IGNORE_MOTHERBOARD_DRIVES 128 129 jz SHORT .ContinueInitialization 129 .ClearBdaDriveCount:130 130 mov BYTE [es:BDA.bHDCount], 0 ; Set hard disk count to zero 131 131 .ContinueInitialization: -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm
r592 r594 59 59 ;-------------------------------------------------------------------- 60 60 .InitializeInt13hAnd40h: 61 %ifdef MODULE_MFM_COMPATIBILITY 62 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4+2]; Load old INT 13h segment 63 mov [RAMVARS.fpMFMint13h+2], ax ; Store old INT 13h segment 64 xchg dx, ax 65 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4] ; Load old INT 13h offset 66 mov [RAMVARS.fpMFMint13h], ax ; Store old INT 13h offset 67 68 mov [RAMVARS.fpOldI13h+2], cs 69 mov WORD [RAMVARS.fpOldI13h], Int13hMFMcompatibilityHandler 70 %else 61 71 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4+2]; Load old INT 13h segment 62 72 mov [RAMVARS.fpOldI13h+2], ax ; Store old INT 13h segment … … 64 74 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4] ; Load old INT 13h offset 65 75 mov [RAMVARS.fpOldI13h], ax ; Store old INT 13h offset 76 %endif 66 77 67 78 ; Only store INT 13h handler to 40h if 40h is not already installed. -
trunk/XTIDE_Universal_BIOS/Src/Main.asm
r593 r594 280 280 281 281 ; INT 13h Hard Disk BIOS functions 282 %ifdef MODULE_MFM_COMPATIBILITY 283 %include "Int13hMFMcompatibility.asm" 284 %endif 282 285 %include "Int13h.asm" ; For Int 13h, Disk functions 283 286 %include "AH0h_HReset.asm" -
trunk/XTIDE_Universal_BIOS/makefile
r593 r594 30 30 # MODULE_POWER_MANAGEMENT Power Management support # 31 31 # MODULE_WIN95_CMOS_HACK Hack for Windows 95 compatibility # 32 # MODULE_MFM_COMPATIBILITY Restores BDA drive count for MFM controllers that expect to be the # 33 # only hard drive controller on the system # 32 34 # # 33 35 # Not modules but these affect the assembly: # … … 121 123 122 124 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_POWER_MANAGEMENT MODULE_COMPATIBLE_TABLES 123 DEFINES_ALL_FEATURES += ELIMINATE_CGA_SNOW RELOCATE_INT13H_STACK RESERVE_DIAGNOSTIC_CYLINDER MODULE_WIN95_CMOS_HACK 125 DEFINES_ALL_FEATURES += ELIMINATE_CGA_SNOW RELOCATE_INT13H_STACK RESERVE_DIAGNOSTIC_CYLINDER MODULE_WIN95_CMOS_HACK MODULE_MFM_COMPATIBILITY 124 126 125 127
Note:
See TracChangeset
for help on using the changeset viewer.