8bitworkshop/test/ecs/titles.txt

1078 lines
17 KiB
Plaintext

EVENT__start = 1
EVENT__kernelsetup = 1
EVENT__kerneldraw = 1
EVENT__preframe = 1
EVENT__kernel = 1
EVENT__postframe = 1
EVENT__joybutton = 1
.scope TitleDemo
.zeropage
.code
__Start:
;;; start action Init__main_init__1
.include "vcs-ca65.h"
.macpack longbranch
.define PAL 0
__NMI:
__Reset:
__BRK:
CLEAN_START
;;; start action Demo__start__2
jmp Title__Start
;;; end action Demo__start__2
; start main routine
.segment "VECTORS"
Return: .word $6060
VecNMI:
VecReset: .word Main::__Reset
VecBRK: .word Main::__BRK
;;; end action Init__main_init__1
.scope Title
.zeropage
TEMP:
Kernel48Pixel__2__tmp:
.res 1
.res 1
.code
KernelSection_lines_b0:
.byte 60
.byte 10
.byte 2
.byte 10
.byte 10
BGColor_bgcolor_b0:
.byte 160
.byte 162
.byte 164
.byte 162
.byte 160
PFColor_pfcolor_b0:
.byte 252
Bitmap48_bitmap0_b0:
.byte <Bitmap48_bitmap0_e3_b0
Bitmap48_bitmap0_b8:
.byte >Bitmap48_bitmap0_e3_b0
Bitmap48_bitmap0_e3_b0:
.byte 0
.byte 0
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 3
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 3
.byte 15
.byte 12
.byte 24
.byte 24
.byte 24
.byte 24
.byte 28
.byte 31
.byte 27
.byte 24
.byte 24
.byte 12
.byte 15
.byte 3
Bitmap48_bitmap1_b0:
.byte <Bitmap48_bitmap1_e3_b0
Bitmap48_bitmap1_b8:
.byte >Bitmap48_bitmap1_e3_b0
Bitmap48_bitmap1_e3_b0:
.byte 0
.byte 0
.byte 255
.byte 255
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 254
.byte 254
.byte 0
.byte 0
.byte 0
.byte 0
.byte 255
.byte 255
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 192
.byte 225
.byte 51
.byte 51
.byte 48
.byte 48
.byte 48
.byte 112
.byte 225
.byte 193
.byte 1
.byte 49
.byte 49
.byte 225
.byte 193
Bitmap48_bitmap2_b0:
.byte <Bitmap48_bitmap2_e3_b0
Bitmap48_bitmap2_b8:
.byte >Bitmap48_bitmap2_e3_b0
Bitmap48_bitmap2_e3_b0:
.byte 0
.byte 0
.byte 3
.byte 15
.byte 28
.byte 24
.byte 56
.byte 48
.byte 48
.byte 48
.byte 48
.byte 48
.byte 56
.byte 24
.byte 28
.byte 15
.byte 3
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 248
.byte 252
.byte 14
.byte 6
.byte 6
.byte 6
.byte 6
.byte 14
.byte 252
.byte 248
.byte 128
.byte 128
.byte 128
.byte 254
.byte 254
Bitmap48_bitmap3_b0:
.byte <Bitmap48_bitmap3_e3_b0
Bitmap48_bitmap3_b8:
.byte >Bitmap48_bitmap3_e3_b0
Bitmap48_bitmap3_e3_b0:
.byte 0
.byte 0
.byte 224
.byte 248
.byte 28
.byte 12
.byte 14
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 4
.byte 12
.byte 28
.byte 248
.byte 224
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 31
.byte 63
.byte 49
.byte 96
.byte 96
.byte 96
.byte 96
.byte 96
.byte 96
.byte 96
.byte 96
.byte 96
.byte 49
.byte 63
.byte 15
Bitmap48_bitmap4_b0:
.byte <Bitmap48_bitmap4_e3_b0
Bitmap48_bitmap4_b8:
.byte >Bitmap48_bitmap4_e3_b0
Bitmap48_bitmap4_e3_b0:
.byte 0
.byte 0
.byte 31
.byte 127
.byte 96
.byte 192
.byte 192
.byte 0
.byte 1
.byte 31
.byte 62
.byte 112
.byte 192
.byte 192
.byte 96
.byte 127
.byte 31
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 15
.byte 143
.byte 142
.byte 199
.byte 195
.byte 193
.byte 192
.byte 192
.byte 192
.byte 192
.byte 192
.byte 204
.byte 142
.byte 135
.byte 3
Bitmap48_bitmap5_b0:
.byte <Bitmap48_bitmap5_e3_b0
Bitmap48_bitmap5_b8:
.byte >Bitmap48_bitmap5_e3_b0
Bitmap48_bitmap5_e3_b0:
.byte 0
.byte 0
.byte 128
.byte 192
.byte 224
.byte 96
.byte 96
.byte 96
.byte 224
.byte 192
.byte 0
.byte 0
.byte 0
.byte 96
.byte 224
.byte 192
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 248
.byte 248
.byte 0
.byte 0
.byte 128
.byte 192
.byte 224
.byte 112
.byte 48
.byte 24
.byte 24
.byte 24
.byte 24
.byte 240
.byte 224
Bitmap48_height_b0:
.byte 36
__Start:
;;; start action FrameLoop__start__3
FrameLoop__start__3__NextFrame:
FRAME_START
;;; start action StaticKernel__preframe__4
;;; start action Kernel48Pixel__kernelsetup__5
;;; end action Kernel48Pixel__kernelsetup__5
;;; start action Kernel48Pixel__kernelsetup__6
;;; end action Kernel48Pixel__kernelsetup__6
;;; start action StaticKernel__kernelsetup__7
lda #160
sta COLUBK
;;; end action StaticKernel__kernelsetup__7
;;; start action StaticKernel__kernelsetup__8
;;; end action StaticKernel__kernelsetup__8
;;; start action StaticKernel__kernelsetup__9
;;; end action StaticKernel__kernelsetup__9
;;; end action StaticKernel__preframe__4
KERNEL_START
;;; start action StaticKernel__kernel__10
ldx #0
StaticKernel__kernel__10____each:
sta WSYNC
;;; start action Kernel48Pixel__kernelsetup__11
cpx #2+1
jcs Kernel48Pixel__kernelsetup__11____skipxhi
cpx #2
jcc Kernel48Pixel__kernelsetup__11____skipxlo
lda #36
sta Kernel48Pixel__2__tmp+0 ; scanline counter
lda #$22
sta COLUP0 ; show how players alternate
lda #$12
sta COLUP1 ; by having different colors
lda #3
sta NUSIZ0
sta NUSIZ1 ; both players have 3 copies
sta WSYNC
SLEEPH 35
sta RESP0 ; position 1st player
sta RESP1 ; ...and 2nd player
lda #$10
sta HMP1 ; 1 pixel to the left
sta WSYNC
sta HMOVE ; apply HMOVE
lda #1
sta VDELP0 ; we need the VDEL registers
sta VDELP1 ; so we can do our 4-store trick
SLEEPH 24-8 ; sleep 24 cycles
sta HMCLR ; clear HMOVE registers
Kernel48Pixel__kernelsetup__11____skipxlo:
Kernel48Pixel__kernelsetup__11____skipxhi:
;;; end action Kernel48Pixel__kernelsetup__11
;;; start action Kernel48Pixel__kernelsetup__12
cpx #2+1
jcs Kernel48Pixel__kernelsetup__12____skipxhi
cpx #2
jcc Kernel48Pixel__kernelsetup__12____skipxlo
lda #252
sta COLUP0
sta COLUP1
Kernel48Pixel__kernelsetup__12____skipxlo:
Kernel48Pixel__kernelsetup__12____skipxhi:
;;; end action Kernel48Pixel__kernelsetup__12
;;; start action StaticKernel__kernelsetup__13
lda BGColor_bgcolor_b0,x
sta COLUBK
;;; end action StaticKernel__kernelsetup__13
;;; start action StaticKernel__kernelsetup__14
cpx #2+1
jcs StaticKernel__kernelsetup__14____skipxhi
cpx #2
jcc StaticKernel__kernelsetup__14____skipxlo
lda #252
sta COLUPF
StaticKernel__kernelsetup__14____skipxlo:
StaticKernel__kernelsetup__14____skipxhi:
;;; end action StaticKernel__kernelsetup__14
;;; start action StaticKernel__kernelsetup__15
;;; end action StaticKernel__kernelsetup__15
jsr Kernel48Pixel__kerneldraw__16
;;; start action StaticKernel__kerneldraw__17
ldy KernelSection_lines_b0,x
StaticKernel__kerneldraw__17__loop:
sta WSYNC
dey
bne StaticKernel__kerneldraw__17__loop
;;; end action StaticKernel__kerneldraw__17
inx
cpx #5
jne StaticKernel__kernel__10____each
StaticKernel__kernel__10____exit:
;;; end action StaticKernel__kernel__10
KERNEL_END
;;; start action JoyButton__postframe__18
lda INPT4 ;read button input
bmi JoyButton__postframe__18__NotPressed
;;; start action Advance__joybutton__19
jmp Title2__Start
;;; end action Advance__joybutton__19
JoyButton__postframe__18__NotPressed:
;;; end action JoyButton__postframe__18
FRAME_END
jmp FrameLoop__start__3__NextFrame ; loop to next frame
;;; end action FrameLoop__start__3
.rodata
__ALIGNORIGIN:
.rodata
Kernel48Pixel__kerneldraw__16:
cpx #2+1
jcs Kernel48Pixel__kerneldraw__16____skipxhi
cpx #2
jcc Kernel48Pixel__kerneldraw__16____skipxlo
txa
pha
Kernel48Pixel__kerneldraw__16__Loop:
ldy Kernel48Pixel__2__tmp+0 ; counts backwards
sta WSYNC ; sync to next scanline
lda Bitmap48_bitmap0_e3_b0,y ; load B0 (1st sprite byte)
sta GRP0 ; B0 -> [GRP0]
lda Bitmap48_bitmap1_e3_b0,y ; load B1 -> A
sta GRP1 ; B1 -> [GRP1], B0 -> GRP0
lda Bitmap48_bitmap2_e3_b0,y ; load B2 -> A
sta GRP0 ; B2 -> [GRP0], B1 -> GRP1
lda Bitmap48_bitmap5_e3_b0,y ; load B5 -> A
sta Kernel48Pixel__2__tmp+1 ; B5 -> temp
ldx Bitmap48_bitmap4_e3_b0,y ; load B4 -> X
lda Bitmap48_bitmap3_e3_b0,y ; load B3 -> A
ldy Kernel48Pixel__2__tmp+1 ; load B5 -> Y
sta GRP1 ; B3 -> [GRP1]; B2 -> GRP0
stx GRP0 ; B4 -> [GRP0]; B3 -> GRP1
sty GRP1 ; B5 -> [GRP1]; B4 -> GRP0
sta GRP0 ; ?? -> [GRP0]; B5 -> GRP1
dec Kernel48Pixel__2__tmp+0 ; go to next line
bpl Kernel48Pixel__kerneldraw__16__Loop ; repeat until < 0
pla
tax
Kernel48Pixel__kerneldraw__16____skipxlo:
Kernel48Pixel__kerneldraw__16____skipxhi:
rts
.assert >(Kernel48Pixel__kerneldraw__16) = >(*), error, "Kernel48Pixel__kerneldraw__16 crosses a page boundary!"
.assert (* - Kernel48Pixel__kerneldraw__16) <= 63, error, .sprintf("Kernel48Pixel__kerneldraw__16 does not fit in 63 bytes, it took %d!", (* - Kernel48Pixel__kerneldraw__16))
.endscope
Title__Start = Title::__Start
.scope Title2
.zeropage
BGColor_bgcolor_b0:
.res 1
.res 1
.res 1
.res 1
.res 1
PFColor_pfcolor_b0:
.res 1
TEMP:
Kernel48Pixel__2__tmp:
.res 1
.res 1
.code
KernelSection_lines_b0:
.byte 60
.byte 10
.byte 2
.byte 10
.byte 10
Bitmap48_bitmap0_b0:
.byte <Bitmap48_bitmap0_e2_b0
Bitmap48_bitmap0_b8:
.byte >Bitmap48_bitmap0_e2_b0
Bitmap48_bitmap0_e2_b0:
.byte 0
.byte 1
.byte 1
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 7
.byte 31
.byte 24
.byte 0
.byte 7
.byte 15
.byte 24
.byte 24
.byte 24
.byte 24
.byte 24
.byte 24
.byte 24
.byte 15
.byte 7
.byte 0
.byte 0
.byte 0
.byte 0
Bitmap48_bitmap1_b0:
.byte <Bitmap48_bitmap1_e2_b0
Bitmap48_bitmap1_b8:
.byte >Bitmap48_bitmap1_e2_b0
Bitmap48_bitmap1_e2_b0:
.byte 0
.byte 192
.byte 224
.byte 96
.byte 96
.byte 97
.byte 99
.byte 102
.byte 102
.byte 102
.byte 102
.byte 102
.byte 102
.byte 103
.byte 99
.byte 97
.byte 0
.byte 0
.byte 96
.byte 96
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 192
.byte 224
.byte 96
.byte 48
.byte 176
.byte 241
.byte 115
.byte 51
.byte 51
.byte 51
.byte 51
.byte 51
.byte 115
.byte 241
.byte 176
.byte 0
.byte 0
.byte 0
.byte 0
Bitmap48_bitmap2_b0:
.byte <Bitmap48_bitmap2_e2_b0
Bitmap48_bitmap2_b8:
.byte >Bitmap48_bitmap2_e2_b0
Bitmap48_bitmap2_e2_b0:
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 240
.byte 248
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 248
.byte 240
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 248
.byte 252
.byte 6
.byte 6
.byte 6
.byte 6
.byte 6
.byte 6
.byte 14
.byte 252
.byte 248
.byte 0
.byte 0
.byte 0
.byte 0
Bitmap48_bitmap3_b0:
.byte <Bitmap48_bitmap3_e2_b0
Bitmap48_bitmap3_b8:
.byte >Bitmap48_bitmap3_e2_b0
Bitmap48_bitmap3_e2_b0:
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 222
.byte 243
.byte 225
.byte 193
.byte 193
.byte 193
.byte 193
.byte 193
.byte 225
.byte 255
.byte 222
.byte 192
.byte 192
.byte 192
.byte 192
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 31
.byte 63
.byte 96
.byte 96
.byte 96
.byte 96
.byte 96
.byte 96
.byte 96
.byte 63
.byte 31
.byte 0
.byte 0
.byte 0
.byte 0
Bitmap48_bitmap4_b0:
.byte <Bitmap48_bitmap4_e2_b0
Bitmap48_bitmap4_b8:
.byte >Bitmap48_bitmap4_e2_b0
Bitmap48_bitmap4_e2_b0:
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 12
.byte 12
.byte 128
.byte 128
.byte 140
.byte 140
.byte 140
.byte 140
.byte 140
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 12
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 3
.byte 135
.byte 204
.byte 204
.byte 204
.byte 204
.byte 204
.byte 204
.byte 204
.byte 135
.byte 3
.byte 0
.byte 0
.byte 0
.byte 0
Bitmap48_bitmap5_b0:
.byte <Bitmap48_bitmap5_e2_b0
Bitmap48_bitmap5_b8:
.byte >Bitmap48_bitmap5_e2_b0
Bitmap48_bitmap5_e2_b0:
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 0
.byte 216
.byte 248
.byte 56
.byte 24
.byte 24
.byte 24
.byte 24
.byte 24
.byte 56
.byte 248
.byte 216
.byte 24
.byte 24
.byte 24
.byte 24
Bitmap48_height_b0:
.byte 43
Title2__INITDATA:
.byte 16
.byte 48
.byte 48
.byte 48
.byte 80
.byte 236
__Start:
ldy #6
: lda Title2__INITDATA-1,y
sta BGColor_bgcolor_b0-1,y
dey
bne :-
;;; start action FrameLoop__start__20
FrameLoop__start__20__NextFrame:
FRAME_START
;;; start action StaticKernel__preframe__21
;;; start action Kernel48Pixel__kernelsetup__22
;;; end action Kernel48Pixel__kernelsetup__22
;;; start action Kernel48Pixel__kernelsetup__23
;;; end action Kernel48Pixel__kernelsetup__23
;;; start action StaticKernel__kernelsetup__24
lda BGColor_bgcolor_b0
sta COLUBK
;;; end action StaticKernel__kernelsetup__24
;;; start action StaticKernel__kernelsetup__25
;;; end action StaticKernel__kernelsetup__25
;;; start action StaticKernel__kernelsetup__26
;;; end action StaticKernel__kernelsetup__26
;;; end action StaticKernel__preframe__21
KERNEL_START
;;; start action StaticKernel__kernel__27
ldx #0
StaticKernel__kernel__27____each:
sta WSYNC
;;; start action Kernel48Pixel__kernelsetup__28
cpx #2+1
jcs Kernel48Pixel__kernelsetup__28____skipxhi
cpx #2
jcc Kernel48Pixel__kernelsetup__28____skipxlo
lda #43
sta Kernel48Pixel__2__tmp+0 ; scanline counter
lda #$22
sta COLUP0 ; show how players alternate
lda #$12
sta COLUP1 ; by having different colors
lda #3
sta NUSIZ0
sta NUSIZ1 ; both players have 3 copies
sta WSYNC
SLEEPH 35
sta RESP0 ; position 1st player
sta RESP1 ; ...and 2nd player
lda #$10
sta HMP1 ; 1 pixel to the left
sta WSYNC
sta HMOVE ; apply HMOVE
lda #1
sta VDELP0 ; we need the VDEL registers
sta VDELP1 ; so we can do our 4-store trick
SLEEPH 24-8 ; sleep 24 cycles
sta HMCLR ; clear HMOVE registers
Kernel48Pixel__kernelsetup__28____skipxlo:
Kernel48Pixel__kernelsetup__28____skipxhi:
;;; end action Kernel48Pixel__kernelsetup__28
;;; start action Kernel48Pixel__kernelsetup__29
cpx #2+1
jcs Kernel48Pixel__kernelsetup__29____skipxhi
cpx #2
jcc Kernel48Pixel__kernelsetup__29____skipxlo
lda PFColor_pfcolor_b0
sta COLUP0
sta COLUP1
Kernel48Pixel__kernelsetup__29____skipxlo:
Kernel48Pixel__kernelsetup__29____skipxhi:
;;; end action Kernel48Pixel__kernelsetup__29
;;; start action StaticKernel__kernelsetup__30
lda BGColor_bgcolor_b0,x
sta COLUBK
;;; end action StaticKernel__kernelsetup__30
;;; start action StaticKernel__kernelsetup__31
cpx #2+1
jcs StaticKernel__kernelsetup__31____skipxhi
cpx #2
jcc StaticKernel__kernelsetup__31____skipxlo
lda PFColor_pfcolor_b0
sta COLUPF
StaticKernel__kernelsetup__31____skipxlo:
StaticKernel__kernelsetup__31____skipxhi:
;;; end action StaticKernel__kernelsetup__31
;;; start action StaticKernel__kernelsetup__32
;;; end action StaticKernel__kernelsetup__32
jsr Kernel48Pixel__kerneldraw__33
;;; start action StaticKernel__kerneldraw__34
ldy KernelSection_lines_b0,x
StaticKernel__kerneldraw__34__loop:
sta WSYNC
dey
bne StaticKernel__kerneldraw__34__loop
;;; end action StaticKernel__kerneldraw__34
inx
cpx #5
jne StaticKernel__kernel__27____each
StaticKernel__kernel__27____exit:
;;; end action StaticKernel__kernel__27
KERNEL_END
;;; start action Colors__postframe__35
inc PFColor_pfcolor_b0
bne :+
inc BGColor_bgcolor_b0+2
inc BGColor_bgcolor_b0+2
:
;;; end action Colors__postframe__35
FRAME_END
jmp FrameLoop__start__20__NextFrame ; loop to next frame
;;; end action FrameLoop__start__20
.rodata
__ALIGNORIGIN:
.rodata
Kernel48Pixel__kerneldraw__33:
cpx #2+1
jcs Kernel48Pixel__kerneldraw__33____skipxhi
cpx #2
jcc Kernel48Pixel__kerneldraw__33____skipxlo
txa
pha
Kernel48Pixel__kerneldraw__33__Loop:
ldy Kernel48Pixel__2__tmp+0 ; counts backwards
sta WSYNC ; sync to next scanline
lda Bitmap48_bitmap0_e2_b0,y ; load B0 (1st sprite byte)
sta GRP0 ; B0 -> [GRP0]
lda Bitmap48_bitmap1_e2_b0,y ; load B1 -> A
sta GRP1 ; B1 -> [GRP1], B0 -> GRP0
lda Bitmap48_bitmap2_e2_b0,y ; load B2 -> A
sta GRP0 ; B2 -> [GRP0], B1 -> GRP1
lda Bitmap48_bitmap5_e2_b0,y ; load B5 -> A
sta Kernel48Pixel__2__tmp+1 ; B5 -> temp
ldx Bitmap48_bitmap4_e2_b0,y ; load B4 -> X
lda Bitmap48_bitmap3_e2_b0,y ; load B3 -> A
ldy Kernel48Pixel__2__tmp+1 ; load B5 -> Y
sta GRP1 ; B3 -> [GRP1]; B2 -> GRP0
stx GRP0 ; B4 -> [GRP0]; B3 -> GRP1
sty GRP1 ; B5 -> [GRP1]; B4 -> GRP0
sta GRP0 ; ?? -> [GRP0]; B5 -> GRP1
dec Kernel48Pixel__2__tmp+0 ; go to next line
bpl Kernel48Pixel__kerneldraw__33__Loop ; repeat until < 0
pla
tax
Kernel48Pixel__kerneldraw__33____skipxlo:
Kernel48Pixel__kerneldraw__33____skipxhi:
rts
.assert >(Kernel48Pixel__kerneldraw__33) = >(*), error, "Kernel48Pixel__kerneldraw__33 crosses a page boundary!"
.assert (* - Kernel48Pixel__kerneldraw__33) <= 63, error, .sprintf("Kernel48Pixel__kerneldraw__33 does not fit in 63 bytes, it took %d!", (* - Kernel48Pixel__kerneldraw__33))
.endscope
Title2__Start = Title2::__Start
.endscope
TitleDemo__Start = TitleDemo::__Start