Mercurial > hg > Members > kono > nitros9-code
view defs/atari.d @ 2621:f27161fc2926
Added atari.d... new defs file for all things Atari
author | Boisy Pitre <boisy.pitre@nuance.com> |
---|---|
date | Thu, 23 Feb 2012 21:53:52 -0600 |
parents | |
children | b8c7b7fbf3c9 |
line wrap: on
line source
IFNE ATARIDEFS-1 ATARIDEFS SET 1 ******************************************************************** * AtariDefs - NitrOS-9 System Definitions for the Atari XE/XL * * $Id$ * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 2012/02/23 Boisy G. Pitre * Started NAM AtariDefs TTL NitrOS-9 System Definitions for the Atari XE/XL ******************************************************************** * NitrOS-9 Memory Definitions for the Atari XE/XL * * The Atari's support chips have certain alignment restrictions for * things like screen memory, display lists and character maps. For this * reason, we reserve some low memory for the screen. * * Screen memory range is $0500-$08FF (1K). Of that, 40*24 (960) bytes * are for the screen buffer and the remaining 64 bytes are for the * ANTIC's Display List G.Cols EQU 40 G.Rows EQU 24 G.ScrStart EQU $0500 G.DList EQU G.ScrStart+(G.Cols*G.Rows) G.DListSize EQU 64 * The Character Set must be aligned to a 4K address. We can really only * guarnatee that in the Krn module, which is always at the end of RAM. So * for now, the character set is located at $F800 G.CharSetAddr EQU $F800 * POKEY requires shadow registers. We allocate them in the kernel's DP * (Yes, we are stealing an existing variable that is so old it should be * removed from os9defs) D.IRQENShdw EQU D.WDBtDr ******************************************************************** * Atari XE/XL Hardware Definitions * * These were lifted from the Atari OS disassembly, and represents all * of the hardware registers available on the Atari XE/XL * ** CTIA/GTIA Address Equates CTIA EQU $D000 ;CTIA/GTIA area * Read/Write Addresses CONSOL EQU $D01F ;console switches and speaker control * Read Addresses M0PF EQU $D000 ;missle 0 and playfield collision M1PF EQU $D001 ;missle 1 and playfield collision M2PF EQU $D002 ;missle 2 and playfield collision M3PF EQU $D003 ;missle 3 and playfield collision P0PF EQU $D004 ;player 0 and playfield collision P1PF EQU $D005 ;player 1 and playfield collision P2PF EQU $D006 ;player 2 and playfield collision P3PF EQU $D007 ;player 3 and playfield collision M0PL EQU $D008 ;missle 0 and player collision M1PL EQU $D009 ;missle 1 and player collision M2PL EQU $D00A ;missle 2 and player collision M3PL EQU $D00B ;missle 3 and player collision P0PL EQU $D00C ;player 0 and player collision P1PL EQU $D00D ;player 1 and player collision P2PL EQU $D00E ;player 2 and player collision P3PL EQU $D00F ;player 3 and player collision TRIG0 EQU $D010 ;joystick trigger 0 TRIG1 EQU $D011 ;joystick trigger 1 TRIG2 EQU $D012 ;cartridge interlock TRIG3 EQU $D013 ;ACMI module interlock PAL EQU $D014 ;PAL/NTSC indicator * Write Addresses HPOSP0 EQU $D000 ;player 0 horizontal position HPOSP1 EQU $D001 ;player 1 horizontal position HPOSP2 EQU $D002 ;player 2 horizontal position HPOSP3 EQU $D003 ;player 3 horizontal position HPOSM0 EQU $D004 ;missle 0 horizontal position HPOSM1 EQU $D005 ;missle 1 horizontal position HPOSM2 EQU $D006 ;missle 2 horizontal position HPOSM3 EQU $D007 ;missle 3 horizontal position SIZEP0 EQU $D008 ;player 0 size SIZEP1 EQU $D009 ;player 1 size SIZEP2 EQU $D00A ;player 2 size SIZEP3 EQU $D00B ;player 3 size SIZEM EQU $D00C ;missle sizes GRAFP0 EQU $D00D ;player 0 graphics GRAFP1 EQU $D00E ;player 1 graphics GRAFP2 EQU $D00F ;player 2 graphics GRAFP3 EQU $D010 ;player 3 graphics GRAFM EQU $D011 ;missle graphics COLPM0 EQU $D012 ;player-missle 0 color/luminance COLPM1 EQU $D013 ;player-missle 1 color/luminance COLPM2 EQU $D014 ;player-missle 2 color/luminance COLPM3 EQU $D015 ;player-missle 3 color/luminance COLPF0 EQU $D016 ;playfield 0 color/luminance COLPF1 EQU $D017 ;playfield 1 color/luminance COLPF2 EQU $D018 ;playfield 2 color/luminance COLPF3 EQU $D019 ;playfield 3 color/luminance COLBK EQU $D01A ;background color/luminance PRIOR EQU $D01B ;priority select VDELAY EQU $D01C ;vertical delay GRACTL EQU $D01D ;graphic control HITCLR EQU $D01E ;collision clear ** POKEY Address Equates POKEY EQU $D200 ;POKEY area * Read Addresses POT0 EQU $D200 ;potentiometer 0 POT1 EQU $D201 ;potentiometer 1 POT2 EQU $D202 ;potentiometer 2 POT3 EQU $D203 ;potentiometer 3 POT4 EQU $D204 ;potentiometer 4 POT5 EQU $D205 ;potentiometer 5 POT6 EQU $D206 ;potentiometer 6 POT7 EQU $D207 ;potentiometer 7 ALLPOT EQU $D208 ;potentiometer port state KBCODE EQU $D209 ;keyboard code RANDOM EQU $D20A ;random number generator SERIN EQU $D20D ;serial port input IRQST EQU $D20E ;IRQ interrupt status SKSTAT EQU $D20F ;serial port and keyboard status * Write Addresses AUDF1 EQU $D200 ;channel 1 audio frequency AUDC1 EQU $D201 ;channel 1 audio control AUDF2 EQU $D202 ;channel 2 audio frequency AUDC2 EQU $D203 ;channel 2 audio control AUDF3 EQU $D204 ;channel 3 audio frequency AUDC3 EQU $D205 ;channel 3 audio control AUDF4 EQU $D206 ;channel 4 audio frequency AUDC4 EQU $D207 ;channel 4 audio control AUDCTL EQU $D208 ;audio control STIMER EQU $D209 ;start timers SKRES EQU $D20A ;reset SKSTAT status POTGO EQU $D20B ;start potentiometer scan sequence SEROUT EQU $D20D ;serial port output IRQEN EQU $D20E ;IRQ interrupt enable SKCTL EQU $D20F ;serial port and keyboard control ** PIA Address Equates PIA EQU $D300 ;PIA area * Read/Write Addresses PORTA EQU $D300 ;port A direction register or jacks 0 and 1 PORTB EQU $D301 ;port B direction register or memory control PACTL EQU $D302 ;port A control PBCTL EQU $D303 ;port B control ** ANTIC Address Equates ANTIC EQU $D400 ;ANTIC area * Read Addresses VCOUNT EQU $D40B ;vertical line counter PENH EQU $D40C ;light pen horizontal position PENV EQU $D40D ;light pen vertical position NMIST EQU $D40F ;NMI interrupt status * Write Addresses DMACTL EQU $D400 ;DMA control CHACTL EQU $D401 ;character control DLISTL EQU $D402 ;low display list address DLISTH EQU $D403 ;high disply list address HSCROL EQU $D404 ;horizontal scroll VSCROL EQU $D405 ;vertical scroll PMBASE EQU $D407 ;player-missle base address CHBASE EQU $D409 ;character base address WSYNC EQU $D40A ;wait for HBLANK synchronization NMIEN EQU $D40E ;NMI enable NMIRES EQU $D40F ;NMI interrupt status reset ******************************************************************** * VTIO Defs for the Atari XE/XL * Everything that the VTIO driver needs is defined here, including * static memory definitions * Constant Definitions KBufSz EQU 8 circular buffer size * Driver Static Memory ORG V.SCF V.CurRow RMB 1 V.CurCol RMB 1 V.CurChr RMB 1 character under the cursor V.KySns RMB 1 key sense flags V.IBufH RMB 1 input buffer head V.IBufT RMB 1 input buffer tail V.InBuf RMB KBufSz input buffer RMB 250-. V.Last EQU . ENDC