Changeset 589 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc
- Timestamp:
- May 22, 2016, 12:26:57 PM (9 years ago)
- Location:
- trunk/XTIDE_Universal_BIOS/Inc
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/BootVars.inc
r545 r589 41 41 .dwPostStack resb 4 ; POST stack pointer when entering INT 19h 42 42 %ifdef MODULE_HOTKEYS 43 .hotkeyVars 43 .hotkeyVars resb HOTKEYVARS_size 44 44 %endif 45 45 .rgDrvDetectInfo: ; Array containing DRVDETECTINFO structs -
trunk/XTIDE_Universal_BIOS/Inc/Controllers/AdvancedID.inc
r588 r589 32 32 ; Vision 33 33 ; QDI Vision Controller Identification nibbles used by hardware so do not modify these 34 ID_QD6580_ALTERNATE EQU 535 ID_QD6580 EQU 1 036 ID_QD6500 EQU 1 234 ID_QD6580_ALTERNATE EQU 80 35 ID_QD6580 EQU 160 36 ID_QD6500 EQU 192 37 37 38 38 -
trunk/XTIDE_Universal_BIOS/Inc/Controllers/PDC20x30.inc
r587 r589 2 2 ; Description : Promise PDC 20230-C and 20630 VLB IDE controller 3 3 ; specifications. 4 ;5 ; Specifications can be found at6 4 7 5 ; -
trunk/XTIDE_Universal_BIOS/Inc/Controllers/XTCF.inc
r588 r589 56 56 ; the mode via a call to Int 13h function 1Eh accordingly (see AH1Eh_XTCF.asm). 57 57 ; 58 XTCF_8BIT_PIO_MODE EQU 0 ; XT-CF using 8-bit PIO mode59 XTCF_8BIT_PIO_MODE_WITH_BIU_OFFLOAD EQU 1 ; XT-CF using 8-bit PIO mode, but with 16-bit instructions60 XTCF_16BIT_PIO_ WITH_BIU_OFFLOADEQU 2 ; Lo-tech 8-bit IDE Adapter61 XTCF_DMA_MODE EQU 3 ; XT-CFv3 using DMA58 XTCF_8BIT_PIO_MODE EQU 0 ; XT-CF using 8-bit PIO mode 59 XTCF_8BIT_PIO_MODE_WITH_BIU_OFFLOAD EQU 1 ; XT-CF using 8-bit PIO mode, but with 16-bit instructions 60 XTCF_16BIT_PIO_MODE_WITH_BIU_OFFLOAD EQU 2 ; Lo-tech 8-bit IDE Adapter 61 XTCF_DMA_MODE EQU 3 ; XT-CFv3 using DMA 62 62 63 63 -
trunk/XTIDE_Universal_BIOS/Inc/CustomDPT.inc
r584 r589 84 84 85 85 86 ; Flags for DPT _ADVANCED_ATA.bInitError86 ; Flags for DPT.bInitError 87 87 FLG_INITERROR_FAILED_TO_SELECT_DRIVE EQU (1<<0) 88 88 FLG_INITERROR_FAILED_TO_INITIALIZE_CHS_PARAMETERS EQU (1<<1) -
trunk/XTIDE_Universal_BIOS/Inc/IDE_8bit.inc
r526 r589 21 21 %ifndef IDE_8BIT_INC 22 22 %define IDE_8BIT_INC 23 24 ;--------------------------------------------------------------------25 ; UNROLL_SECTORS_IN_CX_TO_DWORDS26 ; UNROLL_SECTORS_IN_CX_TO_QWORDS27 ; UNROLL_SECTORS_IN_CX_TO_OWORDS28 ; Parameters:29 ; CX: Number of sectors in block30 ; Returns:31 ; CX: Number of DWORDs, QWORDs or OWORDs in block32 ; Corrupts registers:33 ; Nothing34 ;--------------------------------------------------------------------35 %macro UNROLL_SECTORS_IN_CX_TO_DWORDS 036 %ifdef USE_18637 shl cx, 738 %else39 xchg cl, ch ; Sectors to WORDs (SHL CX, 8)40 shr cx, 141 %endif42 %endmacro43 44 %macro UNROLL_SECTORS_IN_CX_TO_QWORDS 045 %ifdef USE_18646 shl cx, 647 %else48 UNROLL_SECTORS_IN_CX_TO_DWORDS49 shr cx, 150 %endif51 %endmacro52 53 %macro UNROLL_SECTORS_IN_CX_TO_OWORDS 054 %ifdef USE_18655 shl cx, 556 %else57 ; UNROLL_SECTORS_IN_CX_TO_QWORDS58 ; shr cx, 159 mov ch, cl ; 2 bytes shorter but possibly slower60 mov cl, 361 shr cx, cl62 %endif63 %endmacro64 65 23 66 24 ;-------------------------------------------------------------------- -
trunk/XTIDE_Universal_BIOS/Inc/IdeIO.inc
r526 r589 105 105 106 106 107 ;-------------------------------------------------------------------- 108 ; UNROLL_SECTORS_IN_CX_TO_DWORDS 109 ; UNROLL_SECTORS_IN_CX_TO_QWORDS 110 ; UNROLL_SECTORS_IN_CX_TO_OWORDS 111 ; Parameters: 112 ; CX: Number of sectors in block 113 ; Returns: 114 ; CX: Number of DWORDs, QWORDs or OWORDs in block 115 ; Corrupts registers: 116 ; Nothing 117 ;-------------------------------------------------------------------- 118 %macro UNROLL_SECTORS_IN_CX_TO_DWORDS 0 119 %ifdef USE_186 120 shl cx, 7 121 %else 122 xchg cl, ch ; Sectors to WORDs (SHL CX, 8) 123 shr cx, 1 124 %endif 125 %endmacro 126 127 %macro UNROLL_SECTORS_IN_CX_TO_QWORDS 0 128 %ifdef USE_186 129 shl cx, 6 130 %else 131 UNROLL_SECTORS_IN_CX_TO_DWORDS 132 shr cx, 1 133 %endif 134 %endmacro 135 136 %macro UNROLL_SECTORS_IN_CX_TO_OWORDS 0 137 %ifdef USE_186 138 shl cx, 5 139 %else 140 ; UNROLL_SECTORS_IN_CX_TO_QWORDS 141 ; shr cx, 1 142 mov ch, cl ; 2 bytes shorter but possibly slower 143 mov cl, 3 144 shr cx, cl 145 %endif 146 %endmacro 147 148 107 149 %endif ; IDE_IO_INC -
trunk/XTIDE_Universal_BIOS/Inc/ModuleDependency.inc
r587 r589 26 26 %endif 27 27 28 29 28 %ifdef MODULE_SERIAL_FLOPPY 30 29 %ifndef MODULE_SERIAL … … 41 40 %endif 42 41 43 ; Include module specific .INC files44 42 %ifdef MODULE_8BIT_IDE 45 43 %include "IDE_8bit.inc" ; For IDE 8-bit data port macros … … 47 45 48 46 %ifdef MODULE_ADVANCED_ATA 47 %ifndef USE_386 48 %error "MODULE_ADVANCED_ATA requires USE_386!" 49 %endif 49 50 %include "AdvancedID.inc" 50 51 %include "PDC20x30.inc" ; For Promise PDC 20230-C and 20630 controllers … … 79 80 ; Included modules for ROMVARS.wFlags 80 81 %ifdef MODULE_8BIT_IDE 81 MAIN_FLG_MODULE_8BIT_IDE EQU FLG_ROMVARS_MODULE_8BIT_IDE82 MAIN_FLG_MODULE_8BIT_IDE EQU FLG_ROMVARS_MODULE_8BIT_IDE 82 83 %else 83 MAIN_FLG_MODULE_8BIT_IDE EQU 084 MAIN_FLG_MODULE_8BIT_IDE EQU 0 84 85 %endif 85 86 86 87 %ifdef MODULE_ADVANCED_ATA 87 MAIN_FLG_MODULE_ADVANCED_ATA EQU FLG_ROMVARS_MODULE_ADVANCED_ATA88 MAIN_FLG_MODULE_ADVANCED_ATA EQU FLG_ROMVARS_MODULE_ADVANCED_ATA 88 89 %else 89 MAIN_FLG_MODULE_ADVANCED_ATA EQU 090 MAIN_FLG_MODULE_ADVANCED_ATA EQU 0 90 91 %endif 91 92 92 93 %ifdef MODULE_BOOT_MENU 93 MAIN_FLG_MODULE_BOOT_MENU EQU FLG_ROMVARS_MODULE_BOOT_MENU94 MAIN_FLG_MODULE_BOOT_MENU EQU FLG_ROMVARS_MODULE_BOOT_MENU 94 95 %else 95 MAIN_FLG_MODULE_BOOT_MENU EQU 096 MAIN_FLG_MODULE_BOOT_MENU EQU 0 96 97 %endif 97 98 98 99 %ifdef MODULE_EBIOS 99 MAIN_FLG_MODULE_EBIOS EQU FLG_ROMVARS_MODULE_EBIOS100 MAIN_FLG_MODULE_EBIOS EQU FLG_ROMVARS_MODULE_EBIOS 100 101 %else 101 MAIN_FLG_MODULE_EBIOS EQU 0102 MAIN_FLG_MODULE_EBIOS EQU 0 102 103 %endif 103 104 104 105 %ifdef MODULE_HOTKEYS 105 MAIN_FLG_MODULE_HOTKEYS EQU FLG_ROMVARS_MODULE_HOTKEYS106 MAIN_FLG_MODULE_HOTKEYS EQU FLG_ROMVARS_MODULE_HOTKEYS 106 107 %else 107 MAIN_FLG_MODULE_HOTKEYS EQU 0108 MAIN_FLG_MODULE_HOTKEYS EQU 0 108 109 %endif 109 110 110 111 %ifdef MODULE_IRQ 111 MAIN_FLG_MODULE_IRQ EQU FLG_ROMVARS_MODULE_IRQ112 MAIN_FLG_MODULE_IRQ EQU FLG_ROMVARS_MODULE_IRQ 112 113 %else 113 MAIN_FLG_MODULE_IRQ EQU 0114 MAIN_FLG_MODULE_IRQ EQU 0 114 115 %endif 115 116 116 117 %ifdef MODULE_SERIAL 117 MAIN_FLG_MODULE_SERIAL EQU FLG_ROMVARS_MODULE_SERIAL118 MAIN_FLG_MODULE_SERIAL EQU FLG_ROMVARS_MODULE_SERIAL 118 119 %else 119 MAIN_FLG_MODULE_SERIAL EQU 0120 MAIN_FLG_MODULE_SERIAL EQU 0 120 121 %endif 121 122 122 123 %ifdef MODULE_SERIAL_FLOPPY 123 MAIN_FLG_MODULE_SERIAL_FLOPPY EQU FLG_ROMVARS_MODULE_SERIAL_FLOPPY124 MAIN_FLG_MODULE_SERIAL_FLOPPY EQU FLG_ROMVARS_MODULE_SERIAL_FLOPPY 124 125 %else 125 MAIN_FLG_MODULE_SERIAL_FLOPPY EQU 0126 MAIN_FLG_MODULE_SERIAL_FLOPPY EQU 0 126 127 %endif 127 128 … … 145 146 146 147 MASK_ROMVARS_INCLUDED_MODULES EQU MAIN_FLG_MODULE_8BIT_IDE | MAIN_FLG_MODULE_ADVANCED_ATA | MAIN_FLG_MODULE_BOOT_MENU | MAIN_FLG_MODULE_EBIOS | MAIN_FLG_MODULE_HOTKEYS | MAIN_FLG_MODULE_IRQ | MAIN_FLG_MODULE_SERIAL | MAIN_FLG_MODULE_SERIAL_FLOPPY | MAIN_FLG_MODULE_STRINGS_COMPRESSED | MAIN_FLG_MODULE_POWER_MANAGEMENT | MAIN_FLG_MODULE_8BIT_IDE_ADVANCED 147 -
trunk/XTIDE_Universal_BIOS/Inc/RamVars.inc
r555 r589 132 132 %endif 133 133 134 alignb 2 ; Keep the INTPACK structure and stack pointer WORD aligned 135 134 136 .intpack resb INTPACK_size 135 137 endstruc -
trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc
r588 r589 71 71 ; (Conveniently, this is 8, a fact we exploit when testing the bit) 72 72 73 ; Here in case the configuration needs to know functionality is present 73 ; Here in case the configuration needs to know functionality is present. Note! Changing the order/location of these flags 74 ; also requires changes elsewhere as they are usually tested using byte-accesses for efficiency. 74 75 FLG_ROMVARS_MODULE_POWER_MANAGEMENT EQU (1<<5) 75 76 FLG_ROMVARS_MODULE_8BIT_IDE EQU (1<<6) … … 146 147 ; Device types for IDEVARS.bDevice 147 148 ; IDE Devices are grouped so device numbers cannot be changed without modifying code elsewhere! 148 ; (IdeTransfer.asm)149 149 COUNT_OF_STANDARD_IDE_DEVICES EQU 2 ; 16- and 32-bit controllers 150 150 COUNT_OF_8BIT_IDE_DEVICES EQU 9
Note:
See TracChangeset
for help on using the changeset viewer.