Mercurial > hg > Members > kono > nitros9-code
view defs/dgndefs @ 1764:c51d21c94682
Fixed problem in swset where query needed lbra.
Converted all files to Unix EOL
author | boisy |
---|---|
date | Fri, 01 Apr 2005 17:01:46 +0000 |
parents | e6e8a44ab20a |
children | 6e5fa42c2fb1 |
line wrap: on
line source
* * Deinitions for ports on Dragon 32/64/Alpha. * * 2004/11/16. P.Harvey-Smith. * Fixed the stupid error I made in the defines below * that made all the non DPxxxxx defines equal to FF00 !!! * IO equ $ff00 ; IO page on Dragon * * Most of these symbols will be defined twice, as some * of the Dragon code, sets DP=$FF, and uses direct page * addressing to access the io ports, whilst some of it * uses absolute addressing. * The versions starting DP must be used with DP=$FF. * *Pia 0 and 1 standard on all Dragons. DPPIA0DA EQU $00 ; Side A Data/DDR DPPIA0CRA EQU $01 ; Side A Control. DPPIA0DB EQU $02 ; Side B Data/DDR DPPIA0CRB EQU $03 ; Side B Control. PIA0DA EQU DPPIA0DA+IO ; Side A Data/DDR PIA0CRA EQU DPPIA0CRA+IO ; Side A Control. PIA0DB EQU DPPIA0DB+IO ; Side A Data/DDR PIA0CRB EQU DPPIA0CRB+IO ; Side A Control. DPPIA1DA EQU $20 ; Side A Data/DDR DPPIA1CRA EQU $21 ; Side A Control. DPPIA1DB EQU $22 ; Side B Data/DDR DPPIA1CRB EQU $23 ; Side B Control. PIA1DA EQU DPPIA1DA+IO ; Side A Data/DDR PIA1CRA EQU DPPIA1CRA+IO ; Side A Control. PIA1DB EQU DPPIA1DB+IO ; Side A Data/DDR PIA1CRB EQU DPPIA1CRB+IO ; Side A Control. * Dragon Alpha has a third PIA at FF24. DPPIA2DA EQU $24 ; Side A Data/DDR DPPIA2CRA EQU $25 ; Side A Control. DPPIA2DB EQU $26 ; Side B Data/DDR DPPIA2CRB EQU $27 ; Side B Control. PIA2DA EQU DPPIA2DA+IO ; Side A Data/DDR PIA2CRA EQU DPPIA2CRA+IO ; Side A Control. PIA2DB EQU DPPIA2DB+IO ; Side A Data/DDR PIA2CRB EQU DPPIA2CRB+IO ; Side A Control. ;WD2797 Floppy disk controler, used in Alpha Note registers in reverse order ! DPCmdRegA EQU $2F ; command/status DPTrkRegA EQU $2E ; Track register DPSecRegA EQU $2D ; Sector register DPDataRegA EQU $2C ; Data register CmdRegA EQU DPCMDREG+IO ; command/status TrkRegA EQU DPTRKREG+IO ; Track register SecRegA EQU DPSECREG+IO ; Sector register DataRegA EQU DPDATAREG+IO ; Data register ; Constants for Alpha AY-8912 sound chip, which is used to control ; Drive select and motor on the Alpha AYIOREG EQU $0E ; AY-8912, IO Register number. AYIdle EQU $00 ; Make AY Idle. AYWriteReg EQU $01 ; Write AY Register AYReadReg EQU $02 ; Read AY Register AYREGLatch EQU $03 ; Latch register into AY DSMask EQU $03 ; Drive select mask. MotorMask EQU $04 ; Motor enable mask DDENMask EQU $08 ; DDEN Mask ENPMask EQU $10 ; Enable Precomp mask NMIMask EQU $20 ; NMI enable Mask ; Dragon 64/Alpha Serial port. DPAciaData EQU $04 ; Acia Rx/Tx Register DPAciaStat EQU $05 ; Acia status register DPAciaCmd EQU $06 ; Acia command register DPAciaCtrl EQU $07 ; Acia control register ;DragonDos Cartrage IO for WD2797 ;WD2797 Floppy disk controler, used in DragonDos. DPCmdRegD EQU $40 ; command/status DPTrkRegD EQU $41 ; Track register DPSecRegD EQU $42 ; Sector register DPDataRegD EQU $43 ; Data register CmdRegD EQU DPCMDREG+IO ; command/status TrkRegD EQU DPTRKREG+IO ; Track register SecRegD EQU DPSECREG+IO ; Sector register DataRegD EQU DPDATAREG+IO ; Data register DPDSKCTL EQU $48 ; Disk DS/motor control reg DSKCTL EQU DPDSKCTL+IO ; Disk IO bitmasks (DragonDos). NMIEnD EQU %00100000 WPCEnD EQU %00010000 SDensEnD EQU %00001000 MotorOnD EQU %00000100 Drive0D EQU %00000000 Drive1D EQU %00000001 Drive2D EQU %00000010 Drive3D EQU %00000011 ; Disk IO bitmasks (Dragon Alpha). NMIEnA EQU %10000000 ; This is just a guess, but in current code just used as a flag WPCEnA EQU %01000000 ; Acording to circuit trace by R.Harding. SDensEnA EQU %00000000 ; DDen is pulled low on the alpha, so always enabled. MotorOnA EQU %00010000 Drive0A EQU %00000001 Drive1A EQU %00000010 Drive2A EQU %00000100 Drive3A EQU %00001000 * Disk Commands FrcInt EQU %11010000 ReadCmnd EQU %10001000 RestCmnd EQU %00000000 SeekCmnd EQU %00010000 StpICmnd EQU %01000000 WritCmnd EQU %10101000 WtTkCmnd EQU %11110000 Sid2Sel EQU %00000010 * Disk Status Bits BusyMask EQU %00000001 LostMask EQU %00000100 ErrMask EQU %11111000 CRCMask EQU %00001000 RNFMask EQU %00010000 RTypMask EQU %00100000 WPMask EQU %01000000 NotRMask EQU %10000000 DensMask EQU %00000001 T80Mask EQU %00000010