Changeset 150 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Main.asm


Ignore:
Timestamp:
Apr 29, 2011, 7:04:13 PM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to XTIDE Universal BIOS:

  • Redesigned Disk Parameter Tables.
  • Code generalizations for supporting non-IDE devices in the future.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Main.asm

    r143 r150  
    2525%include "BootMenu.inc"         ; For Boot Menu
    2626%include "IDE_8bit.inc"         ; For IDE 8-bit data port macros
     27%include "DeviceIDE.inc"        ; For IDE device equates
    2728
    2829
     
    5556    at  ROMVARS.wDisplayMode,   dw  DEFAULT_TEXT_MODE
    5657    at  ROMVARS.wBootTimeout,   dw  30 * TICKS_PER_SECOND   ; Boot Menu selection timeout
    57     at  ROMVARS.bIdeCnt,        db  3                       ; Number of supported controllers
     58    at  ROMVARS.bIdeCnt,        db  4                       ; Number of supported controllers
    5859    at  ROMVARS.bBootDrv,       db  80h                     ; Boot Menu default drive
    5960    at  ROMVARS.bMinFddCnt,     db  0                       ; Do not force minimum number of floppy drives
     
    6263    at  ROMVARS.ideVars0+IDEVARS.wPort,         dw  1F0h            ; Controller Command Block base port
    6364    at  ROMVARS.ideVars0+IDEVARS.wPortCtrl,     dw  3F0h            ; Controller Control Block base port
    64     at  ROMVARS.ideVars0+IDEVARS.bBusType,      db  BUS_TYPE_16     ; Bus type
    65     at  ROMVARS.ideVars0+IDEVARS.bIRQ,          db  14              ; IRQ
     65    at  ROMVARS.ideVars0+IDEVARS.bDevice,       db  DEVICE_16BIT_ATA
     66    at  ROMVARS.ideVars0+IDEVARS.bIRQ,          db  14
    6667    at  ROMVARS.ideVars0+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  db  FLG_DRVPARAMS_BLOCKMODE
    6768    at  ROMVARS.ideVars0+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags,   db  FLG_DRVPARAMS_BLOCKMODE
     
    6970    at  ROMVARS.ideVars1+IDEVARS.wPort,         dw  170h            ; Controller Command Block base port
    7071    at  ROMVARS.ideVars1+IDEVARS.wPortCtrl,     dw  370h            ; Controller Control Block base port
    71     at  ROMVARS.ideVars1+IDEVARS.bBusType,      db  BUS_TYPE_16     ; Bus type
    72     at  ROMVARS.ideVars1+IDEVARS.bIRQ,          db  15              ; IRQ
     72    at  ROMVARS.ideVars1+IDEVARS.bDevice,       db  DEVICE_16BIT_ATA
     73    at  ROMVARS.ideVars1+IDEVARS.bIRQ,          db  15
    7374    at  ROMVARS.ideVars1+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  db  FLG_DRVPARAMS_BLOCKMODE
    7475    at  ROMVARS.ideVars1+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags,   db  FLG_DRVPARAMS_BLOCKMODE
     
    7677    at  ROMVARS.ideVars2+IDEVARS.wPort,         dw  300h            ; Controller Command Block base port
    7778    at  ROMVARS.ideVars2+IDEVARS.wPortCtrl,     dw  308h            ; Controller Control Block base port
    78     at  ROMVARS.ideVars2+IDEVARS.bBusType,      db  BUS_TYPE_8_DUAL ; Bus type
    79     at  ROMVARS.ideVars2+IDEVARS.bIRQ,          db  0               ; IRQ
     79    at  ROMVARS.ideVars2+IDEVARS.bDevice,       db  DEVICE_8BIT_DUAL_PORT_XTIDE
     80    at  ROMVARS.ideVars2+IDEVARS.bIRQ,          db  0
    8081    at  ROMVARS.ideVars2+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  db  FLG_DRVPARAMS_BLOCKMODE
    8182    at  ROMVARS.ideVars2+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags,   db  FLG_DRVPARAMS_BLOCKMODE
     
    8384    at  ROMVARS.ideVars3+IDEVARS.wPort,         dw  168h            ; Controller Command Block base port
    8485    at  ROMVARS.ideVars3+IDEVARS.wPortCtrl,     dw  368h            ; Controller Control Block base port
    85     at  ROMVARS.ideVars3+IDEVARS.bBusType,      db  BUS_TYPE_16     ; Bus type
    86     at  ROMVARS.ideVars3+IDEVARS.bIRQ,          db  0               ; IRQ
     86    at  ROMVARS.ideVars3+IDEVARS.bDevice,       db  DEVICE_16BIT_ATA
     87    at  ROMVARS.ideVars3+IDEVARS.bIRQ,          db  0
    8788    at  ROMVARS.ideVars3+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  db  FLG_DRVPARAMS_BLOCKMODE
    8889    at  ROMVARS.ideVars3+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags,   db  FLG_DRVPARAMS_BLOCKMODE
     
    101102    at  ROMVARS.ideVars0+IDEVARS.wPort,         dw  300h            ; Controller Command Block base port
    102103    at  ROMVARS.ideVars0+IDEVARS.wPortCtrl,     dw  308h            ; Controller Control Block base port
    103     at  ROMVARS.ideVars0+IDEVARS.bBusType,      db  BUS_TYPE_8_DUAL ; Bus type
     104    at  ROMVARS.ideVars0+IDEVARS.bDevice,       db  DEVICE_8BIT_DUAL_PORT_XTIDE
    104105    at  ROMVARS.ideVars0+IDEVARS.bIRQ,          db  0               ; IRQ
    105106    at  ROMVARS.ideVars0+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags,  db  FLG_DRVPARAMS_BLOCKMODE
     
    146147%include "DriveXlate.asm"       ; For swapping drive numbers
    147148%include "HAddress.asm"         ; For sector address translations
    148 %include "HCapacity.asm"        ; For calculating drive capacity
    149 %include "HError.asm"           ; For error checking
    150 %include "HPIO.asm"             ; For PIO transfers
    151 %include "HIRQ.asm"             ; For IRQ handling
    152 %include "HStatus.asm"          ; For reading hard disk status
    153 %include "HDrvSel.asm"          ; For selecting drive to access
    154 %include "HCommand.asm"         ; For outputting command and parameters
    155149%include "HTimer.asm"           ; For timeout and delay
    156150
     
    178172%include "AH24h_HSetBlocks.asm" ; Required by Int13h_Jump.asm
    179173%include "AH25h_HDrvID.asm"     ; Required by Int13h_Jump.asm
     174%include "Device.asm"
     175%include "Idepack.asm"
    180176
     177; IDE Device support
     178%include "IdeCommand.asm"
     179%include "IdeDPT.asm"
     180%include "IdeIO.asm"
     181%include "IdeIrq.asm"
     182%include "IdeTransfer.asm"
     183%include "IdeWait.asm"
     184%include "IdeError.asm"         ; Must be included after IdeWait.asm
     185
     186; Serial Port Device support
     187%include "SerialCommand.asm"
     188%include "SerialDPT.asm"
    181189
    182190
Note: See TracChangeset for help on using the changeset viewer.