- Timestamp:
- May 28, 2011, 7:34:42 PM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Inc/Emulate.inc
r146 r162 376 376 db 01100101b 377 377 %else 378 %error "Invalid segment overri edpassed to eSEG!"378 %error "Invalid segment override passed to eSEG!" 379 379 %endif 380 380 %endmacro -
trunk/Assembly_Library/Src/AssemblyLibrary.asm
r139 r162 60 60 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 61 61 %include "String.asm" 62 %include "StringProcess.asm" 62 63 %endif 63 %include "StringProcess.asm"64 64 %endif 65 65 -
trunk/Assembly_Library/Src/Display/CgaSnow.asm
r101 r162 31 31 32 32 33 ; CGA snow preventi ng must be kept optional so unnecerrasy overhead34 ; can be prevented when building program ment for non-CGA systems.33 ; CGA snow prevention must be kept optional to avoid unnecessary 34 ; overhead when building programs meant for non-CGA systems. 35 35 %ifdef ELIMINATE_CGA_SNOW 36 36 … … 74 74 .StoswWithoutWaitSinceUnknownPort: 75 75 stosw 76 sti 76 77 pop bx 77 sti78 78 ret 79 79 -
trunk/Assembly_Library/Src/Display/DisplayContext.asm
r133 r162 268 268 ; Nothing 269 269 ;-------------------------------------------------------------------- 270 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS ; This appears to be completely unused271 ALIGN JUMP_ALIGN272 DisplayContext_GetCharacterOutputParameterToDX:273 mov dx, [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCharOutParam]274 ret275 %endif270 ;%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS ; This appears to be completely unused 271 ;ALIGN JUMP_ALIGN 272 ;DisplayContext_GetCharacterOutputParameterToDX: 273 ; mov dx, [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.wCharOutParam] 274 ; ret 275 ;%endif 276 276 277 277 -
trunk/Assembly_Library/Src/Display/DisplayPrint.asm
r134 r162 25 25 ; For example %8-d would prepend integer with spaces so that at least 26 26 ; 8 characters would be printed. 27 ; 27 ; 28 28 ; DisplayPrint_FormattedNullTerminatedStringFromCSSI 29 29 ; Parameters: … … 158 158 loop .PrintNextCharacter 159 159 160 LOAD_BDA_SEGMENT_TO ds, dx160 mov ds, cx ; Restore DS to BDA. Not needed unless DisplayPrint_CharacterFromAL changes DS. 161 161 pop cx 162 162 pop si -
trunk/Assembly_Library/Src/Menu/Dialog/Dialog.asm
r60 r162 1 ; File name : Dialog.asm2 1 ; Project name : Assembly Library 3 ; Created date : 6.8.20104 ; Last update : 22.11.20105 ; Author : Tomi Tilli6 2 ; Description : Common functions for many dialogs. 7 3 … … 235 231 call MenuLocation_GetTitleBordersTopLeftCoordinatesToAX 236 232 cmp ah, dh ; Dialog taller than parent? 237 jb SHORT .RedrawDialogAreaAndWholeParentWindow 238 jmp SHORT .RedrawWholeParentWindow 239 240 ;-------------------------------------------------------------------- 241 ; .GetParentTitleBorderCoordinatesToDX 242 ; Parameters: 243 ; SS:SI: Ptr to parent MENU 244 ; SS:BP: Ptr to DIALOG 245 ; Returns: 246 ; DL: Parent border column (X) 247 ; DH: Parent border row (Y) 248 ; Corrupts: 249 ; AX 250 ;-------------------------------------------------------------------- 251 ALIGN JUMP_ALIGN 252 .GetParentTitleBorderCoordinatesToDX: 253 xchg si, bp 254 call MenuLocation_GetTitleBordersTopLeftCoordinatesToAX 255 xchg bp, si 256 xchg dx, ax 257 ret 233 jnb SHORT .RedrawWholeParentWindow 234 ; Fall to .RedrawDialogAreaAndWholeParentWindow 258 235 259 236 ;-------------------------------------------------------------------- … … 268 245 ; AX, BX, CX, DX, SI, DI 269 246 ;-------------------------------------------------------------------- 270 ALIGN JUMP_ALIGN271 247 .RedrawDialogAreaAndWholeParentWindow: 272 248 push si … … 286 262 pop bp 287 263 ret 264 265 ;-------------------------------------------------------------------- 266 ; .GetParentTitleBorderCoordinatesToDX 267 ; Parameters: 268 ; SS:SI: Ptr to parent MENU 269 ; SS:BP: Ptr to DIALOG 270 ; Returns: 271 ; DL: Parent border column (X) 272 ; DH: Parent border row (Y) 273 ; Corrupts: 274 ; AX 275 ;-------------------------------------------------------------------- 276 ALIGN JUMP_ALIGN 277 .GetParentTitleBorderCoordinatesToDX: 278 xchg si, bp 279 call MenuLocation_GetTitleBordersTopLeftCoordinatesToAX 280 xchg bp, si 281 xchg dx, ax 282 ret -
trunk/Assembly_Library/Src/String/Char.asm
r145 r162 1 ; File name : Char.asm2 1 ; Project name : Assembly Library 3 ; Created date : 28.6.20104 ; Last update : 7.9.20105 ; Author : Tomi Tilli6 2 ; Description : Functions for handling characters. 7 3 … … 18 14 ; Returns: 19 15 ; CF: Set if character is range 20 ; (Jumps to Char IsNotValid if before range)16 ; (Jumps to Char_CharIsNotValid if before range) 21 17 ; Corrupts registers: 22 18 ; Nothing … … 24 20 %macro IS_BETWEEN_IMMEDIATES 3 25 21 cmp %1, %2 26 jb SHORT Char IsNotValid22 jb SHORT Char_CharIsNotValid 27 23 cmp %1, (%3)+1 ; Set CF if %1 is lesser 28 24 %endmacro … … 54 50 ; Nothing 55 51 ;-------------------------------------------------------------------- 52 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 56 53 ALIGN JUMP_ALIGN 57 54 Char_IsUpperCaseLetterInAL: 58 55 IS_BETWEEN_IMMEDIATES al, 'A', 'Z' 59 56 ret 57 %endif 60 58 61 59 ;-------------------------------------------------------------------- … … 70 68 ; Nothing 71 69 ;-------------------------------------------------------------------- 70 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 72 71 ALIGN JUMP_ALIGN 73 72 Char_IsHexadecimalDigitInAL: … … 77 76 IS_BETWEEN_IMMEDIATES al, 'a', 'f' 78 77 ret 78 %endif 79 79 80 80 ;-------------------------------------------------------------------- … … 106 106 ; Nothing 107 107 ;-------------------------------------------------------------------- 108 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 108 109 ALIGN JUMP_ALIGN 109 110 Char_ConvertIntegerToALfromDigitInALwithBaseInBX: … … 112 113 call dx ; Converts to lower case 113 114 pop dx 114 jnc SHORT Char IsNotValid115 jnc SHORT Char_CharIsNotValid 115 116 116 117 cmp al, '9' ; Decimal digit … … 120 121 .ConvertToDecimalDigit: 121 122 sub al, '0' ; Convert to decimal integer 122 ; Fall to CharIsValid 123 124 ;-------------------------------------------------------------------- 125 ; CharIsValid 126 ; CharIsNotValid 127 ; Parameters: 128 ; Nothing 129 ; Returns: 130 ; CF: Set for CharIsValid 131 ; Cleared for CharIsNotValid 132 ; Corrupts registers: 133 ; Nothing 134 ;-------------------------------------------------------------------- 123 ; Fall to Char_CharIsValid 124 %endif 125 126 ;-------------------------------------------------------------------- 127 ; Char_CharIsValid 128 ; Char_CharIsNotValid 129 ; Parameters: 130 ; Nothing 131 ; Returns: 132 ; CF: Set for Char_CharIsValid 133 ; Cleared for Char_CharIsNotValid 134 ; Corrupts registers: 135 ; Nothing 136 ;-------------------------------------------------------------------- 137 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 135 138 ALIGN JUMP_ALIGN 136 139 Char_CharIsValid: 137 140 stc 138 141 ret 139 140 ALIGN JUMP_ALIGN 141 CharIsNotValid: 142 %endif 143 144 ALIGN JUMP_ALIGN 145 Char_CharIsNotValid: 142 146 clc 143 147 ret … … 153 157 ; Nothing 154 158 ;-------------------------------------------------------------------- 159 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 155 160 ALIGN JUMP_ALIGN 156 161 Char_ALtoLowerCaseLetter: … … 160 165 .Return: 161 166 ret 167 %endif 162 168 163 169 ;-------------------------------------------------------------------- … … 188 194 ; Nothing 189 195 ;-------------------------------------------------------------------- 196 %ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS 190 197 ALIGN JUMP_ALIGN 191 198 Char_GetFilterFunctionToDXforNumericBaseInBX: … … 193 200 cmp bl, 10 194 201 je SHORT .Return 195 sub dx, BYTE Char_IsDecimalDigitInAL -Char_IsHexadecimalDigitInAL202 mov dx, Char_IsHexadecimalDigitInAL 196 203 .Return: 197 204 ret 205 %endif -
trunk/Assembly_Library/Src/String/StringProcess.asm
r67 r162 1 ; File name : StringProcess.asm2 1 ; Project name : Assembly Library 3 ; Created date : 12.10.20104 ; Last update : 7.12.20105 ; Author : Tomi Tilli6 2 ; Description : Functions for processing characters in a string. 7 3 … … 33 29 ; CX: Number of characters processed 34 30 ; CF: Clear if all characters processed 35 ; Set if terminated by processing function 31 ; Set if terminated by processing function 36 32 ; Corrupts registers: 37 33 ; Nothing (processing function can corrupt BX,DI,ES) … … 91 87 StringProcess_ConvertToWordInDIWithBaseInBX: 92 88 call Char_ConvertIntegerToALfromDigitInALwithBaseInBX 93 jnc SHORT .InvalidCharacter 89 cmc 90 jc SHORT .InvalidCharacter 94 91 push dx 95 92 … … 99 96 jc SHORT .Overflow 100 97 add di, ax ; Add old WORD to new integer 101 jc SHORT .Overflow102 98 103 pop dx104 ret105 99 .Overflow: 106 100 pop dx 107 101 .InvalidCharacter: 108 stc ; Set CF to stop processing109 102 ret -
trunk/Configurator/Inc/emulate.inc
r2 r162 329 329 db 01100101b 330 330 %else 331 %error "Invalid segment overri edpassed to eSEG!"331 %error "Invalid segment override passed to eSEG!" 332 332 %endif 333 333 %endmacro -
trunk/Configurator/Src/Libraries/file.asm
r2 r162 1 ; File name : file.asm2 1 ; Project name : File library 3 ; Created date : 19.11.2009 4 ; Last update : 24.11.2009 5 ; Author : Tomi Tilli 6 ; Description : ASM library for DOS file handling. 2 ; Description : ASM library for DOS file handling. 7 3 8 4 ;--------------- Equates ----------------------------- … … 69 65 ; Returns pointer to error string. 70 66 ; Pointer is always valid, even if error code is not. 71 ; 67 ; 72 68 ; File_GetErrStr 73 69 ; Parameters: … … 111 107 ; Opens file for reading and writing. 112 108 ; File must be closed with File_Close when no longer needed. 113 ; 109 ; 114 110 ; File_Open 115 111 ; Parameters: … … 137 133 ;-------------------------------------------------------------------- 138 134 ; Closes file. 139 ; 135 ; 140 136 ; File_Close 141 137 ; Parameters: … … 159 155 ; File position is updated so next read will start where 160 156 ; previous read stopped. 161 ; 157 ; 162 158 ; File_Read 163 159 ; Parameters: … … 191 187 ; File position is updated so next write will start where 192 188 ; previous write stopped. 193 ; 189 ; 194 190 ; File_Write 195 191 ; Parameters: … … 221 217 ;-------------------------------------------------------------------- 222 218 ; Sets current file position to wanted offset. 223 ; 219 ; 224 220 ; File_SetFilePos 225 221 ; Parameters: … … 244 240 ;-------------------------------------------------------------------- 245 241 ; Changes current default drive. 246 ; 242 ; 247 243 ; File_SetDrive 248 244 ; Parameters: … … 263 259 ; Returns current default drive and number of 264 260 ; potentially drive letters available. 265 ; 261 ; 266 262 ; File_GetDrive 267 263 ; Parameters: … … 286 282 287 283 ;-------------------------------------------------------------------- 288 ; Checks are the potentially valid drive letters returned by 284 ; Checks are the potentially valid drive letters returned by 289 285 ; File_SetDrive and File_GetDrive actually valid or not. 290 ; 286 ; 291 287 ; File_IsDrive 292 288 ; Parameters: … … 315 311 ;-------------------------------------------------------------------- 316 312 ; Returns number of valid drive letters. 317 ; 313 ; 318 314 ; File_GetValidDrvCnt 319 315 ; Parameters: … … 337 333 inc dx ; Increment drive number 338 334 loop .LetterLoop ; Loop while drive letters left 339 eMOVZX cx, dh ; Valid drv count to CX335 mov cl, dh ; Valid drv count to CX 340 336 ret 341 337 … … 344 340 ; Return device number for Nth valid drive. 345 341 ; This function does not check if index in CX is valid. 346 ; 342 ; 347 343 ; File_GetNthValidDrv 348 344 ; Parameters: … … 353 349 ; Corrupts registers: 354 350 ; CX 355 ;-------------------------------------------------------------------- 351 ;-------------------------------------------------------------------- 356 352 ALIGN JUMP_ALIGN 357 353 File_GetNthValidDrv: … … 371 367 ;-------------------------------------------------------------------- 372 368 ; Changes current directory. 373 ; 369 ; 374 370 ; File_ChangeDir 375 371 ; Parameters: … … 391 387 ;-------------------------------------------------------------------- 392 388 ; Finds files from wanted path using search wildcard characters. 393 ; 389 ; 394 390 ; File_FindAndCount 395 391 ; Parameters: … … 419 415 ; Finds files from wanted path using search wildcard characters. 420 416 ; Ptr to DTA is returned for wanted file. 421 ; 417 ; 422 418 ; File_GetDTA 423 419 ; Parameters: … … 457 453 ;-------------------------------------------------------------------- 458 454 ; Find first file or directory. 459 ; 455 ; 460 456 ; File_FindFirst 461 457 ; Parameters: … … 482 478 ; Find next file or directory. File_FindFirst must always be called 483 479 ; before calling File_FindNext. 484 ; 480 ; 485 481 ; File_FindNext 486 482 ; Parameters: -
trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrint.asm
r161 r162 204 204 ; AX, BX, SI, DI 205 205 ;-------------------------------------------------------------------- 206 ALIGN JUMP_ALIGN207 206 .PrintKnownFloppyType: 208 207 mov si, g_szFddSize … … 269 268 ; AX, BX, CX, DX, SI, DI, ES 270 269 ;-------------------------------------------------------------------- 271 ALIGN JUMP_ALIGN272 270 .HardDiskMenuitemInfoForOurDrive: 273 271 push di -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH11h_HRecal.asm
r150 r162 24 24 %else 25 25 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 26 ; Fall t hrough to AH11h_RecalibrateDrive26 ; Fall to AH11h_RecalibrateDrive 27 27 %endif 28 28 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH23h_HFeatures.asm
r150 r162 35 35 %else 36 36 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 37 ; Fall t hrough to AH23h_SetControllerFeatures37 ; Fall to AH23h_SetControllerFeatures 38 38 %endif 39 39 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH24h_HSetBlocks.asm
r158 r162 35 35 %else 36 36 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 37 ; Fall t hrough to AH24h_SetBlockSize37 ; Fall to AH24h_SetBlockSize 38 38 %endif 39 39 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AH9h_HInit.asm
r158 r162 24 24 %else 25 25 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 26 ; Fall t hrough to AH9h_InitializeDriveForUse26 ; Fall to AH9h_InitializeDriveForUse 27 27 %endif 28 28 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AHCh_HSeek.asm
r150 r162 30 30 %else 31 31 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 32 ; Fall t hrough to AHCh_SeekToCylinder32 ; Fall to AHCh_SeekToCylinder 33 33 %endif 34 34 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/AHDh_HReset.asm
r150 r162 24 24 %else 25 25 push Int13h_ReturnFromHandlerAfterStoringErrorCodeFromAH 26 ; Fall t hrough to AHDh_ResetDrive26 ; Fall to AHDh_ResetDrive 27 27 %endif 28 28 -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm
r152 r162 97 97 cmp bl, 8 98 98 jb SHORT .InstallLowIrqHandler 99 ; Fall t hrough to .InstallHighIrqHandler99 ; Fall to .InstallHighIrqHandler 100 100 101 101 ;-------------------------------------------------------------------- … … 164 164 cmp al, 8 165 165 jb SHORT .UnmaskLowIrqController 166 ; Fall t hrough to .UnmaskHighIrqController166 ; Fall to .UnmaskHighIrqController 167 167 168 168 ;-------------------------------------------------------------------- -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CreateDPT.asm
r160 r162 203 203 ; Returns: 204 204 ; DL: Drive number for new drive 205 ; CF: Cleared if DPT parameters stored successfully 206 ; Set if any error 205 ; CF: Always cleared 207 206 ; Corrupts registers: 208 207 ; Nothing … … 218 217 ja SHORT .AllDone ; If so, return 219 218 mov [RAMVARS.bFirstDrv], dl ; Store first drive number 219 clc 220 220 .AllDone: 221 clc222 221 ret
Note:
See TracChangeset
for help on using the changeset viewer.