mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
736 lines
13 KiB
NASM
736 lines
13 KiB
NASM
/***************************************/
|
|
/* Use MADS http://mads.atari8.info/ */
|
|
/* Mode: DLI (char mode) */
|
|
/***************************************/
|
|
|
|
;icl "Scorch50.h"
|
|
;icl "../lib/ATARISYS.ASM"
|
|
;icl "../lib/macro.hea"
|
|
|
|
; --- dmsc LZSS player routine on zero page
|
|
org $80
|
|
|
|
/* chn_copy .ds 9
|
|
chn_pos .ds 9
|
|
bptr .ds 2
|
|
cur_pos .ds 1
|
|
chn_bits .ds 1
|
|
|
|
bit_data .ds 1 */
|
|
|
|
org $00
|
|
|
|
/* fcnt .ds 2
|
|
fadr .ds 2
|
|
fhlp .ds 2
|
|
cloc .ds 1
|
|
regA .ds 1
|
|
regX .ds 1
|
|
regY .ds 1 */
|
|
|
|
; --- BASIC switch OFF
|
|
org $2000\ mva #$ff portb\ rts\ ini $2000
|
|
|
|
; --- MAIN PROGRAM
|
|
org $2000
|
|
ant1 dta $C2,a(scr1)
|
|
dta $02,$82,$02,$02,$82,$02,$82,$02,$82,$02,$02,$02,$82,$02,$82,$82
|
|
dta $02,$02,$82,$02,$02,$82,$02,$02,$82,$82,$02,$82,$22
|
|
;dta $42,a(verline)
|
|
dta $41,a(ant1)
|
|
|
|
;verline
|
|
; :37 dta d" "
|
|
; dta build
|
|
|
|
scr1 ins "Scorch50.scr"
|
|
|
|
.ds 0*40
|
|
|
|
.ALIGN $0400
|
|
fnt1 ins "Scorch50.fnt"
|
|
|
|
.ALIGN $0800
|
|
pmg1 .ds $0300
|
|
SPRITES1
|
|
|
|
main1
|
|
lda SplashTypeFlag
|
|
cmp #200 ; (0 - 100 ; first splash , 101 - 200 ; second splash , 201 - 255 ; KAZ)
|
|
bcs this_splashK ; KAZ splash
|
|
rts ; next splash
|
|
this_splashK
|
|
jsr init_song
|
|
|
|
; ; copy system font to $a000
|
|
; ldx #0
|
|
;@ lda $e000,x
|
|
; sta $a000,x
|
|
; ;lda $e100,x ; i need digits only :]
|
|
; ;sta $a100,x
|
|
; ;lda $e200,x
|
|
; ;sta $a200,x
|
|
; ;lda $e300,x
|
|
; ;sta $a300,x
|
|
; inx
|
|
; bne @-
|
|
|
|
; --- init PMG
|
|
|
|
mva >pmg1 pmbase ;missiles and players data address
|
|
mva #$03 GRACTL ;enable players and missiles
|
|
|
|
lda:cmp:req $14 ;wait 1 frame
|
|
|
|
sei ;stop IRQ interrupts
|
|
mva #$00 nmien ;stop NMI interrupts
|
|
sta dmactl
|
|
;mva #$fe portb ;switch off ROM to get 16k more ram
|
|
|
|
;mwa #NMI $fffa ;new NMI handler
|
|
|
|
sta COLOR4
|
|
lda #$0E
|
|
sta COLOR1
|
|
lda #$84
|
|
sta COLOR2
|
|
lda #$0E
|
|
sta COLOR3
|
|
lda #$02
|
|
|
|
|
|
|
|
VMAIN NMI.vbl,6 ;jsr SetVBL
|
|
VDLI DLI.dli_start
|
|
|
|
|
|
mva #1 vscrol
|
|
|
|
mva #$c0 nmien ;switch on NMI+DLI again
|
|
|
|
;_stp jmp _stp
|
|
_lp1 lda trig0 ; FIRE #0
|
|
beq stop1
|
|
|
|
lda trig1 ; FIRE #1
|
|
beq stop1
|
|
|
|
lda consol ; START
|
|
and #1
|
|
beq stop1
|
|
|
|
lda skctl
|
|
and #$04
|
|
bne _lp1 ;wait to press any key; here you can put any own routine
|
|
|
|
|
|
stop1
|
|
|
|
cli
|
|
vmain sysvbv,6
|
|
|
|
mva #$00 GRACTL ;PMG disabled
|
|
tax
|
|
sta:rne hposp0,x+
|
|
|
|
;mva #$ff portb ;ROM switch on
|
|
mva #$40 nmien ;only NMI interrupts, DLI disabled
|
|
;cli ;IRQ enabled
|
|
|
|
lda #0
|
|
ldx #8
|
|
@ sta POKEY,x
|
|
dex
|
|
bpl @-
|
|
|
|
|
|
;no glitching please (issue #67)
|
|
lda #0
|
|
sta $D400 ;dmactl
|
|
sta $022F ;dmactls
|
|
rts ;return to ... DOS
|
|
|
|
; --- DLI PROGRAM
|
|
|
|
.local DLI
|
|
|
|
?old_dli = *
|
|
|
|
dli_start
|
|
|
|
dli13
|
|
sta regA
|
|
|
|
sta wsync ;line=8
|
|
sta wsync ;line=9
|
|
sta wsync ;line=10
|
|
sta wsync ;line=11
|
|
sta wsync ;line=12
|
|
sta wsync ;line=13
|
|
c9 lda #$14
|
|
sta wsync ;line=14
|
|
sta colpm3
|
|
DLINEW DLI.dli2 1 0 0
|
|
|
|
dli2
|
|
sta regA
|
|
lda >fnt1+$400*$01
|
|
sta wsync ;line=24
|
|
sta chbase
|
|
DLINEW dli3 1 0 0
|
|
|
|
dli3
|
|
sta regA
|
|
lda >fnt1+$400*$02
|
|
sta wsync ;line=48
|
|
sta chbase
|
|
sta wsync ;line=49
|
|
sta wsync ;line=50
|
|
sta wsync ;line=51
|
|
s3 lda #$07
|
|
sta wsync ;line=52
|
|
sta sizem
|
|
DLINEW dli14 1 0 0
|
|
|
|
dli14
|
|
sta regA
|
|
stx regX
|
|
sty regY
|
|
|
|
x8 lda #$A3
|
|
sta wsync ;line=64
|
|
sta hposp3
|
|
x9 lda #$AB
|
|
sta wsync ;line=65
|
|
sta hposm3
|
|
sta wsync ;line=66
|
|
sta wsync ;line=67
|
|
sta wsync ;line=68
|
|
sta wsync ;line=69
|
|
sta wsync ;line=70
|
|
s4 lda #$13
|
|
x10 ldx #$A6
|
|
sta wsync ;line=71
|
|
sta sizem
|
|
stx hposm2
|
|
s5 lda #$01
|
|
x11 ldx #$72
|
|
x12 ldy #$62
|
|
sta wsync ;line=72
|
|
sta sizep2
|
|
sta sizep3
|
|
stx hposp2
|
|
sty hposp3
|
|
x13 lda #$A9
|
|
sta wsync ;line=73
|
|
sta hposp1
|
|
DLINEW dli4 1 1 1
|
|
|
|
dli4
|
|
sta regA
|
|
lda >fnt1+$400*$03
|
|
sta wsync ;line=80
|
|
sta chbase
|
|
DLINEW dli5 1 0 0
|
|
|
|
dli5
|
|
sta regA
|
|
stx regX
|
|
lda >fnt1+$400*$04
|
|
sta wsync ;line=112
|
|
sta chbase
|
|
sta wsync ;line=113
|
|
sta wsync ;line=114
|
|
sta wsync ;line=115
|
|
sta wsync ;line=116
|
|
sta wsync ;line=117
|
|
sta wsync ;line=118
|
|
s6 lda #$07
|
|
x14 ldx #$A3
|
|
sta wsync ;line=119
|
|
sta sizem
|
|
stx hposm1
|
|
s7 lda #$01
|
|
x15 ldx #$93
|
|
sta wsync ;line=120
|
|
sta sizep1
|
|
stx hposp1
|
|
DLINEW dli15 1 1 0
|
|
|
|
dli15
|
|
sta regA
|
|
stx regX
|
|
|
|
sta wsync ;line=128
|
|
sta wsync ;line=129
|
|
sta wsync ;line=130
|
|
sta wsync ;line=131
|
|
x16 lda #$4A
|
|
sta wsync ;line=132
|
|
sta hposp1
|
|
c10 lda #$D4
|
|
sta wsync ;line=133
|
|
sta colpf2
|
|
s8 lda #$C3
|
|
x17 ldx #$5A
|
|
sta wsync ;line=134
|
|
sta sizem
|
|
stx hposm3
|
|
DLINEW dli6 1 1 0
|
|
|
|
dli6
|
|
sta regA
|
|
stx regX
|
|
sty regY
|
|
lda >fnt1+$400*$05
|
|
sta wsync ;line=136
|
|
sta chbase
|
|
sta wsync ;line=137
|
|
sta wsync ;line=138
|
|
sta wsync ;line=139
|
|
sta wsync ;line=140
|
|
sta wsync ;line=141
|
|
sta wsync ;line=142
|
|
s9 lda #$C7
|
|
x18 ldx #$A9
|
|
sta wsync ;line=143
|
|
sta sizem
|
|
stx hposm1
|
|
s10 lda #$D7
|
|
x19 ldx #$9E
|
|
c11 ldy #$02
|
|
sta wsync ;line=144
|
|
sta sizem
|
|
stx hposm2
|
|
sty colpm2
|
|
sta wsync ;line=145
|
|
c12 lda #$04
|
|
sta wsync ;line=146
|
|
sta colpm1
|
|
sta wsync ;line=147
|
|
sta wsync ;line=148
|
|
sta wsync ;line=149
|
|
s11 lda #$00
|
|
x20 ldx #$74
|
|
c13 ldy #$02
|
|
sta wsync ;line=150
|
|
sta sizep3
|
|
stx hposp3
|
|
sty colpm3
|
|
sta wsync ;line=151
|
|
sta wsync ;line=152
|
|
sta wsync ;line=153
|
|
sta wsync ;line=154
|
|
sta wsync ;line=155
|
|
sta wsync ;line=156
|
|
sta wsync ;line=157
|
|
c14 lda #$04
|
|
sta wsync ;line=158
|
|
sta colpf0
|
|
DLINEW dli7 1 1 1
|
|
|
|
dli7
|
|
sta regA
|
|
lda >fnt1+$400*$06
|
|
sta wsync ;line=160
|
|
sta chbase
|
|
DLINEW dli8 1 0 0
|
|
|
|
dli8
|
|
sta regA
|
|
stx regX
|
|
sty regY
|
|
lda >fnt1+$400*$07
|
|
sta wsync ;line=184
|
|
sta chbase
|
|
sta wsync ;line=185
|
|
s12 lda #$00
|
|
x21 ldx #$8E
|
|
c15 ldy #$08
|
|
sta wsync ;line=186
|
|
sta sizep2
|
|
stx hposp2
|
|
sty colpm2
|
|
x22 lda #$4C
|
|
c16 ldx #$0E
|
|
sta wsync ;line=187
|
|
sta hposp3
|
|
stx colpm3
|
|
c17 lda #$0A
|
|
c18 ldx #$34
|
|
sta wsync ;line=188
|
|
sta colpf1
|
|
stx colpm3
|
|
s13 lda #$43
|
|
x23 ldx #$49
|
|
sta wsync ;line=189
|
|
sta sizem
|
|
stx hposm3
|
|
c19 lda #$08
|
|
c20 ldx #$34
|
|
sta wsync ;line=190
|
|
sta colpf1
|
|
stx colpm2
|
|
sta wsync ;line=191
|
|
c21 lda #$0A
|
|
sta wsync ;line=192
|
|
sta colpf1
|
|
c22 lda #$08
|
|
sta wsync ;line=193
|
|
sta colpf1
|
|
c23 lda #$0A
|
|
sta wsync ;line=194
|
|
sta colpf1
|
|
c24 lda #$34
|
|
sta wsync ;line=195
|
|
sta colpf2
|
|
c25 lda #$0C
|
|
sta wsync ;line=196
|
|
sta colpf1
|
|
c26 lda #$0A
|
|
sta wsync ;line=197
|
|
sta colpf1
|
|
c27 lda #$0C
|
|
sta wsync ;line=198
|
|
sta colpf1
|
|
sta wsync ;line=199
|
|
sta wsync ;line=200
|
|
c28 lda #$0E
|
|
sta wsync ;line=201
|
|
sta colpf1
|
|
c29 lda #$0C
|
|
sta wsync ;line=202
|
|
sta colpf1
|
|
c30 lda #$0E
|
|
sta wsync ;line=203
|
|
sta colpf1
|
|
c31 lda #$0C
|
|
sta wsync ;line=204
|
|
sta colpf1
|
|
c32 lda #$0E
|
|
sta wsync ;line=205
|
|
sta colpf1
|
|
DLINEW dli16 1 1 1
|
|
|
|
dli16
|
|
sta regA
|
|
|
|
sta wsync ;line=208
|
|
sta wsync ;line=209
|
|
c33 lda #$0C
|
|
sta wsync ;line=210
|
|
sta colpf1
|
|
c34 lda #$0E
|
|
sta wsync ;line=211
|
|
sta colpf1
|
|
c35 lda #$0C
|
|
sta wsync ;line=212
|
|
sta colpf1
|
|
DLINEW dli9 1 0 0
|
|
|
|
dli9
|
|
sta regA
|
|
stx regX
|
|
sty regY
|
|
lda >fnt1+$400*$08
|
|
c36 ldx #$0A
|
|
sta wsync ;line=216
|
|
sta chbase
|
|
stx colpf1
|
|
c37 lda #$0C
|
|
sta wsync ;line=217
|
|
sta colpf1
|
|
c38 lda #$0A
|
|
x24 ldx #$9D
|
|
c39 ldy #$34
|
|
sta wsync ;line=218
|
|
sta colpf1
|
|
stx hposm1
|
|
sty colpm1
|
|
s14 lda #$03
|
|
x25 ldx #$7D
|
|
sta wsync ;line=219
|
|
sta sizep3
|
|
stx hposp3
|
|
c40 lda #$08
|
|
s15 ldx #$13
|
|
x26 ldy #$45
|
|
sta wsync ;line=220
|
|
sta colpf1
|
|
stx sizem
|
|
sty hposm2
|
|
s16 lda #$03
|
|
x27 ldx #$59
|
|
sta wsync ;line=221
|
|
sta sizep2
|
|
stx hposp2
|
|
s17 lda #$53
|
|
x28 ldx #$49
|
|
x29 ldy #$79
|
|
sta wsync ;line=222
|
|
sta sizem
|
|
stx hposp1
|
|
sty hposm3
|
|
c41 lda #$06
|
|
c42 ldx #$00
|
|
sta wsync ;line=223
|
|
sta colpf1
|
|
stx colpf2
|
|
lda >fnt1+$400*$01
|
|
s18 ldx #$50
|
|
x30 ldy #$44
|
|
sta wsync ;line=224
|
|
sta chbase
|
|
stx sizem
|
|
sty hposm0
|
|
sta wsync ;line=225
|
|
c43 lda #$08
|
|
sta wsync ;line=226
|
|
sta colpf1
|
|
c44 lda #$0C
|
|
sta wsync ;line=227
|
|
sta colpf1
|
|
sta wsync ;line=228
|
|
sta wsync ;line=229
|
|
c45 lda #$0E
|
|
sta wsync ;line=230
|
|
sta colpf1
|
|
DLINEW dli10 1 1 1
|
|
|
|
dli10
|
|
sta regA
|
|
lda >fnt1+$400*$00
|
|
sta wsync ;line=232
|
|
sta chbase
|
|
;DLINEW dli11 1 0 0
|
|
|
|
lda regA
|
|
rti
|
|
|
|
;dli11
|
|
; sta regA
|
|
;
|
|
; lda #>$a000 ; system font
|
|
; sta wsync ;line=232
|
|
; sta chbase
|
|
; lda #$01
|
|
; sta gtictl
|
|
;
|
|
; lda regA
|
|
; rti
|
|
|
|
|
|
.endl
|
|
|
|
; ---
|
|
|
|
dliv1 = $0200
|
|
|
|
; ---
|
|
|
|
.proc NMI
|
|
|
|
bit nmist
|
|
bpl VBL
|
|
|
|
jmp DLI.dli_start
|
|
|
|
|
|
VBL
|
|
sta regA
|
|
stx regX
|
|
sty regY
|
|
|
|
;sta nmist ;reset NMI flag
|
|
|
|
mwa #ant1 dlptr ;ANTIC address program
|
|
|
|
mva #@dmactl(standard|dma|lineX1|players|missiles) dmactl ;set new screen width
|
|
|
|
inc cloc ;little timer
|
|
|
|
; Initial values
|
|
|
|
lda >fnt1+$400*$00
|
|
sta chbase
|
|
c0 lda #$00
|
|
sta colbak
|
|
c1 lda #$0E
|
|
sta colpf1
|
|
c2 lda #$84
|
|
sta colpf2
|
|
c3 lda #$0E
|
|
sta colpf3
|
|
lda #$02
|
|
sta CHACTL
|
|
lda #$01
|
|
sta PRIOR
|
|
sta sizep0
|
|
s0 lda #$03
|
|
sta sizem
|
|
x0 lda #$D0
|
|
sta hposp0
|
|
x1 lda #$28
|
|
sta hposm0
|
|
c4 lda #$00
|
|
sta colpm0
|
|
x2 lda #$A2
|
|
sta hposm3
|
|
c5 lda #$0E
|
|
sta colpm3
|
|
s1 lda #$00
|
|
sta sizep2
|
|
sta sizep3
|
|
x3 lda #$92
|
|
sta hposp2
|
|
x4 lda #$8A
|
|
sta hposp3
|
|
c6 lda #$14
|
|
sta colpm2
|
|
s2 lda #$00
|
|
sta sizep1
|
|
x5 lda #$9A
|
|
sta hposp1
|
|
c7 lda #$14
|
|
sta colpm1
|
|
x6 lda #$A4
|
|
sta hposm2
|
|
x7 lda #$A6
|
|
sta hposm1
|
|
c8 lda #$00
|
|
sta colpf0
|
|
|
|
mwa #DLI.dli_start dliv1 ;set the first address of DLI interrupt
|
|
|
|
;this area is for yours routines
|
|
jsr play_frame
|
|
|
|
|
|
lda regA
|
|
ldx regX
|
|
ldy regY
|
|
jmp sysvbv
|
|
|
|
.endp
|
|
music1
|
|
; icl "..\splash_v2\lzss_player.asm" ; player (and data) for splash music
|
|
|
|
|
|
; ---
|
|
ini main1
|
|
; ---
|
|
|
|
opt l-
|
|
|
|
.MACRO SPRITES1
|
|
missiles
|
|
.he 00 00 00 00 00 00 00 00 03 03 C3 03 03 03 03 03
|
|
.he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
|
|
.he 03 03 03 03 03 03 03 03 03 83 83 83 C3 C3 C3 C3
|
|
.he C3 C3 C3 C3 C3 E3 E3 E3 E3 E3 E3 F3 F3 F3 F3 FB
|
|
.he FB FB FB FB FF FF FF FF F3 33 83 83 83 83 C3 D3
|
|
.he D3 D3 13 03 03 03 03 03 03 03 03 03 03 03 03 03
|
|
.he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
|
|
.he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 0F
|
|
.he 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 03 03 03 03 C3 C3
|
|
.he C3 C3 C3 C3 C3 C3 C3 C3 C3 D3 FF FF 3F 3F 3F 3F
|
|
.he 3F 3F 33 13 03 03 03 03 03 03 03 03 03 03 03 03
|
|
.he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
|
|
.he 03 03 03 03 03 03 03 43 43 C3 C3 C3 C3 03 03 03
|
|
.he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03
|
|
.he 03 03 0F 0F 3F 3F FF FC FE FE FF DB 03 03 03 03
|
|
.he 03 03 03 03 03 03 03 03 00 00 00 00 00 00 00 00
|
|
player0
|
|
.he 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
|
|
player1
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 F0 FC FE FE FF FF FF FF
|
|
.he FF 0F 0F 0F 0F 0F 0F 0F 0F 0F 07 07 07 07 07 07
|
|
.he 03 03 03 FF FF FF FF FF CF CF FF FF FF FF FF 9F
|
|
.he 9F FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
|
|
.he 00 F0 F0 F0 F0 78 F8 78 78 78 78 38 78 38 3C 3C
|
|
.he 3C 3C 1C 3C 1C 1C 1C 1C 1E 1E 1E 1E 0E 1E 0E 0E
|
|
.he 0E 0F 07 0F 07 0F 07 07 07 07 07 07 06 06 06 06
|
|
.he FF FF FF FF FF FF FF FF FF FF FF 00 00 3E 3F 7F
|
|
.he 7F 7F 7F 7F 7F 7F 7F 3F 3F 3F 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 FF FF FF FF FF FF 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
player2
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF
|
|
.he FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 FF FF FF FF FF 99 99 FF FF FF FF FF 33
|
|
.he 33 FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00
|
|
.he 00 00 80 F0 F8 F8 F8 FC FC FC FC FC FC FC FC FC
|
|
.he FC FE FE FE FE FE FE FF FF FF FF FF FF FF FE FC
|
|
.he F8 F8 F8 F8 F0 F0 F0 F0 F0 F0 F0 F0 E0 E0 E0 E0
|
|
.he E0 E0 E0 FC FE FE FF FF 8F 87 87 87 07 07 07 07
|
|
.he 07 07 07 07 07 07 07 03 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 F8 FC FC FE FE FF FF 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 FF FF FF FF FF FF 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
player3
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 01 07 0F 1F 1F 3F 3F 7F
|
|
.he 7F 78 78 F0 F0 F0 F0 F8 F8 F8 78 7C 7C 7C 3C 3E
|
|
.he 3E 3E 1E 1F 1F 1F 0F 0F 0F 0F 0F 1F 1F 1F 1F 1F
|
|
.he 1F 3F 3F 3F 3F 3F 3F 3F FF 7F 7F 3F 3F 1F 1F 0F
|
|
.he 1F 1F 1F 3F 3F 3F 3F 3F 3F 3B 30 30 30 30 30 30
|
|
.he 30 30 30 30 38 3E 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F
|
|
.he 7F 7F 7F 7F 7F 7F 7F FF FF FF FF FF FF FF FF FF
|
|
.he FF FF FF FF FF FF FF FF 7F 7F 7F 7F 7F 7F FF FF
|
|
.he FF FF FF FF FE FE FE FE FE FE FE FE FC 1C FF 7E
|
|
.he 7E FE FE FE FE FF FF FF 7F 7E 7E 3C 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 00 00 7C FE FE FF FF FF 00 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.he 00 00 00 FF FF FF FF FF FF FF FF FF 00 00 00 00
|
|
.he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
.ENDM
|
|
|
|
.MACRO DLINEW
|
|
mva <:1 dliv1
|
|
ift [>?old_dli]<>[>:1]
|
|
mva >:1 dliv1+1
|
|
eif
|
|
|
|
ift :2
|
|
lda regA
|
|
eif
|
|
|
|
ift :3
|
|
ldx regX
|
|
eif
|
|
|
|
ift :4
|
|
ldy regY
|
|
eif
|
|
|
|
rti
|
|
|
|
.def ?old_dli = *
|
|
.ENDM
|
|
|