Changeset 194 in xtideuniversalbios
- Timestamp:
- Nov 17, 2011, 11:07:58 AM (13 years ago)
- google:author:
- gregli@hotmail.com
- Location:
- trunk
- Files:
-
- 2 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/Display/DisplayContext.asm
r181 r194 100 100 pop ax ; Pop return address 101 101 102 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 102 103 %assign i 0 103 104 %rep DISPLAY_CONTEXT_size / 2 … … 105 106 %assign i i+2 106 107 %endrep 107 108 %endif 109 108 110 mov ds, di ; Restore DS 109 111 jmp ax … … 124 126 pop ax ; Pop return address 125 127 128 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 126 129 %assign i DISPLAY_CONTEXT_size-2 127 130 %rep DISPLAY_CONTEXT_size / 2 … … 129 132 %assign i i-2 130 133 %endrep 131 134 %endif 135 132 136 push ax ; Push return address 133 137 push dx … … 226 230 mov [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fnCharOut], ax 227 231 ret 228 232 229 233 230 234 ;-------------------------------------------------------------------- … … 259 263 ret 260 264 265 261 266 ;-------------------------------------------------------------------- 262 267 ; DisplayContext_GetCharacterOutputParameterToDX … … 286 291 ; Nothing 287 292 ;-------------------------------------------------------------------- 293 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 288 294 ALIGN JUMP_ALIGN 289 295 DisplayContext_GetCharacterOffsetToAXfromByteOffsetInAX: … … 292 298 sar ax, 1 ; BYTE count to WORD count 293 299 ret 294 300 %endif 301 302 295 303 ;-------------------------------------------------------------------- 296 304 ; DisplayContext_GetByteOffsetToAXfromCharacterOffsetInAX … … 303 311 ; Nothing 304 312 ;-------------------------------------------------------------------- 313 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 305 314 ALIGN JUMP_ALIGN 306 315 DisplayContext_GetByteOffsetToAXfromCharacterOffsetInAX: … … 311 320 ReturnOffsetInAX: 312 321 ret 322 %endif -
trunk/Assembly_Library/Src/Display/DisplayFormatCompressed.asm
r186 r194 70 70 %define DisplayFormatCompressed_Format_s DisplayFormat_ParseCharacters_FromAX 71 71 72 DisplayFormatCompressed_Format_A: 72 DisplayFormatCompressed_Format_A: 73 73 mov [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.bAttribute], al 74 74 DisplayFormatCompressed_ret: ; jump target for other routines who need a "ret" … … 86 86 test ax,ax ; if parameter equals zero, emit dash string instead 87 87 jz DisplayFormat_ParseCharacters 88 ;;; fall through88 ; fall through 89 89 90 90 DisplayFormatCompressed_Format_2_u: 91 91 mov bh,2 ; only two characters (instead of the default 5) 92 ;;; fall through92 ; fall through 93 93 94 94 DisplayFormatCompressed_Format_u: … … 150 150 ;-------------------------------------------------------------------- 151 151 152 DisplayFormatCompressed_BaseFormatOffset: 153 154 DisplayFormat_ParseCharacters_FromAX: 152 DisplayFormatCompressed_BaseFormatOffset: 153 154 DisplayFormat_ParseCharacters_FromAX: 155 155 mov si,ax 156 ;;; Fall-through 156 ; fall through to DisplayFormat_ParseCharacters 157 157 158 158 ALIGN JUMP_ALIGN -
trunk/Assembly_Library/Src/Display/DisplayPage.asm
r101 r194 15 15 ; AX, DX 16 16 ;-------------------------------------------------------------------- 17 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 17 18 ALIGN JUMP_ALIGN 18 19 DisplayPage_SetFromAL: … … 21 22 mov [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition], ax 22 23 ret 24 %endif 23 25 24 26 -
trunk/Assembly_Library/Src/Display/DisplayPrint.asm
r186 r194 151 151 ; AX, DX 152 152 ;-------------------------------------------------------------------- 153 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 154 153 155 ALIGN JUMP_ALIGN 154 156 DisplayPrint_CharacterBufferFromBXSIwithLengthInCX: … … 170 172 .NothingToPrintSinceZeroLength: 171 173 ret 174 %endif 172 175 173 176 … … 328 331 inc bp ; we didn't need a parameter after all, readjust BP 329 332 inc bp 330 ;;; fall-through 333 ; fall through to DisplayPrint_Newline 331 334 %endif 332 335 -
trunk/Assembly_Library/Src/Menu/MenuBorders.asm
r182 r194 60 60 ; AX, BX, CX, DX, SI, DI 61 61 ;-------------------------------------------------------------------- 62 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 62 63 ALIGN JUMP_ALIGN 63 64 MenuBorders_RefreshItemBorders: … … 68 69 call MenuBorders_GetNumberOfMiddleCharactersToDX 69 70 jmp SHORT RefreshItemBorders 70 71 71 %endif 72 73 72 74 ;-------------------------------------------------------------------- 73 75 ; MenuBorders_AdjustDisplayContextForDrawingBorders -
trunk/Assembly_Library/Src/Menu/MenuText.asm
r133 r194 15 15 ; AX, BX, CX, DX, SI, DI 16 16 ;-------------------------------------------------------------------- 17 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 17 18 ALIGN JUMP_ALIGN 18 19 MenuText_ClearTitleArea: … … 20 21 call PrepareToDrawTitleArea 21 22 mov cl, [bp+MENUINIT.bTitleLines] 22 jmp SHORT ClearCLlinesOfText 23 23 jmp SHORT MenuText_ClearInformationArea.ClearCLlinesOfText 24 %endif 25 24 26 ALIGN JUMP_ALIGN 25 27 MenuText_ClearInformationArea: … … 27 29 call MenuText_PrepareToDrawInformationArea 28 30 mov cl, [bp+MENUINIT.bInfoLines] 29 ClearCLlinesOfText:31 .ClearCLlinesOfText: 30 32 mov al, [bp+MENUINIT.bWidth] 31 33 sub al, MENU_HORIZONTAL_BORDER_LINES+(MENU_TEXT_COLUMN_OFFSET/2) -
trunk/Assembly_Library/Src/String/Char.asm
r181 r194 88 88 ; Nothing 89 89 ;-------------------------------------------------------------------- 90 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 90 91 ALIGN JUMP_ALIGN 91 92 Char_IsDecimalDigitInAL: 92 93 IS_BETWEEN_IMMEDIATES al, '0', '9' 93 94 ret 94 95 %endif 95 96 96 97 ;-------------------------------------------------------------------- -
trunk/Assembly_Library/Src/Util/Memory.asm
r131 r194 116 116 ; AX 117 117 ;-------------------------------------------------------------------- 118 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 118 119 ALIGN JUMP_ALIGN 119 120 Memory_ReserveCXbytesFromStackToDSSI: … … 124 125 mov si, sp 125 126 jmp ax 127 %endif -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuEvent.asm
r190 r194 182 182 shl bl,1 ; drive letter high order bit to CF, Item/Information bit to SF 183 183 jc SHORT BootMenuPrint_HardDiskMenuitem 184 ; fall through to BootMenuEvent_FallThroughToFloppyMenuitem 184 185 185 186 ;;; … … 189 190 ALIGN JUMP_ALIGN 190 191 BootMenuEvent_FallThroughToFloppyMenuitem: 191 192 ; fall through to BootMenuPrint_FloppyMenuitem -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm
r192 r194 32 32 jmp short BootMenuPrint_FormatCSSIfromParamsInSSBP 33 33 34 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 34 35 %if BootMenuPrint_FloppyMenuitem <> BootMenuEvent_FallThroughToFloppyMenuitem 35 36 %error "BootMenuPrint.asm must follow BootMenuEvent.asm, and BootMenuPrint_FloppyMenuitem must be the first routine in BootMenuPrint.asm" 36 37 %endif 37 38 %endif 38 39 39 40 ;-------------------------------------------------------------------- … … 174 175 db 2880 / FloppyTypes.rgbCapacityMultiplier ; type 6 175 176 177 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 176 178 %if g_szFddFiveQuarter <> g_szFddThreeHalf+g_szFddThreeFive_Displacement 177 179 %error "FddThreeFive_Displacement incorrect" 180 %endif 178 181 %endif 179 182 … … 225 228 cmp bl, FLOPPY_TYPE_525_HD 226 229 ja .ThreeHalf 230 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 227 231 %if g_szFddThreeFive_Displacement = 2 228 232 inc ax ; compressed string case … … 230 234 %else 231 235 add ax, g_szFddThreeFive_Displacement 236 %endif 232 237 %endif 233 238 .ThreeHalf: -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm
r193 r194 26 26 eMOVZX ax, BYTE [di+DPT.bIdevarsOffset] 27 27 xchg si, ax ; CS:SI now points to IDEVARS 28 ; Fall to PushAndFormatCfgString28 ; Fall to .PushAndFormatCfgString 29 29 30 30 ;-------------------------------------------------------------------- … … 38 38 ; AX, DX, SI, DI 39 39 ;-------------------------------------------------------------------- 40 PushAndFormatCfgString:40 .PushAndFormatCfgString: 41 41 push bp 42 42 mov bp, sp … … 53 53 ; AX, BX 54 54 ;-------------------------------------------------------------------- 55 PushAddressingMode:55 .PushAddressingMode: 56 56 CustomDPT_GetUnshiftedAddressModeToALZF 57 57 ;; … … 76 76 ; AX 77 77 ;-------------------------------------------------------------------- 78 PushBlockMode:78 .PushBlockMode: 79 79 mov ax, 1 80 80 test BYTE [di+DPT.bFlagsHigh], FLGH_DPT_BLOCK_MODE_SUPPORTED … … 94 94 ; AX, DX 95 95 ;-------------------------------------------------------------------- 96 ;PushBusType:96 .PushBusType: 97 97 mov al,g_szBusTypeValues_Displacement 98 98 mul BYTE [cs:si+IDEVARS.bDevice] … … 113 113 ; AX, DX 114 114 ;-------------------------------------------------------------------- 115 PushIRQ:115 .PushIRQ: 116 116 eMOVZX ax, BYTE [cs:si+IDEVARS.bIRQ] 117 117 push ax … … 127 127 ; AX 128 128 ;-------------------------------------------------------------------- 129 PushResetStatus:129 .PushResetStatus: 130 130 mov al, [di+DPT.bFlagsHigh] 131 131 and ax, MASKH_DPT_RESET … … 141 141 ; AX, SI, DI 142 142 ;-------------------------------------------------------------------- 143 PrintValuesFromStack:143 .PrintValuesFromStack: 144 144 mov si, g_szCfgFormat 145 145 jmp BootPrint_BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Tools/Address.asm
r193 r194 85 85 ALIGN JUMP_ALIGN 86 86 Address_OldInt13hAddressToIdeAddress: 87 call Address_ExtractLCHSparametersFromOldInt13hAddress 87 call Address_ExtractLCHSparametersFromOldInt13hAddress 88 89 CustomDPT_GetUnshiftedAddressModeToALZF 88 90 89 CustomDPT_GetUnshiftedAddressModeToALZF 90 jz DoNotConvertLCHS ; 0, ADDR_DPT_LCHS91 ;;; 0: ADDR_DPT_LCHS 92 jz DoNotConvertLCHS 91 93 92 ;; 93 ;; Since we are only checking for zero, we can do our math in the high order bits, 94 ;; in this case effectively subtracting 1 from the address mode. 95 ;; 96 sub al,(1<<ADDRESSING_MODE_FIELD_POSITION) 97 jz ConvertLCHStoPCHS ; 1, ADDR_DPT_PCHS 98 99 ;; Fall-through ; 2, ADDR_DPT_LBA28 and 3, ADDR_DPT_LBA48 94 ;;; 1: ADDR_DPT_PCHS 95 ; 96 ; Since we are only checking for zero, we can do our math in the high order bits, 97 ; in this case effectively subtracting 1 from the address mode. 98 ; 99 sub al,(1<<ADDRESSING_MODE_FIELD_POSITION) 100 jz ConvertLCHStoPCHS 101 102 ;;; 2: ADDR_DPT_LBA28 and 3: ADDR_DPT_LBA48 103 ; Fall through to ConvertLCHStoLBARegisterValues 100 104 101 105 ;--------------------------------------------------------------------- -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Initialize.asm
r158 r194 17 17 ; Nothing 18 18 ;-------------------------------------------------------------------- 19 Initialize_FromMainBiosRomSearch: 19 Initialize_FromMainBiosRomSearch: ; unused entrypoint ok 20 20 pushf 21 21 push es -
trunk/XTIDE_Universal_BIOS/Src/Strings.asm
r189 r194 51 51 ; Ensure that addressing modes are correctly spaced in memory 52 52 ; 53 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 53 54 %if g_szLCHS <> g_szAddressingModes 54 55 %error "g_szAddressingModes Displacement Incorrect 1" … … 62 63 %if g_szLBA48 <> g_szLBA28 + g_szAddressingModes_Displacement 63 64 %error "g_szAddressingModes Displacement Incorrect 4" 64 %endif 65 %endif 66 %endif 65 67 66 68 g_szFddUnknown: db "%sUnknown",NULL … … 83 85 ; Ensure that bus type strings are correctly spaced in memory 84 86 ; 87 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 85 88 %if g_szBusTypeValues_8Dual <> g_szBusTypeValues 86 89 %error "g_szBusTypeValues Displacement Incorrect 1" … … 100 103 %if g_szBusTypeValues_Serial <> g_szBusTypeValues_32 + g_szBusTypeValues_Displacement 101 104 %error "g_szBusTypeValues Displacement Incorrect 6" 102 %endif 105 %endif 106 %endif 103 107 104 108 g_szSelectionTimeout: db DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL -
trunk/XTIDE_Universal_BIOS/Src/StringsCompress.pl
r189 r194 203 203 # Ensure that branch targets are within reach 204 204 # 205 print "%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS\n"; 205 206 for( $t = $format_begin; $format_index[$t]; $t++ ) 206 207 { … … 209 210 print "%endif\n"; 210 211 } 212 print "%endif\n"; 211 213 212 214 #-------------------------------------------------------------------------------- -
trunk/XTIDE_Universal_BIOS/Src/StringsCompressed.asm
r189 r194 137 137 ; Ensure that addressing modes are correctly spaced in memory 138 138 ; 139 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 139 140 %if g_szLCHS <> g_szAddressingModes 140 141 %error "g_szAddressingModes Displacement Incorrect 1" … … 148 149 %if g_szLBA48 <> g_szLBA28 + g_szAddressingModes_Displacement 149 150 %error "g_szAddressingModes Displacement Incorrect 4" 150 %endif 151 %endif 152 %endif 151 153 152 154 g_szFddUnknown: ; db "%sUnknown",NULL … … 202 204 ; Ensure that bus type strings are correctly spaced in memory 203 205 ; 206 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 204 207 %if g_szBusTypeValues_8Dual <> g_szBusTypeValues 205 208 %error "g_szBusTypeValues Displacement Incorrect 1" … … 219 222 %if g_szBusTypeValues_Serial <> g_szBusTypeValues_32 + g_szBusTypeValues_Displacement 220 223 %error "g_szBusTypeValues Displacement Incorrect 6" 221 %endif 224 %endif 225 %endif 222 226 223 227 g_szSelectionTimeout: ; db DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL … … 268 272 db (DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_A) ; 29 269 273 274 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS 270 275 %if DisplayFormatCompressed_BaseFormatOffset < DisplayFormatCompressed_Format_s || DisplayFormatCompressed_BaseFormatOffset - DisplayFormatCompressed_Format_s > 255 271 276 %error "DisplayFormatCompressed_Format_s is out of range of DisplayFormatCompressed_BaseFormatOffset" … … 298 303 %error "DisplayFormatCompressed_Format_A is out of range of DisplayFormatCompressed_BaseFormatOffset" 299 304 %endif 305 %endif 300 306 301 307 ;; translated usage stats … … 304 310 ;; format usage stats 305 311 ;; A:4 306 ;; c:6307 ;; s:14308 312 ;; 2-u:1 309 ;; u:5310 313 ;; 5-u:3 311 ;; 2-I:1312 314 ;; x:6 313 315 ;; 5-x:1 316 ;; s:14 314 317 ;; nl:6 318 ;; 2-I:1 319 ;; c:6 320 ;; u:5 315 321 ;; total format: 10 316 322 -
trunk/XTIDE_Universal_BIOS/makefile
r188 r194 145 145 146 146 $(SRC_ASM): src\StringsCompressed.asm 147 148 xt_unused: xt 149 $(AS) "$(SRC_ASM)" $(ASFLAGS) $(DEFS_XT) -o"$(TARGET)_xt_unused.asm" -E -DCHECK_FOR_UNUSED_ENTRYPOINTS 150 perl ..\tools\unused.pl $(TARGET)_xt.lst $(TARGET)_xt_unused.asm 151
Note:
See TracChangeset
for help on using the changeset viewer.