Changeset 596 in xtideuniversalbios
- Timestamp:
- Jul 10, 2018, 1:20:11 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 32 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Inc/AssemblyLibrary.inc
r593 r596 9 9 %include "BiosData.inc" 10 10 %include "BiosFunctions.inc" 11 %include "CgaSnow.inc" 11 12 %include "CMOS.inc" 12 %include "CgaSnow.inc"13 13 %include "Debug.inc" 14 14 %include "Delay.inc" 15 15 %include "DosFunctions.inc" 16 %include "CMOS.inc"17 16 %include "File.inc" 18 17 %include "Math.inc" … … 27 26 %define INCLUDE_KEYBOARD_LIBRARY 28 27 %define INCLUDE_TIME_LIBRARY 29 28 30 29 %ifdef INCLUDE_MENU_DIALOGS 31 30 %include "Dialog.inc" -
trunk/Assembly_Library/Inc/BiosFunctions.inc
r593 r596 66 66 67 67 ; BIOS PCI 2.0+ functions 68 PCI_INSTALLATION_CHECK 68 PCI_INSTALLATION_CHECK EQU 0B101h 69 69 70 70 -
trunk/Assembly_Library/Inc/Emulate.inc
r592 r596 18 18 ;%define USE_386 ; Define to use 386 instructions 19 19 ;%define USE_AT ; Define for AT class machine 20 21 %ifdef USE_NEC_V ; This will run on NEC V20/V30 processors only 22 %define USE_186 ; Define to use 18x/V20/V30 instructions 23 %ifdef USE_UNDOC_INTEL OR USE_286 OR USE_386 24 %fatal "Conflicting processor define used together with USE_NEC_V!" 25 %endif 26 %endif 20 27 21 28 %ifdef USE_386 … … 87 94 %endif 88 95 %endmacro 96 97 98 %ifdef USE_NEC_V 99 %include "NEC_V.inc" 100 %endif 89 101 90 102 -
trunk/Assembly_Library/Inc/Macros.inc
r593 r596 125 125 126 126 ;-------------------------------------------------------------------- 127 ; Small delay between I/O port accesses sif needed.127 ; Small delay between I/O port accesses if needed. 128 128 ; 129 129 ; IO_DELAY -
trunk/Assembly_Library/Src/Menu/Dialog/DialogDrive.asm
r526 r596 29 29 ; Nothing 30 30 ; Corrupts registers: 31 ; AX, BX, CX, DX, SI,DI31 ; AX, BX, CX, DX, DI 32 32 ;-------------------------------------------------------------------- 33 33 ALIGN JUMP_ALIGN -
trunk/Assembly_Library/Src/Menu/Dialog/DialogFile.asm
r593 r596 49 49 pop dx 50 50 cmp BYTE [si+FILE_DIALOG_IO.bUserCancellation], TRUE 51 je Drive_SetDefaultFromDL 51 jne SHORT .UserDidNotCancel 52 jmp Drive_SetDefaultFromDL 53 54 .UserDidNotCancel: 52 55 ret 53 56 -
trunk/Assembly_Library/Src/Menu/Dialog/DialogMessage.asm
r526 r596 30 30 ; Nothing 31 31 ; Corrupts registers: 32 ; AX, BX, CX, DX, SI,DI32 ; AX, BX, CX, DX, DI 33 33 ;-------------------------------------------------------------------- 34 34 ALIGN JUMP_ALIGN -
trunk/Assembly_Library/Src/Menu/Dialog/DialogProgress.asm
r526 r596 30 30 ; Nothing 31 31 ; Corrupts registers: 32 ; AX, BX, CX, DX, SI,DI32 ; AX, BX, CX, DX, DI 33 33 ;-------------------------------------------------------------------- 34 34 ALIGN JUMP_ALIGN -
trunk/Assembly_Library/Src/Menu/Dialog/DialogSelection.asm
r526 r596 30 30 ; Nothing 31 31 ; Corrupts registers: 32 ; AX, BX, CX, DX, SI,DI32 ; AX, BX, CX, DX, DI 33 33 ;-------------------------------------------------------------------- 34 34 ALIGN JUMP_ALIGN -
trunk/Assembly_Library/Src/Menu/Dialog/DialogString.asm
r568 r596 29 29 ; Nothing 30 30 ; Corrupts registers: 31 ; AX, BX, CX, DX, SI,DI31 ; AX, BX, CX, DX, DI 32 32 ;-------------------------------------------------------------------- 33 33 ALIGN JUMP_ALIGN -
trunk/Assembly_Library/Src/Menu/Dialog/DialogWord.asm
r568 r596 30 30 ; Nothing 31 31 ; Corrupts registers: 32 ; AX, BX, CX, DX, SI,DI32 ; AX, BX, CX, DX, DI 33 33 ;-------------------------------------------------------------------- 34 34 ALIGN JUMP_ALIGN … … 93 93 ; Nothing (User input stored to WORD_DIALOG_IO) 94 94 ; Corrupts registers: 95 ; AX, BX, CX, DX, SI, DI 95 ; AX, BX, CX, DX, SI, DI, DS 96 96 ;-------------------------------------------------------------------- 97 97 ALIGN JUMP_ALIGN -
trunk/Assembly_Library/Src/Util/Registers.asm
r592 r596 21 21 SECTION .text 22 22 23 %ifdef EXCLUDE_FROM_XUB 24 %ifndef MODULE_EBIOS 25 %define EXCLUDE 26 %endif 27 %endif 23 28 ;-------------------------------------------------------------------- 24 29 ; Registers_ExchangeDSSIwithESDI … … 30 35 ; Nothing 31 36 ;-------------------------------------------------------------------- 37 %ifndef EXCLUDE 32 38 ALIGN JUMP_ALIGN 33 39 Registers_ExchangeDSSIwithESDI: … … 38 44 xchg si, di 39 45 ret 46 %endif 47 %undef EXCLUDE 40 48 41 49 … … 48 56 ; Nothing 49 57 ; Returns: 50 ; Copies far mpointer to different segment/pointer register pair58 ; Copies far pointer to different segment/pointer register pair 51 59 ; Corrupts registers: 52 60 ; Nothing -
trunk/Assembly_Library/Src/Util/Size.asm
r592 r596 159 159 ALIGN UTIL_SIZE_JUMP_ALIGN 160 160 Size_ConvertSectorCountInBXDXAXtoKiB: ; unused entrypoint ok 161 Size_DivideBXDXAXbyTwo: 161 Size_DivideBXDXAXbyTwo: ; unused entrypoint ok 162 162 shr bx, 1 ; Divide sector count by 2... 163 163 rcr dx, 1 ; ...to get disk size in... -
trunk/XTIDE_Universal_BIOS/Inc/BootVars.inc
r595 r596 43 43 .wFddAndHddLetters: 44 44 .bFddLetter resb 1 ; Floppy Drive letter hotkey (upper case) 45 .wHddLetterAndFlags: 45 46 .bHddLetter resb 1 ; Hard Drive letter hotkey (upper case). Must be after .bFddLetter! 46 47 .bFlags resb 1 ; Must be just after .bHddLetter! (dependency in Hotkeybar.asm) -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r592 r596 31 31 ; AL, BX, CX, DX 32 32 ;-------------------------------------------------------------------- 33 IdeCommand_ResetMasterAndSlaveController: 33 IdeCommand_ResetMasterAndSlaveController: ; Unused entrypoint OK 34 34 ; HSR0: Set_SRST 35 35 ; Used to be: … … 81 81 ; AL, BX, CX, DX, SI, DI, ES 82 82 ;-------------------------------------------------------------------- 83 IdeCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH: 83 IdeCommand_IdentifyDeviceToBufferInESSIwithDriveSelectByteInBH: ; Unused entrypoint OK 84 84 ; Create fake DPT to be able to use Device.asm functions 85 85 call FindDPT_ForNewDriveToDSDI … … 145 145 ;-------------------------------------------------------------------- 146 146 ALIGN JUMP_ALIGN 147 IdeCommand_OutputWithParameters: 147 IdeCommand_OutputWithParameters: ; Unused entrypoint OK 148 148 push bx ; Store status register bits to poll 149 149 -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeDPT.asm
r592 r596 32 32 ; AX, BX, CX, DX 33 33 ;-------------------------------------------------------------------- 34 IdeDPT_Finalize: 34 IdeDPT_Finalize: ; Unused entrypoint OK 35 35 36 36 %ifdef MODULE_POWER_MANAGEMENT -
trunk/XTIDE_Universal_BIOS/Src/Device/Idepack.asm
r542 r596 114 114 mov [bp+IDEPACK.wLbaMiddleAndHigh], cx 115 115 pop bx 116 ; Fall to GetDeviceControlByteToIdepackAndStartTransfer 116 117 117 118 GetDeviceControlByteToIdepackAndStartTransfer: -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h.asm
r592 r596 339 339 Int13h_CallPreviousInt13hHandler: 340 340 pushf ; Simulate INT by pushing flags 341 call far[RAMVARS.fpOldI13h]341 call FAR [RAMVARS.fpOldI13h] 342 342 ret 343 343 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Prepare.asm
r568 r596 132 132 ret ; Continue with transfer 133 133 134 %ifdef MODULE_EBIOS 134 135 InvalidDAP: 136 Prepare_ReturnFromInt13hWithInvalidFunctionError: 137 %endif 135 138 InvalidNumberOfSectorsRequested: 136 Prepare_ReturnFromInt13hWithInvalidFunctionError:137 139 mov ah, RET_HD_INVALID 138 140 SKIP2B f 139 141 CannotAlignPointerProperly: 140 142 mov ah, RET_HD_BOUNDARY 143 %ifdef MODULE_EBIOS 141 144 ZeroSectorsRequestedSoNoErrors: 145 %endif 142 146 jmp Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 143 147 … … 161 165 %endif 162 166 167 %ifdef MODULE_EBIOS 163 168 g_rgbVerifyCommandLookup: 164 169 db COMMAND_VERIFY_SECTORS 165 170 db COMMAND_VERIFY_SECTORS_EXT 166 171 db COMMAND_VERIFY_SECTORS 167 %ifdef MODULE_EBIOS168 172 db COMMAND_VERIFY_SECTORS_EXT 169 173 %endif -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13hMFMcompatibility.asm
r594 r596 1 1 ; Project name : XTIDE Universal BIOS 2 2 ; Description : Int 13h handler that is used by MODULE_MFM_COMPATIBILITY. 3 ; It is placed between X TUB Int 13h hander and system INT 13h hander4 ; to hide X TUB from MFM controllers whose BIOS assumes they handler3 ; It is placed between XUB Int 13h handler and system INT 13h handler 4 ; to hide XUB from MFM controllers whose BIOS assumes they handle 5 5 ; all hard drives on the system. 6 6 … … 28 28 ; Int 13h software interrupt handler for MFM compatibility. 29 29 ; 30 ; Some M DM controllers require that BDA drive count is what they have set.30 ; Some MFM controllers require that BDA drive count is what they have set. 31 31 ; The purpose for this handler is to restore BDA drive count to what MFM controller 32 32 ; expects and then call MFM controller INT 13h. … … 64 64 65 65 pushf ; Push flags to simulate INT 66 call far[bp-6]66 call FAR [bp-6] 67 67 68 68 ; Now we can restore BDA drive count -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm
r595 r596 229 229 mov gs, ax 230 230 %endif 231 jnc SHORT . romboot231 jnc SHORT .RomBoot 232 232 233 233 ; jump to boot sector … … 237 237 238 238 ; Boot by calling INT 18h (ROM Basic of ROM DOS) 239 . romboot:239 .RomBoot: 240 240 int BIOS_BOOT_FAILURE_INTERRUPT_18h ; Never returns -
trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/AdvAtaInit.asm
r593 r596 37 37 AdvAtaInit_DetectControllerForIdeBaseInBX: 38 38 ; Detect if system has PCI bus. If it does, we can skip VLB detection. This is 39 ; good thing since detecting Vision QD6 850 is dangerous since Intel PIIX4 south bridge39 ; good thing since detecting Vision QD6580 is dangerous since Intel PIIX4 south bridge 40 40 ; mirrors Interrupt Controller registers from Axh to Bxh. This can lead to faulty 41 ; detection of QD6 850 that will eventually crash the system when ports are written.41 ; detection of QD6580 that will eventually crash the system when ports are written. 42 42 43 43 ; We should save the 32-bit registers but we don't since system BIOS has stored -
trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/Vision.asm
r593 r596 194 194 ; Calculate Recovery Time value for QD65xx IDE Timing Register 195 195 xchg ax, cx 196 eMOVZX cx, BYTE[cs:bx+.rgbToSubtractFromCycleTimeBasedOnPIOmode]197 sub ax, cx196 mov bl, [cs:bx+.rgbToSubtractFromCycleTimeBasedOnPIOmode] 197 sub ax, bx 198 198 mov bx, bp ; Active Time value now in BL 199 199 mov bp, QD65xx_MAX_RECOVERY_TIME_CLOCKS | (QD65xx_MIN_RECOVERY_TIME_CLOCKS << 8) -
trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm
r594 r596 99 99 ; Primary reason is to support dynamic overlay feature in the future. Second reason 100 100 ; is a hack to get Windows 95 load proper IDE drivers. 101 ; 101 ; 102 102 ; The Windows hack has two parts. First part is to try to alter CMOS address 12h as that 103 103 ; is what Windows 95 driver reads to detect IDE drives. Altering is not possible on all 104 ; systems since CMOS has a checksum but it 's location is not standardized. We will first104 ; systems since CMOS has a checksum but its location is not standardized. We will first 105 105 ; try to detect valid checksum. If it succeeds, then it is safe to assume this system 106 106 ; has compatible CMOS and we can alter it. … … 117 117 call CMOS_Verify10hTo2Dh ; Can we modify CMOS? 118 118 jnz SHORT .ClearBdaDriveCount ; Unsupported BIOS, use plan B 119 119 120 120 ; Now we can alter CMOS location 12h 121 121 mov dl, HARD_DISK_TYPES -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm
r594 r596 65 65 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4] ; Load old INT 13h offset 66 66 mov [RAMVARS.fpMFMint13h], ax ; Store old INT 13h offset 67 67 68 68 mov [RAMVARS.fpOldI13h+2], cs 69 mov WORD [RAMVARS.fpOldI13h], Int13hMFMcompatibilityHandler 69 mov WORD [RAMVARS.fpOldI13h], Int13hMFMcompatibilityHandler 70 70 %else 71 71 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4+2]; Load old INT 13h segment … … 252 252 xchg cx, ax ; IRQ index to CL 253 253 in al, dx ; Read Interrupt Mask Register 254 %ifdef USE_NEC_V 255 eCLR1 al, cl ; Clear wanted bit 256 %else 254 257 mov ch, ~1 ; Load bit mask to be rotated 255 258 rol ch, cl ; Rotate mask to correct position for clearing 256 259 and al, ch ; Clear wanted bit 260 %endif 257 261 out dx, al ; Write modified Interrupt Mask Register 258 262 pop cx -
trunk/XTIDE_Universal_BIOS/Src/Menus/HotkeyBar.asm
r593 r596 78 78 ; Clear CH if floppy drive is selected for boot 79 79 mov ch, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.bFlags] 80 ;and ch, FLG_HOTKEY_HD_FIRST ; Needed if more flags are added80 ; and ch, FLG_HOTKEY_HD_FIRST ; Needed if more flags are added 81 81 call FormatDriveHotkeyString 82 82 … … 96 96 call BootVars_GetLetterForFirstHardDriveToAX 97 97 mov ah, ANGLE_QUOTE_RIGHT 98 mov cx, [es:BOOTVARS.hotkeyVars+HOTKEYVARS. bHddLetter] ; Letter to CL, flags to CH99 ;and ch, FLG_HOTKEY_HD_FIRST ; Needed if more flags are added98 mov cx, [es:BOOTVARS.hotkeyVars+HOTKEYVARS.wHddLetterAndFlags] ; Letter to CL, flags to CH 99 ; and ch, FLG_HOTKEY_HD_FIRST ; Needed if more flags are added 100 100 xor ch, FLG_HOTKEY_HD_FIRST ; Clear CH if HD is selected for boot, set otherwise 101 101 mov di, g_szHDD … … 234 234 235 235 GetSelectedHotkeyDescriptionAttributeToDX: 236 mov si, ATTRIBUTE_CHARS.cH urryTimeout; Selected hotkey236 mov si, ATTRIBUTE_CHARS.cHighlightedItem ; Selected hotkey 237 237 je SHORT GetDescriptionAttributeToDX ; From compare with bScancode above and from FormatDriveHotkeyString 238 238 239 239 GetNonSelectedHotkeyDescriptionAttributeToDX: 240 mov si, ATTRIBUTE_CHARS.c HighlightedItem; Unselected hotkey240 mov si, ATTRIBUTE_CHARS.cItem ; Unselected hotkey 241 241 242 242 ; Display Library should not be called like this -
trunk/XTIDE_Universal_BIOS/makefile
r595 r596 122 122 DEFINES_386_LARGE = $(DEFINES_AT_LARGE) USE_386 MODULE_ADVANCED_ATA 123 123 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_TABLES125 DEFINES_ALL_FEATURES += ELIMINATE_CGA_SNOW RELOCATE_INT13H_STACK RESERVE_DIAGNOSTIC_CYLINDER MODULE_WIN95_CMOS_HACK MODULE_MFM_COMPATIBILITY126 127 124 128 125 ################### … … 146 143 DEFS_386 = $(DEFINES_386:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_SMALL) 147 144 DEFS_386_LARGE = $(DEFINES_386_LARGE:%=-D%) -DBIOS_SIZE=$(BIOS_SIZE_LARGE) 148 DEFS_ALL_FEATURES = $(DEFINES_ALL_FEATURES:%=-D%)149 145 150 146 # Add -I in front of all header directories … … 249 245 250 246 unused: 251 @echo " All Features"252 @$(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"253 @$(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_ENTRYPOINTS254 @perl ..\Tools\unused.pl $(TARGET)_unused .lst $(TARGET)_unused.asm247 @echo "XT Tiny" 248 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT_TINY) -o"$(TARGET)_unused_tiny.asm" -l"$(TARGET)_unused_tiny.lst" 249 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT_TINY) -o"$(TARGET)_unused_tiny.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 250 @perl ..\Tools\unused.pl $(TARGET)_unused_tiny.lst $(TARGET)_unused_tiny.asm 255 251 @echo "XT Small" 256 252 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT) -o"$(TARGET)_unused_xt.asm" -l"$(TARGET)_unused_xt.lst" … … 261 257 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT_LARGE) -o"$(TARGET)_unused_xtl.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 262 258 @perl ..\Tools\unused.pl $(TARGET)_unused_xtl.lst $(TARGET)_unused_xtl.asm 259 @echo "XT Plus Small" 260 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XTPLUS) -o"$(TARGET)_unused_xtp.asm" -l"$(TARGET)_unused_xtp.lst" 261 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XTPLUS) -o"$(TARGET)_unused_xtp.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 262 @perl ..\Tools\unused.pl $(TARGET)_unused_xtp.lst $(TARGET)_unused_xtp.asm 263 @echo "XT Plus Large" 264 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XTPLUS_LARGE) -o"$(TARGET)_unused_xtpl.asm" -l"$(TARGET)_unused_xtpl.lst" 265 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XTPLUS_LARGE) -o"$(TARGET)_unused_xtpl.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 266 @perl ..\Tools\unused.pl $(TARGET)_unused_xtpl.lst $(TARGET)_unused_xtpl.asm 263 267 @echo "AT Small" 264 268 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_AT) -o"$(TARGET)_unused_at.asm" -l"$(TARGET)_unused_at.lst" … … 269 273 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_AT_LARGE) -o"$(TARGET)_unused_atl.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 270 274 @perl ..\Tools\unused.pl $(TARGET)_unused_atl.lst $(TARGET)_unused_atl.asm 271 272 275 @echo "386 Small" 276 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_386) -o"$(TARGET)_unused_386.asm" -l"$(TARGET)_unused_386.lst" 277 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_386) -o"$(TARGET)_unused_386.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 278 @perl ..\Tools\unused.pl $(TARGET)_unused_386.lst $(TARGET)_unused_386.asm 279 @echo "386 Large" 280 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_386_LARGE) -o"$(TARGET)_unused_386l.asm" -l"$(TARGET)_unused_386l.lst" 281 @$(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_386_LARGE) -o"$(TARGET)_unused_386l.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 282 @perl ..\Tools\unused.pl $(TARGET)_unused_386l.lst $(TARGET)_unused_386l.asm 283 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/MenuStructs.inc
r593 r596 38 38 39 39 struc MENUPAGE 40 .fnEnter resb 2 ; Function to initialize MENUPAGE41 .fnBack resb 2 ; Function to initialize previous MENUPAGE42 .wMenuitems resb 2 ; Number of MENUITEM structs43 .rgMenuitem: ; All MENUITEM structs in this MENUPAGE40 .fnEnter resb 2 ; Function to initialize MENUPAGE 41 .fnBack resb 2 ; Function to initialize previous MENUPAGE 42 .wMenuitems resb 2 ; Number of MENUITEM structs 43 .rgMenuitem: ; All MENUITEM structs in this MENUPAGE 44 44 endstruc 45 45 46 46 struc MENUITEM 47 .fnActivate resb 2 ; Offset to item activation function48 .fnFormatValue resb 2 ; Offset to item value formatting function47 .fnActivate resb 2 ; Offset to item activation function 48 .fnFormatValue resb 2 ; Offset to item value formatting function 49 49 50 .szName resb 2 ; Offset to item name string51 .szQuickInfo resb 2 ; Offset to item quick information string52 .szHelp resb 2 ; Offset to item help string50 .szName resb 2 ; Offset to item name string 51 .szQuickInfo resb 2 ; Offset to item quick information string 52 .szHelp resb 2 ; Offset to item help string 53 53 54 .bFlags resb 1 ; Item flags55 .bType resb 1 ; Item type56 .itemValue resb ITEM_VALUE_size ; ITEM_VALUE for automated item handling54 .bFlags resb 1 ; Item flags 55 .bType resb 1 ; Item type 56 .itemValue resb ITEM_VALUE_size ; ITEM_VALUE for automated item handling 57 57 endstruc 58 58 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/BiosFile.asm
r592 r596 40 40 jc SHORT .DisplayErrorMessage 41 41 42 mov a x, FLG_CFGVARS_FILELOADED43 call Buffers_NewBiosWithSizeInDXCXandSourceInA XhasBeenLoadedForConfiguration42 mov al, FLG_CFGVARS_FILELOADED 43 call Buffers_NewBiosWithSizeInDXCXandSourceInALhasBeenLoadedForConfiguration 44 44 call FileIO_CloseUsingHandleFromBX 45 45 call DisplayFileLoadedSuccessfully -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Buffers.asm
r594 r596 109 109 110 110 ;-------------------------------------------------------------------- 111 ; Buffers_NewBiosWithSizeInDXCXandSourceInA XhasBeenLoadedForConfiguration111 ; Buffers_NewBiosWithSizeInDXCXandSourceInALhasBeenLoadedForConfiguration 112 112 ; Parameters: 113 113 ; AL: EEPROM source (FLG_CFGVARS_FILELOADED or FLG_CFGVARS_ROMLOADED) … … 119 119 ;-------------------------------------------------------------------- 120 120 ALIGN JUMP_ALIGN 121 Buffers_NewBiosWithSizeInDXCXandSourceInA XhasBeenLoadedForConfiguration:121 Buffers_NewBiosWithSizeInDXCXandSourceInALhasBeenLoadedForConfiguration: 122 122 and BYTE [cs:g_cfgVars+CFGVARS.wFlags], ~(FLG_CFGVARS_FILELOADED | FLG_CFGVARS_ROMLOADED | FLG_CFGVARS_UNSAVED) 123 123 or [cs:g_cfgVars+CFGVARS.wFlags], al -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Flash.asm
r593 r596 296 296 297 297 ;-------------------------------------------------------------------- 298 ; WaitUntilEepromPageWriteHasCompleted298 ; .WaitUntilEepromPageWriteHasCompleted 299 299 ; Parameters: 300 300 ; SS:BP: Ptr to FLASHVARS -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/MainMenu.asm
r592 r596 258 258 call BiosFile_LoadFileFromDSSItoRamBuffer 259 259 call LoadColorTheme 260 ; *FIXME* Will load themes even from unrecognized versions of the BIOS which isn't really a problem but still 'unexpected behaviour' and therefore a bug.261 260 call MainMenu_EnterMenuOrModifyItemVisibility 262 261 .CancelFileLoading: … … 270 269 call Buffers_SaveChangesIfFileLoaded 271 270 call EEPROM_LoadXtideUniversalBiosFromRomToRamBufferAndReturnSizeInDXCX 272 mov a x, FLG_CFGVARS_ROMLOADED273 call Buffers_NewBiosWithSizeInDXCXandSourceInA XhasBeenLoadedForConfiguration271 mov al, FLG_CFGVARS_ROMLOADED 272 call Buffers_NewBiosWithSizeInDXCXandSourceInALhasBeenLoadedForConfiguration 274 273 mov dx, g_szDlgMainLoadROM 275 274 call Dialogs_DisplayNotificationFromCSDX … … 297 296 ; Nothing 298 297 ; Corrupts registers: 299 ; AX, BX, DI, ES298 ; AX, BX, CX, SI, DI, ES 300 299 ;-------------------------------------------------------------------- 301 300 ALIGN JUMP_ALIGN 302 301 LoadColorTheme: 303 302 call Buffers_GetFileBufferToESDI 303 call Buffers_IsXtideUniversalBiosSignatureInESDI 304 jnz SHORT .Return 304 305 .FromROM: 305 306 mov ax, [es:ROMVARS.pColorTheme] 306 307 jmp ReadColorTheme 307 308 .Return: 309 ret 310
Note:
See TracChangeset
for help on using the changeset viewer.