Changeset 625 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Device/IDE


Ignore:
Timestamp:
Feb 19, 2023, 9:26:52 PM (21 months ago)
Author:
Krister Nordvall
Message:

Changes:

  • Added a configuration option to let the BIOS store RamVars to an UMB when Full operating mode is enabled. This is primarily for XT class machines with RAM in the UMA (which apparently is a common thing these days).
  • Added two new builds specifically for IBM PS/2 machines. This is for support of the new McIDE adapter from the guys at zzxio.com. Note that the additional hardware specific code (under the USE_PS2 define) is for the PS/2 machines themselves and not for the McIDE adapters, so any controller in an IBM PS/2 machine can be used with the USE_PS2 define.
  • Moved pColorTheme out of the range of ROMVARS being copied over when doing "Load old settings from EEPROM" in XTIDECFG. This fixed a serious bug from r592 where loading a BIOS from file and then loading the old settings from ROM would corrupt 7 bytes of code somewhere in the loaded BIOS.
  • Optimizations (speed and size) to the library. Browsing the menus in XTIDECFG should now feel a little less sluggish.
  • Hopefully fixed a problem with the PostCommitHook script where it sometimes wouldn't find the CommitInProgress file. I say hopefully because testing this is a nightmare.
Location:
trunk/XTIDE_Universal_BIOS/Src/Device/IDE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm

    r617 r625  
    44;
    55; XTIDE Universal BIOS and Associated Tools
    6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2013 by XTIDE Universal BIOS Team.
     6; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2023 by XTIDE Universal BIOS Team.
    77;
    88; This program is free software; you can redistribute it and/or modify
     
    303303;--------------------------------------------------------------------
    304304ALIGN JUMP_ALIGN
    305 IdeCommand_ReadLBAlowRegisterToAL:
     305IdeCommand_ReadLBAlowRegisterToAL:  ; Unused entrypoint OK
    306306    ; HOB bit (defined in 48-bit address feature set) should be zero by default
    307307    ; so we get the correct value for CHS, LBA28 and LBA48 drives and commands
  • trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeTransfer.asm

    r602 r625  
    44;
    55; XTIDE Universal BIOS and Associated Tools
    6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2013 by XTIDE Universal BIOS Team.
     6; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2023 by XTIDE Universal BIOS Team.
    77;
    88; This program is free software; you can redistribute it and/or modify
     
    5050ALIGN JUMP_ALIGN
    5151IdeTransfer_StartWithCommandInAL:
     52%ifdef USE_PS2
     53    ; Turn on the software controlled HDD LED on IBM PS/2 machines
     54    xchg    bx, ax  ; Save AX
     55    in      al, 92h ; Read System Control Port A
     56    or      al, 80h ; Set bit 7 to turn on LED (bit 6 would also work)
     57    out     92h, al ; Write it back
     58    xchg    bx, ax  ; Restore AX
     59%endif
    5260    ; Are we reading or writing?
    5361    test    al, 16  ; Bit 4 is cleared on all the read commands but set on 3 of the 4 write commands
     
    124132    ; All sectors successfully transferred
    125133    add     cx, [bp+PIOVARS.bSectorsDone]       ; Never sets CF
     134%ifdef USE_PS2
     135    ; Turn off the software controlled HDD LED on IBM PS/2 machines
     136    in      al, 92h ; Read System Control Port A
     137    and     al, 3Fh ; Clear bits 7 and 6 to turn off LED
     138    out     92h, al ; Write it back
     139%endif
    126140    ret
    127141
     
    133147    mov     cl, [bp+PIOVARS.bSectorsDone]
    134148    mov     ch, 0                               ; Preserve CF
     149%endif
     150%ifdef USE_PS2
     151    ; Turn off the software controlled HDD LED on IBM PS/2 machines
     152    in      al, 92h ; Read System Control Port A
     153    and     al, 3Fh ; Clear bits 7 and 6 to turn off LED (Clears CF)
     154    out     92h, al ; Write it back
     155    stc             ; Restore the CF
    135156%endif
    136157    ret
Note: See TracChangeset for help on using the changeset viewer.