library switch

This commit is contained in:
2022-08-20 01:56:28 -04:00
parent 1215065fbe
commit 5a7e9bd769
8 changed files with 736 additions and 79 deletions
+42 -42
View File
@@ -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
+4
View File
@@ -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
View File
@@ -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)
+653
View File
@@ -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
View File
@@ -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
View File
Binary file not shown.
+9 -9
View File
@@ -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
View File
@@ -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