Changeset 568 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization


Ignore:
Timestamp:
Dec 21, 2014, 5:37:53 PM (9 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes:

  • SerDrive: Using named pipe mode (serdrive -p) now works under Windows XP/2000/Server 2003.
  • checksum.pl: Added a compatibility fix for 3Com 3C503 cards.
  • XTIDECFG will now scan every possible segment address to find and load the BIOS and/or its settings from EEPROM. This should simplify things for people using combined option ROMs.
  • Fixed a bug from r521 in BootSector.asm where the BIOS would not display a timeout error if it failed to load the boot sector from harddrive.
  • Fixed a bug from r541 in CompatibleDPT.asm where CompatibleDPT_CreateDeviceParameterTableExtensionToESBXfromDPTinDSSI would generate an invalid checksum in the DPTE.
  • Optimizations and other fixes.
Location:
trunk/XTIDE_Universal_BIOS/Src/Initialization
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/AdvancedAta/AdvAtaInit.asm

    r567 r568  
    136136    mov     cx, [di+DPT_ADVANCED_ATA.wMinPioCycleTime]
    137137    test    si, si
    138     jz      SHORT .PioTimingsLoadedToAXandCX
     138    jz      SHORT .PioTimingsLoadedToBXandCX
    139139    MIN_U   bl, [si+DPT_ADVANCED_ATA.bPioMode]
    140140    MAX_U   cx, [si+DPT_ADVANCED_ATA.wMinPioCycleTime]
    141 .PioTimingsLoadedToAXandCX:
     141.PioTimingsLoadedToBXandCX:
    142142    ret
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/AtaID.asm

    r567 r568  
    107107    call    AccessDPT_GetPointerToDRVPARAMStoCSBX
    108108    push    ds
     109
     110    push    cs
     111    pop     ds
     112
     113    ; Load User Defined CHS or LBA to CX:AX
     114    mov     dx, [bx+DRVPARAMS.wFlags]
     115    mov     ax, [bx+DRVPARAMS.wCylinders]       ; Or .dwMaximumLBA
     116    mov     cx, [bx+DRVPARAMS.wHeadsAndSectors] ; Or .dwMaximumLBA+2
     117
    109118    push    es
    110119    pop     ds      ; DS:SI now points to ATA information
    111 
    112     ; Load User Defined CHS or LBA to CX:AX
    113     mov     dx, [cs:bx+DRVPARAMS.wFlags]
    114     mov     ax, [cs:bx+DRVPARAMS.wCylinders]        ; Or .dwMaximumLBA
    115     mov     cx, [cs:bx+DRVPARAMS.wHeadsAndSectors]  ; Or .dwMaximumLBA+2
    116120
    117121    ; * User defined CHS *
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectDrives.asm

    r567 r568  
    7272%endif
    7373
    74     mov     al,[cs:ROMVARS.wFlags]          ; Configurator set to always scan?
    75     or      al,[es:BDA.bKBFlgs1]            ; Or, did the user hold down the ALT key?
    76     and     al,8                            ; 8 = alt key depressed, same as FLG_ROMVARS_SERIAL_ALWAYSDETECT
     74    mov     al, [cs:ROMVARS.wFlags]         ; Configurator set to always scan?
     75    or      al, [es:BDA.bKBFlgs1]           ; Or, did the user hold down the ALT key?
     76    and     al, 8                           ; 8 = alt key depressed, same as FLG_ROMVARS_SERIAL_ALWAYSDETECT
    7777    jnz     .DriveDetectLoop
    7878%endif
     
    8989;
    9090    mov     cx, [RAMVARS.wDrvCntAndFlopCnt]     ; Our count of hard disks
    91 
    9291    mov     al, [es:BDA.bHDCount]
    93     add     cl, al                      ; Add our drives to the system count
    94     mov     [es:BDA.bHDCount], cl
     92    add     [es:BDA.bHDCount], cl       ; Add our drives to the system count
    9593    or      al, 80h                     ; Or in hard disk flag
    9694    mov     [RAMVARS.bFirstDrv], al     ; Store first drive number
     
    118116    inc     ax                              ; low order bit, indicating floppy drive exists
    119117
    120     mov     ah, [es:BDA.wEquipment]         ; Load Equipment WORD low byte
    121     and     ah, 03eh                        ; Mask off drive number and drives present bit
     118    mov     ah, 3Eh                         ; AND mask to AH (all bits set except floppy drive count/present)
     119    and     ah, [es:BDA.wEquipment]         ; Load Equipment WORD low byte and mask off drive number and drives present bit
    122120    or      al, ah                          ; Or in new values
    123121    mov     [es:BDA.wEquipment], al         ; and store
    124122
    125     mov     al, 1eh                         ; BDA pointer to Floppy DPT
     123    mov     al, 1Eh                         ; BDA pointer to Floppy DPT
    126124    mov     si, AH8h_FloppyDPT
    127125    call    Interrupts_InstallHandlerToVectorInALFromCSSI
  • trunk/XTIDE_Universal_BIOS/Src/Initialization/DetectPrint.asm

    r567 r568  
    181181    push    ax
    182182    push    di                          ; BIOS segment
    183     add     al, ROMVARS.szVersion - ROMVARS.szTitle
     183    mov     al, ROMVARS.szVersion & 0FFh
    184184    push    ax
    185185%else
Note: See TracChangeset for help on using the changeset viewer.