Changeset 638 in xtideuniversalbios
- Timestamp:
- Jun 9, 2026, 10:36:36 AM (7 weeks ago)
- Location:
- trunk
- Files:
-
- 22 edited
-
Assembly_Library/Src/Display/DisplayCursor.asm (modified) (2 diffs)
-
Assembly_Library/Src/Menu/MenuAttributes.asm (modified) (2 diffs)
-
Assembly_Library/Src/Menu/MenuCharOut.asm (modified) (3 diffs)
-
Tools/checksum.pl (modified) (5 diffs)
-
XTIDE_Universal_BIOS/Inc/IdeIO.inc (modified) (13 diffs)
-
XTIDE_Universal_BIOS/Inc/IdeRegisters.inc (modified) (3 diffs)
-
XTIDE_Universal_BIOS/Inc/ModuleDependency.inc (modified) (2 diffs)
-
XTIDE_Universal_BIOS/Inc/Revision.inc (modified) (1 diff)
-
XTIDE_Universal_BIOS/Inc/RomVars.inc (modified) (3 diffs)
-
XTIDE_Universal_BIOS/Inc/Version.inc (modified) (4 diffs)
-
XTIDE_Universal_BIOS/Src/Device/Device.asm (modified) (3 diffs)
-
XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm (modified) (7 diffs)
-
XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm (modified) (5 diffs)
-
XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm (modified) (2 diffs)
-
XTIDE_Universal_BIOS/Src/Main.asm (modified) (2 diffs)
-
XTIDE_Universal_BIOS/Src/Strings.asm (modified) (3 diffs)
-
XTIDE_Universal_BIOS/Src/StringsCompressed.asm (modified) (10 diffs)
-
XTIDE_Universal_BIOS/makefile (modified) (7 diffs)
-
XTIDE_Universal_BIOS_Configurator_v2/Src/AutoConfigure.asm (modified) (2 diffs)
-
XTIDE_Universal_BIOS_Configurator_v2/Src/Menupage.asm (modified) (2 diffs)
-
XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/BootMenuSettingsMenu.asm (modified) (9 diffs)
-
XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/Display/DisplayCursor.asm
r592 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 77 77 DisplayCursor_SetCoordinatesFromAX: 78 78 xchg dx, ax 79 mov a x, [VIDEO_BDA.wColumns] ; Column count, 40 or 8079 mov al, [VIDEO_BDA.wColumns] ; Column count, 40 or 80 80 80 mul dh ; AX = Column count * row index 81 81 xor dh, dh -
trunk/Assembly_Library/Src/Menu/MenuAttributes.asm
r636 r638 107 107 jc SHORT .LoadColorAttribute 108 108 109 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 109 110 %if (rgcColorAttributes-$$) & 0FF00h = (rgcMonochromeAttributes-$$) & 0FF00h ; Are the base addresses of all three strucs on the same page? 110 111 %ifndef ORIGIN … … 143 144 .LoadAttributeAndReturn: 144 145 %endif 146 %endif ; CHECK_FOR_UNUSED_ENTRYPOINTS 145 147 cs lodsb ; Load from [CS:SI] to AL 146 148 -
trunk/Assembly_Library/Src/Menu/MenuCharOut.asm
r632 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 5by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 50 50 MenuCharOut_MenuTeletypeOutput: 51 51 cmp al, CR 52 je SHORT PrintCRandAdjustOffsetForStartOfLine 52 je SHORT PrintCRandAdjustOffsetForStartOfLine.CRinAL 53 53 jmp DisplayCharOut_TeletypeOutputWithAttribute 54 54 … … 77 77 PrintCRandAdjustOffsetForStartOfLine: 78 78 mov al, CR 79 .CRinAL: 79 80 call DisplayCharOut_BiosTeletypeOutput 80 81 eMOVZX ax, BYTE [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCharOutParam] -
trunk/Tools/checksum.pl
r568 r638 6 6 #!perl 7 7 # 8 # Add checksum byte toROM image8 # Add checksum byte(s) to PC Option ROM image 9 9 # 10 # Use a size of 0 to skip this script entirely (file is not modified) 11 # 12 # On Windows, this file can be renamed to a batch file and invoked directly (for example, "c:\>checksum file size") 10 # On Windows, this file can be renamed to a batch file and invoked directly (for example, "C:\>checksum filename") 13 11 # 14 12 15 13 # 16 14 # XTIDE Universal BIOS and Associated Tools 17 # Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.15 # Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 18 16 # 19 17 # This program is free software; you can redistribute it and/or modify … … 29 27 # 30 28 31 ($ARGV[0] ne "" && $ARGV[1] ne "") || die "usage: checksum filename size\n";29 $ARGV[0] ne "" || die "usage: checksum filename\n"; 32 30 33 $desiredSize = int($ARGV[1]); 34 35 if( $desiredSize == 0 ) 31 $ok = open ( FILE, "+<".$ARGV[0] ); 32 if( $ok == 0 ) 36 33 { 37 exit( 0 );34 die "ERROR: failed to open ".$ARGV[0]."\n"; 38 35 } 39 36 40 open FILE, "+<".$ARGV[0] || die "file not found\n";41 37 binmode FILE; 42 $cs = 0; 43 $last = 0; 44 $bytes = 0; 38 seek( FILE, 2, 0 ); 39 read( FILE, $biosSize, 1 ); 40 $biosSize = ord($biosSize) << 9; 41 if( $biosSize & 2047 ) 42 { 43 die "ERROR: image is not a valid PC Option ROM BIOS\n"; 44 } 45 46 seek( FILE, 0, 0 ); 45 47 while( ($n = read( FILE, $d, 1 )) != 0 ) 46 48 { 47 $cs = $cs + ord($d); 48 $cs = $cs % 256; 49 $bytes = $bytes + 1; 49 $cs = ($cs + ord($d)) & 255; 50 $bytes++; 50 51 } 51 52 $oldBytes = $bytes; 52 53 53 if( $bytes > $ desiredSize - 1 )54 if( $bytes > $biosSize - 1 ) 54 55 { 55 die "ERROR: image is bigger than ".($ desiredSize-1).": $bytes\n";56 die "ERROR: image is bigger than ".($biosSize-1).": $bytes\n"; 56 57 } 57 58 58 59 $fixzero = chr(0); 60 $fixl = ($cs == 0 ? 0 : 256 - $cs); 59 61 60 62 # 61 63 # Compatibility fix for 3Com 3C503 cards. They use 8 KB ROMs and return 8080h as the last word of the ROM. 62 64 # 63 if( $ desiredSize == 8192 ) {64 if( $bytes < $desiredSize - 3 ) {65 while( $bytes < $ desiredSize - 3 ) {65 if( $biosSize == 8192 ) { 66 if( $bytes <= $biosSize - 3 ) { 67 while( $bytes < $biosSize - 3 ) { 66 68 print FILE $fixzero; 67 69 $bytes++; 68 70 } 69 $fixl = ($cs == 0 ? 0 : 256 - $cs);70 71 $fix = chr($fixl).chr($cs); 71 72 print FILE $fix; 72 73 $bytes += 2; 74 } elsif ( $bytes < $biosSize - 1 ) { 75 print "Warning! ".$ARGV[0]." cannot be used on a 3Com 3C503 card unless it can be checksummed manually!\n"; 73 76 } else { 74 77 print "Warning! ".$ARGV[0]." cannot be used on a 3Com 3C503 card!\n"; … … 76 79 } 77 80 78 while( $bytes < $ desiredSize - 1 )81 while( $bytes < $biosSize - 1 ) 79 82 { 80 83 print FILE $fixzero; … … 82 85 } 83 86 84 $fixl = ($cs == 0 ? 0 : 256 - $cs);85 87 $fix = chr($fixl); 86 88 print FILE $fix; … … 91 93 binmode FILE; 92 94 $cs = 0; 93 $newBytes = 0;94 95 while( ($n = read( FILE, $d, 1 )) != 0 ) 95 96 { 96 $cs = $cs + ord($d); 97 $cs = $cs % 256; 97 $cs = ($cs + ord($d)) & 255; 98 98 $newBytes++; 99 99 } 100 $cs == 0 || die " Checksum verification failed\n";100 $cs == 0 || die "ERROR: checksum verification failed\n"; 101 101 102 102 print "checksum: ".$ARGV[0].": $oldBytes bytes before, $newBytes bytes after\n"; -
trunk/XTIDE_Universal_BIOS/Inc/IdeIO.inc
r632 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 5by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 26 26 ; Parameters: 27 27 ; AL: Byte to output 28 ; %1: IDE Register (OUTPUT_AL_TO_IDE_REGISTER) 28 ; %1: DX, DL or 29 ; IDE Register (OUTPUT_AL_TO_IDE_REGISTER) 29 30 ; IDE Control Block Register (OUTPUT_AL_TO_IDE_CONTROL_BLOCK_REGISTER) 30 31 ; DS:DI: Ptr to DPT (in RAMVARS segment) … … 40 41 %ifndef previous_parameter 41 42 %ifnidni %1, dx 42 mov dx, %1 43 %ifidni %1, dl 44 xor dh, dh 45 %else 46 mov dx, %1 47 %endif 43 48 %endif 44 49 add dx, [di+DPT.wBasePort] … … 50 55 %else 51 56 %ifnidni %1, dx 52 mov dx, %1 57 %ifidni %1, dl 58 xor dh, dh 59 %else 60 mov dx, %1 61 %endif 53 62 %endif 54 63 add dx, [di+DPT.wBasePort] … … 59 68 %undef previous_parameter 60 69 %ifnidni %1, dx 61 mov dx, %1 70 %ifidni %1, dl 71 xor dh, dh 72 %else 73 mov dx, %1 74 %endif 62 75 %endif 63 76 add dx, [di+DPT.wBasePort] … … 67 80 %else ; Register translations required 68 81 69 %ifnidni %1, dl 70 mov dl, %1 82 %ifnidni %1, dx 83 %ifnidni %1, dl 84 mov dl, %1 85 %endif 71 86 %endif 72 87 call IdeIO_OutputALtoIdeRegisterInDL … … 83 98 eMOVZX bx, BYTE [di+DPT.bIdevarsOffset] 84 99 %ifnidni %1, dx 85 mov dx, %1 100 %ifidni %1, dl 101 xor dh, dh 102 %else 103 mov dx, %1 104 %endif 86 105 %endif 87 106 add dx, [cs:bx+IDEVARS.wControlBlockPort] … … 94 113 eMOVZX bx, BYTE [di+DPT.bIdevarsOffset] 95 114 %ifnidni %1, dx 96 mov dx, %1 115 %ifidni %1, dl 116 xor dh, dh 117 %else 118 mov dx, %1 119 %endif 97 120 %endif 98 121 add dx, [cs:bx+IDEVARS.wControlBlockPort] … … 104 127 eMOVZX bx, BYTE [di+DPT.bIdevarsOffset] 105 128 %ifnidni %1, dx 106 mov dx, %1 129 %ifidni %1, dl 130 xor dh, dh 131 %else 132 mov dx, %1 133 %endif 107 134 %endif 108 135 add dx, [cs:bx+IDEVARS.wControlBlockPort] … … 112 139 %else ; Register translations required 113 140 114 %ifnidni %1, dl 115 mov dl, %1 141 %ifnidni %1, dx 142 %ifnidni %1, dl 143 mov dl, %1 144 %endif 116 145 %endif 117 146 call IdeIO_OutputALtoIdeControlBlockRegisterInDL … … 124 153 ; INPUT_TO_AL_FROM_IDE_REGISTER 125 154 ; Parameters: 126 ; %1: IDE Register155 ; %1: DX, DL or IDE Register 127 156 ; DS:DI: Ptr to DPT (in RAMVARS segment) 128 157 ; Returns: … … 135 164 136 165 %ifnidni %1, dx 137 mov dx, %1 166 %ifidni %1, dl 167 xor dh, dh 168 %else 169 mov dx, %1 170 %endif 138 171 %endif 139 172 add dx, [di+DPT.wBasePort] … … 142 175 %else ; Register translations required 143 176 144 %ifnidni %1, dl 145 mov dl, %1 177 %ifnidni %1, dx 178 %ifnidni %1, dl 179 mov dl, %1 180 %endif 146 181 %endif 147 182 call IdeIO_InputToALfromIdeRegisterInDL -
trunk/XTIDE_Universal_BIOS/Inc/IdeRegisters.inc
r618 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 100 100 COMMAND_IDLE EQU 0E3h 101 101 102 103 102 ; Subcommands for COMMAND_SET_FEATURES 104 103 FEATURE_ENABLE_8BIT_PIO_TRANSFER_MODE EQU 01h ; CFA feature set only … … 113 112 PIO_FLOW_CONTROL_MODE_xxx EQU (1<<3) ; Bits 2...0 hold the PIO mode 114 113 114 ; ATAPI device specific stuff (should probably be in its own include file) 115 ATAPI_SIGNATURE EQU 0EB14h ; Read from LBA_HIGH_REGISTER and LBA_MIDDLE_REGISTER 115 116 116 117 %endif ; IDEREGISTERS_INC -
trunk/XTIDE_Universal_BIOS/Inc/ModuleDependency.inc
r625 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 3by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 157 157 %endif 158 158 159 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 159 %ifdef MODULE_MFM_COMPATIBILITY 160 MAIN_FLG_MODULE_MFM_COMPATIBILITY EQU FLG_ROMVARS_MODULE_MFM_COMPATIBILITY 161 %else 162 MAIN_FLG_MODULE_MFM_COMPATIBILITY EQU 0 163 %endif 164 165 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 | MAIN_FLG_MODULE_MFM_COMPATIBILITY -
trunk/XTIDE_Universal_BIOS/Inc/Revision.inc
r637 r638 1 63 71 638 -
trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc
r633 r638 5 5 ; 6 6 ; XTIDE Universal BIOS and Associated Tools 7 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 5by XTIDE Universal BIOS Team.7 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 8 8 ; 9 9 ; This program is free software; you can redistribute it and/or modify … … 198 198 ; Here in case the configuration needs to know functionality is present. Note! Changing the order/location of these flags 199 199 ; also requires changes elsewhere as they are usually tested using byte-accesses for efficiency. 200 FLG_ROMVARS_MODULE_MFM_COMPATIBILITY EQU (1<<4) 200 201 FLG_ROMVARS_MODULE_POWER_MANAGEMENT EQU (1<<5) 201 202 FLG_ROMVARS_MODULE_8BIT_IDE EQU (1<<6) … … 203 204 FLG_ROMVARS_MODULE_ADVANCED_ATA EQU (1<<8) 204 205 FLG_ROMVARS_MODULE_BOOT_MENU EQU (1<<9) 205 FLG_ROMVARS_MODULE_EBIOS EQU (1<<10) 206 FLG_ROMVARS_MODULE_EBIOS EQU (1<<10) ; Currently unused 206 207 FLG_ROMVARS_MODULE_HOTKEYS EQU (1<<11) 207 208 FLG_ROMVARS_MODULE_IRQ EQU (1<<12) 208 209 FLG_ROMVARS_MODULE_SERIAL EQU (1<<13) 209 FLG_ROMVARS_MODULE_SERIAL_FLOPPY EQU (1<<14) 210 FLG_ROMVARS_MODULE_STRINGS_COMPRESSED EQU (1<<15) 210 FLG_ROMVARS_MODULE_SERIAL_FLOPPY EQU (1<<14) ; Currently unused 211 FLG_ROMVARS_MODULE_STRINGS_COMPRESSED EQU (1<<15) ; Currently unused 211 212 212 213 -
trunk/XTIDE_Universal_BIOS/Inc/Version.inc
r633 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 5by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 19 19 20 20 ; Flash signature revisions: 21 ; XUB212 Added a proper ROMVARS flag for MODULE_MFM_COMPATIBILITY (FLG_ROMVARS_MODULE_MFM_COMPATIBILITY). 22 ; Added 5 new color themes. 21 23 ; XUB211 Added device type DEVICE_8BIT_JUKO_D16X 22 24 ; XUB210 Moved pColorTheme so it's not copied when loading old settings from EEPROM. … … 44 46 %define TITLE_STRING_END "(AT)=-" 45 47 %endif 48 %elifdef USE_386 49 %define TITLE_STRING_END "(386)=-" 46 50 %elifdef USE_186 47 51 %define TITLE_STRING_END "(XT+)=-" … … 57 61 ; on the same line, either before or after. In fact, do not even put a preceding label on the same line! 58 62 %define BUILD_DATE_STRING "(",__DATE__,")" 59 %define FLASH_SIGNATURE "XUB21 1" ; Also known as the ROMVARS version. Do not terminate with NULL.63 %define FLASH_SIGNATURE "XUB212" ; Also known as the ROMVARS version. Do not terminate with NULL. 60 64 61 65 -
trunk/XTIDE_Universal_BIOS/Src/Device/Device.asm
r621 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 182 182 ;-------------------------------------------------------------------- 183 183 ; Device_ReadLBAlowRegisterToAL 184 ; 184 185 ; Returns LBA low register / Sector number register contents. 185 186 ; Note that this returns valid value only after transfer command (read/write/verify) 186 187 ; has stopped to an error. Do not call this otherwise. 188 ; 187 189 ; Parameters: 188 190 ; DS:DI: Ptr to DPT (in RAMVARS segment) … … 190 192 ; AL: Byte read from the device register 191 193 ; Corrupts registers: 192 ; BX, DX 194 ; BX, DX (only DX if MODULE_ATAPI is included) 193 195 ;-------------------------------------------------------------------- 194 196 ;%ifdef MODULE_SERIAL ; IDE + Serial -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r630 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 4by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 79 79 ; Returns: 80 80 ; AH: INT 13h Error Code 81 ; CF: Cleared if success, Set if error 81 ; CF: Cleared if success, Set if error or ATAPI device detected 82 82 ; Corrupts registers: 83 83 ; AL, BX, CX, DX, SI, DI, ES … … 92 92 mov BYTE [di+DPT_ATA.bBlockSize], 1 ; Block = 1 sector 93 93 94 %ifdef MODULE_ATAPI 95 push dx 96 mov dl, LBA_HIGH_REGISTER 97 call IdeCommand_ReadIdeRegisterInDLtoAL 98 mov ah, al 99 mov dl, LBA_MIDDLE_REGISTER 100 call IdeCommand_ReadIdeRegisterInDLtoAL 101 pop dx 102 cmp ax, ATAPI_SIGNATURE 103 stc 104 je SHORT .AtapiDeviceDetected 105 %endif 106 94 107 ; Wait until drive motors have reached full speed 95 108 cmp bp, BYTE ROMVARS.ideVars0 ; First controller? … … 128 141 lea sp, [bp+SIZE_OF_IDEPACK_WITHOUT_INTPACK] ; This assumes BP hasn't changed between Idepack_FakeToSSBP and here 129 142 pop bp 143 .AtapiDeviceDetected: 130 144 ret 131 145 … … 296 310 ;-------------------------------------------------------------------- 297 311 ; IdeCommand_ReadLBAlowRegisterToAL 312 ; 298 313 ; Returns LBA low register / Sector number register contents. 299 314 ; Note that this returns valid value only after transfer command (read/write/verify) 300 315 ; has stopped to an error. Do not call this otherwise. 316 ; 301 317 ; Parameters: 302 318 ; DS:DI: Ptr to DPT (in RAMVARS segment) … … 304 320 ; AL: Byte read from the register 305 321 ; Corrupts registers: 306 ; BX, DX 322 ; BX, DX (only DX if MODULE_ATAPI is included) 307 323 ;-------------------------------------------------------------------- 308 324 ALIGN JUMP_ALIGN … … 310 326 ; HOB bit (defined in 48-bit address feature set) should be zero by default 311 327 ; so we get the correct value for CHS, LBA28 and LBA48 drives and commands 328 %ifndef MODULE_ATAPI 312 329 INPUT_TO_AL_FROM_IDE_REGISTER LBA_LOW_REGISTER 313 330 ret 331 %else 332 mov dl, LBA_LOW_REGISTER 333 ; Fall to IdeCommand_ReadIdeRegisterInDLtoAL 334 335 ;-------------------------------------------------------------------- 336 ; IdeCommand_ReadIdeRegisterInDLtoAL 337 ; 338 ; Parameters: 339 ; DL: IDE register to read 340 ; DS:DI: Ptr to DPT (in RAMVARS segment) 341 ; Returns: 342 ; AL: Byte read from the register 343 ; Corrupts registers: 344 ; DX 345 ;-------------------------------------------------------------------- 346 ALIGN JUMP_ALIGN 347 IdeCommand_ReadIdeRegisterInDLtoAL: 348 push bx 349 INPUT_TO_AL_FROM_IDE_REGISTER dl 350 pop bx 351 ret 352 %endif ; MODULE_ATAPI 353 -
trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm
r614 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 151 151 mov al, [es:BDA.bHDCount] 152 152 %ifndef MODULE_MFM_COMPATIBILITY 153 ; This is excluded when MODULE_MFM_COMPATIBILITY is included because it doesn't make sense to use both at the same time anyway. 154 ; Note that the option to "Remove other hard drives" is still visible in XTIDECFG.COM for builds including MODULE_MFM_COMPATIBILITY. 155 ; Changing that option just won't do anything. We might want to remove the option for builds that contain MODULE_MFM_COMPATIBILITY 156 ; but that would require a ROMVARS flag that is probably better spent on other things. 153 ; This is excluded when MODULE_MFM_COMPATIBILITY is included because it doesn't make sense to use both at the same time. 157 154 test BYTE [cs:ROMVARS.wFlags], FLG_ROMVARS_CLEAR_BDA_HD_COUNT ; Clears CF 158 155 jz SHORT .ContinueInitialization … … 263 260 264 261 .ReadAtapiInfoFromDrive: ; Not yet implemented 262 %ifdef MODULE_ATAPI 263 cmp ax, ATAPI_SIGNATURE 264 je SHORT DetectDrives_AtapiDeviceFound 265 %endif 265 266 ;call ReadAtapiInfoFromDrive ; Assume CD-ROM 266 267 ;jnc SHORT _CreateBiosTablesForCDROM 267 268 ;jmp short DetectDrives_DriveNotFound 269 ;;; fall-through instead of previous jmp instruction 268 ; Fall to DetectDrives_DriveNotFound 269 270 270 ;-------------------------------------------------------------------- 271 271 ; DetectDrives_DriveNotFound 272 ; DetectDrives_AtapiDeviceFound 273 ; DetectDrives_ValidationFailed 272 274 ; Parameters: 273 275 ; Nothing … … 275 277 ; CF: Set (from DetectPrint_NullTerminatedStringFromCSSIandSetCF) 276 278 ; Corrupts registers: 277 ; AX, SI 279 ; AX, SI, DI 278 280 ;-------------------------------------------------------------------- 279 281 DetectDrives_DriveNotFound: 280 282 mov si, g_szNotFound 281 283 jmp DetectPrint_NullTerminatedStringFromCSSIandSetCF 284 285 %ifdef MODULE_ATAPI 286 DetectDrives_AtapiDeviceFound: 287 mov si, g_szAtapiDevice 288 jmp DetectPrint_NullTerminatedStringFromCSSIandSetCF 289 %endif 290 291 %ifndef NO_ATAID_VALIDATION 292 DetectDrives_ValidationFailed: 293 mov si, g_szValidationFailed 294 jmp DetectPrint_NullTerminatedStringFromCSSIandSetCF 295 %endif 282 296 283 297 … … 301 315 call AtaID_VerifyFromESSI 302 316 pop bx 303 jnz SHORT DetectDrives_ DriveNotFound317 jnz SHORT DetectDrives_ValidationFailed 304 318 %endif 305 319 call CreateDPT_FromAtaInformation 306 jc SHORT DetectDrives_DriveNotFound307 320 call DriveDetectInfo_CreateForHardDisk 308 321 jmp SHORT DetectPrint_DriveNameFromDrvDetectInfoInESBX -
trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm
r603 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 118 118 push dx ; Push low order digit, or N/A 119 119 120 mov si, g_szDetectOuter ; Load SI with default wrapper string " IDE%s at %s: "120 mov si, g_szDetectOuter ; Load SI with default wrapper string "%s at %s: " 121 121 122 122 jmp SHORT DetectPrint_FormatCSSIfromParamsInSSBP -
trunk/XTIDE_Universal_BIOS/Src/Main.asm
r636 r638 65 65 66 66 ; ROM variables (must start at offset 0) 67 CNT_ROM_BLOCKS EQU BIOS_SIZE / 512 ; number of 512B blocks, 16 = 8kB BIOS68 67 istruc ROMVARS 69 at ROMVARS.wRomSign, dw 0AA55h ; PC ROMsignature70 at ROMVARS.bRomSize, db CNT_ROM_BLOCKS ; ROM size in 512B blocks71 at ROMVARS.rgbJump, jmp Initialize_FromMainBiosRomSearch 68 at ROMVARS.wRomSign, dw 0AA55h ; PC Option ROM BIOS signature 69 at ROMVARS.bRomSize, db CNT_ROM_BLOCKS ; ROM BIOS size in 512B blocks (defined below at the very end of the BIOS) 70 at ROMVARS.rgbJump, jmp Initialize_FromMainBiosRomSearch ; Required to be a jump for compatibility with PhoenixBIOS 4.0 (see BIOS Programmer's Guide v10.pdf) 72 71 at ROMVARS.rgbSign, db FLASH_SIGNATURE 73 72 at ROMVARS.szTitle, db TITLE_STRING … … 346 345 %endif 347 346 348 347 BIOS_SIZE EQU (($-$$) + 2047) & ~2047 ; Align the size to a 2 kB boundary (required for compatibility reasons) 348 CNT_ROM_BLOCKS EQU BIOS_SIZE >> 9 ; BIOS_SIZE / 512 349 349 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 350 350 ; Although it's very unlikely to happen, we give warnings for builds that cannot be automatically checksummed due to the size being too large. 351 351 ; In some cases it's theoretically possible to checksum the build anyway (manually) which is why these are warnings and not errors. 352 352 %if BIOS_SIZE = 8192 ; A small build, possibly a candidate for the ROM socket on a 3Com 3C503 card. 353 %if ($-$$) <= BIOS_SIZE ; Only give warnings when the problem isn't obvious anyway. 354 %if ($-$$) > BIOS_SIZE - 3 355 %warning "This build is too large to be auto-checksummed!" 356 %endif 353 %if ($-$$) > BIOS_SIZE - 3 354 %warning "This build is too large to be auto-checksummed!" 357 355 %endif 358 356 %elif ($-$$) = BIOS_SIZE ; A large or tiny build. -
trunk/XTIDE_Universal_BIOS/Src/Strings.asm
r635 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 5by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 36 36 g_szDetectCOM: db "COM%c%s",NULL 37 37 g_szDetectCOMAuto: db " Detect",NULL 38 g_szDetectCOMSmall: db "/%u%u00",NULL ; IDEMaster at COM1/9600:39 g_szDetectCOMLarge: db "/%u.%uK",NULL ; IDEMaster at COM1/19.2K:38 g_szDetectCOMSmall: db "/%u%u00",NULL ; Master at COM1/9600: 39 g_szDetectCOMLarge: db "/%u.%uK",NULL ; Master at COM1/19.2K: 40 40 %endif 41 41 g_szDetectEnd: 42 g_szDetectPort: db "%x",NULL ; IDEMaster at 1F0h:42 g_szDetectPort: db "%x",NULL ; Master at 1F0h: 43 43 44 44 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS … … 67 67 68 68 69 ; Boot loader strings69 ; Boot loader and drive detection strings 70 70 g_szTryToBoot: db "Booting %c",ANGLE_QUOTE_RIGHT,"%c",LF,CR,NULL 71 71 g_szBootSectorNotFound: db "Boot sector " ; String fall through... 72 72 g_szNotFound: db "not found",LF,CR,NULL 73 73 g_szReadError: db "Error %x!",LF,CR,NULL 74 %ifdef MODULE_ATAPI 75 g_szAtapiDevice: db "ATAPI device",LF,CR,NULL 76 %endif 77 %ifndef NO_ATAID_VALIDATION 78 g_szValidationFailed: db "failed validation",LF,CR,NULL 79 %endif 74 80 75 81 -
trunk/XTIDE_Universal_BIOS/Src/StringsCompressed.asm
r635 r638 14 14 ; 15 15 ; XTIDE Universal BIOS and Associated Tools 16 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 5by XTIDE Universal BIOS Team.16 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 17 17 ; 18 18 ; This program is free software; you can redistribute it and/or modify … … 61 61 db 20h, 4ah, 6bh, 7ah, 6bh, 69h, 0bah ; compressed 62 62 63 g_szDetectCOMSmall: ; db "/%u%u00",NULL ; IDEMaster at COM1/9600:63 g_szDetectCOMSmall: ; db "/%u%u00",NULL ; Master at COM1/9600: 64 64 ; db 2fh, 25h, 75h, 25h, 75h, 30h, 30h, 00h ; uncompressed 65 65 db 2ah, 35h, 35h, 33h, 13h ; compressed 66 66 67 g_szDetectCOMLarge: ; db "/%u.%uK",NULL ; IDEMaster at COM1/19.2K:67 g_szDetectCOMLarge: ; db "/%u.%uK",NULL ; Master at COM1/19.2K: 68 68 ; db 2fh, 25h, 75h, 2eh, 25h, 75h, 4bh, 00h ; uncompressed 69 69 db 2ah, 35h, 29h, 35h, 91h ; compressed … … 71 71 %endif 72 72 g_szDetectEnd: 73 g_szDetectPort: ; db "%x",NULL ; IDEMaster at 1F0h:73 g_szDetectPort: ; db "%x",NULL ; Master at 1F0h: 74 74 ; db 25h, 78h, 00h ; uncompressed 75 75 db 17h ; compressed … … 128 128 129 129 130 ; Boot loader strings130 ; Boot loader and drive detection strings 131 131 g_szTryToBoot: ; db "Booting %c",ANGLE_QUOTE_RIGHT,"%c",LF,CR,NULL 132 132 ; db 42h, 6fh, 6fh, 74h, 69h, 6eh, 67h, 20h, 25h, 63h, 0afh, 25h, 63h, 0ah, 0dh, 00h ; uncompressed … … 145 145 db 4bh, 78h, 78h, 75h, 0f8h, 37h, 25h, 19h ; compressed 146 146 147 %ifdef MODULE_ATAPI 148 g_szAtapiDevice: ; db "ATAPI device",LF,CR,NULL 149 ; db 41h, 54h, 41h, 50h, 49h, 20h, 64h, 65h, 76h, 69h, 63h, 65h, 0ah, 0dh, 00h ; uncompressed 150 db 47h, 5ah, 47h, 56h, 0cfh, 6ah, 6bh, 7ch, 6fh, 69h, 6bh, 19h ; compressed 151 152 %endif 153 %ifndef NO_ATAID_VALIDATION 154 g_szValidationFailed: ; db "failed validation",LF,CR,NULL 155 ; db 66h, 61h, 69h, 6ch, 65h, 64h, 20h, 76h, 61h, 6ch, 69h, 64h, 61h, 74h, 69h, 6fh, 6eh, 0ah, 0dh, 00h ; uncompressed 156 db 6ch, 67h, 6fh, 72h, 6bh, 0eah, 7ch, 67h, 72h, 6fh, 6ah, 67h, 7ah, 6fh, 75h, 74h, 19h ; compressed 157 158 %endif 147 159 148 160 … … 615 627 616 628 ;; translated usage stats 629 ;; 48:2 630 ;; 181:1 631 ;; 172:2 632 ;; 175:1 633 ;; 49:3 634 ;; 54:3 617 635 ;; 56:9 618 ;; 48:2 636 ;; 33:1 637 ;; 51:3 638 ;; 200:1 639 ;; 53:2 640 ;; 46:3 641 ;; 44:1 642 ;; 34:3 643 ;; 45:2 619 644 ;; 32:34 620 ;; 34:3 621 ;; 33:1 622 ;; 49:3 645 ;; 50:2 623 646 ;; 47:2 624 ;; 172:2 625 ;; 53:2 626 ;; 54:3 627 ;; 45:2 647 ;; 171:2 628 648 ;; 179:8 629 ;; 46:3630 ;; 51:3631 ;; 171:2632 ;; 50:2633 ;; 181:1634 ;; 200:1635 ;; 175:1636 ;; 44:1637 649 ;; total translated: 20 638 650 639 651 ;; format usage stats 652 ;; 2-I:1 653 ;; nl:14 654 ;; c:13 655 ;; x:5 640 656 ;; u:6 641 ;; 2-I:1657 ;; z:2 642 658 ;; 5-u:2 643 ;; z:2644 ;; nl:12659 ;; s:14 660 ;; 2-u:1 645 661 ;; 5-x:1 646 ;; s:14647 ;; x:5648 662 ;; A:4 649 ;; 2-u:1650 ;; c:13651 663 ;; total format: 11 652 664 … … 659 671 ;; 63,?: 660 672 ;; 64,@:1 661 ;; 65,A: 5673 ;; 65,A:7 662 674 ;; 66,B:11 663 675 ;; 67,C:3 … … 667 679 ;; 71,G:3 668 680 ;; 72,H:2 669 ;; 73,I: 1681 ;; 73,I:2 670 682 ;; 74,J:1 671 683 ;; 75,K:1 … … 674 686 ;; 78,N:2 675 687 ;; 79,O:3 676 ;; 80,P: 1688 ;; 80,P:2 677 689 ;; 81,Q:1 678 690 ;; 82,R:7 679 691 ;; 83,S:3 680 ;; 84,T: 2692 ;; 84,T:3 681 693 ;; 85,U:2 682 694 ;; 86,V: … … 691 703 ;; 95,_: 692 704 ;; 96,`: 693 ;; 97,a: 7705 ;; 97,a:10 694 706 ;; 98,b: 695 ;; 99,c: 6696 ;; 100,d: 6697 ;; 101,e:1 5698 ;; 102,f: 1707 ;; 99,c:7 708 ;; 100,d:9 709 ;; 101,e:18 710 ;; 102,f:2 699 711 ;; 103,g:2 700 712 ;; 104,h: 701 ;; 105,i: 9713 ;; 105,i:13 702 714 ;; 106,j: 703 715 ;; 107,k:4 704 ;; 108,l: 5716 ;; 108,l:7 705 717 ;; 109,m:2 706 ;; 110,n:1 1707 ;; 111,o:2 0718 ;; 110,n:12 719 ;; 111,o:21 708 720 ;; 112,p:3 709 721 ;; 113,q: 710 722 ;; 114,r:11 711 723 ;; 115,s:7 712 ;; 116,t:1 5724 ;; 116,t:16 713 725 ;; 117,u:4 714 ;; 118,v: 3726 ;; 118,v:5 715 727 ;; 119,w:1 716 728 ;; 120,x: -
trunk/XTIDE_Universal_BIOS/makefile
r630 r638 6 6 # small Builds only binaries smaller than or equal to 8 kiB (without checksums) # 7 7 # large Builds only binaries larger than 8 kiB (without checksums) # 8 # custom Builds custom binary without checksum ( change DEFINES_CUSTOM / BIOS_SIZE_CUSTOM first)#8 # custom Builds custom binary without checksum (make sure to change DEFINES_CUSTOM first) # 9 9 # clean Removes all files from \Build # 10 10 # checksum* Same as 'all' but also applies checksums to the binaries # … … 20 20 # MODULE_8BIT_IDE_ADVANCED Support for memory mapped and DMA based cards like JRIDE and XTCF # 21 21 # MODULE_ADVANCED_ATA Native support for some VLB IDE controllers (requires USE_386) # 22 # MODULE_ATAPI Very simplistic detection of ATAPI devices # 22 23 # MODULE_COMPATIBLE_TABLES Support for ill behaving software that tries to access DPT directly # 23 24 # MODULE_BOOT_MENU Boot Menu for selection of drive to boot from # … … 52 53 # # 53 54 # ** AT Builds only (when USE_AT is defined) # 54 # *** Use this only when certain known good drives are not being detected (eg WD Caviars)#55 # *** Some known good drives fails validation (e.g. WD Caviars) # 55 56 #################################################################################################### 56 57 … … 131 132 DEFINES_CUSTOM = ? 132 133 134 # This set of defines is used only for 'make strings'. Include or exclude defines as needed. The combination of defines doesn't have 135 # to make sense. This is just to ensure that all relevant strings are compressed when converting Strings.asm to StringsCompressed.asm. 136 DEFINES_STRINGSCOMPRESSED = MODULE_STRINGS_COMPRESSED MODULE_BOOT_MENU MODULE_HOTKEYS MODULE_ADVANCED_ATA MODULE_8BIT_IDE MODULE_8BIT_IDE_ADVANCED MODULE_SERIAL MODULE_ATAPI 137 133 138 134 139 ################### … … 136 141 ################### 137 142 138 # Target size of the BIOS, used in Main.asm for number of 512B blocks (CNT_ROM_BLOCKS) and by checksum Perl script below ('make checksum').139 # Note! The size must be a multiple of 2 KB for compatibility reasons.140 BIOS_SIZE_TINY = 4096141 BIOS_SIZE_SMALL = 8192142 BIOS_SIZE_LARGE = 12288143 BIOS_SIZE_CUSTOM = ?144 145 143 # Add -D in front of every preprocessor define declaration 146 DEFS_XT = $(DEFINES_XT:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_SMALL) 147 DEFS_XTPLUS = $(DEFINES_XTPLUS:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_SMALL) 148 DEFS_AT = $(DEFINES_AT:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_SMALL) 149 DEFS_386 = $(DEFINES_386:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_SMALL) 150 DEFS_PS2 = $(DEFINES_PS2:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_SMALL) 151 DEFS_XT_LARGE = $(DEFINES_XT_LARGE:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_LARGE) 152 DEFS_XTPLUS_LARGE = $(DEFINES_XTPLUS_LARGE:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_LARGE) 153 DEFS_AT_LARGE = $(DEFINES_AT_LARGE:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_LARGE) 154 DEFS_386_LARGE = $(DEFINES_386_LARGE:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_LARGE) 155 DEFS_PS2_LARGE = $(DEFINES_PS2_LARGE:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_LARGE) 156 DEFS_XT_TINY = $(DEFINES_XT_TINY:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_TINY) 157 DEFS_CUSTOM = $(DEFINES_CUSTOM:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_CUSTOM) 144 DEFS_XT = $(DEFINES_XT:%=-D%) 145 DEFS_XTPLUS = $(DEFINES_XTPLUS:%=-D%) 146 DEFS_AT = $(DEFINES_AT:%=-D%) 147 DEFS_386 = $(DEFINES_386:%=-D%) 148 DEFS_PS2 = $(DEFINES_PS2:%=-D%) 149 DEFS_XT_LARGE = $(DEFINES_XT_LARGE:%=-D%) 150 DEFS_XTPLUS_LARGE = $(DEFINES_XTPLUS_LARGE:%=-D%) 151 DEFS_AT_LARGE = $(DEFINES_AT_LARGE:%=-D%) 152 DEFS_386_LARGE = $(DEFINES_386_LARGE:%=-D%) 153 DEFS_PS2_LARGE = $(DEFINES_PS2_LARGE:%=-D%) 154 DEFS_XT_TINY = $(DEFINES_XT_TINY:%=-D%) 155 DEFS_CUSTOM = $(DEFINES_CUSTOM:%=-D%) 156 DEFS_STRINGSCOMPRESSED = $(DEFINES_STRINGSCOMPRESSED:%=-D%) 158 157 159 158 # Add -I in front of all header directories … … 251 250 252 251 strings: src\Strings.asm 253 @$(AS) src\Strings.asm $(ASFLAGS) $(DEFS_ AT_LARGE) -DCHECK_FOR_UNUSED_ENTRYPOINTS -DMODULE_STRINGS_COMPRESSED_PRECOMPRESS -o build\Strings.bin -l build\StringsPrecompress.lst252 @$(AS) src\Strings.asm $(ASFLAGS) $(DEFS_STRINGSCOMPRESSED) -DCHECK_FOR_UNUSED_ENTRYPOINTS -DMODULE_STRINGS_COMPRESSED_PRECOMPRESS -o build\Strings.bin -l build\StringsPrecompress.lst 254 253 @perl ..\Tools\StringsCompress.pl < build\StringsPrecompress.lst > src\StringsCompressed.asm 255 254 @echo StringsCompressed.asm updated! … … 260 259 261 260 checksum: all 262 @perl ..\Tools\checksum.pl $(TARGET)_tiny.bin $(BIOS_SIZE_TINY)263 @perl ..\Tools\checksum.pl $(TARGET)_xt.bin $(BIOS_SIZE_SMALL)264 @perl ..\Tools\checksum.pl $(TARGET)_xtp.bin $(BIOS_SIZE_SMALL)265 @perl ..\Tools\checksum.pl $(TARGET)_at.bin $(BIOS_SIZE_SMALL)266 @perl ..\Tools\checksum.pl $(TARGET)_386.bin $(BIOS_SIZE_SMALL)267 @perl ..\Tools\checksum.pl $(TARGET)_ps2.bin $(BIOS_SIZE_SMALL)268 @perl ..\Tools\checksum.pl $(TARGET)_xtl.bin $(BIOS_SIZE_LARGE)269 @perl ..\Tools\checksum.pl $(TARGET)_xtpl.bin $(BIOS_SIZE_LARGE)270 @perl ..\Tools\checksum.pl $(TARGET)_atl.bin $(BIOS_SIZE_LARGE)271 @perl ..\Tools\checksum.pl $(TARGET)_386l.bin $(BIOS_SIZE_LARGE)272 @perl ..\Tools\checksum.pl $(TARGET)_ps2l.bin $(BIOS_SIZE_LARGE)261 @perl ..\Tools\checksum.pl $(TARGET)_tiny.bin 262 @perl ..\Tools\checksum.pl $(TARGET)_xt.bin 263 @perl ..\Tools\checksum.pl $(TARGET)_xtp.bin 264 @perl ..\Tools\checksum.pl $(TARGET)_at.bin 265 @perl ..\Tools\checksum.pl $(TARGET)_386.bin 266 @perl ..\Tools\checksum.pl $(TARGET)_ps2.bin 267 @perl ..\Tools\checksum.pl $(TARGET)_xtl.bin 268 @perl ..\Tools\checksum.pl $(TARGET)_xtpl.bin 269 @perl ..\Tools\checksum.pl $(TARGET)_atl.bin 270 @perl ..\Tools\checksum.pl $(TARGET)_386l.bin 271 @perl ..\Tools\checksum.pl $(TARGET)_ps2l.bin 273 272 274 273 unused: -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/AutoConfigure.asm
r621 r638 5 5 ; 6 6 ; XTIDE Universal BIOS and Associated Tools 7 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.7 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 8 8 ; 9 9 ; This program is free software; you can redistribute it and/or modify … … 85 85 cmp ax, dx 86 86 jne SHORT .NextChecksum 87 test BYTE [di+ROMVARS.wFlags], FLG_ROMVARS_MODULE_MFM_COMPATIBILITY 88 mov dx, g_szDlgIncompatibleBuild 89 jnz SHORT .DisplayNotificationFromCSDX 87 90 or BYTE [di+ROMVARS.wFlags], FLG_ROMVARS_CLEAR_BDA_HD_COUNT 88 91 mov dx, g_szDlgBadBiosFound 92 .DisplayNotificationFromCSDX: 89 93 jmp Dialogs_DisplayNotificationFromCSDX 90 94 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupage.asm
r526 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 88 88 xor ax, ax 89 89 mov cx, [di+MENUPAGE.wMenuitems] 90 lea bx, [di+MENUPAGE.rgMenuitem ]90 lea bx, [di+MENUPAGE.rgMenuitem+MENUITEM.bFlags] 91 91 92 92 ALIGN JUMP_ALIGN 93 .CheckVisibilityF romNextMenuitem:94 test BYTE [bx +MENUITEM.bFlags], FLG_MENUITEM_VISIBLE93 .CheckVisibilityForNextMenuitem: 94 test BYTE [bx], FLG_MENUITEM_VISIBLE 95 95 jz SHORT .PrepareToLoop 96 96 inc ax 97 97 .PrepareToLoop: 98 98 add bx, BYTE MENUITEM_size 99 loop .CheckVisibilityF romNextMenuitem99 loop .CheckVisibilityForNextMenuitem 100 100 ret 101 101 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/BootMenuSettingsMenu.asm
r625 r638 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 3by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 46 46 at MENUITEM.szQuickInfo, dw g_szNfoDispMode 47 47 at MENUITEM.szHelp, dw g_szNfoDispMode 48 at MENUITEM.bFlags, db FLG_MENUITEM_VISIBLE 48 at MENUITEM.bFlags, db FLG_MENUITEM_VISIBLE | FLG_MENUITEM_MODIFY_MENU 49 49 at MENUITEM.bType, db TYPE_MENUITEM_MULTICHOICE 50 50 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw ROMVARS.wDisplayMode … … 62 62 at MENUITEM.szQuickInfo, dw g_szNfoColorTheme 63 63 at MENUITEM.szHelp, dw g_szHelpColorTheme 64 at MENUITEM.bFlags, db FLG_MENUITEM_ VISIBLE | FLG_MENUITEM_MODIFY_MENU64 at MENUITEM.bFlags, db FLG_MENUITEM_MODIFY_MENU 65 65 at MENUITEM.bType, db TYPE_MENUITEM_MULTICHOICE 66 66 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw ROMVARS.pColorTheme ; Only ever read - never modified … … 142 142 at MENUITEM.szQuickInfo, dw g_szNfoClearBdaDriveCount 143 143 at MENUITEM.szHelp, dw g_szHelpClearBdaDriveCount 144 at MENUITEM.bFlags, db FLG_MENUITEM_ VISIBLE | FLG_MENUITEM_FLAGVALUE144 at MENUITEM.bFlags, db FLG_MENUITEM_FLAGVALUE 145 145 at MENUITEM.bType, db TYPE_MENUITEM_MULTICHOICE 146 146 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw ROMVARS.wFlags … … 183 183 dw g_szValueColorTheme4 184 184 dw g_szValueColorTheme5 185 dw g_szValueColorTheme6 186 dw g_szValueColorTheme7 187 dw g_szValueColorTheme8 188 dw g_szValueColorTheme9 189 dw g_szValueColorTheme10 185 190 186 191 ColorThemeTable: 187 192 ; Note! If there's ever a need to add, remove or change a theme or reorder the themes then the ROMVARS version must be incremented. 188 193 ; Classic (default) 189 db COLOR_ATTRIBUTE(COLOR_YELLOW, COLOR_BLUE) ; .cBordersAndBackground190 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow191 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLUE) ; .cTitle192 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLUE) ; .cItem193 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_CYAN) ; .cHighlightedItem194 db COLOR_ATTRIBUTE(COLOR_RED, COLOR_BLUE) | FLG_COLOR_BLINK ; .cHurryTimeout195 db COLOR_ATTRIBUTE(COLOR_GREEN, COLOR_BLUE) ; .cNormalTimeout194 db COLOR_ATTRIBUTE(COLOR_YELLOW, COLOR_BLUE) ; .cBordersAndBackground 195 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 196 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLUE) ; .cTitle 197 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLUE) ; .cItem 198 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_CYAN) ; .cHighlightedItem 199 db COLOR_ATTRIBUTE(COLOR_RED, COLOR_BLUE) | FLG_COLOR_BLINK ; .cHurryTimeout 200 db COLOR_ATTRIBUTE(COLOR_GREEN, COLOR_BLUE) ; .cNormalTimeout 196 201 ; Argon Blue 197 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLACK) ; .cBordersAndBackground198 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow199 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) ; .cTitle200 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cItem201 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLACK) ; .cHighlightedItem202 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout203 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLACK) ; .cNormalTimeout202 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLACK) ; .cBordersAndBackground 203 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 204 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) ; .cTitle 205 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cItem 206 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLACK) ; .cHighlightedItem 207 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout 208 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLACK) ; .cNormalTimeout 204 209 ; Neon Red 205 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) ; .cBordersAndBackground206 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow207 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) ; .cTitle208 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cItem209 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) ; .cHighlightedItem210 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout211 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) ; .cNormalTimeout210 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) ; .cBordersAndBackground 211 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 212 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) ; .cTitle 213 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cItem 214 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) ; .cHighlightedItem 215 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout 216 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) ; .cNormalTimeout 212 217 ; Phosphor Green 213 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cBordersAndBackground214 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow215 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) ; .cTitle216 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cItem217 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cHighlightedItem218 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout219 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cNormalTimeout218 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cBordersAndBackground 219 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 220 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) ; .cTitle 221 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cItem 222 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cHighlightedItem 223 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout 224 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cNormalTimeout 220 225 ; Moon Surface 221 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cBordersAndBackground222 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow223 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) ; .cTitle224 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cItem225 db COLOR_ATTRIBUTE(COLOR_BROWN, COLOR_BLACK) ; .cHighlightedItem226 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout227 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cNormalTimeout226 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cBordersAndBackground 227 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 228 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) ; .cTitle 229 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cItem 230 db COLOR_ATTRIBUTE(COLOR_BROWN, COLOR_BLACK) ; .cHighlightedItem 231 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout 232 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLACK) ; .cNormalTimeout 228 233 ; Toxic Waste 229 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cBordersAndBackground 230 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 231 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cTitle 232 db COLOR_ATTRIBUTE(COLOR_LIGHT_CYAN, COLOR_BLACK) ; .cItem 233 db COLOR_ATTRIBUTE(COLOR_LIGHT_CYAN, COLOR_BLUE) ; .cHighlightedItem 234 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout 235 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) ; .cNormalTimeout 234 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cBordersAndBackground 235 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 236 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_BLACK) ; .cTitle 237 db COLOR_ATTRIBUTE(COLOR_LIGHT_CYAN, COLOR_BLACK) ; .cItem 238 db COLOR_ATTRIBUTE(COLOR_LIGHT_CYAN, COLOR_BLUE) ; .cHighlightedItem 239 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) | FLG_COLOR_BLINK ; .cHurryTimeout 240 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_BLACK) ; .cNormalTimeout 241 ; Amethyst 242 db COLOR_ATTRIBUTE(COLOR_LIGHT_MAGENTA, COLOR_MAGENTA) ; .cBordersAndBackground 243 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 244 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_MAGENTA) ; .cTitle 245 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_MAGENTA) ; .cItem 246 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_MAGENTA) ; .cHighlightedItem 247 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_MAGENTA) | FLG_COLOR_BLINK ; .cHurryTimeout 248 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_MAGENTA) ; .cNormalTimeout 249 ; Emerald 250 db COLOR_ATTRIBUTE(COLOR_LIGHT_GREEN, COLOR_GREEN) ; .cBordersAndBackground 251 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 252 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_GREEN) ; .cTitle 253 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_GREEN) ; .cItem 254 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_GREEN) ; .cHighlightedItem 255 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_GREEN) | FLG_COLOR_BLINK ; .cHurryTimeout 256 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_GREEN) ; .cNormalTimeout 257 ; Sapphire 258 db COLOR_ATTRIBUTE(COLOR_LIGHT_BLUE, COLOR_BLUE) ; .cBordersAndBackground 259 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 260 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLUE) ; .cTitle 261 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_BLUE) ; .cItem 262 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLUE) ; .cHighlightedItem 263 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLUE) | FLG_COLOR_BLINK ; .cHurryTimeout 264 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_BLUE) ; .cNormalTimeout 265 ; Ruby 266 db COLOR_ATTRIBUTE(COLOR_LIGHT_RED, COLOR_RED) ; .cBordersAndBackground 267 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 268 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_RED) ; .cTitle 269 db COLOR_ATTRIBUTE(COLOR_WHITE, COLOR_RED) ; .cItem 270 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_RED) ; .cHighlightedItem 271 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_RED) | FLG_COLOR_BLINK ; .cHurryTimeout 272 db COLOR_ATTRIBUTE(COLOR_BRIGHT_WHITE, COLOR_RED) ; .cNormalTimeout 273 ; Liquid Crystal Display 274 db COLOR_ATTRIBUTE(COLOR_BLUE, COLOR_GREEN) ; .cBordersAndBackground 275 db COLOR_ATTRIBUTE(COLOR_GRAY, COLOR_BLACK) ; .cShadow 276 db COLOR_ATTRIBUTE(COLOR_BLUE, COLOR_GREEN) ; .cTitle 277 db COLOR_ATTRIBUTE(COLOR_BLUE, COLOR_GREEN) ; .cItem 278 db COLOR_ATTRIBUTE(COLOR_GREEN, COLOR_BLUE) ; .cHighlightedItem 279 db COLOR_ATTRIBUTE(COLOR_GREEN, COLOR_BLUE) | FLG_COLOR_BLINK ; .cHurryTimeout 280 db COLOR_ATTRIBUTE(COLOR_GREEN, COLOR_BLUE) ; .cNormalTimeout 236 281 EndOfColorThemeTable: 237 282 CountOfThemes equ (EndOfColorThemeTable-ColorThemeTable) / ATTRIBUTE_CHARS_size … … 259 304 call .EnableOrDisableColorThemeSelection 260 305 call .EnableOrDisableBootMenuSelectionTimeout 306 call .EnableOrDisableRemoveOtherHardDrives 261 307 mov si, g_MenupageForBootMenuSettingsMenu 262 308 jmp Menupage_ChangeToNewMenupageInDSSI … … 309 355 ALIGN JUMP_ALIGN 310 356 .EnableOrDisableColorThemeSelection: 357 push ax 358 test ax, FLG_ROMVARS_MODULE_BOOT_MENU 359 jz SHORT .NoModuleBootMenu 360 mov bx, ROMVARS.wDisplayMode 361 call Buffers_GetRomvarsValueToAXfromOffsetInBX 362 cmp al, 4 363 je SHORT .ColorMode ; Actually default video mode which might be a color mode 364 cmp al, 7 365 je SHORT .NotColorMode 366 test al, 1 367 jnz SHORT .ColorMode 368 .NoModuleBootMenu: 369 .NotColorMode: 370 stc 371 .ColorMode: 372 pop ax 311 373 mov bx, g_MenuitemBootMnuStngsColorTheme 312 test ax, FLG_ROMVARS_MODULE_BOOT_MENU313 jmp SHORT .DisableMenuitemFromCSBX ifZFset374 jnc SHORT .EnableMenuitemFromCSBX 375 jmp SHORT .DisableMenuitemFromCSBX 314 376 315 377 … … 350 412 .DisableMenuitemFromCSBX: 351 413 jmp DisableMenuitemFromCSBX 414 415 416 ;-------------------------------------------------------------------- 417 ; .EnableOrDisableRemoveOtherHardDrives 418 ; Parameters: 419 ; AX: ROMVARS.wFlags 420 ; SS:BP: Menu handle 421 ; Returns: 422 ; Nothing 423 ; Corrupts registers: 424 ; BX 425 ;-------------------------------------------------------------------- 426 ALIGN JUMP_ALIGN 427 .EnableOrDisableRemoveOtherHardDrives: 428 test al, FLG_ROMVARS_MODULE_MFM_COMPATIBILITY 429 mov bx, g_MenuitemBootMnuStngsClearBdaDriveCount 430 jz SHORT .EnableMenuitemFromCSBX 431 jmp SHORT .DisableMenuitemFromCSBX 352 432 353 433 … … 398 478 jne SHORT .SkipCopy 399 479 400 ; Copy the color theme fro nthe loaded BIOS overwriting XTIDECFG's own theme480 ; Copy the color theme from the loaded BIOS overwriting XTIDECFG's own theme 401 481 inc si 402 482 mov di, ColorTheme ; ES:DI now points to ColorTheme in XTIDECFG -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm
r636 r638 45 45 46 46 ; General Yes/No response type dialog messages 47 g_szDlgExitToDos: db "Exit to DOS?",NULL48 g_szDlgSaveChanges: db "Do you want to save changes to XTIDE Universal BIOS image file?",NULL49 g_szDlgDriveNotReady: db "Drive not ready! Retry?",NULL47 g_szDlgExitToDos: db "Exit to DOS?",NULL 48 g_szDlgSaveChanges: db "Do you want to save changes to XTIDE Universal BIOS image file?",NULL 49 g_szDlgDriveNotReady: db "Drive not ready! Retry?",NULL 50 50 51 51 ; Generic dialog strings 52 g_szNotificationDialog: db "Notification.",NULL53 g_szErrorDialog: db "Error!",NULL54 g_szGenericDialogInfo: db "Press ENTER or ESC to close dialog.",NULL52 g_szNotificationDialog: db "Notification.",NULL 53 g_szErrorDialog: db "Error!",NULL 54 g_szGenericDialogInfo: db "Press ENTER or ESC to close dialog.",NULL 55 55 56 56 ; Flashing related strings … … 71 71 72 72 ; Strings for main menu 73 g_szItemMainExitToDOS: db "Exit to DOS",NULL74 g_szItemMainLoadFile: db "Load BIOS from file",NULL75 g_szItemMainLoadROM: db "Load BIOS from EEPROM",NULL76 g_szItemMainLoadStngs: db "Load old settings from EEPROM",NULL77 g_szItemMainConfigure: db "Configure XTIDE Universal BIOS",NULL78 g_szItemMainFlash: db "Flash EEPROM",NULL79 g_szItemMainSave: db "Save BIOS back to original file",NULL80 g_szItemMainLicense: db "Copyright and License Information",NULL81 g_szItemMainHomePage: db "Web Links",NULL82 83 g_szDlgMainLoadROM: db "Successfully loaded XTIDE Universal BIOS from EEPROM.",NULL84 g_szDlgMainLoadStngs: db "Successfully loaded settings from EEPROM.",NULL85 g_szDlgMainLoadFile: db "Successfully loaded file for flashing.",NULL86 g_szDlgMainSaveFile: db "Successfully saved XTIDE Universal BIOS to file.",NULL87 g_szDlgMainFileTooBig: db "Selected file is too big to be loaded for flashing!",NULL88 g_szDlgMainLoadErr: db "Failed to load file!",NULL89 g_szDlgMainSaveErr: db "Failed to save file!",NULL90 g_szDlgFileTitle: db "Select file to be flashed.",NULL91 g_szDlgFileFilter: db "*.*",NULL92 93 g_szNfoMainExitToDOS: db "Quits XTIDE Universal BIOS Configurator.",NULL94 g_szNfoMainLoadFile: db "Load BIOS file to be configured or flashed.",NULL95 g_szNfoMainLoadROM: db "Load BIOS from EEPROM to be reconfigured.",NULL96 g_szNfoMainLoadStngs: db "Load old XTIDE Universal BIOS settings from EEPROM.",NULL97 g_szNfoMainConfigure: db "Configure XTIDE Universal BIOS settings.",NULL98 g_szNfoMainFlash: db "Flash loaded BIOS image to EEPROM.",NULL99 g_szNfoMainSave: db "Save BIOS changes back to original file from which it was loaded.",NULL100 g_szNfoMainLicense: db "XTIDE Universal BIOS and XTIDECFG Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team."101 db " Released under GNU GPL v2, with ABSOLUTELY NO WARRANTY. Press ENTER for more details...",NULL102 g_szNfoMainHomePage: db "Visit http://xtideuniversalbios.org (home page) and http://forum.vcfed.org (support)",NULL103 104 g_szHelpMainLicense: db "XTIDE Universal BIOS and XTIDECFG Configuration program are Copyright 2009-2010 by Tomi Tilli,"105 db " 2011-2026 by XTIDE Universal BIOS Team. Released under GNU GPL v2. This software comes with ABSOLUTELY NO WARRANTY."106 db " This is free software, and you are welcome to redistribute it under certain conditions."107 db " See the LICENSE.TXT file that was included with this distribution,"108 db " visit http://www.gnu.org/licenses/ gpl-2.0.html, or visit http://xtideuniversalbios.org.",NULL73 g_szItemMainExitToDOS: db "Exit to DOS",NULL 74 g_szItemMainLoadFile: db "Load BIOS from file",NULL 75 g_szItemMainLoadROM: db "Load BIOS from EEPROM",NULL 76 g_szItemMainLoadStngs: db "Load old settings from EEPROM",NULL 77 g_szItemMainConfigure: db "Configure XTIDE Universal BIOS",NULL 78 g_szItemMainFlash: db "Flash EEPROM",NULL 79 g_szItemMainSave: db "Save BIOS back to original file",NULL 80 g_szItemMainLicense: db "Copyright and License Information",NULL 81 g_szItemMainHomePage: db "Web Links",NULL 82 83 g_szDlgMainLoadROM: db "Successfully loaded XTIDE Universal BIOS from EEPROM.",NULL 84 g_szDlgMainLoadStngs: db "Successfully loaded settings from EEPROM.",NULL 85 g_szDlgMainLoadFile: db "Successfully loaded file for flashing.",NULL 86 g_szDlgMainSaveFile: db "Successfully saved XTIDE Universal BIOS to file.",NULL 87 g_szDlgMainFileTooBig: db "Selected file is too big to be loaded for flashing!",NULL 88 g_szDlgMainLoadErr: db "Failed to load file!",NULL 89 g_szDlgMainSaveErr: db "Failed to save file!",NULL 90 g_szDlgFileTitle: db "Select file to be flashed.",NULL 91 g_szDlgFileFilter: db "*.*",NULL 92 93 g_szNfoMainExitToDOS: db "Quits XTIDE Universal BIOS Configurator.",NULL 94 g_szNfoMainLoadFile: db "Load BIOS file to be configured or flashed.",NULL 95 g_szNfoMainLoadROM: db "Load BIOS from EEPROM to be reconfigured.",NULL 96 g_szNfoMainLoadStngs: db "Load old XTIDE Universal BIOS settings from EEPROM.",NULL 97 g_szNfoMainConfigure: db "Configure XTIDE Universal BIOS settings.",NULL 98 g_szNfoMainFlash: db "Flash loaded BIOS image to EEPROM.",NULL 99 g_szNfoMainSave: db "Save BIOS changes back to original file from which it was loaded.",NULL 100 g_szNfoMainLicense: db "XTIDE Universal BIOS and XTIDECFG Copyright (C) 2009-2010 by Tomi Tilli, 2011-2026 by XTIDE Universal BIOS Team." 101 db " Released under GNU GPL v2, with ABSOLUTELY NO WARRANTY. Press ENTER for more details...",NULL 102 g_szNfoMainHomePage: db "Visit http://xtideuniversalbios.org (home page) and http://forum.vcfed.org (support)",NULL 103 104 g_szHelpMainLicense: db "XTIDE Universal BIOS and XTIDECFG Configuration program are Copyright 2009-2010 by Tomi Tilli," 105 db " 2011-2026 by XTIDE Universal BIOS Team. Released under GNU GPL v2. This software comes with ABSOLUTELY NO WARRANTY." 106 db " This is free software, and you are welcome to redistribute it under certain conditions." 107 db " See the LICENSE.TXT file that was included with this distribution," 108 db " visit http://www.gnu.org/licenses/ gpl-2.0.html, or visit http://xtideuniversalbios.org.",NULL 109 109 110 110 ; Strings for XTIDE Universal BIOS configuration menu 111 g_szItemCfgBackToMain: db "Back to Main Menu",NULL 112 g_szItemCfgIde1: db "Primary IDE Controller",NULL 113 g_szItemCfgIde2: db "Secondary IDE Controller",NULL 114 g_szItemCfgIde3: db "Tertiary IDE Controller",NULL 115 g_szItemCfgIde4: db "Quaternary IDE Controller",NULL 116 g_szItemCfgBootMenu: db "Boot settings",NULL 117 g_szItemAutoConfigure: db "Auto Configure",NULL 118 g_szItemCfgFullMode: db "Full operating mode",NULL 119 g_szItemCfgRamVars: db "Use UMB for variables",NULL 120 g_szItemCfgStealSize: db "kiB to steal from RAM",NULL 121 g_szItemCfgIdeCnt: db "IDE controllers",NULL 122 g_szItemCfgIdleTimeout: db "Power Management",NULL 123 124 g_szDlgAutoConfigure: db "Found " 125 g_bControllersDetected: db 'x' ; Value stored directly here 126 db " controllers.",NULL 127 g_szDlgBadBiosFound: db "This computer has been identified as being one of the following models:",LF,LF 128 db "Zenith Data Systems Z-171",LF 129 db "Zenith Data Systems Z-161",LF,LF 130 db "The Boot settings menu option 'Remove other hard drives' has been set to YES for this reason.",NULL 131 g_szDlgFomEnabled db "The loaded file does not support Lite mode - Full operating mode has been enabled.",NULL 132 g_szDlgCfgFullMode: db "Enable full operating mode?",NULL 133 g_szDlgCfgRamVars: db "Store variables in UMB?",NULL 134 g_szDlgCfgStealSize: db "How many kiB of base memory to steal for XTIDE Universal BIOS variables (1...255)?",NULL 135 g_szDlgCfgIdeCnt: db "How many IDE controllers to manage (1...4)?",NULL 136 g_szDlgCfgIdleTimeout: db "Select the amount of time before idling drives should enter standby mode.",NULL 137 138 g_szNfoCfgIde: db "IDE controller and drive configuration.",NULL 139 g_szNfoCfgBootMenu: db "Boot configuration.",NULL 140 g_szNfoAutoConfigure: db "Automatically Configure XTIDE Universal BIOS for this system.",NULL 141 g_szNfoCfgFullMode: db "Full mode supports up to four controllers and has more features.",NULL 142 g_szNfoCfgRamVars: db "Enter UMB segment address (FFFF=Disable UMB usage and use the top of Conventional memory instead).",NULL 143 g_szNfoCfgStealSize: db "How many kiB's to steal from Conventional memory for XTIDE Universal BIOS variables.",NULL 144 g_szNfoCfgIdeCnt: db "Number of IDE controllers to manage.",NULL 145 g_szNfoCfgIdleTimeout: db "Enable Power Management to set the harddrive(s) to spin down after idling a certain amount of time.",NULL 146 147 g_szSerialMoved: db "A Serial Controller has been moved to the end of the Controller list." 148 db " No further action is required. Serial Controllers must be placed at the end of the list.",NULL 149 150 g_szHelpCfgFullMode: db "Full mode supports up to 4 IDE controllers (8 drives) and requires 1 kiB of RAM to store hard disk parameters and" 151 db " other variables. This bit of RAM can be reserved from the top of Conventional memory, or, if RAM is available in" 152 db " the Upper Memory Area (UMA), by configuring the BIOS to use an Upper Memory Block (UMB). Full mode makes it" 153 db " possible to use ROM BASIC and other software that requires the memory range where" 154 db " XTIDE Universal BIOS parameters would be stored in Lite mode.",LF,LF 155 db "Lite mode supports only 2 IDE controllers (4 drives) and stores parameters to the top of the interrupt vectors" 156 db " (30:0h) so no Conventional memory needs to be reserved. Lite mode cannot be used if you intend to use" 157 db " IBM ROM BASIC or software such as Turbo BASIC or BASICA.",LF,LF 158 db "Tandy 1000 models with 640 kiB or less memory need to use Lite mode since the top of Conventional memory gets" 159 db " dynamically reserved by video hardware. This happens only with Tandy integrated video controller and not when" 160 db " using expansion graphics cards. It is possible to use Full mode if configuring the BIOS to use an UMB or by" 161 db " reserving RAM for video memory in addition to what is required for XTIDE Universal BIOS. Most software should" 162 db " work with 33 kiB reserved but some will require 65 kiB. Theoretically speaking, a lot more could be required" 163 db " - it is just that we are not aware of any software with higher video memory requirements.",NULL 164 165 g_szHelpCfgRamVars: db "The UMB segment address entered here will be used to store hard disk parameters and other variables leaving all" 166 db " of the Conventional memory free for other uses.",LF,LF 167 db "Do not use this option unless you know for certain that memory actually exists at this address and that it is" 168 db " writable without any prerequisite chipset programming. If you are using any sort of DOS memory manager or UMB" 169 db " provider then it is probably a good idea to use whatever memory range exclusion option it provides to prevent it" 170 db " from trying to use this memory range. Note that only 1 kiB of the UMB will be used.",NULL 171 172 g_szHelpCfgStealSize: db "Parameters for detected hard disks and other variables must be stored somewhere. If in Full mode, and the BIOS has" 173 db " not been configured to use an UMB, then they are stored at the top of Conventional memory." 174 db " 1 kiB is usually enough but you may have to reserve more if you want to use Full mode on a Tandy 1000.",NULL 175 176 g_szHelpCfgIdleTimeout: db "This option enables the standby timer for all harddrives handled by XTIDE Universal BIOS," 177 db " allowing the drives to spin down after idling the selected amount of time." 178 db " Note that this does not work with old drives that lack the Power Management feature set." 179 db " Also note that timeouts less than 5 minutes may cause unnecessary wear on the drives and is not recommended" 180 db " (use for compatibility testing only).",NULL 111 g_szItemCfgBackToMain: db "Back to Main Menu",NULL 112 g_szItemCfgIde1: db "Primary IDE Controller",NULL 113 g_szItemCfgIde2: db "Secondary IDE Controller",NULL 114 g_szItemCfgIde3: db "Tertiary IDE Controller",NULL 115 g_szItemCfgIde4: db "Quaternary IDE Controller",NULL 116 g_szItemCfgBootMenu: db "Boot settings",NULL 117 g_szItemAutoConfigure: db "Auto Configure",NULL 118 g_szItemCfgFullMode: db "Full operating mode",NULL 119 g_szItemCfgRamVars: db "Use UMB for variables",NULL 120 g_szItemCfgStealSize: db "kiB to steal from RAM",NULL 121 g_szItemCfgIdeCnt: db "IDE controllers",NULL 122 g_szItemCfgIdleTimeout: db "Power Management",NULL 123 124 g_szDlgAutoConfigure: db "Found " 125 g_bControllersDetected: db 'x' ; Value stored directly here 126 db " controllers.",NULL 127 g_szDlgBadBiosFound: db "This computer has been identified as being one of the following models:",LF,LF 128 db "Zenith Data Systems Z-171",LF 129 db "Zenith Data Systems Z-161",LF,LF 130 db "The Boot settings menu option 'Remove other hard drives' has been set to YES for this reason.",NULL 131 g_szDlgIncompatibleBuild: db "This computer has been identified as being in need of having the Boot settings menu option" 132 db " 'Remove other hard drives' set to YES. However, this is not available on the currently loaded" 133 db " BIOS because it includes MODULE_MFM_COMPATIBILITY. As a result, this particular BIOS build" 134 db " cannot be used with this computer.",NULL 135 g_szDlgFomEnabled: db "The loaded file does not support Lite mode - Full operating mode has been enabled.",NULL 136 g_szDlgCfgFullMode: db "Enable full operating mode?",NULL 137 g_szDlgCfgRamVars: db "Store variables in UMB?",NULL 138 g_szDlgCfgStealSize: db "How many kiB of base memory to steal for XTIDE Universal BIOS variables (1...255)?",NULL 139 g_szDlgCfgIdeCnt: db "How many IDE controllers to manage (1...4)?",NULL 140 g_szDlgCfgIdleTimeout: db "Select the amount of time before idling drives should enter standby mode.",NULL 141 142 g_szNfoCfgIde: db "IDE controller and drive configuration.",NULL 143 g_szNfoCfgBootMenu: db "Boot configuration.",NULL 144 g_szNfoAutoConfigure: db "Automatically Configure XTIDE Universal BIOS for this system.",NULL 145 g_szNfoCfgFullMode: db "Full mode supports up to four controllers and has more features.",NULL 146 g_szNfoCfgRamVars: db "Enter UMB segment address (FFFF=Disable UMB usage and use the top of Conventional memory instead).",NULL 147 g_szNfoCfgStealSize: db "How many kiB's to steal from Conventional memory for XTIDE Universal BIOS variables.",NULL 148 g_szNfoCfgIdeCnt: db "Number of IDE controllers to manage.",NULL 149 g_szNfoCfgIdleTimeout: db "Enable Power Management to set the harddrive(s) to spin down after idling a certain amount of time.",NULL 150 151 g_szSerialMoved: db "A Serial Controller has been moved to the end of the Controller list." 152 db " No further action is required. Serial Controllers must be placed at the end of the list.",NULL 153 154 g_szHelpCfgFullMode: db "Full mode supports up to 4 IDE controllers (8 drives) and requires 1 kiB of RAM to store hard disk parameters and" 155 db " other variables. This bit of RAM can be reserved from the top of Conventional memory, or, if RAM is available in" 156 db " the Upper Memory Area (UMA), by configuring the BIOS to use an Upper Memory Block (UMB). Full mode makes it" 157 db " possible to use ROM BASIC and other software that requires the memory range where" 158 db " XTIDE Universal BIOS parameters would be stored in Lite mode.",LF,LF 159 db "Lite mode supports only 2 IDE controllers (4 drives) and stores parameters to the top of the interrupt vectors" 160 db " (30:0h) so no Conventional memory needs to be reserved. Lite mode cannot be used if you intend to use" 161 db " IBM ROM BASIC or software such as Turbo BASIC or BASICA.",LF,LF 162 db "Tandy 1000 models with 640 kiB or less memory need to use Lite mode since the top of Conventional memory gets" 163 db " dynamically reserved by video hardware. This happens only with Tandy integrated video controller and not when" 164 db " using expansion graphics cards. It is possible to use Full mode if configuring the BIOS to use an UMB or by" 165 db " reserving RAM for video memory in addition to what is required for XTIDE Universal BIOS. Most software should" 166 db " work with 33 kiB reserved but some will require 65 kiB. Theoretically speaking, a lot more could be required" 167 db " - it is just that we are not aware of any software with higher video memory requirements.",NULL 168 169 g_szHelpCfgRamVars: db "The UMB segment address entered here will be used to store hard disk parameters and other variables leaving all" 170 db " of the Conventional memory free for other uses.",LF,LF 171 db "Do not use this option unless you know for certain that memory actually exists at this address and that it is" 172 db " writable without any prerequisite chipset programming. If you are using any sort of DOS memory manager or UMB" 173 db " provider then it is probably a good idea to use whatever memory range exclusion option it provides to prevent it" 174 db " from trying to use this memory range. Note that only 1 kiB of the UMB will be used.",NULL 175 176 g_szHelpCfgStealSize: db "Parameters for detected hard disks and other variables must be stored somewhere. If in Full mode, and the BIOS has" 177 db " not been configured to use an UMB, then they are stored at the top of Conventional memory." 178 db " 1 kiB is usually enough but you may have to reserve more if you want to use Full mode on a Tandy 1000.",NULL 179 180 g_szHelpCfgIdleTimeout: db "This option enables the standby timer for all harddrives handled by XTIDE Universal BIOS," 181 db " allowing the drives to spin down after idling the selected amount of time." 182 db " Note that this does not work with old drives that lack the Power Management feature set." 183 db " Also note that timeouts less than 5 minutes may cause unnecessary wear on the drives and is not recommended" 184 db " (use for compatibility testing only).",NULL 181 185 182 186 g_szMultichoiceIdleTimeout: db "Disabled",LF … … 483 487 484 488 g_szHelpBootTimeout: db "Boot Menu selection timeout in BIOS timer ticks (1 second = 18.2 ticks)." 485 db " When timer goes to zero, currently selected drive will be booted automatically." 486 db " Timeout can be disabled by setting this to 0.",NULL 489 db " When timer goes to zero, currently selected drive will be booted automatically.",NULL 487 490 g_szHelpBootDrive: db "Drive to be set selected by default when Boot Menu is displayed.",NULL 488 491 g_szHelpColorTheme: db "Pick a theme from a list of several pre-defined themes to customize the colors used by the boot menu and, if" … … 524 527 db "Phosphor Green",LF 525 528 db "Moon Surface",LF 526 db "Toxic Waste",NULL 529 db "Toxic Waste",LF 530 db "Amethyst",LF 531 db "Emerald",LF 532 db "Sapphire",LF 533 db "Ruby",LF 534 db "Liquid Crystal Display",NULL 527 535 g_szValueColorTheme0: db "Classic",NULL 528 536 g_szValueColorTheme1: db "Argon",NULL … … 531 539 g_szValueColorTheme4: db "Moon",NULL 532 540 g_szValueColorTheme5: db "Toxic",NULL 541 g_szValueColorTheme6: db "Amethyst",NULL 542 g_szValueColorTheme7: db "Emerald",NULL 543 g_szValueColorTheme8: db "Sapphire",NULL 544 g_szValueColorTheme9: db "Ruby",NULL 545 g_szValueColorTheme10: db "LCD",NULL 533 546 534 547 g_szMultichoiceBootFloppyDrvs: db "Autodetect",LF
Note:
See TracChangeset
for help on using the changeset viewer.
