mirror of
https://github.com/Pecusx/scorch_src.git
synced 2026-05-21 06:39:40 +02:00
library switch
This commit is contained in:
+42
-42
@@ -4,6 +4,8 @@
|
|||||||
/***************************************/
|
/***************************************/
|
||||||
|
|
||||||
;icl "Scorch50.h"
|
;icl "Scorch50.h"
|
||||||
|
;icl "../lib/ATARISYS.ASM"
|
||||||
|
;icl "../lib/macro.hea"
|
||||||
|
|
||||||
; --- dmsc LZSS player routine on zero page
|
; --- dmsc LZSS player routine on zero page
|
||||||
org $80
|
org $80
|
||||||
@@ -64,8 +66,6 @@ song_data
|
|||||||
ins 'mmm_16.lzs'
|
ins 'mmm_16.lzs'
|
||||||
song_end
|
song_end
|
||||||
|
|
||||||
POKEY = $D200
|
|
||||||
|
|
||||||
buffers
|
buffers
|
||||||
.ds 256 * 9
|
.ds 256 * 9
|
||||||
|
|
||||||
@@ -216,7 +216,7 @@ main
|
|||||||
|
|
||||||
ift USESPRITES
|
ift USESPRITES
|
||||||
mva >pmg pmbase ;missiles and players data address
|
mva >pmg pmbase ;missiles and players data address
|
||||||
mva #$03 pmcntl ;enable players and missiles
|
mva #$03 GRACTL ;enable players and missiles
|
||||||
eif
|
eif
|
||||||
|
|
||||||
lda:cmp:req $14 ;wait 1 frame
|
lda:cmp:req $14 ;wait 1 frame
|
||||||
@@ -228,13 +228,13 @@ main
|
|||||||
|
|
||||||
;mwa #NMI $fffa ;new NMI handler
|
;mwa #NMI $fffa ;new NMI handler
|
||||||
|
|
||||||
sta colbaks
|
sta COLOR4
|
||||||
lda #$0E
|
lda #$0E
|
||||||
sta colpf1s
|
sta COLOR1
|
||||||
lda #$84
|
lda #$84
|
||||||
sta colpf2s
|
sta COLOR2
|
||||||
lda #$0E
|
lda #$0E
|
||||||
sta colpf3s
|
sta COLOR3
|
||||||
lda #$02
|
lda #$02
|
||||||
|
|
||||||
|
|
||||||
@@ -267,7 +267,7 @@ stop
|
|||||||
cli
|
cli
|
||||||
vmain sysvbv,6
|
vmain sysvbv,6
|
||||||
|
|
||||||
mva #$00 pmcntl ;PMG disabled
|
mva #$00 GRACTL ;PMG disabled
|
||||||
tax
|
tax
|
||||||
sta:rne hposp0,x+
|
sta:rne hposp0,x+
|
||||||
|
|
||||||
@@ -408,7 +408,7 @@ x16 lda #$4A
|
|||||||
sta hposp1
|
sta hposp1
|
||||||
c10 lda #$D4
|
c10 lda #$D4
|
||||||
sta wsync ;line=133
|
sta wsync ;line=133
|
||||||
sta color2
|
sta colpf2
|
||||||
s8 lda #$C3
|
s8 lda #$C3
|
||||||
x17 ldx #$5A
|
x17 ldx #$5A
|
||||||
sta wsync ;line=134
|
sta wsync ;line=134
|
||||||
@@ -464,7 +464,7 @@ c13 ldy #$02
|
|||||||
sta wsync ;line=157
|
sta wsync ;line=157
|
||||||
c14 lda #$04
|
c14 lda #$04
|
||||||
sta wsync ;line=158
|
sta wsync ;line=158
|
||||||
sta color0
|
sta colpf0
|
||||||
DLINEW dli7 1 1 1
|
DLINEW dli7 1 1 1
|
||||||
|
|
||||||
dli7
|
dli7
|
||||||
@@ -497,7 +497,7 @@ c16 ldx #$0E
|
|||||||
c17 lda #$0A
|
c17 lda #$0A
|
||||||
c18 ldx #$34
|
c18 ldx #$34
|
||||||
sta wsync ;line=188
|
sta wsync ;line=188
|
||||||
sta color1
|
sta colpf1
|
||||||
stx colpm3
|
stx colpm3
|
||||||
s13 lda #$43
|
s13 lda #$43
|
||||||
x23 ldx #$49
|
x23 ldx #$49
|
||||||
@@ -507,47 +507,47 @@ x23 ldx #$49
|
|||||||
c19 lda #$08
|
c19 lda #$08
|
||||||
c20 ldx #$34
|
c20 ldx #$34
|
||||||
sta wsync ;line=190
|
sta wsync ;line=190
|
||||||
sta color1
|
sta colpf1
|
||||||
stx colpm2
|
stx colpm2
|
||||||
sta wsync ;line=191
|
sta wsync ;line=191
|
||||||
c21 lda #$0A
|
c21 lda #$0A
|
||||||
sta wsync ;line=192
|
sta wsync ;line=192
|
||||||
sta color1
|
sta colpf1
|
||||||
c22 lda #$08
|
c22 lda #$08
|
||||||
sta wsync ;line=193
|
sta wsync ;line=193
|
||||||
sta color1
|
sta colpf1
|
||||||
c23 lda #$0A
|
c23 lda #$0A
|
||||||
sta wsync ;line=194
|
sta wsync ;line=194
|
||||||
sta color1
|
sta colpf1
|
||||||
c24 lda #$34
|
c24 lda #$34
|
||||||
sta wsync ;line=195
|
sta wsync ;line=195
|
||||||
sta color2
|
sta colpf2
|
||||||
c25 lda #$0C
|
c25 lda #$0C
|
||||||
sta wsync ;line=196
|
sta wsync ;line=196
|
||||||
sta color1
|
sta colpf1
|
||||||
c26 lda #$0A
|
c26 lda #$0A
|
||||||
sta wsync ;line=197
|
sta wsync ;line=197
|
||||||
sta color1
|
sta colpf1
|
||||||
c27 lda #$0C
|
c27 lda #$0C
|
||||||
sta wsync ;line=198
|
sta wsync ;line=198
|
||||||
sta color1
|
sta colpf1
|
||||||
sta wsync ;line=199
|
sta wsync ;line=199
|
||||||
sta wsync ;line=200
|
sta wsync ;line=200
|
||||||
c28 lda #$0E
|
c28 lda #$0E
|
||||||
sta wsync ;line=201
|
sta wsync ;line=201
|
||||||
sta color1
|
sta colpf1
|
||||||
c29 lda #$0C
|
c29 lda #$0C
|
||||||
sta wsync ;line=202
|
sta wsync ;line=202
|
||||||
sta color1
|
sta colpf1
|
||||||
c30 lda #$0E
|
c30 lda #$0E
|
||||||
sta wsync ;line=203
|
sta wsync ;line=203
|
||||||
sta color1
|
sta colpf1
|
||||||
c31 lda #$0C
|
c31 lda #$0C
|
||||||
sta wsync ;line=204
|
sta wsync ;line=204
|
||||||
sta color1
|
sta colpf1
|
||||||
c32 lda #$0E
|
c32 lda #$0E
|
||||||
sta wsync ;line=205
|
sta wsync ;line=205
|
||||||
sta color1
|
sta colpf1
|
||||||
DLINEW dli16 1 1 1
|
DLINEW dli16 1 1 1
|
||||||
|
|
||||||
dli16
|
dli16
|
||||||
@@ -557,13 +557,13 @@ dli16
|
|||||||
sta wsync ;line=209
|
sta wsync ;line=209
|
||||||
c33 lda #$0C
|
c33 lda #$0C
|
||||||
sta wsync ;line=210
|
sta wsync ;line=210
|
||||||
sta color1
|
sta colpf1
|
||||||
c34 lda #$0E
|
c34 lda #$0E
|
||||||
sta wsync ;line=211
|
sta wsync ;line=211
|
||||||
sta color1
|
sta colpf1
|
||||||
c35 lda #$0C
|
c35 lda #$0C
|
||||||
sta wsync ;line=212
|
sta wsync ;line=212
|
||||||
sta color1
|
sta colpf1
|
||||||
DLINEW dli9 1 0 0
|
DLINEW dli9 1 0 0
|
||||||
|
|
||||||
dli9
|
dli9
|
||||||
@@ -574,15 +574,15 @@ dli9
|
|||||||
c36 ldx #$0A
|
c36 ldx #$0A
|
||||||
sta wsync ;line=216
|
sta wsync ;line=216
|
||||||
sta chbase
|
sta chbase
|
||||||
stx color1
|
stx colpf1
|
||||||
c37 lda #$0C
|
c37 lda #$0C
|
||||||
sta wsync ;line=217
|
sta wsync ;line=217
|
||||||
sta color1
|
sta colpf1
|
||||||
c38 lda #$0A
|
c38 lda #$0A
|
||||||
x24 ldx #$9D
|
x24 ldx #$9D
|
||||||
c39 ldy #$34
|
c39 ldy #$34
|
||||||
sta wsync ;line=218
|
sta wsync ;line=218
|
||||||
sta color1
|
sta colpf1
|
||||||
stx hposm1
|
stx hposm1
|
||||||
sty colpm1
|
sty colpm1
|
||||||
s14 lda #$03
|
s14 lda #$03
|
||||||
@@ -594,7 +594,7 @@ c40 lda #$08
|
|||||||
s15 ldx #$13
|
s15 ldx #$13
|
||||||
x26 ldy #$45
|
x26 ldy #$45
|
||||||
sta wsync ;line=220
|
sta wsync ;line=220
|
||||||
sta color1
|
sta colpf1
|
||||||
stx sizem
|
stx sizem
|
||||||
sty hposm2
|
sty hposm2
|
||||||
s16 lda #$03
|
s16 lda #$03
|
||||||
@@ -612,8 +612,8 @@ x29 ldy #$79
|
|||||||
c41 lda #$06
|
c41 lda #$06
|
||||||
c42 ldx #$00
|
c42 ldx #$00
|
||||||
sta wsync ;line=223
|
sta wsync ;line=223
|
||||||
sta color1
|
sta colpf1
|
||||||
stx color2
|
stx colpf2
|
||||||
lda >fnt+$400*$01
|
lda >fnt+$400*$01
|
||||||
s18 ldx #$50
|
s18 ldx #$50
|
||||||
x30 ldy #$44
|
x30 ldy #$44
|
||||||
@@ -624,15 +624,15 @@ x30 ldy #$44
|
|||||||
sta wsync ;line=225
|
sta wsync ;line=225
|
||||||
c43 lda #$08
|
c43 lda #$08
|
||||||
sta wsync ;line=226
|
sta wsync ;line=226
|
||||||
sta color1
|
sta colpf1
|
||||||
c44 lda #$0C
|
c44 lda #$0C
|
||||||
sta wsync ;line=227
|
sta wsync ;line=227
|
||||||
sta color1
|
sta colpf1
|
||||||
sta wsync ;line=228
|
sta wsync ;line=228
|
||||||
sta wsync ;line=229
|
sta wsync ;line=229
|
||||||
c45 lda #$0E
|
c45 lda #$0E
|
||||||
sta wsync ;line=230
|
sta wsync ;line=230
|
||||||
sta color1
|
sta colpf1
|
||||||
DLINEW dli10 1 1 1
|
DLINEW dli10 1 1 1
|
||||||
|
|
||||||
dli10
|
dli10
|
||||||
@@ -699,15 +699,15 @@ VBL
|
|||||||
c0 lda #$00
|
c0 lda #$00
|
||||||
sta colbak
|
sta colbak
|
||||||
c1 lda #$0E
|
c1 lda #$0E
|
||||||
sta color1
|
sta colpf1
|
||||||
c2 lda #$84
|
c2 lda #$84
|
||||||
sta color2
|
sta colpf2
|
||||||
c3 lda #$0E
|
c3 lda #$0E
|
||||||
sta color3
|
sta colpf3
|
||||||
lda #$02
|
lda #$02
|
||||||
sta chrctl
|
sta CHACTL
|
||||||
lda #$01
|
lda #$01
|
||||||
sta gtictl
|
sta PRIOR
|
||||||
sta sizep0
|
sta sizep0
|
||||||
s0 lda #$03
|
s0 lda #$03
|
||||||
sta sizem
|
sta sizem
|
||||||
@@ -741,7 +741,7 @@ x6 lda #$A4
|
|||||||
x7 lda #$A6
|
x7 lda #$A6
|
||||||
sta hposm1
|
sta hposm1
|
||||||
c8 lda #$00
|
c8 lda #$00
|
||||||
sta color0
|
sta colpf0
|
||||||
|
|
||||||
mwa #DLI.dli_start dliv ;set the first address of DLI interrupt
|
mwa #DLI.dli_start dliv ;set the first address of DLI interrupt
|
||||||
|
|
||||||
|
|||||||
@@ -126,3 +126,7 @@ OffensiveTextTableH
|
|||||||
NumberOfOffensiveTexts=54
|
NumberOfOffensiveTexts=54
|
||||||
NumberOfDeffensiveTexts=60
|
NumberOfDeffensiveTexts=60
|
||||||
.endp
|
.endp
|
||||||
|
;hoverFull dta d"MY HOVERCRAFT IS FULL OF EELS!"
|
||||||
|
hoverFullEnd
|
||||||
|
;hoverEmpty dta d"RUNNING OUT OF EELS"
|
||||||
|
hoverEmptyEnd
|
||||||
+4
-4
@@ -971,7 +971,7 @@ DoNotClearParachute
|
|||||||
lda #08
|
lda #08
|
||||||
sta temp ; Loop Counter
|
sta temp ; Loop Counter
|
||||||
ByteBelowTank
|
ByteBelowTank
|
||||||
jsr point
|
jsr point_plot
|
||||||
beq EmptyPoint2
|
beq EmptyPoint2
|
||||||
sec
|
sec
|
||||||
ror UnderTank2
|
ror UnderTank2
|
||||||
@@ -1243,7 +1243,7 @@ drawmountainspixelloop
|
|||||||
NextColumn1
|
NextColumn1
|
||||||
mwa #0 ydraw
|
mwa #0 ydraw
|
||||||
NextPoint1
|
NextPoint1
|
||||||
jsr point
|
jsr point_plot
|
||||||
beq StillNothing
|
beq StillNothing
|
||||||
ldy #0
|
ldy #0
|
||||||
lda ydraw
|
lda ydraw
|
||||||
@@ -1294,7 +1294,7 @@ FalloutOfLine
|
|||||||
sta (tempor2),y
|
sta (tempor2),y
|
||||||
; and checking if there is a pixel there
|
; and checking if there is a pixel there
|
||||||
sta ydraw
|
sta ydraw
|
||||||
jsr point
|
jsr point_plot
|
||||||
bne ThereIsPixelHere
|
bne ThereIsPixelHere
|
||||||
; if no pixel we plot it
|
; if no pixel we plot it
|
||||||
mva #1 color
|
mva #1 color
|
||||||
@@ -1622,7 +1622,7 @@ ClearPlot
|
|||||||
.endp
|
.endp
|
||||||
|
|
||||||
; -----------------------------------------
|
; -----------------------------------------
|
||||||
.proc point
|
.proc point_plot
|
||||||
; -----------------------------------------
|
; -----------------------------------------
|
||||||
; checks state of the pixel (coordinates in xdraw and ydraw)
|
; checks state of the pixel (coordinates in xdraw and ydraw)
|
||||||
; result is in A (zero or appropriate bit is set)
|
; result is in A (zero or appropriate bit is set)
|
||||||
|
|||||||
@@ -0,0 +1,653 @@
|
|||||||
|
;****************************************************************************
|
||||||
|
;* ATARI PERSONAL COMPUTER *
|
||||||
|
;* SYSTEM EQUATES *
|
||||||
|
;****************************************************************************
|
||||||
|
;
|
||||||
|
; 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 $0200 ;DSP LIST NMI VECTOR
|
||||||
|
VPRCED EQU $0202 ;PROCEED IRQ VECTOR
|
||||||
|
VINTER EQU $0204 ;INTERUPT IRQ VECTOR
|
||||||
|
VBREAK EQU $0206 ;BRK INST IRQ VECTOR
|
||||||
|
VKEYBD EQU $0208 ;POKEY KB IRQ VECTOR
|
||||||
|
VSERIN EQU $020A ;POKEY INPUT RDY IRQ
|
||||||
|
VSEROR EQU $020C ;POKEY OUTPUT RDY
|
||||||
|
VSEROC EQU $020E ;POKEY OUTPUT DONE
|
||||||
|
VTIMR1 EQU $0210 ;POKEY TIMER 1 IRQ
|
||||||
|
VTIMR2 EQU $0212 ;POKEY TIMER 2 IRQ
|
||||||
|
VTIMR4 EQU $0214 ;POKEY TIMER 4 IRQ
|
||||||
|
VIMIRQ EQU $0216 ;IMMED IRQ VECTOR
|
||||||
|
CDTMV1 EQU $0218 ;COUNT DOWN TIMER 1
|
||||||
|
CDTMV2 EQU $021A ;COUNT DOWN TIMER 2
|
||||||
|
CDTMV3 EQU $021C ;COUNT DOWN TIMER 3
|
||||||
|
CDTMV4 EQU $021E ;COUNT DOWN TIMER 4
|
||||||
|
CDTMV5 EQU $0220 ;COUNT DOWN TIMER 5
|
||||||
|
VVBLKI EQU $0222 ;IMM VBLK NMI VECTOR
|
||||||
|
VVBLKD EQU $0224 ;DEF VBLK NMI VECTOR
|
||||||
|
CDTMA1 EQU $0226 ;CDTMV1 JSR ADDRESS
|
||||||
|
CDTMA2 EQU $0228 ;CDTMV2 JSR ADDRESS
|
||||||
|
CDTMF3 EQU $022A ;CDTMV3 FLAG
|
||||||
|
SRTIMR EQU $022B ;SOFTWARE REPEAT TMR
|
||||||
|
CDTMF4 EQU $022C ;CDTMV4 FLAG
|
||||||
|
INTEMP EQU $022D ;IAN'S TEMP
|
||||||
|
CDTMF5 EQU $022E ;CDTMV5 FLAG
|
||||||
|
DMACTLS EQU $022F ;SAVE DMACTL REG
|
||||||
|
DLPTRS EQU $0230 ;SAVE DISP LIST LO
|
||||||
|
;SDLSTH EQU $0231 ;SAVE DISP LIST HI
|
||||||
|
SSKCTL EQU $0232 ;SKCTL REGISTER RAM
|
||||||
|
LCOUNT EQU $0233 ;LOADER TEMP
|
||||||
|
LPENH EQU $0234 ;LIGHT PEN HORIZONTAL
|
||||||
|
LPENV EQU $0235 ;LIGHT PEN VERTICAL
|
||||||
|
BRKKY EQU $0236 ;BREAK KEY VECTOR
|
||||||
|
RELADR EQU $0238 ;LOADER REL ADDR
|
||||||
|
CDEVIC EQU $023A ;COMMAND BUFFER-DEV
|
||||||
|
CCOMND EQU $023B ;COMMAND BUFFER-CMND
|
||||||
|
CAUX1 EQU $023C ;COMMAND BUFFER AUX1
|
||||||
|
CAUX2 EQU $023D ;COMMAND BUFFER AUX2
|
||||||
|
;TEMP EQU $023E ;TEMPORARY RAM CELL
|
||||||
|
ERRFLG EQU $023F ;DEVICE ERROR FLAG
|
||||||
|
DFLAGS EQU $0240 ;DISK FLAGS(SECTOR1)
|
||||||
|
DBSECT EQU $0241 ;# DISK BOOT SECTORS
|
||||||
|
BOOTAD EQU $0242 ;DISK BOOT ADDRESS
|
||||||
|
COLDST EQU $0244 ;COLDSTART FLAG 1=CS
|
||||||
|
RECLEN EQU $0245 ;LOADER LENGTH
|
||||||
|
DSKTIM EQU $0246 ;DISK TIME OUT REG
|
||||||
|
VSFLAG EQU $026C ;FINE SCROLL TEMP
|
||||||
|
KEYDIS EQU $026D ;KEY DISABLE FLAG
|
||||||
|
FINE EQU $026E ;FINE SCROLL ENABLE(A1200)
|
||||||
|
GPRIOR EQU $026F ;GLOBAL PRIORITY
|
||||||
|
PADDL0 EQU $0270 ;POT 0 RAM CELL
|
||||||
|
PADDL1 EQU $0271
|
||||||
|
PADDL2 EQU $0272
|
||||||
|
PADDL3 EQU $0273
|
||||||
|
STICK0 EQU $0278 ;JOYSTICK 0 RAM CELL
|
||||||
|
STICK1 EQU $0279
|
||||||
|
PTRIG0 EQU $027C ;PADDLE TRIGGER 0
|
||||||
|
PTRIG1 EQU $027D
|
||||||
|
PTRIG2 EQU $027E
|
||||||
|
PTRIG3 EQU $027F
|
||||||
|
STRIG0 EQU $0284 ;JOYSTICK TRIGGER 0
|
||||||
|
STRIG1 EQU $0285
|
||||||
|
HIBYTE EQU $0288 ;LOADER
|
||||||
|
WMODE EQU $0289 ;CASSETTE R/W MODE
|
||||||
|
BLIM EQU $028A ;CASSETTE RECORD SIZE
|
||||||
|
IMASK EQU $028B
|
||||||
|
JVECK EQU $028C ;JUMP VECTOR
|
||||||
|
NEWADR EQU $028E ;LOADER NEW ADDRESS
|
||||||
|
TXTROW EQU $0290 ;TEXT ROWCRS
|
||||||
|
TXTCOL EQU $0291 ;TEXT COLCRS
|
||||||
|
TINDEX EQU $0293 ;TEXT INDEX
|
||||||
|
TXTMSC EQU $0294 ;TEXT WINDOW MEM ADD
|
||||||
|
TXTOLD EQU $0296 ;TEXT OLDROW & COL
|
||||||
|
CRETRY EQU $029C ;# COMMAND RETRIES
|
||||||
|
HOLD3 EQU $029D
|
||||||
|
SUBTMP EQU $029E
|
||||||
|
HOLD2 EQU $029F
|
||||||
|
DMASK EQU $02A0 ;PIXEL LOCATION MASK
|
||||||
|
TMPLBT EQU $02A1
|
||||||
|
ESCFLG EQU $02A2 ;ESCAPE FLAG
|
||||||
|
TABMAP EQU $02A3 ;TAB STOP MAP
|
||||||
|
LOGMAP EQU $02B2 ;LINE START BIT MAP
|
||||||
|
INVFLG EQU $02B6 ;INVERSE VIDEO FLAG
|
||||||
|
FILFLG EQU $02B7 ;FILL FLAG FOR DRAW
|
||||||
|
TMPROW EQU $02B8
|
||||||
|
TMPCOL EQU $02B9
|
||||||
|
SCRFLG EQU $02BB ;SET IF SCROLLING
|
||||||
|
HOLD4 EQU $02BC ;TEMP USED BY DRAW
|
||||||
|
DRETRY EQU $02BD ;# OF DEVICE RETRIES
|
||||||
|
SHFLOK EQU $02BE ;SHIFT/CTL LOCK FLAG
|
||||||
|
BOTSCR EQU $02BF ;BOTTOM OF SCREEN
|
||||||
|
PCOLR0 EQU $02C0 ;P0 COLOR
|
||||||
|
PCOLR1 EQU $02C1 ;P1 COLOR
|
||||||
|
PCOLR2 EQU $02C2 ;P2 COLOR
|
||||||
|
PCOLR3 EQU $02C3 ;P3 COLOR
|
||||||
|
COLOR0 EQU $02C4 ;COLOR 0
|
||||||
|
COLOR1 EQU $02C5
|
||||||
|
COLOR2 EQU $02C6
|
||||||
|
COLOR3 EQU $02C7
|
||||||
|
COLOR4 EQU $02C8
|
||||||
|
RUNADR EQU $02C9 ;LOADER
|
||||||
|
HIUSED EQU $02CB ;LOADER
|
||||||
|
ZHIUSE EQU $02CD ;LOADER
|
||||||
|
GBYTEA EQU $02CF ;LOADER
|
||||||
|
LOADAD EQU $02D1 ;LOADER
|
||||||
|
ZLOADA EQU $02D3 ;LOADER
|
||||||
|
DSCTLN EQU $02D5 ;DISK SECTOR LENGTH
|
||||||
|
ACMISR EQU $02D7 ;RESERVED
|
||||||
|
KRPDEL EQU $02D9 ;KEY REPEAT DELAY
|
||||||
|
KEYREP EQU $02DA ;KEY REPEAT RATE(VBLANKS)
|
||||||
|
NOCLIK EQU $02DB ;CLICK ENABLE/DISABLE
|
||||||
|
HELPFG EQU $02DC ;HELP KEY FLAG
|
||||||
|
DMASAV EQU $02DD ;DMA SAVE STATE
|
||||||
|
PBPNT EQU $02DE ;PRINT BUFFER POINTER
|
||||||
|
PBUFSZ EQU $02DF ;PRINT BUFFER SIZE
|
||||||
|
DOSRUN EQU $02E0 ;DOS RUN/INIT ADDRESSES
|
||||||
|
RAMSIZ EQU $02E4 ;RAM SIZE-HIGH BYTE
|
||||||
|
MEMTOP EQU $02E5 ;TOP OF AVAIL MEMORY
|
||||||
|
MEMLO EQU $02E7 ;BOTTOM OF AVAIL MEM
|
||||||
|
HNDLOD EQU $02E9 ;POLL FLAG (1200)
|
||||||
|
DVSTAT EQU $02EA ;STATUS BUFFER
|
||||||
|
CBAUDL EQU $02EE ;CASSETTE BAUD RATE
|
||||||
|
CBAUDH EQU $02EF
|
||||||
|
CRSINH EQU $02F0 ;CURSOR INHIBIT 0=ON
|
||||||
|
KEYDEL EQU $02F1 ;KEY DELAY
|
||||||
|
CH1 EQU $02F2 ;PRIOR KB CHAR CODE
|
||||||
|
CHACT EQU $02F3 ;CHACTL REGISTER RAM
|
||||||
|
CHBAS EQU $02F4 ;CHBAS REGISTER RAM
|
||||||
|
NEWROW EQU $02F5 ;POINT DRAW GOES TO
|
||||||
|
NEWCOL EQU $02F6
|
||||||
|
ROWINC EQU $02F8 ;ROW INCREMENT VALUE
|
||||||
|
COLINC EQU $02F9 ;COL INCREMENT VALUE
|
||||||
|
CHAR EQU $02FA ;INTERNAL CHAR CODE
|
||||||
|
ATACHR EQU $02FB ;ATASCII CHARACTER
|
||||||
|
CHKEY EQU $02FC ;KB CHAR CODE (FIFO)
|
||||||
|
FILDAT EQU $02FD ;RIGHT FILL DATA
|
||||||
|
DSPFLG EQU $02FE ;DISPLAY FLAG
|
||||||
|
SSFLAG EQU $02FF ;START/STOP FLAG
|
||||||
|
;
|
||||||
|
; PAGE THREE RAM ASSIGNMENTS
|
||||||
|
;
|
||||||
|
DDEVIC EQU $0300 ;BUS I.D. NUMBER
|
||||||
|
DUNIT EQU $0301 ;UNIT NUMBER
|
||||||
|
DCOMND EQU $0302 ;BUS COMMAND
|
||||||
|
DSTATS EQU $0303 ;COMMAND TYPE/STATUS
|
||||||
|
DBUFLO EQU $0304 ;DATA BUFFER LO BYTE
|
||||||
|
DBUFHI EQU $0305 ;DATA BUFFER HI BYTE
|
||||||
|
DTIMLO EQU $0306 ;DEVICE TIMEOUT SECS
|
||||||
|
DUNUSE EQU $0307 ;UNUSED BYTE
|
||||||
|
DBYTLO EQU $0308 ;# OF BYTES XFERRED
|
||||||
|
DBYTHI EQU $0309
|
||||||
|
DAUX1 EQU $030A ;COMMAND AUX BYTE 1
|
||||||
|
DAUX2 EQU $030B ;COMMAND AUX BYTE 2
|
||||||
|
TIMER1 EQU $030C ;INITIAL TIMER VALUE
|
||||||
|
JMPERS EQU $030E ;OPTIONS (1200)
|
||||||
|
CASFLG EQU $030F ;CASSETE MODE IF SET
|
||||||
|
TIMER2 EQU $0310 ;FINAL TIMER VALUE
|
||||||
|
;TEMP1 EQU $0312 ;TEMP STORAGE
|
||||||
|
;TEMP2 EQU $0313 ;TEMP STORAGE
|
||||||
|
PTIMOT EQU $0314 ;PRINTER TIMEOUT REG
|
||||||
|
;TEMP3 EQU $0315 ;TEMP STORAGE
|
||||||
|
SAVIO EQU $0316 ;SAVE SERIAL IN DATA
|
||||||
|
TIMFLG EQU $0317 ;TIMEOUT FLAG C BAUD
|
||||||
|
STACKP EQU $0318 ;SIO STACK PTR SAVE
|
||||||
|
TSTAT EQU $0319 ;TEMP STATUS HOLDER
|
||||||
|
HATABS EQU $031A ;HANDLER ADDR TABLE
|
||||||
|
PUPBT1 EQU $033D ;POWER/UP RESET
|
||||||
|
PUPBT2 EQU $033E
|
||||||
|
PUPBT3 EQU $033F
|
||||||
|
ICHID EQU $0340 ;HANDLER INDEX #
|
||||||
|
ICDNO EQU $0341 ;DEVICE NUMBER
|
||||||
|
ICCOM EQU $0342 ;COMMAND CODE
|
||||||
|
ICSTA EQU $0343 ;STATUS
|
||||||
|
ICBAL EQU $0344 ;BUFFER ADDR LO BYTE
|
||||||
|
ICBAH EQU $0345 ;BUFFER ADDR HI BYTE
|
||||||
|
ICPTL EQU $0346 ;PUT ROUTINE ADDR-1
|
||||||
|
ICPTH EQU $0347
|
||||||
|
ICBLL EQU $0348 ;BUFFER LENGTH LO
|
||||||
|
ICBLH EQU $0349 ;BUFFER LENGTH HI
|
||||||
|
ICAX1 EQU $034A ;AUX BYTE 1
|
||||||
|
ICAX2 EQU $034B ;AUX BYTE 2
|
||||||
|
ICSPR EQU $034C ;SPARE BYTES
|
||||||
|
PRNBUF EQU $03C0 ;PRINTER BUFFER (40 BYTES)
|
||||||
|
SUPERF EQU $03E8 ;SCREEN EDITOR
|
||||||
|
CKEY EQU $03E9 ;START KEY FLAG
|
||||||
|
CASSBT EQU $03EA ;CASSETTE BOOT FLAG
|
||||||
|
CARTCK EQU $03EB ;CARTRIDGE CHECKSUM
|
||||||
|
ACMVAR EQU $03ED ;RESERVED
|
||||||
|
MINTLK EQU $03F9 ;RESERVED
|
||||||
|
GINTLK EQU $03FA ;CART INTERLOCK
|
||||||
|
CHLINK EQU $03FB ;HANDLER CHAIN
|
||||||
|
;
|
||||||
|
; PAGE FOUR RAM ASSIGNMENTS
|
||||||
|
;
|
||||||
|
CASBUF EQU $03FD ;CASSETTE BUFFER (131 BYTES)
|
||||||
|
USAREA EQU $0480 ;USER AREA
|
||||||
|
;
|
||||||
|
; PAGE FIVE AND SIX ARE RESERVED
|
||||||
|
; FOR USER WORK SPACE
|
||||||
|
;
|
||||||
|
; COLLEEN MNEMONICS
|
||||||
|
;
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
POKEY EQU $D200
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
;
|
||||||
|
; READ
|
||||||
|
;
|
||||||
|
POT0 EQU POKEY+$00
|
||||||
|
POT1 EQU POKEY+$01
|
||||||
|
POT2 EQU POKEY+$02
|
||||||
|
POT3 EQU POKEY+$03
|
||||||
|
POT4 EQU POKEY+$04
|
||||||
|
POT5 EQU POKEY+$05
|
||||||
|
POT6 EQU POKEY+$06
|
||||||
|
POT7 EQU POKEY+$07
|
||||||
|
ALLPOT EQU POKEY+$08
|
||||||
|
KBCODE EQU POKEY+$09
|
||||||
|
RANDOM EQU POKEY+$0a
|
||||||
|
POTGO EQU POKEY+$0b
|
||||||
|
SERIN EQU POKEY+$0d
|
||||||
|
IRQST EQU POKEY+$0e
|
||||||
|
SKSTAT EQU POKEY+$0f
|
||||||
|
;
|
||||||
|
; WRITE
|
||||||
|
;
|
||||||
|
AUDF1 EQU POKEY+$00
|
||||||
|
AUDC1 EQU POKEY+$01
|
||||||
|
AUDF2 EQU POKEY+$02
|
||||||
|
AUDC2 EQU POKEY+$03
|
||||||
|
AUDF3 EQU POKEY+$04
|
||||||
|
AUDC3 EQU POKEY+$05
|
||||||
|
AUDF4 EQU POKEY+$06
|
||||||
|
AUDC4 EQU POKEY+$07
|
||||||
|
AUDCTL EQU POKEY+$08
|
||||||
|
STIMER EQU POKEY+$09
|
||||||
|
SKRES EQU POKEY+$0a
|
||||||
|
SEROUT EQU POKEY+$0d
|
||||||
|
IRQEN EQU POKEY+$0e
|
||||||
|
SKCTL EQU POKEY+$0f
|
||||||
|
;
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
GTIA EQU $D000
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
;
|
||||||
|
; WRITE
|
||||||
|
;
|
||||||
|
HPOSP0 EQU GTIA+$00
|
||||||
|
HPOSP1 EQU GTIA+$01
|
||||||
|
HPOSP2 EQU GTIA+$02
|
||||||
|
HPOSP3 EQU GTIA+$03
|
||||||
|
HPOSM0 EQU GTIA+$04
|
||||||
|
HPOSM1 EQU GTIA+$05
|
||||||
|
HPOSM2 EQU GTIA+$06
|
||||||
|
HPOSM3 EQU GTIA+$07
|
||||||
|
SIZEP0 EQU GTIA+$08
|
||||||
|
SIZEP1 EQU GTIA+$09
|
||||||
|
SIZEP2 EQU GTIA+$0a
|
||||||
|
SIZEP3 EQU GTIA+$0b
|
||||||
|
SIZEM EQU GTIA+$0c
|
||||||
|
GRAFP0 EQU GTIA+$0d
|
||||||
|
GRAFP1 EQU GTIA+$0e
|
||||||
|
GRAFP2 EQU GTIA+$0f
|
||||||
|
GRAFP3 EQU GTIA+$10
|
||||||
|
GRAFM EQU GTIA+$11
|
||||||
|
COLPM0 EQU GTIA+$12
|
||||||
|
COLPM1 EQU GTIA+$13
|
||||||
|
COLPM2 EQU GTIA+$14
|
||||||
|
COLPM3 EQU GTIA+$15
|
||||||
|
COLPF0 EQU GTIA+$16
|
||||||
|
COLPF1 EQU GTIA+$17
|
||||||
|
COLPF2 EQU GTIA+$18
|
||||||
|
COLPF3 EQU GTIA+$19
|
||||||
|
COLBAK EQU GTIA+$1a
|
||||||
|
PRIOR EQU GTIA+$1b
|
||||||
|
VDELAY EQU GTIA+$1c
|
||||||
|
GRACTL EQU GTIA+$1d
|
||||||
|
HITCLR EQU GTIA+$1e
|
||||||
|
CONSOL EQU GTIA+$1f
|
||||||
|
;
|
||||||
|
; READ
|
||||||
|
;
|
||||||
|
M0PF EQU GTIA+$00
|
||||||
|
M1PF EQU GTIA+$01
|
||||||
|
M2PF EQU GTIA+$02
|
||||||
|
M3PF EQU GTIA+$03
|
||||||
|
P0PF EQU GTIA+$04
|
||||||
|
P1PF EQU GTIA+$05
|
||||||
|
P2PF EQU GTIA+$06
|
||||||
|
P3PF EQU GTIA+$07
|
||||||
|
M0PL EQU GTIA+$08
|
||||||
|
M1PL EQU GTIA+$09
|
||||||
|
M2PL EQU GTIA+$0a
|
||||||
|
M3PL EQU GTIA+$0b
|
||||||
|
P0PL EQU GTIA+$0c
|
||||||
|
P1PL EQU GTIA+$0d
|
||||||
|
P2PL EQU GTIA+$0e
|
||||||
|
P3PL EQU GTIA+$0f
|
||||||
|
TRIG0 EQU GTIA+$10
|
||||||
|
TRIG1 EQU GTIA+$11
|
||||||
|
TRIG2 EQU GTIA+$12
|
||||||
|
TRIG3 EQU GTIA+$13
|
||||||
|
PAL EQU GTIA+$14
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
ANTIC EQU $D400
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
;
|
||||||
|
DMACTL EQU ANTIC+$00
|
||||||
|
CHACTL EQU ANTIC+$01
|
||||||
|
DLPTR EQU ANTIC+$02
|
||||||
|
;DLISTH EQU ANTIC+$03
|
||||||
|
HSCROL EQU ANTIC+$04
|
||||||
|
VSCROL EQU ANTIC+$05
|
||||||
|
PMBASE EQU ANTIC+$07
|
||||||
|
CHBASE EQU ANTIC+$09
|
||||||
|
WSYNC EQU ANTIC+$0a
|
||||||
|
VCOUNT EQU ANTIC+$0b
|
||||||
|
PENH EQU ANTIC+$0c
|
||||||
|
PENV EQU ANTIC+$0d
|
||||||
|
NMIEN EQU ANTIC+$0e
|
||||||
|
NMIRES EQU ANTIC+$0f
|
||||||
|
NMIST EQU ANTIC+$0f
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
PIA EQU $D300
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
;
|
||||||
|
PORTA EQU PIA+0
|
||||||
|
PORTB EQU PIA+1
|
||||||
|
PACTL EQU PIA+2
|
||||||
|
PBCTL EQU PIA+3
|
||||||
|
;
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; 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
|
||||||
+20
-20
@@ -43,7 +43,7 @@
|
|||||||
; icl 'artwork/sfx/rmt_feat.asm'
|
; icl 'artwork/sfx/rmt_feat.asm'
|
||||||
|
|
||||||
|
|
||||||
.zpvar xdraw .word = $80 ;variable X for plot
|
.zpvar xdraw .word = $64 ;variable X for plot
|
||||||
.zpvar ydraw .word ;variable Y for plot (like in Atari Basic - Y=0 in upper right corner of the screen)
|
.zpvar ydraw .word ;variable Y for plot (like in Atari Basic - Y=0 in upper right corner of the screen)
|
||||||
.zpvar xbyte .word
|
.zpvar xbyte .word
|
||||||
.zpvar ybyte .word
|
.zpvar ybyte .word
|
||||||
@@ -141,7 +141,7 @@
|
|||||||
|
|
||||||
;-------------------------------
|
;-------------------------------
|
||||||
|
|
||||||
icl 'lib/atari.hea'
|
icl 'lib/ATARISYS.ASM'
|
||||||
icl 'lib/macro.hea'
|
icl 'lib/macro.hea'
|
||||||
|
|
||||||
;splash screen and musix
|
;splash screen and musix
|
||||||
@@ -384,8 +384,8 @@ NoGameOverYet
|
|||||||
|
|
||||||
jsr SetPMWidth
|
jsr SetPMWidth
|
||||||
lda #0
|
lda #0
|
||||||
sta colpf2s ; status line "off"
|
sta COLOR2 ; status line "off"
|
||||||
sta colpf1s
|
sta COLOR1
|
||||||
|
|
||||||
tax
|
tax
|
||||||
@ sta singleRoundVars,x
|
@ sta singleRoundVars,x
|
||||||
@@ -450,7 +450,7 @@ SettingEnergies
|
|||||||
mva #$00 TankSequencePointer
|
mva #$00 TankSequencePointer
|
||||||
|
|
||||||
;---------round screen is ready---------
|
;---------round screen is ready---------
|
||||||
mva #TextForegroundColor colpf1s ; status line "on"
|
mva #TextForegroundColor COLOR1 ; status line "on"
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
@@ -531,7 +531,7 @@ DoNotFinishTheRound
|
|||||||
|
|
||||||
ldx tankNr
|
ldx tankNr
|
||||||
lda TankStatusColoursTable,x
|
lda TankStatusColoursTable,x
|
||||||
sta colpf2s ; set color of status line
|
sta COLOR2 ; set color of status line
|
||||||
jsr PutTankNameOnScreen
|
jsr PutTankNameOnScreen
|
||||||
jsr DisplayStatus
|
jsr DisplayStatus
|
||||||
|
|
||||||
@@ -970,15 +970,15 @@ B0 DEY
|
|||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc ColorsOfSprites
|
.proc ColorsOfSprites
|
||||||
lda TankColoursTable ; colours of sprites under tanks
|
lda TankColoursTable ; colours of sprites under tanks
|
||||||
sta COLPM0S
|
sta PCOLR0
|
||||||
lda TankColoursTable+1
|
lda TankColoursTable+1
|
||||||
sta COLPM1S
|
sta PCOLR1
|
||||||
lda TankColoursTable+2
|
lda TankColoursTable+2
|
||||||
sta COLPM2S
|
sta PCOLR2
|
||||||
lda TankColoursTable+3
|
lda TankColoursTable+3
|
||||||
sta COLPM3S
|
sta PCOLR3
|
||||||
LDA TankColoursTable+4
|
LDA TankColoursTable+4
|
||||||
STA COLPF3S ; joined missiles (5th tank)
|
STA COLOR3 ; joined missiles (5th tank)
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|
||||||
@@ -1055,10 +1055,10 @@ SetunPlots
|
|||||||
; ora #$38 ; Players and Missiles single lined
|
; ora #$38 ; Players and Missiles single lined
|
||||||
; sta dmactls
|
; sta dmactls
|
||||||
lda #$03 ; P/M on
|
lda #$03 ; P/M on
|
||||||
sta pmcntl
|
sta GRACTL
|
||||||
jsr SetPMWidth
|
jsr SetPMWidth
|
||||||
lda #%00100001 ; P/M priorities (multicolor players on) - prior=1
|
lda #%00100001 ; P/M priorities (multicolor players on) - prior=1
|
||||||
sta gtictls
|
sta GPRIOR
|
||||||
jsr PMoutofScreen
|
jsr PMoutofScreen
|
||||||
|
|
||||||
;let the tanks be visible!
|
;let the tanks be visible!
|
||||||
@@ -1150,14 +1150,14 @@ MakeTanksVisible
|
|||||||
bne EndofPMG
|
bne EndofPMG
|
||||||
lda #%00100001 ; playfield after P/M - prior=1
|
lda #%00100001 ; playfield after P/M - prior=1
|
||||||
STA WSYNC
|
STA WSYNC
|
||||||
sta gtictl
|
sta PRIOR
|
||||||
bne EndOfDLI_GO
|
bne EndOfDLI_GO
|
||||||
EndofPMG
|
EndofPMG
|
||||||
cmp #1
|
cmp #1
|
||||||
bne ColoredLines
|
bne ColoredLines
|
||||||
lda #%00100100 ; playfield before P/M
|
lda #%00100100 ; playfield before P/M
|
||||||
STA WSYNC
|
STA WSYNC
|
||||||
sta gtictl
|
sta PRIOR
|
||||||
bne EndOfDLI_GO
|
bne EndOfDLI_GO
|
||||||
ColoredLines
|
ColoredLines
|
||||||
cmp #9
|
cmp #9
|
||||||
@@ -1519,7 +1519,7 @@ checkJoyGetKey
|
|||||||
;------------JOY-------------
|
;------------JOY-------------
|
||||||
;happy happy joy joy
|
;happy happy joy joy
|
||||||
;check for joystick now
|
;check for joystick now
|
||||||
lda JSTICK0
|
lda STICK0
|
||||||
and #$0f
|
and #$0f
|
||||||
cmp #$0f
|
cmp #$0f
|
||||||
beq notpressedJoyGetKey
|
beq notpressedJoyGetKey
|
||||||
@@ -1529,7 +1529,7 @@ checkJoyGetKey
|
|||||||
|
|
||||||
notpressedJoyGetKey
|
notpressedJoyGetKey
|
||||||
;fire
|
;fire
|
||||||
lda TRIG0S
|
lda STRIG0
|
||||||
bne @-
|
bne @-
|
||||||
lda #$0c ;Return key
|
lda #$0c ;Return key
|
||||||
|
|
||||||
@@ -1550,11 +1550,11 @@ getkeyend
|
|||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc WaitForKeyRelease
|
.proc WaitForKeyRelease
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
lda JSTICK0
|
lda STICK0
|
||||||
and #$0f
|
and #$0f
|
||||||
cmp #$0f
|
cmp #$0f
|
||||||
bne WaitForKeyRelease
|
bne WaitForKeyRelease
|
||||||
lda TRIG0S
|
lda STRIG0
|
||||||
beq WaitForKeyRelease
|
beq WaitForKeyRelease
|
||||||
lda SKSTAT
|
lda SKSTAT
|
||||||
cmp #$ff
|
cmp #$ff
|
||||||
@@ -1568,7 +1568,7 @@ getkeyend
|
|||||||
and #%00000100
|
and #%00000100
|
||||||
beq @+
|
beq @+
|
||||||
lda #1
|
lda #1
|
||||||
@ and TRIG0S
|
@ and STRIG0
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
|
|||||||
BIN
Binary file not shown.
+9
-9
@@ -26,9 +26,9 @@
|
|||||||
lda #%00111110 ; normal screen width, DL on, P/M on
|
lda #%00111110 ; normal screen width, DL on, P/M on
|
||||||
sta dmactls
|
sta dmactls
|
||||||
jsr SetPMWidth
|
jsr SetPMWidth
|
||||||
mva #TextBackgroundColor colpf2s
|
mva #TextBackgroundColor COLOR2
|
||||||
jsr ColorsOfSprites
|
jsr ColorsOfSprites
|
||||||
mva #$ca colpf1s
|
mva #$ca COLOR1
|
||||||
|
|
||||||
VDLI DLIinterruptOptions ; jsr SetDLI for Options text screen
|
VDLI DLIinterruptOptions ; jsr SetDLI for Options text screen
|
||||||
|
|
||||||
@@ -294,7 +294,7 @@ AfterManualPurchase
|
|||||||
|
|
||||||
ldx tankNr
|
ldx tankNr
|
||||||
lda TankStatusColoursTable,x
|
lda TankStatusColoursTable,x
|
||||||
sta colpf2s
|
sta COLOR2
|
||||||
|
|
||||||
|
|
||||||
; we are clearing list of the weapons
|
; we are clearing list of the weapons
|
||||||
@@ -1050,7 +1050,7 @@ NoArrowDown
|
|||||||
mva #0 TankNr
|
mva #0 TankNr
|
||||||
@ tax
|
@ tax
|
||||||
lda TankStatusColoursTable,x
|
lda TankStatusColoursTable,x
|
||||||
sta colpf2s ; set color of player name line
|
sta COLOR2 ; set color of player name line
|
||||||
jsr EnterPlayerName
|
jsr EnterPlayerName
|
||||||
bit escFlag
|
bit escFlag
|
||||||
spl:rts
|
spl:rts
|
||||||
@@ -1909,12 +1909,12 @@ FinishResultDisplay
|
|||||||
lda #%00111110 ; normal screen width, DL on, P/M on
|
lda #%00111110 ; normal screen width, DL on, P/M on
|
||||||
sta dmactls
|
sta dmactls
|
||||||
lda #%00100100 ; playfield before P/M
|
lda #%00100100 ; playfield before P/M
|
||||||
sta gtictls
|
sta GPRIOR
|
||||||
jsr SetPMWidth
|
jsr SetPMWidth
|
||||||
jsr ColorsOfSprites
|
jsr ColorsOfSprites
|
||||||
mva #0 colpf1s
|
mva #0 COLOR1
|
||||||
sta CreditsVScrol
|
sta CreditsVScrol
|
||||||
mva #TextForegroundColor colpf2s
|
mva #TextForegroundColor COLOR2
|
||||||
VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen
|
VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen
|
||||||
; make text and color lines for each tank
|
; make text and color lines for each tank
|
||||||
ldx NumberOfPlayers ;we start from the highest (best) tank
|
ldx NumberOfPlayers ;we start from the highest (best) tank
|
||||||
@@ -2402,8 +2402,8 @@ NextChar02
|
|||||||
mva #GOSbeg hposp0
|
mva #GOSbeg hposp0
|
||||||
mva #GOSbeg+12 hposp0+1
|
mva #GOSbeg+12 hposp0+1
|
||||||
|
|
||||||
mva #15 COLPM0S
|
mva #15 PCOLR0
|
||||||
sta COLPM1S
|
sta PCOLR1
|
||||||
|
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
|
|||||||
+4
-4
@@ -1261,7 +1261,7 @@ checkJoy
|
|||||||
;------------JOY-------------
|
;------------JOY-------------
|
||||||
;happy happy joy joy
|
;happy happy joy joy
|
||||||
;check for joystick now
|
;check for joystick now
|
||||||
lda JSTICK0
|
lda STICK0
|
||||||
and #$0f
|
and #$0f
|
||||||
cmp #$0f
|
cmp #$0f
|
||||||
beq notpressedJoy
|
beq notpressedJoy
|
||||||
@@ -1270,7 +1270,7 @@ checkJoy
|
|||||||
jmp jumpFromStick
|
jmp jumpFromStick
|
||||||
notpressedJoy
|
notpressedJoy
|
||||||
;fire
|
;fire
|
||||||
lda TRIG0S
|
lda STRIG0
|
||||||
jeq pressedSpace
|
jeq pressedSpace
|
||||||
mva #$ff pressTimer ; stop counting frames
|
mva #$ff pressTimer ; stop counting frames
|
||||||
jmp notpressed
|
jmp notpressed
|
||||||
@@ -2493,7 +2493,7 @@ checkJoy
|
|||||||
;------------JOY-------------
|
;------------JOY-------------
|
||||||
;happy happy joy joy
|
;happy happy joy joy
|
||||||
;check for joystick now
|
;check for joystick now
|
||||||
lda JSTICK0
|
lda STICK0
|
||||||
and #$0f
|
and #$0f
|
||||||
cmp #$0f
|
cmp #$0f
|
||||||
beq notpressedJoy
|
beq notpressedJoy
|
||||||
@@ -2502,7 +2502,7 @@ checkJoy
|
|||||||
jmp jumpFromStick
|
jmp jumpFromStick
|
||||||
notpressedJoy
|
notpressedJoy
|
||||||
;fire
|
;fire
|
||||||
lda TRIG0S
|
lda STRIG0
|
||||||
jeq pressedSpace
|
jeq pressedSpace
|
||||||
mva #$ff pressTimer ; stop counting frames
|
mva #$ff pressTimer ; stop counting frames
|
||||||
jmp notpressed
|
jmp notpressed
|
||||||
|
|||||||
Reference in New Issue
Block a user