Changeset 601 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc


Ignore:
Timestamp:
Feb 14, 2019, 7:38:08 PM (5 years ago)
Author:
krille_n_
Message:

Changes:

  • Building the BIOS now works again.
  • Added a new IDE device type/transfer mode for use only with XT-IDE rev 2+ (or Chuck(G)-modded rev 1) cards installed in any of the following machines: Olivetti M24, AT&T PC6300, Xerox 6060 and Logabax Persona 1600. This new transfer mode is slightly faster than the regular XT-IDE rev 1 device type and requires that the card is configured for High Speed mode (or, in case of the card being a rev 1 card, has the Chuck(G) mod done). The new device type is called "XTIDE rev 2 (Olivetti M24)" in XTIDECFG.
  • Made some minor improvements to the library code that handles 'Drive Not Ready' errors in XTIDECFG.
  • Optimizations.
Location:
trunk/XTIDE_Universal_BIOS/Inc
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Inc/BootVars.inc

    r600 r601  
    4040
    4141struc HOTKEYVARS
    42     .fpPrevTimerHandler resb    4       ; Previous 1Ch timer hander
     42    .fpPrevTimerHandler resb    4       ; Previous 1Ch timer handler
    4343    .wTimeWhenDisplayed resb    2       ; System time (ticks) when Hotkey bar was first displayed
    4444    .wFddAndHddLetters:
     
    7979
    8080; MAX_HARD_DISK_NAME_LENGTH must be defined ahead of the DRVDETECTINFO structure to avoid problems with NASM
    81 MAX_HARD_DISK_NAME_LENGTH   EQU     30      ; Bytes reserved for drive name
     81MAX_HARD_DISK_NAME_LENGTH   EQU     30  ; Bytes reserved for drive name
    8282
    8383struc DRVDETECTINFO
  • trunk/XTIDE_Universal_BIOS/Inc/HotkeyBar.inc

    r599 r601  
    2323MIN_TIME_TO_DISPLAY_HOTKEY_BAR          EQU (4000/55)   ; 4000 ms
    2424
    25 ESC_SCANCODE                            EQU 1   ; ESC key       
     25ESC_SCANCODE                            EQU 1   ; ESC key
    2626FIRST_FUNCTION_KEY_SCANCODE             EQU 3Bh ; F1 key
    2727
  • trunk/XTIDE_Universal_BIOS/Inc/IDE_8bit.inc

    r589 r601  
    3131;       ES:DI:  Ptr to destination buffer
    3232;   Returns:
    33 ;       ES:DI:  Incremented/decremented for next word
     33;       DI:     Incremented/Decremented for next word
    3434;   Corrupts registers:
    3535;       AL, FLAGS
     
    6161;       DS:SI:  Ptr to source buffer
    6262;   Returns:
    63 ;       SI:     Incremented/decremented for next word
     63;       SI:     Incremented/Decremented for next word
    6464;   Corrupts registers:
    6565;       AX, FLAGS
     
    9292;       DS:SI:  Ptr to source buffer
    9393;   Returns:
    94 ;       SI:     Incremented/decremented for next word
     94;       SI:     Incremented/Decremented for next word
    9595;   Corrupts registers:
    9696;       AX, FLAGS
     
    115115
    116116
     117;--------------------------------------------------------------------
     118; Emulates INSW for modified XTIDE for use on Olivetti M24 and derivatives.
     119;
     120; XTIDE_MOD_OLIVETTI_INSW
     121;   Parameters:
     122;       DX:     XTIDE Data Low Register address
     123;       ES:DI:  Ptr to destination buffer
     124;   Returns:
     125;       DI:     Incremented/Decremented for next word
     126;   Corrupts registers:
     127;       AL, FLAGS
     128;--------------------------------------------------------------------
     129%macro XTIDE_MOD_OLIVETTI_INSW 0
     130%ifdef USE_186  ; INS instruction available
     131    insb                        ; Load low byte from port DX to [ES:DI]
     132    inc     dx                  ; IDE Data Reg to XTIDE Data High Reg
     133    insb                        ; Load high byte from port DX to [ES:DI]
     134    dec     dx                  ; Restore to IDE Data Register
     135%else   ; If 8088/8086
     136    in      al, dx              ; Load low byte from port
     137    inc     dx                  ; IDE Data Reg to XTIDE Data High Reg
     138    stosb                       ; Store byte to [ES:DI]
     139    in      al, dx              ; Load high byte from port
     140    dec     dx                  ; Restore to IDE Data Register
     141    stosb                       ; Store byte to [ES:DI]
     142%endif
     143%endmacro
     144
     145
    117146%endif ; IDE_8BIT_INC
  • trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc

    r593 r601  
    111111; IDE Devices are grouped so device numbers cannot be changed without modifying code elsewhere!
    112112COUNT_OF_STANDARD_IDE_DEVICES           EQU 2   ; 16- and 32-bit controllers
    113 COUNT_OF_8BIT_IDE_DEVICES               EQU 9
     113COUNT_OF_8BIT_IDE_DEVICES               EQU 10
    114114COUNT_OF_ALL_IDE_DEVICES                EQU (COUNT_OF_8BIT_IDE_DEVICES + COUNT_OF_STANDARD_IDE_DEVICES)
    115115; Standard port mapped I/O
     
    119119DEVICE_8BIT_XTIDE_REV1                  EQU ((COUNT_OF_STANDARD_IDE_DEVICES+1)<<1)
    120120; Address lines A0 and A3 are swapped
    121 DEVICE_8BIT_XTIDE_REV2                  EQU ((COUNT_OF_STANDARD_IDE_DEVICES+2)<<1)  ; Or rev 1 with swapped A0 and A3
     121DEVICE_8BIT_XTIDE_REV2                  EQU ((COUNT_OF_STANDARD_IDE_DEVICES+2)<<1)  ; Or rev 1 with swapped A0 and A3...
     122DEVICE_8BIT_XTIDE_REV2_OLIVETTI         EQU ((COUNT_OF_STANDARD_IDE_DEVICES+3)<<1)  ; ...in Olivetti M24 and derivatives
    122123; IDE Register offsets are SHL 1
    123 DEVICE_8BIT_XTCF_PIO8                   EQU ((COUNT_OF_STANDARD_IDE_DEVICES+3)<<1)  ; XT-CF using 8-bit PIO mode
    124 DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD  EQU ((COUNT_OF_STANDARD_IDE_DEVICES+4)<<1)  ; XT-CF using 8-bit PIO mode, but with 16-bit instructions
    125 DEVICE_8BIT_XTCF_PIO16_WITH_BIU_OFFLOAD EQU ((COUNT_OF_STANDARD_IDE_DEVICES+5)<<1)  ; Lo-tech 8-bit IDE Adapter
    126 DEVICE_8BIT_XTCF_DMA                    EQU ((COUNT_OF_STANDARD_IDE_DEVICES+6)<<1)  ; XT-CFv3 using DMA
     124DEVICE_8BIT_XTCF_PIO8                   EQU ((COUNT_OF_STANDARD_IDE_DEVICES+4)<<1)  ; XT-CF using 8-bit PIO mode
     125DEVICE_8BIT_XTCF_PIO8_WITH_BIU_OFFLOAD  EQU ((COUNT_OF_STANDARD_IDE_DEVICES+5)<<1)  ; XT-CF using 8-bit PIO mode, but with 16-bit instructions
     126DEVICE_8BIT_XTCF_PIO16_WITH_BIU_OFFLOAD EQU ((COUNT_OF_STANDARD_IDE_DEVICES+6)<<1)  ; Lo-tech 8-bit IDE Adapter
     127DEVICE_8BIT_XTCF_DMA                    EQU ((COUNT_OF_STANDARD_IDE_DEVICES+7)<<1)  ; XT-CFv3 using DMA
    127128; Memory Mapped I/O
    128 DEVICE_8BIT_JRIDE_ISA                   EQU ((COUNT_OF_STANDARD_IDE_DEVICES+7)<<1)  ; JR-IDE/ISA (Memory Mapped I/O)
    129 DEVICE_8BIT_ADP50L                      EQU ((COUNT_OF_STANDARD_IDE_DEVICES+8)<<1)  ; SVC ADP50L (Memory Mapped I/O)
     129DEVICE_8BIT_JRIDE_ISA                   EQU ((COUNT_OF_STANDARD_IDE_DEVICES+8)<<1)  ; JR-IDE/ISA (Memory Mapped I/O)
     130DEVICE_8BIT_ADP50L                      EQU ((COUNT_OF_STANDARD_IDE_DEVICES+9)<<1)  ; SVC ADP50L (Memory Mapped I/O)
    130131; Virtual devices
    131132DEVICE_SERIAL_PORT                      EQU (COUNT_OF_ALL_IDE_DEVICES<<1)
  • trunk/XTIDE_Universal_BIOS/Inc/Version.inc

    r592 r601  
    2020
    2121; Flash signature revisions:
     22; XTIDE207  Added device type DEVICE_8BIT_XTIDE_REV2_OLIVETTI
    2223; XTIDE206  Added support for Color Themes
    2324; XTIDE205  Added DEVICE_8BIT_XTCF_PIO16_WITH_BIU_OFFLOAD after other XT-CF
     
    4950%define TITLE_STRING            TITLE_STRING_START, TITLE_STRING_END
    5051%define ROM_VERSION_STRING      "v2.0.0",BETA,"3+ (",__DATE__,")",NULL
    51 %define FLASH_SIGNATURE         "XTIDE206"  ; Do not terminate with NULL
     52%define FLASH_SIGNATURE         "XTIDE207"  ; Do not terminate with NULL
    5253
    5354
Note: See TracChangeset for help on using the changeset viewer.