Changeset 621 in xtideuniversalbios for trunk/Assembly_Library/Src/String/String.asm


Ignore:
Timestamp:
Nov 21, 2021, 2:15:32 PM (6 months ago)
Author:
krille_n_
Message:

Changes:

  • Fixed three different bugs all causing the boot menu to show drives using IRQs even though the BIOS had been built without MODULE_IRQ.
  • Fixed two bugs in XTIDECFG where loading a BIOS from file and then loading the old settings from EEPROM would
    • overwrite ROMVARS.wFlags in the loaded BIOS file (in RAM). The possibly resulting mismatch of module flags could make it impossible to change settings for modules included in the BIOS or allow changing settings for modules not included in the BIOS.
    • not copy the color theme over to the loaded BIOS.
  • Also fixed two very minor bugs in XTIDECFG in BiosFile_LoadFileFromDSSItoRamBuffer and BiosFile_SaveRamBufferToFileInDSSI where the error handling in these routines would close whatever file handle that happened to match the error code returned by DOS in AX.
  • Made significant changes to the new flash ROM programming routines to reduce the size. Also fixed a minor bug that would cause the second verification to be skipped and return success when programming a 64 KB block of data.
  • Changed the custom BIOS build file names to the 8.3 format.
  • Changed some help strings in XTIDECFG to clarify things.
  • Other minor optimizations and fixes.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/String/String.asm

    r619 r621  
    7979;       CX:     Number of characters copied
    8080;       SI,DI:  Updated by CX characters
     81;       CF:     Cleared
    8182;   Corrupts registers:
    8283;       Nothing
     
    9091.CopyNextCharacter:
    9192    lodsb                       ; Load from DS:SI to AL
    92     test    al, al              ; NULL to end string?
    93     jz      SHORT .EndOfString
     93    test    al, al              ; NULL to end string? (Clears CF)
     94    jz      SHORT PopAXandReturn
    9495    stosb                       ; Store from AL to ES:DI
    9596    inc     cx                  ; Increment number of characters written
    9697    jmp     SHORT .CopyNextCharacter
    97 
    98 ALIGN STRING_JUMP_ALIGN
    99 .EndOfString:
    100     pop     ax
    101     ret
    10298
    10399
     
    126122    stc
    127123    sbb     cx, si      ; Subtract NULL
     124PopAXandReturn:
    128125    pop     ax
    129126    ret
Note: See TracChangeset for help on using the changeset viewer.