Changeset 258 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc


Ignore:
Timestamp:
Feb 22, 2012, 7:01:53 PM (12 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Added floppy drive emulation over the serial connection (MODULE_SERIAL_FLOPPY). Along the way, various optimizations were made to stay within the 8K ROM size target. Also, serial code now returns the number of sectors transferred.

Location:
trunk/XTIDE_Universal_BIOS/Inc
Files:
3 edited

Legend:

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

    r233 r258  
    254254    .wRMSN      resw 1  ; 127F, Removable Media Status Notification feature set support
    255255    .wSecurity  resw 1  ; 128FV, Security Status
    256                 resw 159-129    ; 129...158X, Vendor Specific
    257     .wVendor    resw 1  ; 159X, Vendor Specific - picking one word for use by the Serial Port code
     256                resw 158-129    ; 129...157X, Vendor Specific
     257    .wSerialFloppyFlagAndType:
     258    .wVendor1   resw 1  ; 158x, Vendor specific - word for use by the serial port code
     259    .wSerialPortAndBaud:
     260    .wVendor2   resw 1  ; 159X, Vendor Specific - word for use by the Serial Port code
    258261    .wCFAPower  resw 1  ; 160FV, CFA Power Mode 1
    259262                resw 176-161    ; 161...175R, Reserved for assignment by the CompactFlash Association
  • trunk/XTIDE_Universal_BIOS/Inc/CustomDPT.inc

    r238 r258  
    6868MASKH_DPT_RESET                 EQU 0F0h
    6969
     70FLGH_DPT_SERIAL_FLOPPY                      EQU (1<<4)
     71FLGH_DPT_SERIAL_FLOPPY_TYPE_MASK            EQU 0e0h
     72FLGH_DPT_SERIAL_FLOPPY_TYPE_FIELD_POSITION  EQU 5
     73
    7074; Addressing modes for DPT.wFlags
    7175ADDRESSING_MODE_FIELD_POSITION  EQU     5
  • trunk/XTIDE_Universal_BIOS/Inc/RamVars.inc

    r248 r258  
    1111struc XLATEVARS
    1212    .wFDandHDswap:
    13     .bFDSwap        resb    1   ; Floppy Drive to swap to 00h and vice versa
    14     .bHDSwap        resb    1   ; Hard Drive to swap to 80h and vice versa
    15     .bXlatedDrv     resb    1   ; Drive number after translation
    16                     resb    1   ; alignment
     13    .bFDSwap            resb    1   ; Floppy Drive to swap to 00h and vice versa
     14    .bHDSwap            resb    1   ; Hard Drive to swap to 80h and vice versa
     15    .bXlatedDrv         resb    1   ; Drive number after translation
     16%ifdef MODULE_SERIAL_FLOPPY
     17    .bFlopCreateCnt:
     18    .bFlopCntAndFirst   resb    1   ; Normally, packed starting floppy drive number (high order 7 bits)
     19                                    ; and number of drives (low order bit, max 2 drives supported).
     20                                    ; During initialization, until the end of DetectDrives_FromAllIDEControllers,
     21                                    ; this byte contains the raw number of floppy drives seen (using .bFlopCreateCnt)
     22%else
     23                        resb    1   ; alignment
     24%endif
    1725endstruc
    1826
     
    2735
    2836    .wDrvCntAndFirst:
     37    .bFirstDrv          resb    1   ; Number of first drive for this BIOS
    2938    .bDrvCnt            resb    1   ; Number of drives handled by this BIOS
    30     .bFirstDrv          resb    1   ; Number of first drive for this BIOS
    3139
    3240    ; Variables for drive number translation
Note: See TracChangeset for help on using the changeset viewer.