mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-20 22:33:43 +02:00
More C64 "code" 👽
This commit is contained in:
@@ -0,0 +1,632 @@
|
||||
;****************************************************************************
|
||||
;* ATARI PERSONAL COMPUTER *
|
||||
;* SYSTEM EQUATES *
|
||||
;****************************************************************************
|
||||
|
||||
FAKEADDR EQU $0100
|
||||
|
||||
|
||||
;
|
||||
; OPERATING SYSTEM EQUATE FILE
|
||||
;
|
||||
; MODULE ORIGIN TABLE
|
||||
;
|
||||
; VECTOR TABLE
|
||||
;
|
||||
; HANDLER ENTRY POINTS ARE CALL-
|
||||
; ED OUT IN THE FOLLOWING VECTOR
|
||||
; TABLE. THESE ARE THE ADDRESSES
|
||||
; MINUS ONE.
|
||||
;
|
||||
; EXAMPLE FOR EDITOR
|
||||
;
|
||||
; E400 OPEN
|
||||
; 2 CLOSE
|
||||
; 4 GET
|
||||
; 6 PUT
|
||||
; 8 STATUS
|
||||
; A SPECIAL
|
||||
; C JUMP TO POWER ON INIT
|
||||
; F NOT USED
|
||||
;
|
||||
EDITRV EQU $E400 ;EDITOR
|
||||
SCRENV EQU $E410 ;TV SCREEN
|
||||
KEYBDV EQU $E420 ;KEYBOARD
|
||||
PRINTV EQU $E430 ;PRINTER
|
||||
CASETV EQU $E440 ;CASSETTE
|
||||
;
|
||||
; JUMP VECTOR TABLE
|
||||
;
|
||||
; THE FOLLOWING IS A TABLE OF
|
||||
; JUMP INSTRUCTIONS TO VARIOUS
|
||||
; ENTRY POINTS IN THE OPERATING
|
||||
; SYSTEM
|
||||
;
|
||||
DISKIV EQU $E450 ;DISK INITIALIZATION
|
||||
DSKINV EQU $E453 ;DISK INTERFACE
|
||||
CIOV EQU $E456 ;CENTRAL I/O ROUTINE
|
||||
SIOV EQU $E459 ;SERIAL I/O ROUTINE
|
||||
SETVBV EQU $E45C ;SET SYSTEM TIMERS
|
||||
SYSVBV EQU $E45F ;VBLANK CALCULATIONS
|
||||
XITVBV EQU $E462 ;EXIT VBLANK
|
||||
SIOINV EQU $E465 ;SIO INITIALIZATION
|
||||
SENDEV EQU $E468 ;SEND ENABLE ROUTINE
|
||||
INTINV EQU $E46B ;INTRPT HANDLER INIT
|
||||
CIOINV EQU $E46E ;CIO INITIALIZATION
|
||||
BLKBDV EQU $E471 ;BLACKBOARD MODE
|
||||
WARMSV EQU $E474 ;WARM START VECTOR
|
||||
COLDSV EQU $E477 ;COLD START VECTOR
|
||||
RBLOKV EQU $E47A ;CASSETTE READ BLOCK
|
||||
CSOPIV EQU $E47D ;CASSETTE INPUT OPEN
|
||||
;
|
||||
; VECTORS ADDED FOR 800XL
|
||||
;
|
||||
PUPDIV EQU $E480 ;POWER UP DISPLAY
|
||||
SLFTSV EQU $E483 ;SELF TEST PROGRAM
|
||||
PHENTV EQU $E486 ;UPLOADED HANDLER ENTER
|
||||
PHULNV EQU $E489 ;UPLOADED HANDLER UNLINK
|
||||
PHINIV EQU $E48C ;UPLOADED HANDLER INIT
|
||||
;
|
||||
; OPERATING SYSTEM EQUATES
|
||||
;
|
||||
; COMMAND CODES FOR IOCBS
|
||||
;
|
||||
OPEN EQU $03 ;OPEN FOR I/O
|
||||
GETREC EQU $05 ;GET RECORD (TEXT)
|
||||
GETCHR EQU $07 ;GET CHARACTER(S)
|
||||
PUTREC EQU $09 ;PUT RECORD (TEXT)
|
||||
PUTCHR EQU $0B ;PUT CHARACTER(S)
|
||||
CLOSE EQU $0C ;CLOSE DEVICE
|
||||
STATIS EQU $0D ;STATUS REQUEST
|
||||
SPECIL EQU $0E ;SPECIAL ENTRY COMMAND
|
||||
;
|
||||
; SPECIAL ENTRY COMMANDS
|
||||
;
|
||||
DRAWLN EQU $11 ;DRAW LINE
|
||||
FILLIN EQU $12 ;FILL
|
||||
RENAME EQU $20 ;RENAME DISK FILE
|
||||
DELETE EQU $21 ;DELETE DISK FILE
|
||||
FORMAT EQU $22 ;FORMAT DISK
|
||||
LOCKFL EQU $23 ;LOCK FILE
|
||||
UNLOCK EQU $24 ;UNLOCK FILE
|
||||
POINT EQU $25 ;POINT SECTOR
|
||||
NOTE EQU $26 ;NOTE SECTOR
|
||||
IOCFRE EQU $FF ;IOCB "FREE"
|
||||
;
|
||||
; AUX1 EQUATES
|
||||
; () INDICATES WHICH DEVICES
|
||||
;
|
||||
APPEND EQU $01 ;WR APPEND(D)-SCN RD(E)
|
||||
DIRECT EQU $02 ;OPEN DIRECTORY(D)
|
||||
OPNIN EQU $04 ;OPEN FOR INPUT(ALL)
|
||||
OPNOT EQU $08 ;OPEN FOR OUTPUT(ALL)
|
||||
OPNINO EQU $0C ;OPEN INPUT&OUTPUT(ALL)
|
||||
MXDMOD EQU $10 ;OPEN MIXED MODE(E,S)
|
||||
INSCLR EQU $20 ;OPEN W/O CLEAR(E,S)
|
||||
;
|
||||
; DEVICE NAMES
|
||||
;
|
||||
SCREDT EQU 'E' ;SCREEN EDITOR (R/W)
|
||||
KBD EQU 'K' ;KEYBOARD (R ONLY)
|
||||
DISPLY EQU 'S' ;SCREEN DISPLAY (R/W)
|
||||
PRINTR EQU 'P' ;PRINTER (W ONLY)
|
||||
CASSET EQU 'C' ;CASSETTE (R/W)
|
||||
RS232 EQU 'R' ;MODEM (R/W)
|
||||
DISK EQU 'D' ;DISK (R/W)
|
||||
;
|
||||
;
|
||||
;
|
||||
; OPERATING SYSTEM STATUS CODES
|
||||
;
|
||||
SUCCES EQU $01 ;SUCCESSFUL OPERATION
|
||||
BRKABT EQU $80 ;BREAK KEY ABORT
|
||||
PRVOPN EQU $81 ;IOCB ALREADY OPEN
|
||||
NONDEV EQU $82 ;NON-EXISTANT DEVICE
|
||||
WRONLY EQU $83 ;IOCB OPEN FOR W ONLY
|
||||
NVALID EQU $84 ;INVALID COMMAND
|
||||
NOTOPN EQU $85 ;DEVICE/FILE NOT OPEN
|
||||
BADIOC EQU $86 ;INVALID IOCB #
|
||||
RDONLY EQU $87 ;IOCB OPEN FOR R ONLY
|
||||
EOFERR EQU $88 ;END OF FILE
|
||||
TRNRCD EQU $89 ;TRUNCATED RECORD
|
||||
TIMOUT EQU $8A ;PERIPHERAL TIMEOUT
|
||||
DNACK EQU $8B ;DEVICE NO ACKNOWLEDGE
|
||||
FRMERR EQU $8C ;SERIAL BUS FRAME ERR
|
||||
CRSROR EQU $8D ;CURSOR OVERRANGE
|
||||
OVRRUN EQU $8E ;SERIAL DATA OVERRUN
|
||||
CHKERR EQU $8F ;SERIAL CHECKSUM ERR
|
||||
DERRER EQU $90 ;PERIPHRAL DEVICE ERR
|
||||
BADMOD EQU $91 ;BAD SCREEN MODE #
|
||||
FNCNOT EQU $92 ;NONEXISTANT FUNCTION
|
||||
SCRMEM EQU $93 ;SCREEN MEM TOO SMALL
|
||||
;
|
||||
; PAGE ZERO RAM ASSIGNMENTS
|
||||
;
|
||||
LNFLG EQU $00 ;LINBUG RAM
|
||||
NGFLAG EQU $01 ;POWER-UP SELF-TEST FLAG
|
||||
;
|
||||
; THESE LOCATIONS NOT CLEARED
|
||||
;
|
||||
CASINI EQU $02 ;CASSETTE INIT LOC
|
||||
RAMLO EQU $04 ;RAM POINTER MEM TST
|
||||
TRAMSZ EQU $06 ;TEMP REG RAM SIZE
|
||||
TSTDAT EQU $07 ;RAM TEST DATA REG
|
||||
;
|
||||
;CLEARED ON COLDSTART ONLY
|
||||
;
|
||||
WARMST EQU $08 ;WARM START FLAG
|
||||
BOOTQ EQU $09 ;SUCCESSFUL BOOT FLG
|
||||
DOSVEC EQU $0A ;DOS START VECTOR
|
||||
DOSINI EQU $0C ;DOS INIT ADDRESS
|
||||
APPMHI EQU $0E ;APPL MEM HI LIMIT
|
||||
;
|
||||
;CLEARED ON COLD OR WARM START
|
||||
;
|
||||
POKMSK EQU $10 ;MASK POKEY IRQ
|
||||
BRKKEY EQU $11 ;BREAK KEY FLAG
|
||||
RTCLOK EQU $12 ;REAL TIME CLOCK
|
||||
BUFADR EQU $15 ;INDIRECT BUFF ADDR
|
||||
ICCOMT EQU $17 ;COMMAND FOR VECTOR
|
||||
DSKFMS EQU $18 ;FMS POINTER
|
||||
DSKUTL EQU $1A ;DISK UTILITIES PTR
|
||||
ABUFPT EQU $1C ;RESERVED
|
||||
ICHIDZ EQU $20 ;HANDLER INDEX #
|
||||
ICDNOZ EQU $21 ;DEVICE NUMBER
|
||||
ICCOMZ EQU $22 ;COMMAND CODE
|
||||
ICSTAZ EQU $23 ;STATUS RETURN
|
||||
ICBALZ EQU $24 ;BUFFER ADDRESS
|
||||
ICBAHZ EQU $25
|
||||
ICPTLZ EQU $26 ;PUT BYTE ROUTINE-1
|
||||
ICPTHZ EQU $27
|
||||
ICBLLZ EQU $28 ;BUFFER LENGTH
|
||||
ICBLHZ EQU $29
|
||||
ICAX1Z EQU $2A ;AUXILIARY BYTES
|
||||
ICAX2Z EQU $2B
|
||||
ICSPRZ EQU $2C ;SPARE BYTES
|
||||
ICIDNO EQU $2E ;IOCB # X 16
|
||||
CIOCHR EQU $2F ;CIO CHARACTER BYTE
|
||||
STATUS EQU $30 ;INTERNAL STATUS
|
||||
CHKSUM EQU $31 ;CHECKSUM
|
||||
BUFRLO EQU $32 ;DATA BUFFER LO BYTE
|
||||
BUFRHI EQU $33 ;DATA BUFFER HI BYTE
|
||||
BFENLO EQU $34 ;NEXT BYTE PAST DATA
|
||||
BFENHI EQU $35 ;BUFFER (HI & LO)
|
||||
LTEMP EQU $36 ;LOADER TEMP
|
||||
BUFRFL EQU $38 ;DATA BUFFR FULL FLG
|
||||
RECVDN EQU $39 ;RECIEVE DONE FLAG
|
||||
XMTDON EQU $3A ;XMIT DONE FLAG
|
||||
CHKSNT EQU $3B ;CHECKSUM SENT FLAG
|
||||
NOCKSM EQU $3C ;NO CHKSUM SENT FLAG
|
||||
;BPTR EQU $3D ;CASSETTE DATA INDEX
|
||||
FTYPE EQU $3E ;INTERRECORD GAP TYPE
|
||||
FEOF EQU $3F ;END OF FILE FLAG
|
||||
FREQ EQU $40 ;BEEP COUNT
|
||||
SOUNDR EQU $41 ;NOISY I/O FLAG
|
||||
CRITIC EQU $42 ;CRITICAL MODE
|
||||
FMSZPG EQU $43 ;FMS ZERO PAGE
|
||||
ZCHAIN EQU $4A ;HANDLER LOADER TEMP
|
||||
DSTAT EQU $4C ;DISPLAY STATUS
|
||||
ATRACT EQU $4D ;ATTRACT FLAG
|
||||
DRKMSK EQU $4E ;DARK ATTRACT MASK
|
||||
COLRSH EQU $4F ;COLOR SHIFTER
|
||||
TMPCHR EQU $50 ;TEMP STORAGE
|
||||
HOLD1 EQU $51 ;TEMP STORAGE
|
||||
LMARGN EQU $52 ;LEFT MARGIN (1)
|
||||
RMARGN EQU $53 ;RIGHT MARGIN (38)
|
||||
ROWCRS EQU $54 ;CURSOR COUNTERS
|
||||
COLCRS EQU $55
|
||||
DINDEX EQU $57 ;DISPLAY MODE #
|
||||
SAVMSC EQU $58 ;SCREEN MEM ADDR
|
||||
OLDROW EQU $5A ;DRAW START POSIT
|
||||
OLDCOL EQU $5B
|
||||
OLDCHR EQU $5D ;DATA UNDER CURSOR
|
||||
OLDADR EQU $5E ;CURSOR MEM ADDR
|
||||
FKDEF EQU $60 ;FUNC KEY DEFEAT POINTER
|
||||
PALNTS EQU $62 ;PAL/NTSC FLAG
|
||||
LOGCOL EQU $63 ;COL IN LOGICAL LINE
|
||||
ADRESS EQU $64 ;TEMP STORAGE
|
||||
MLTEMP EQU $66 ;TEMP STORAGE
|
||||
SAVADR EQU $68 ;TEMP STORAGE
|
||||
RAMTOP EQU $6A ;AVAILABLE RAM PAGES
|
||||
BUFCNT EQU $6B ;BUFFER COUNT
|
||||
BUFSTR EQU $6C ;EDITOR GETCH POINTR
|
||||
BITMSK EQU $6E ;BIT MASK
|
||||
SHFAMT EQU $6F ;PIXEL JUSTIFICATION
|
||||
ROWAC EQU $70 ;ROW ACCUMULATOR
|
||||
COLAC EQU $72 ;COLUMN ACCUMULATOR
|
||||
ENDPT EQU $74 ;LINE LENGTH
|
||||
DELTAR EQU $76 ;DELTA ROW
|
||||
DELTAC EQU $77 ;DELTA COLUMN
|
||||
KEYDEF EQU $79 ;KEY DEFEAT POINTER
|
||||
SWPFLG EQU $7B ;SPLIT SCN CURS CNTL
|
||||
HOLDCH EQU $7C ;KB CHAR TEMP HOLD
|
||||
INSDAT EQU $7D ;TEMP STORAGE
|
||||
COUNTR EQU $7E ;DRAW ITERATION CNT
|
||||
;
|
||||
; 80-FF ARE RESERVED FOR USER
|
||||
;
|
||||
; NOTE: SEE FLOATING POINT
|
||||
; SUBROUTINE AREA FOR ZERO
|
||||
; PAGE CELLS
|
||||
;
|
||||
; PAGE 1 - HARDWARE STACK
|
||||
;
|
||||
; PAGE TWO RAM ASSIGNMENTS
|
||||
;
|
||||
VDSLST EQU FAKEADDR ;DSP LIST NMI VECTOR
|
||||
VPRCED EQU FAKEADDR ;PROCEED IRQ VECTOR
|
||||
VINTER EQU FAKEADDR ;INTERUPT IRQ VECTOR
|
||||
VBREAK EQU FAKEADDR ;BRK INST IRQ VECTOR
|
||||
VKEYBD EQU FAKEADDR ;POKEY KB IRQ VECTOR
|
||||
VSERIN EQU FAKEADDR ;POKEY INPUT RDY IRQ
|
||||
VSEROR EQU FAKEADDR ;POKEY OUTPUT RDY
|
||||
VSEROC EQU FAKEADDR ;POKEY OUTPUT DONE
|
||||
VTIMR1 EQU FAKEADDR ;POKEY TIMER 1 IRQ
|
||||
VTIMR2 EQU FAKEADDR ;POKEY TIMER 2 IRQ
|
||||
VTIMR4 EQU FAKEADDR ;POKEY TIMER 4 IRQ
|
||||
VIMIRQ EQU FAKEADDR ;IMMED IRQ VECTOR
|
||||
CDTMV1 EQU FAKEADDR ;COUNT DOWN TIMER 1
|
||||
CDTMV2 EQU FAKEADDR ;COUNT DOWN TIMER 2
|
||||
CDTMV3 EQU FAKEADDR ;COUNT DOWN TIMER 3
|
||||
CDTMV4 EQU FAKEADDR ;COUNT DOWN TIMER 4
|
||||
CDTMV5 EQU FAKEADDR ;COUNT DOWN TIMER 5
|
||||
VVBLKI EQU FAKEADDR ;IMM VBLK NMI VECTOR
|
||||
VVBLKD EQU FAKEADDR ;DEF VBLK NMI VECTOR
|
||||
CDTMA1 EQU FAKEADDR ;CDTMV1 JSR ADDRESS
|
||||
CDTMA2 EQU FAKEADDR ;CDTMV2 JSR ADDRESS
|
||||
CDTMF3 EQU FAKEADDR ;CDTMV3 FLAG
|
||||
SRTIMR EQU FAKEADDR ;SOFTWARE REPEAT TMR
|
||||
CDTMF4 EQU FAKEADDR ;CDTMV4 FLAG
|
||||
INTEMP EQU FAKEADDR ;IAN'S TEMP
|
||||
CDTMF5 EQU FAKEADDR ;CDTMV5 FLAG
|
||||
DMACTLS EQU FAKEADDR ;SAVE DMACTL REG
|
||||
DLPTRS EQU FAKEADDR ;SAVE DISP LIST LO
|
||||
;SDLSTH EQU $0231 ;SAVE DISP LIST HI
|
||||
SSKCTL EQU FAKEADDR ;SKCTL REGISTER RAM
|
||||
LCOUNT EQU FAKEADDR ;LOADER TEMP
|
||||
LPENH EQU FAKEADDR ;LIGHT PEN HORIZONTAL
|
||||
LPENV EQU FAKEADDR ;LIGHT PEN VERTICAL
|
||||
BRKKY EQU FAKEADDR ;BREAK KEY VECTOR
|
||||
RELADR EQU FAKEADDR ;LOADER REL ADDR
|
||||
CDEVIC EQU FAKEADDR ;COMMAND BUFFER-DEV
|
||||
CCOMND EQU FAKEADDR ;COMMAND BUFFER-CMND
|
||||
CAUX1 EQU FAKEADDR ;COMMAND BUFFER AUX1
|
||||
CAUX2 EQU FAKEADDR ;COMMAND BUFFER AUX2
|
||||
;TEMP EQU $023E ;TEMPORARY RAM CELL
|
||||
ERRFLG EQU FAKEADDR ;DEVICE ERROR FLAG
|
||||
DFLAGS EQU FAKEADDR ;DISK FLAGS(SECTOR1)
|
||||
DBSECT EQU FAKEADDR ;# DISK BOOT SECTORS
|
||||
BOOTAD EQU FAKEADDR ;DISK BOOT ADDRESS
|
||||
COLDST EQU FAKEADDR ;COLDSTART FLAG 1=CS
|
||||
RECLEN EQU FAKEADDR ;LOADER LENGTH
|
||||
DSKTIM EQU FAKEADDR ;DISK TIME OUT REG
|
||||
VSFLAG EQU FAKEADDR ;FINE SCROLL TEMP
|
||||
KEYDIS EQU FAKEADDR ;KEY DISABLE FLAG
|
||||
FINE EQU FAKEADDR ;FINE SCROLL ENABLE(A1200)
|
||||
GPRIOR EQU FAKEADDR ;GLOBAL PRIORITY
|
||||
PADDL0 EQU FAKEADDR ;POT 0 RAM CELL
|
||||
PADDL1 EQU FAKEADDR
|
||||
PADDL2 EQU FAKEADDR
|
||||
PADDL3 EQU FAKEADDR
|
||||
STICK0 EQU FAKEADDR ;JOYSTICK 0 RAM CELL
|
||||
STICK1 EQU FAKEADDR
|
||||
PTRIG0 EQU FAKEADDR ;PADDLE TRIGGER 0
|
||||
PTRIG1 EQU FAKEADDR
|
||||
PTRIG2 EQU FAKEADDR
|
||||
PTRIG3 EQU FAKEADDR
|
||||
STRIG0 EQU FAKEADDR ;JOYSTICK TRIGGER 0
|
||||
STRIG1 EQU FAKEADDR
|
||||
HIBYTE EQU FAKEADDR ;LOADER
|
||||
WMODE EQU FAKEADDR ;CASSETTE R/W MODE
|
||||
BLIM EQU FAKEADDR ;CASSETTE RECORD SIZE
|
||||
IMASK EQU FAKEADDR
|
||||
JVECK EQU FAKEADDR ;JUMP VECTOR
|
||||
NEWADR EQU FAKEADDR ;LOADER NEW ADDRESS
|
||||
TXTROW EQU FAKEADDR ;TEXT ROWCRS
|
||||
TXTCOL EQU FAKEADDR ;TEXT COLCRS
|
||||
TINDEX EQU FAKEADDR ;TEXT INDEX
|
||||
TXTMSC EQU FAKEADDR ;TEXT WINDOW MEM ADD
|
||||
TXTOLD EQU FAKEADDR ;TEXT OLDROW & COL
|
||||
CRETRY EQU FAKEADDR ;# COMMAND RETRIES
|
||||
HOLD3 EQU FAKEADDR
|
||||
SUBTMP EQU FAKEADDR
|
||||
HOLD2 EQU FAKEADDR
|
||||
DMASK EQU FAKEADDR ;PIXEL LOCATION MASK
|
||||
TMPLBT EQU FAKEADDR
|
||||
ESCFLG EQU FAKEADDR ;ESCAPE FLAG
|
||||
TABMAP EQU FAKEADDR ;TAB STOP MAP
|
||||
LOGMAP EQU FAKEADDR ;LINE START BIT MAP
|
||||
INVFLG EQU FAKEADDR ;INVERSE VIDEO FLAG
|
||||
FILFLG EQU FAKEADDR ;FILL FLAG FOR DRAW
|
||||
TMPROW EQU FAKEADDR
|
||||
TMPCOL EQU FAKEADDR
|
||||
SCRFLG EQU FAKEADDR ;SET IF SCROLLING
|
||||
HOLD4 EQU FAKEADDR ;TEMP USED BY DRAW
|
||||
DRETRY EQU FAKEADDR ;# OF DEVICE RETRIES
|
||||
SHFLOK EQU FAKEADDR ;SHIFT/CTL LOCK FLAG
|
||||
BOTSCR EQU FAKEADDR ;BOTTOM OF SCREEN
|
||||
PCOLR0 EQU FAKEADDR ;P0 COLOR
|
||||
PCOLR1 EQU FAKEADDR ;P1 COLOR
|
||||
PCOLR2 EQU FAKEADDR ;P2 COLOR
|
||||
PCOLR3 EQU FAKEADDR ;P3 COLOR
|
||||
COLOR0 EQU FAKEADDR ;COLOR 0
|
||||
COLOR1 EQU FAKEADDR
|
||||
COLOR2 EQU FAKEADDR
|
||||
COLOR3 EQU FAKEADDR
|
||||
COLOR4 EQU FAKEADDR
|
||||
COLBAKS EQU COLOR4
|
||||
CHBAS EQU FAKEADDR ;CHBAS REGISTER RAM
|
||||
;
|
||||
; COLLEEN MNEMONICS
|
||||
;
|
||||
; ---------------------------------------------------------------------------
|
||||
POKEY EQU FAKEADDR
|
||||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
; READ
|
||||
;
|
||||
POT0 EQU POKEY+$00
|
||||
POT1 EQU POKEY+$00
|
||||
POT2 EQU POKEY+$00
|
||||
POT3 EQU POKEY+$00
|
||||
POT4 EQU POKEY+$00
|
||||
POT5 EQU POKEY+$00
|
||||
POT6 EQU POKEY+$00
|
||||
POT7 EQU POKEY+$00
|
||||
ALLPOT EQU POKEY+$00
|
||||
KBCODE EQU POKEY+$00
|
||||
; !!!!!
|
||||
RANDOM EQU POKEY+$00
|
||||
;
|
||||
POTGO EQU POKEY+$00
|
||||
SERIN EQU POKEY+$00
|
||||
IRQST EQU POKEY+$00
|
||||
SKSTAT EQU POKEY+$00
|
||||
;
|
||||
; WRITE
|
||||
;
|
||||
AUDF1 EQU POKEY+$00
|
||||
AUDC1 EQU POKEY+$00
|
||||
AUDF2 EQU POKEY+$00
|
||||
AUDC2 EQU POKEY+$00
|
||||
AUDF3 EQU POKEY+$00
|
||||
AUDC3 EQU POKEY+$00
|
||||
AUDF4 EQU POKEY+$00
|
||||
AUDC4 EQU POKEY+$00
|
||||
AUDCTL EQU POKEY+$00
|
||||
STIMER EQU POKEY+$00
|
||||
SKRES EQU POKEY+$00
|
||||
SEROUT EQU POKEY+$00
|
||||
IRQEN EQU POKEY+$00
|
||||
SKCTL EQU POKEY+$00
|
||||
;
|
||||
;
|
||||
;
|
||||
; ---------------------------------------------------------------------------
|
||||
GTIA EQU FAKEADDR
|
||||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
; WRITE
|
||||
;
|
||||
HPOSP0 EQU GTIA+$00
|
||||
HPOSP1 EQU GTIA+$00
|
||||
HPOSP2 EQU GTIA+$00
|
||||
HPOSP3 EQU GTIA+$00
|
||||
HPOSM0 EQU GTIA+$00
|
||||
HPOSM1 EQU GTIA+$00
|
||||
HPOSM2 EQU GTIA+$00
|
||||
HPOSM3 EQU GTIA+$00
|
||||
SIZEP0 EQU GTIA+$00
|
||||
SIZEP1 EQU GTIA+$00
|
||||
SIZEP2 EQU GTIA+$00
|
||||
SIZEP3 EQU GTIA+$00
|
||||
SIZEM EQU GTIA+$00
|
||||
GRAFP0 EQU GTIA+$00
|
||||
GRAFP1 EQU GTIA+$00
|
||||
GRAFP2 EQU GTIA+$00
|
||||
GRAFP3 EQU GTIA+$00
|
||||
GRAFM EQU GTIA+$00
|
||||
COLPM0 EQU GTIA+$00
|
||||
COLPM1 EQU GTIA+$00
|
||||
COLPM2 EQU GTIA+$00
|
||||
COLPM3 EQU GTIA+$00
|
||||
COLPF0 EQU GTIA+$00
|
||||
COLPF1 EQU GTIA+$00
|
||||
COLPF2 EQU GTIA+$00
|
||||
COLPF3 EQU GTIA+$00
|
||||
COLBAK EQU GTIA+$00
|
||||
PRIOR EQU GTIA+$00
|
||||
VDELAY EQU GTIA+$00
|
||||
GRACTL EQU GTIA+$00
|
||||
HITCLR EQU GTIA+$00
|
||||
CONSOL EQU GTIA+$00
|
||||
;
|
||||
; READ
|
||||
;
|
||||
M0PF EQU GTIA+$00
|
||||
M1PF EQU GTIA+$00
|
||||
M2PF EQU GTIA+$00
|
||||
M3PF EQU GTIA+$00
|
||||
P0PF EQU GTIA+$00
|
||||
P1PF EQU GTIA+$00
|
||||
P2PF EQU GTIA+$00
|
||||
P3PF EQU GTIA+$00
|
||||
M0PL EQU GTIA+$00
|
||||
M1PL EQU GTIA+$00
|
||||
M2PL EQU GTIA+$00
|
||||
M3PL EQU GTIA+$00
|
||||
P0PL EQU GTIA+$00
|
||||
P1PL EQU GTIA+$00
|
||||
P2PL EQU GTIA+$00
|
||||
P3PL EQU GTIA+$00
|
||||
TRIG0 EQU GTIA+$00
|
||||
TRIG1 EQU GTIA+$00
|
||||
TRIG2 EQU GTIA+$00
|
||||
TRIG3 EQU GTIA+$00
|
||||
PAL EQU GTIA+$00
|
||||
;
|
||||
;
|
||||
; ---------------------------------------------------------------------------
|
||||
ANTIC EQU FAKEADDR
|
||||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
DMACTL EQU ANTIC+$00
|
||||
CHACTL EQU ANTIC+$00
|
||||
DLPTR EQU ANTIC+$00
|
||||
;DLISTH EQU ANTIC+$00
|
||||
HSCROL EQU ANTIC+$00
|
||||
VSCROL EQU ANTIC+$00
|
||||
PMBASE EQU ANTIC+$00
|
||||
CHBASE EQU ANTIC+$00
|
||||
WSYNC EQU ANTIC+$00
|
||||
; !!!!
|
||||
VCOUNT EQU ANTIC+$00
|
||||
; ----
|
||||
PENH EQU ANTIC+$00
|
||||
PENV EQU ANTIC+$00
|
||||
NMIEN EQU ANTIC+$00
|
||||
NMIRES EQU ANTIC+$00
|
||||
NMIST EQU ANTIC+$00
|
||||
;
|
||||
;
|
||||
; ---------------------------------------------------------------------------
|
||||
PIA EQU FAKEADDR
|
||||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
PORTA EQU PIA+0
|
||||
PORTB EQU PIA+0
|
||||
PACTL EQU PIA+0
|
||||
PBCTL EQU PIA+0
|
||||
;
|
||||
; ---------------------------------------------------------------------------
|
||||
; Atari ANTIC chip display list equates
|
||||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
JUMP EQU $01 ; display list jump instruction (3 byte)
|
||||
JVB EQU $41 ; display list jump and wait for vblank instruction (3)
|
||||
;
|
||||
SCH EQU $10 ; display list horizontal scrolling
|
||||
SCV EQU $20 ; display list vertical scrolling
|
||||
LMS EQU $40 ; display list load memory scan instruction (3 byte)
|
||||
DLII EQU $80 ; display list interrupt instruction
|
||||
;
|
||||
SKIP1 EQU $00 ; display list skip 1 scan line instruction
|
||||
SKIP2 EQU $10 ; display list skip 2 scan lines instruction
|
||||
SKIP3 EQU $20 ; display list skip 3 scan lines instruction
|
||||
SKIP4 EQU $30 ; display list skip 4 scan lines instruction
|
||||
SKIP5 EQU $40 ; display list skip 5 scan lines instruction
|
||||
SKIP6 EQU $50 ; display list skip 6 scan lines instruction
|
||||
SKIP7 EQU $60 ; display list skip 7 scan lines instruction
|
||||
SKIP8 EQU $70 ; display list skip 8 scan lines instruction
|
||||
;
|
||||
MODE2 EQU $02 ; display list mode 2
|
||||
MODE4 EQU $04 ; display list mode 4
|
||||
MODE8 EQU $08 ; display list mode 8
|
||||
MODEE EQU $0E ; display list mode E
|
||||
MODEF EQU $0F ; display list mode F
|
||||
; ---------------------------------------------------------------------------
|
||||
; ENUMS
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
.enum @dmactl
|
||||
blank = %00
|
||||
narrow = %01
|
||||
standard= %10
|
||||
wide = %11
|
||||
missiles= %100
|
||||
players = %1000
|
||||
lineX1 = %10000
|
||||
lineX2 = %00000
|
||||
dma = %100000
|
||||
.ende
|
||||
|
||||
scr48 = @dmactl(wide|dma|players|missiles|lineX1)
|
||||
scr40 = @dmactl(standard|dma|players|missiles|lineX1)
|
||||
scr32 = @dmactl(narrow|dma|players|missiles|lineX1)
|
||||
|
||||
.enum @pmcntl
|
||||
missiles= %1
|
||||
players = %10
|
||||
trigs = %100
|
||||
.ende
|
||||
|
||||
.enum @gtictl
|
||||
prior0 = %0
|
||||
prior1 = %1
|
||||
prior2 = %10
|
||||
prior4 = %100
|
||||
prior8 = %1000
|
||||
ply5 = %10000 ; Fifth Player Enable
|
||||
mlc = %100000 ; Multiple Color Player Enable
|
||||
mode9 = %01000000
|
||||
mode10 = %10000000
|
||||
mode11 = %11000000
|
||||
.ende
|
||||
; ---------------------------------------------------------------------------
|
||||
; KBCODEs
|
||||
; ---------------------------------------------------------------------------
|
||||
.enum @kbcode
|
||||
_none = 255
|
||||
_esc = 28
|
||||
_1 = 31
|
||||
_2 = 30
|
||||
_3 = 26
|
||||
_4 = 24
|
||||
_5 = 29
|
||||
_6 = 27
|
||||
_7 = 51
|
||||
_8 = 53
|
||||
_9 = 48
|
||||
_0 = 50
|
||||
_lt = 54
|
||||
_gt = 55
|
||||
_del = 52
|
||||
_tab = 44
|
||||
_Q = 47
|
||||
_W = 46
|
||||
_E = 42
|
||||
_R = 40
|
||||
_T = 45
|
||||
_Y = 43
|
||||
_U = 11
|
||||
_I = 13
|
||||
_O = 8
|
||||
_P = 10
|
||||
_min = 14
|
||||
_up = 14 ; cursor function
|
||||
_eq = 15
|
||||
_down = 15 ; cursor function
|
||||
_ret = 12
|
||||
_A = 63
|
||||
_S = 62
|
||||
_D = 58
|
||||
_F = 56
|
||||
_G = 61
|
||||
_H = 57
|
||||
_J = 1
|
||||
_K = 5
|
||||
_L = 0
|
||||
_semicolon = 2
|
||||
_plus = 6
|
||||
_left = 6 ; cursor function
|
||||
_asterisk = 7
|
||||
_right = 7 ; cursor function
|
||||
_caps = 60
|
||||
_Z = 23
|
||||
_X = 22
|
||||
_C = 18
|
||||
_V = 16
|
||||
_B = 21
|
||||
_N = 36
|
||||
_M = 37
|
||||
_comma = 32
|
||||
_dot = 34
|
||||
_slash = 38
|
||||
_atari = 39
|
||||
_help = 17
|
||||
_F1 = 3
|
||||
_F2 = 4
|
||||
_F3 = 19
|
||||
_F4 = 20
|
||||
_space = 33
|
||||
.ende
|
||||
+2
-1
@@ -19,7 +19,7 @@
|
||||
opt h-f+
|
||||
org $801
|
||||
org [a($801)],$801
|
||||
basic_start(START)
|
||||
basic_start(FirstSTART)
|
||||
|
||||
|
||||
;---------------------------------------------------
|
||||
@@ -153,6 +153,7 @@ FirstZpageVariable = $57
|
||||
;-----------------------------------------------
|
||||
; libraries
|
||||
;-----------------------------------------------
|
||||
icl 'C64/lib/C64_ATARISYS.ASM'
|
||||
icl 'C64/lib/C64SYS.ASM'
|
||||
icl 'C64/lib/MACRO.ASM'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user