Changeset 489 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS
- Timestamp:
- Dec 13, 2012, 7:32:09 AM (12 years ago)
- google:author:
- gregli@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdePioBlock.asm
r480 r489 217 217 ALIGN JUMP_ALIGN 218 218 %ifdef USE_186 219 %ifdef MODULE_8BIT_IDE 219 220 IdePioBlock_ReadFromXtideRev2: 221 %endif 220 222 %endif 221 223 IdePioBlock_ReadFrom16bitDataPort: -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeWait.asm
r400 r489 93 93 ; AL, BX, CX, DX 94 94 ;-------------------------------------------------------------------- 95 IdePollBsyAndFlgInAH:95 .IdePollBsyAndFlgInAH: 96 96 call IdeIO_InputStatusRegisterToAL ; Discard contents of first read 97 97 -
trunk/XTIDE_Universal_BIOS/Src/Device/Serial/SerialCommand.asm
r480 r489 66 66 mov dx, [di+DPT_SERIAL.wSerialPortAndBaud] 67 67 68 ; fall through to SerialCommand_FallThroughToSerialServer_SendReceive 69 68 70 ALIGN JUMP_ALIGN 69 SerialCommand_FallThroughToSerialServer_SendReceive: 71 SerialCommand_FallThroughToSerialServer_SendReceive: 70 72 73 ; fall through to SerialServer_SendReceive 74 71 75 %include "SerialServer.asm" 72 76 … … 177 181 .identifyDeviceInDX: 178 182 183 ; fall through to SerialCommand_FallThroughToSerialServerScan_ScanForServer 184 179 185 ALIGN JUMP_ALIGN 180 SerialCommand_FallThroughToSerialServerScan_ScanForServer: 186 SerialCommand_FallThroughToSerialServerScan_ScanForServer: 187 188 ; fall through to SerialServerScan_ScanForServer 181 189 182 190 %include "SerialServerScan.asm" -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH0h_HReset.asm
r435 r489 174 174 175 175 .done: 176 NoForeignDrivesToReset:176 .NoForeignDrivesToReset: 177 177 ret -
trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm
r474 r489 50 50 51 51 ;-------------------------------------------------------------------- 52 ; Prints BIOS name and segment address where it is found.53 ;54 ; DetectPrint_RomFoundAtSegment55 ; Parameters:56 ; Nothing57 ; Returns:58 ; Nothing59 ; Corrupts registers:60 ; AX, SI, DI61 ;--------------------------------------------------------------------62 DetectPrint_RomFoundAtSegment:63 push bp64 mov bp, sp65 mov si, g_szRomAt66 ePUSH_T ax, ROMVARS.szTitle ; Bios title string67 push cs ; BIOS segment68 69 jmp DetectPrint_FormatCSSIfromParamsInSSBP70 71 72 ;--------------------------------------------------------------------73 52 ; DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP 74 53 ; Parameters: … … 82 61 DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP: 83 62 mov ax, [cs:bp+IDEVARS.wBasePort] ; for IDE: AX=port address, DH=.bDevice 84 ; Fall to DetectPrint_StartDetectWithAutodetectedBasePortInAX63 ; fall through to DetectPrint_StartDetectWithAutodetectedBasePortInAXandIdeVarsInCSBP 85 64 86 65 ;-------------------------------------------------------------------- … … 167 146 ; Nothing 168 147 ; Corrupts registers: 169 ; AX, SI 148 ; AX, SI, DI 170 149 ;-------------------------------------------------------------------- 171 150 DetectPrint_DriveNameFromDrvDetectInfoInESBX: 172 push di 173 push bx 174 175 lea si, [bx+DRVDETECTINFO.szDrvName] 176 mov bx, es 177 CALL_DISPLAY_LIBRARY PrintNullTerminatedStringFromBXSI 178 CALL_DISPLAY_LIBRARY PrintNewlineCharacters 179 180 pop bx 181 pop di 182 ret 151 push bp 152 mov bp,sp 153 lea si,[bx+DRVDETECTINFO.szDrvName] 154 push si 155 mov si,g_szDriveName 156 jmp SHORT DetectPrint_FormatCSSIfromParamsInSSBP 157 158 159 ;-------------------------------------------------------------------- 160 ; Prints BIOS name and segment address where it is found. 161 ; 162 ; DetectPrint_RomFoundAtSegment 163 ; Parameters: 164 ; Nothing 165 ; Returns: 166 ; Nothing 167 ; Corrupts registers: 168 ; AX, SI, DI 169 ;-------------------------------------------------------------------- 170 DetectPrint_RomFoundAtSegment: 171 mov si, g_szRomAt 172 mov di, cs ; BIOS segment address, for later inclusion in the output, parameterized 173 ; so that it can be a different value when using .BootMenuEntry 174 175 .BootMenuEntry: 176 push bp 177 mov bp, sp 178 179 %ifndef USE_186 180 mov ax, ROMVARS.szTitle 181 push ax 182 push di ; BIOS segment 183 add al, ROMVARS.szVersion - ROMVARS.szTitle 184 push ax 185 %else 186 ; szTitle and szVersion have the high order byte of their addresses zero, 187 ; so these push instructions are only 2 bytes 188 ; 189 push ROMVARS.szTitle 190 push di ; BIOS segment 191 push ROMVARS.szVersion 192 %endif 193 194 jmp SHORT DetectPrint_FormatCSSIfromParamsInSSBP 195 183 196 184 197 ;-------------------------------------------------------------------- -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm
r431 r489 43 43 %ifndef MODULE_HOTKEYS 44 44 cmp BYTE [RAMVARS.bDrvCnt], 0 45 je SHORT Interrupts_ Return45 je SHORT Interrupts_InstallHandlerToVectorInALFromCSSI.Interrupts_Return 46 46 %endif 47 47 ; Fall to .InitializeInt13hAnd40h … … 172 172 mov [es:bx], si ; Store offset 173 173 mov [es:bx+2], cs ; Store segment 174 Interrupts_Return:174 .Interrupts_Return: 175 175 ret 176 176 -
trunk/XTIDE_Universal_BIOS/Src/Main.asm
r485 r489 88 88 at ROMVARS.bIdleTimeout, db 0 ; Standby timer disabled by default 89 89 90 at ROMVARS.ideVars0+IDEVARS.wBasePort, dw DEVICE_ATA_PRIMARY_PORT; Controller Command Block base port91 at ROMVARS.ideVars0+IDEVARS.wControlBlockPort, dw DEVICE_ATA_PRIMARY_PORTCTRL; Controller Control Block base port90 at ROMVARS.ideVars0+IDEVARS.wBasePort, dw 300h ; Controller Command Block base port 91 at ROMVARS.ideVars0+IDEVARS.wControlBlockPort, dw 310h ; Controller Control Block base port 92 92 at ROMVARS.ideVars0+IDEVARS.bDevice, db DEVICE_16BIT_ATA 93 93 at ROMVARS.ideVars0+IDEVARS.bIRQ, db 0 -
trunk/XTIDE_Universal_BIOS/Src/Menus/BootMenu/BootMenuEvent.asm
r395 r489 37 37 eCMOVZ dl, dh 38 38 call IsDriveDLinSystem 39 jnc SHORT DoNotSetDefaultMenuitem39 jnc SHORT BootMenuEvent_Handler.DoNotSetDefaultMenuitem 40 40 call DriveXlate_SetDriveToSwap 41 41 ; Fall to GetMenuitemToDXforDriveInDL … … 106 106 jmp bx 107 107 108 EventNotHandled:109 DoNotSetDefaultMenuitem:108 .EventNotHandled: 109 .DoNotSetDefaultMenuitem: 110 110 xor dx, dx ; Clear CF (and menuitem index for DoNotSetDefaultMenuitem) 111 111 ret … … 127 127 128 128 cmp bx, BYTE MENUEVENT.RefreshItemFromCX ; Above last supported item? 129 ja SHORT EventNotHandled129 ja SHORT .EventNotHandled 130 130 jmp [cs:bx+rgfnEventSpecificHandlers] 131 131 132 EventNotHandled:133 DoNotSetDefaultMenuitem:132 .EventNotHandled: 133 .DoNotSetDefaultMenuitem: 134 134 xor dx, dx ; Clear CF (and menuitem index for DoNotSetDefaultMenuitem) 135 135 ret -
trunk/XTIDE_Universal_BIOS/Src/Menus/BootMenu/BootMenuPrint.asm
r421 r489 76 76 ;-------------------------------------------------------------------- 77 77 BootMenuPrint_TitleStrings: 78 mov si, ROMVARS.szTitle 79 call DetectPrint_NullTerminatedStringFromCSSIandSetCF 80 CALL_DISPLAY_LIBRARY PrintNewlineCharacters 81 mov si, ROMVARS.szVersion 82 jmp DetectPrint_NullTerminatedStringFromCSSIandSetCF 83 84 78 xor di,di ; Null character will be eaten 79 mov si, g_szBootMenuTitle 80 jmp DetectPrint_RomFoundAtSegment.BootMenuEntry 81 82 85 83 ;-------------------------------------------------------------------- 86 84 ; BootMenuPrint_RefreshInformation -
trunk/XTIDE_Universal_BIOS/Src/Strings.asm
r488 r489 27 27 ; POST drive detection strings 28 28 g_szDashForZero: db "- ",NULL ; Required by Display Library 29 g_szRomAt: db LF,CR,"%s @ %x",LF,CR 30 db "Released under GNU GPL v2",LF,CR,LF,CR,NULL 31 29 g_szRomAt: db LF,CR 30 db "%s @ %x",LF,CR ; -=XTIDE ... =- @ Segment 31 db "%s",LF,CR ; version string 32 db "Released under GNU GPL v2",LF,CR 33 db LF,CR,NULL 34 %ifdef MODULE_BOOT_MENU 35 g_szBootMenuTitle: db "%s%c",LF,CR ; -=XTIDE ... =- and null (eaten) 36 db "%s",NULL ; version string 37 %endif 38 g_szDriveName: db "%z",LF,CR,NULL 32 39 33 40 ; The following strings are used by DetectPrint_StartDetectWithMasterOrSlaveStringInCXandIdeVarsInCSBP … … 166 173 167 174 g_szSelectionTimeout: db DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL 168 169 175 170 176 -
trunk/XTIDE_Universal_BIOS/Src/StringsCompressed.asm
r488 r489 40 40 db 28h, 00h ; compressed 41 41 42 g_szRomAt: ; db LF,CR,"%s @ %x",LF,CR 43 ; db 0ah, 0dh, 25h, 73h, 20h, 40h, 20h, 25h, 78h, 0ah, 0dh ; uncompressed 44 db 39h, 3dh, 20h, 0c6h, 37h, 39h ; compressed 45 46 ; db "Released under GNU GPL v2",LF,CR,LF,CR,NULL 47 ; db 52h, 65h, 6ch, 65h, 61h, 73h, 65h, 64h, 20h, 75h, 6eh, 64h, 65h, 72h, 20h, 47h, 4eh, 55h, 20h, 47h, 50h, 4ch, 20h, 76h, 32h, 0ah, 0dh, 0ah, 0dh, 00h ; uncompressed 48 db 58h, 6bh, 72h, 6bh, 67h, 79h, 6bh, 0eah, 7bh, 74h, 6ah, 6bh, 0f8h, 4dh, 54h, 0dbh, 4dh, 56h, 0d2h, 7ch, 2ch, 39h, 19h ; compressed 49 42 g_szRomAt: ; db LF,CR 43 ; db 0ah, 0dh ; uncompressed 44 db 39h ; compressed 45 46 ; db "%s @ %x",LF,CR ; -=XTIDE ... =- @ Segment 47 ; db 25h, 73h, 20h, 40h, 20h, 25h, 78h, 0ah, 0dh ; uncompressed 48 db 3dh, 20h, 0c6h, 37h, 39h ; compressed 49 50 ; db "%s",LF,CR ; version string 51 ; db 25h, 73h, 0ah, 0dh ; uncompressed 52 db 3dh, 39h ; compressed 53 54 ; db "Released under GNU GPL v2",LF,CR 55 ; db 52h, 65h, 6ch, 65h, 61h, 73h, 65h, 64h, 20h, 75h, 6eh, 64h, 65h, 72h, 20h, 47h, 4eh, 55h, 20h, 47h, 50h, 4ch, 20h, 76h, 32h, 0ah, 0dh ; uncompressed 56 db 58h, 6bh, 72h, 6bh, 67h, 79h, 6bh, 0eah, 7bh, 74h, 6ah, 6bh, 0f8h, 4dh, 54h, 0dbh, 4dh, 56h, 0d2h, 7ch, 2ch, 39h ; compressed 57 58 ; db LF,CR,NULL 59 ; db 0ah, 0dh, 00h ; uncompressed 60 db 19h ; compressed 61 62 %ifdef MODULE_BOOT_MENU 63 g_szBootMenuTitle: ; db "%s%c",LF,CR ; -=XTIDE ... =- and null (eaten) 64 ; db 25h, 73h, 25h, 63h, 0ah, 0dh ; uncompressed 65 db 3dh, 3ch, 39h ; compressed 66 67 ; db "%s",NULL ; version string 68 ; db 25h, 73h, 00h ; uncompressed 69 db 1dh ; compressed 70 71 %endif 72 g_szDriveName: ; db "%z",LF,CR,NULL 73 ; db 25h, 7ah, 0ah, 0dh, 00h ; uncompressed 74 db 3eh, 19h ; compressed 50 75 51 76 … … 295 320 ; db 0c8h, 0b5h, 25h, 41h, 53h, 65h, 6ch, 65h, 63h, 74h, 69h, 6fh, 6eh, 20h, 69h, 6eh, 20h, 25h, 32h, 2dh, 75h, 20h, 73h, 00h ; uncompressed 296 321 db 31h, 32h, 3bh, 59h, 6bh, 72h, 6bh, 69h, 7ah, 6fh, 75h, 0f4h, 6fh, 0f4h, 3ah, 20h, 0b9h ; compressed 297 298 322 299 323 … … 530 554 ;; 5-u:2 531 555 ;; x:5 532 ;; s:1 3556 ;; s:16 533 557 ;; 5-x:1 534 ;; nl: 9558 ;; nl:12 535 559 ;; 2-I:1 536 560 ;; u:6 537 ;; c: 9538 ;; z: 1561 ;; c:10 562 ;; z:2 539 563 ;; total format: 11 540 564 -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/BootVars.asm
r473 r489 50 50 mov dl, [cs:ROMVARS.bBootDrv] 51 51 52 ; fall through to BootVars_StoreHotkeyForDriveNumberInDL 53 52 54 ;-------------------------------------------------------------------- 53 55 ; BootVars_StoreHotkeyForDriveNumberInDL -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/FindDPT.asm
r433 r489 246 246 ; SI 247 247 ;-------------------------------------------------------------------- 248 ALIGN JUMP_ALIGN 249 FindDPT_ToDSDIforFlagsHighInBL: 248 %ifdef MODULE_IRQ 249 ALIGN JUMP_ALIGN 250 FindDPT_ToDSDIforFlagsHighInBL: 251 %endif 250 252 mov si, IterateToDptWithFlagsHighInBL 251 253 ; Fall to IterateAllDPTs -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/RamVars.asm
r473 r489 229 229 230 230 231 %if 0 ; unused... 231 232 ;-------------------------------------------------------------------- 232 233 ; RamVars_IsDriveDetectionInProgress … … 241 242 cmp WORD [RAMVARS.wSignature], RAMVARS_DRV_DETECT_SIGNATURE 242 243 ret 244 %endif -
trunk/XTIDE_Universal_BIOS/makefile
r482 r489 108 108 DEFINES_386_8K = $(DEFINES_AT) USE_386 109 109 110 DEFINES_ALL_FEATURES = MODULE_8BIT_IDE MODULE_ADVANCED_ATA MODULE_BOOT_MENU MODULE_EBIOS MODULE_HOTKEYS MODULE_IRQ MODULE_SERIAL MODULE_SERIAL_FLOPPY MODULE_STRINGS_COMPRESSED MODULE_FEATURE_SETS 111 110 112 111 113 ################### … … 126 128 DEFS_XT_TINY = $(DEFINES_XT_TINY:%=-D%) -DROMSIZE=$(ROMSIZE) 127 129 DEFS_386_8K = $(DEFINES_386_8K:%=-D%) -DROMSIZE=$(ROMSIZE) 130 DEFS_ALL_FEATURES = $(DEFINES_ALL_FEATURES:%=-D%) 128 131 129 132 # Add -I in front of all header directories … … 222 225 @perl ..\tools\checksum.pl $(TARGET)_386.bin $(ROMSIZE) 223 226 224 xt_unused: xt 225 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT) -o"$(TARGET)_xt_unused.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 226 @perl ..\tools\unused.pl $(TARGET)_xt.lst $(TARGET)_xt_unused.asm 227 227 unused: 228 @echo "All Features" 229 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_ALL_FEATURES) $(DEFS_XT) $(DEFS_XT_PLUS) $(DEFS_AT) $(DEFS_XT_LARGE) $(DEFS_XTPLUS_LARGE) $(DEFS_AT_LARGE) $(DEFS_XT_TINY) $(DEFS_386_8K) -o"$(TARGET)_unused.asm" -l"$(TARGET)_unused.lst" 230 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_ALL_FEATURES) $(DEFS_XT) $(DEFS_XT_PLUS) $(DEFS_AT) $(DEFS_XT_LARGE) $(DEFS_XTPLUS_LARGE) $(DEFS_AT_LARGE) $(DEFS_XT_TINY) $(DEFS_386_8K) -o"$(TARGET)_unused.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 231 @perl ..\tools\unused.pl $(TARGET)_unused.lst $(TARGET)_unused.asm 232 @echo "XT Small" 233 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT) -o"$(TARGET)_unused_xt.asm" -l"$(TARGET)_unused_xt.lst" 234 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT) -o"$(TARGET)_unused_xt.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 235 @perl ..\tools\unused.pl $(TARGET)_unused_xt.lst $(TARGET)_unused_xt.asm 236 @echo "XT Large" 237 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT_LARGE) -o"$(TARGET)_unused_xtl.asm" -l"$(TARGET)_unused_xtl.lst" 238 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT_LARGE) -o"$(TARGET)_unused_xtl.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 239 @perl ..\tools\unused.pl $(TARGET)_unused_xtl.lst $(TARGET)_unused_xtl.asm 240 @echo "AT Small" 241 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_AT) -o"$(TARGET)_unused_at.asm" -l"$(TARGET)_unused_at.lst" 242 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_AT) -o"$(TARGET)_unused_at.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 243 @perl ..\tools\unused.pl $(TARGET)_unused_at.lst $(TARGET)_unused_at.asm 244 @echo "AT Large" 245 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_AT_LARGE) -o"$(TARGET)_unused_atl.asm" -l"$(TARGET)_unused_atl.lst" 246 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_AT_LARGE) -o"$(TARGET)_unused_atl.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 247 @perl ..\tools\unused.pl $(TARGET)_unused_atl.lst $(TARGET)_unused_atl.asm 248 249
Note:
See TracChangeset
for help on using the changeset viewer.