mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-07-13 22:29:14 +00:00
ds: I hate git
Merge branch 'master' of https://github.com/deater/dos33fsprogs
This commit is contained in:
commit
d7f6313e0f
@ -9,12 +9,12 @@ B2D = ../bmp2dhr/b2d
|
||||
|
||||
all: demosplash.dsk
|
||||
|
||||
demosplash.dsk: HELLO LOADER BOOK_HGR2C.BIN MUSICTEST # DEMOSPLASH
|
||||
demosplash.dsk: HELLO LOADER DEMOSPLASH
|
||||
cp empty.dsk demosplash.dsk
|
||||
$(DOS33) -y demosplash.dsk SAVE A HELLO
|
||||
$(DOS33) -y demosplash.dsk BSAVE -a 0x1400 LOADER
|
||||
# $(DOS33) -y demosplash.dsk BSAVE -a 0x1700 DEMOSPLASH
|
||||
$(DOS33) -y demosplash.dsk BSAVE -a 0x1700 MUSICTEST
|
||||
$(DOS33) -y demosplash.dsk BSAVE -a 0x1700 DEMOSPLASH
|
||||
# $(DOS33) -y demosplash.dsk BSAVE -a 0x1700 MUSICTEST
|
||||
|
||||
####
|
||||
|
||||
@ -23,39 +23,46 @@ HELLO: hello.bas
|
||||
../asoft_basic-utils/tokenize_asoft < hello.bas > HELLO
|
||||
|
||||
|
||||
#####
|
||||
|
||||
#DEMOSPLASH: demosplash.o
|
||||
# ld65 -o DEMOSPLASH demosplash.o -C ../linker_scripts/apple2_1700.inc
|
||||
|
||||
#demosplash.o: demosplash.s \
|
||||
# zp.inc hardware.inc \
|
||||
# appleII_intro.s vapor_lock.s delay_a.s \
|
||||
# pt3_lib_init.s pt3_lib_core.s pt3_lib_mockingboard.s \
|
||||
# interrupt_handler.s \
|
||||
# starbase.s starbase_action.s \
|
||||
# graphics/starbase/starbase.inc \
|
||||
# graphics/sprites/alien.inc graphics/sprites/astronaut.inc \
|
||||
# dya_space_demo.pt3 appleII_40_96.inc \
|
||||
# book.s book_40_48d.inc \
|
||||
# missing.s \
|
||||
# escape.s
|
||||
# ca65 -o demosplash.o demosplash.s -l demosplash.lst
|
||||
|
||||
#####
|
||||
|
||||
DEMOSPLASH: demosplash.o
|
||||
ld65 -o DEMOSPLASH demosplash.o -C ../linker_scripts/apple2_1700.inc
|
||||
|
||||
demosplash.o: demosplash.s \
|
||||
zp.inc hardware.inc \
|
||||
appleII_intro.s vapor_lock.s delay_a.s \
|
||||
pt3_lib_init.s pt3_lib_core.s pt3_lib_mockingboard.s \
|
||||
interrupt_handler.s \
|
||||
starbase.s starbase_action.s \
|
||||
graphics/starbase/starbase.inc \
|
||||
graphics/sprites/alien.inc graphics/sprites/astronaut.inc \
|
||||
dya_space_demo.pt3 appleII_40_96.inc \
|
||||
book.s book_40_48d.inc \
|
||||
missing.s \
|
||||
escape.s
|
||||
ca65 -o demosplash.o demosplash.s -l demosplash.lst
|
||||
|
||||
#####
|
||||
|
||||
MUSICTEST: musictest.o
|
||||
ld65 -o MUSICTEST musictest.o -C ../linker_scripts/apple2_1700.inc
|
||||
|
||||
musictest.o: musictest.s \
|
||||
zp.inc hardware.inc \
|
||||
appleII_intro.s font.s \
|
||||
pt3_lib_init.s pt3_lib_core.s pt3_lib_mockingboard.s \
|
||||
pt3_lib_play_frame.s pt3_lib_write_frame.s \
|
||||
interrupt_handler.s \
|
||||
missing.s missing_screen_update.s \
|
||||
starbase.s \
|
||||
starbase_action.s \
|
||||
missing.s k_40_48d.inc create_update_type1.s \
|
||||
graphics/starbase/starbase.inc \
|
||||
graphics/sprites/alien.inc graphics/sprites/astronaut.inc \
|
||||
escape.s create_update_type2.s offsets_table2.s \
|
||||
book.s book_40_48d.inc \
|
||||
credits.s credits_bg.inc offsets_table.s \
|
||||
dya_space_demo2.pt3
|
||||
ca65 -o musictest.o musictest.s -l musictest.lst
|
||||
ca65 -o demosplash.o demosplash.s -l demosplash.lst
|
||||
|
||||
|
||||
#####
|
||||
@ -86,9 +93,15 @@ BOOK_HGR2C.BIN: book_hgr2.bmp
|
||||
|
||||
#####
|
||||
|
||||
credits_bg.inc: credits_bg.png
|
||||
$(PNG_TO_40x48D) asm credits_bg.png credits > credits_bg.inc
|
||||
|
||||
book_40_48d.inc: book_40_48d.png
|
||||
$(PNG_TO_40x48D) asm book_40_48d.png book > book_40_48d.inc
|
||||
|
||||
k_40_48d.inc: k_40_48d.png
|
||||
$(PNG_TO_40x48D) asm k_40_48d.png k > k_40_48d.inc
|
||||
|
||||
#####
|
||||
|
||||
clean:
|
||||
|
113
demosplash/NOTES
Normal file
113
demosplash/NOTES
Normal file
@ -0,0 +1,113 @@
|
||||
TODO:
|
||||
CYCLE: Apple II intro
|
||||
+ Remove keyboard pause
|
||||
CYCLE: MISSING notice
|
||||
+ Add missing text
|
||||
+ Autogen the active background code
|
||||
PLAIN: Hollowed out book
|
||||
+ Meanwhile on a distant starbase, a prisoner
|
||||
receives a mysterious package...
|
||||
+ Draw this sequence
|
||||
PLAIN: STARBASE OOTW sequence
|
||||
+ Update graphics
|
||||
+ Update backgrounds
|
||||
+ Time things
|
||||
+ Ship flame (from last year's demo)
|
||||
CYCLES: ESCAPE ship sequence
|
||||
+ Read keypress from file
|
||||
+ Add music playing
|
||||
PLAIN? BOOK READING
|
||||
CYCLES: CREDITS
|
||||
|
||||
|
||||
|
||||
14 * 256 = 3.5k, 4.2s
|
||||
* 5 =17.5k, 21s
|
||||
|
||||
compact=11
|
||||
|
||||
11*256=2.75k
|
||||
* 6 = 16.5k, 25s
|
||||
|
||||
|
||||
|
||||
30 unique tracks
|
||||
64*4=256
|
||||
|
||||
|
||||
|
||||
0=A_low
|
||||
1=A_high (half)
|
||||
2=B_low
|
||||
3=B_high (half)
|
||||
4=C_low
|
||||
5=C_high (half)
|
||||
6=Noise (5bits)
|
||||
7=enable
|
||||
8=A_amp (4+envelope)
|
||||
9=B_amp (4+envelope)
|
||||
10=C_amp (4+envelope)
|
||||
11=EnvelopeL
|
||||
12=EnvelopeH
|
||||
13=Envelope_Shape (half)
|
||||
|
||||
|
||||
0 1 0 1 2 3 2 4
|
||||
5 6 7 8 9 10 9 11
|
||||
12 13 14 15 19 16 17 18
|
||||
20 21 22 23 24 25 30 26
|
||||
27 28 29
|
||||
|
||||
35 segments = 64*3= 192 bytes each, 3.2s*35 = 112 1:52s
|
||||
|
||||
; Possible solution
|
||||
; Text message transition
|
||||
; if 15%, can decode 6 frames for each one played?
|
||||
;
|
||||
|
||||
|
||||
2:07
|
||||
:30 to start of actual music
|
||||
:43 start upbeat
|
||||
1:30 end of second blank spot
|
||||
loop
|
||||
|
||||
cyc APPLE II logo (pixel transition)
|
||||
cyc AGT FROGYSUE
|
||||
BOOK w GUN
|
||||
STARBASE
|
||||
cyc ESCAPE
|
||||
message about book?
|
||||
cyc BOOK
|
||||
cyc CREDITS
|
||||
|
||||
|
||||
4*11*256=11k
|
||||
|
||||
|
||||
|
||||
Memory Map
|
||||
~~~~~~~~~~
|
||||
0000-00ff zero page
|
||||
0100-01ff stack
|
||||
0200-02ff ?????
|
||||
0300-03ff nibble table, irq vectors
|
||||
0400-07FF lores page1
|
||||
0800-0bff lores page2
|
||||
0c00-0fff (used as page3)
|
||||
|
||||
1400-16ff Loader
|
||||
1700-???? executable
|
||||
|
||||
9000-bfff audio buffer
|
||||
|
||||
c000-cfff I/O
|
||||
d000-ffff ROM
|
||||
|
||||
|
||||
|
||||
Size:
|
||||
base+music+a2intro = 10k (compress to 6k)
|
||||
+ missing = additional 10k
|
||||
|
||||
missing = 20k, comment out displaycode 12k, so 8k of display code
|
@ -1,3 +1,26 @@
|
||||
TODO:
|
||||
CYCLE: Apple II intro
|
||||
+ Remove keyboard pause
|
||||
CYCLE: MISSING notice
|
||||
+ Add missing text
|
||||
+ Autogen the active background code
|
||||
PLAIN: Hollowed out book
|
||||
+ Meanwhile on a distant starbase, a prisoner
|
||||
receives a mysterious package...
|
||||
+ Draw this sequence
|
||||
PLAIN: STARBASE OOTW sequence
|
||||
+ Update graphics
|
||||
+ Update backgrounds
|
||||
+ Time things
|
||||
+ Ship flame (from last year's demo)
|
||||
CYCLES: ESCAPE ship sequence
|
||||
+ Read keypress from file
|
||||
+ Add music playing
|
||||
PLAIN? BOOK READING
|
||||
CYCLES: CREDITS
|
||||
|
||||
|
||||
|
||||
14 * 256 = 3.5k, 4.2s
|
||||
* 5 =17.5k, 21s
|
||||
|
||||
|
61
demosplash/TODO
Normal file
61
demosplash/TODO
Normal file
@ -0,0 +1,61 @@
|
||||
General:
|
||||
+ get music working
|
||||
|
||||
|
||||
OPENER:
|
||||
+ Done?
|
||||
|
||||
MISSING:
|
||||
+ Add colored bars for accent?
|
||||
|
||||
PACKAGE:
|
||||
+ Implement
|
||||
|
||||
STARBASE:
|
||||
+ Fix sprites
|
||||
+ Keyboard emulation
|
||||
|
||||
+ change colors of shield? laser? blast?
|
||||
|
||||
+ room0
|
||||
- open with wall blasting open
|
||||
- run down steps
|
||||
- blast open door
|
||||
- run through
|
||||
+ room1
|
||||
- columns
|
||||
- run in
|
||||
- duck, start shield
|
||||
- blash shield, alien
|
||||
- run through doors
|
||||
|
||||
+ room2 (planet)
|
||||
- shoot another alien?
|
||||
- foreground animation (robot?)
|
||||
|
||||
+ room3 (ship)
|
||||
- blast control / free ship/
|
||||
- run to ship
|
||||
- engines start
|
||||
- some sort of fade-to-white transition
|
||||
|
||||
ESCAPE:
|
||||
+ Get working
|
||||
+ Keyboard emulation
|
||||
|
||||
READING:
|
||||
+ Add message of some sort?
|
||||
|
||||
CREDITS:
|
||||
+ implement text
|
||||
+ implement rasterbars
|
||||
|
||||
012345678901
|
||||
CODE: DEATER
|
||||
MUSIC: DYA
|
||||
MISC MAGIC: QKUMBA
|
||||
THANKS:
|
||||
FROGYSUE
|
||||
S. SUSIE
|
||||
0101TALBOT
|
||||
18*4=
|
@ -1,9 +1,9 @@
|
||||
ANSI2PNG = ~/research/ansi2gif/ansi2gif.git/ansi2png
|
||||
|
||||
all: kfest.png
|
||||
all: kfest2020.png
|
||||
|
||||
kfest.png: kfest.ans
|
||||
$(ANSI2PNG) --ysize auto kfest.ans > kfest.png
|
||||
kfest2020.png: kfest2020.ans
|
||||
$(ANSI2PNG) --ysize auto kfest2020.ans > kfest2020.png
|
||||
|
||||
clean:
|
||||
rm -f kfest.png *~
|
||||
rm -f kfest2020.png *~
|
||||
|
@ -4,20 +4,8 @@
|
||||
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
; Zero Page
|
||||
;FRAME = $60
|
||||
;BLARGH = $69
|
||||
;DRAW_PAGE = $EE
|
||||
;LASTKEY = $F1
|
||||
;PADDLE_STATUS = $F2
|
||||
;TEMP = $FA
|
||||
WHICH = $E3
|
||||
|
||||
|
||||
|
||||
book:
|
||||
lda #0
|
||||
sta WHICH
|
||||
end_book:
|
||||
|
||||
;===================
|
||||
; init screen
|
||||
@ -31,17 +19,17 @@ book:
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
|
||||
;===================
|
||||
; setup grahics
|
||||
|
||||
jsr create_update_type1
|
||||
|
||||
;=============================
|
||||
; Load graphic page0
|
||||
|
||||
lda WHICH
|
||||
asl
|
||||
asl ; which*4
|
||||
tay
|
||||
|
||||
lda pictures,Y
|
||||
lda #<book_low
|
||||
sta GBASL
|
||||
lda pictures+1,Y
|
||||
lda #>book_low
|
||||
sta GBASH
|
||||
|
||||
lda #$c ; load image to $c00
|
||||
@ -61,20 +49,12 @@ book:
|
||||
bit SET_GR ; 4
|
||||
bit FULLGR ; 4
|
||||
|
||||
jsr wait_until_keypressed
|
||||
|
||||
|
||||
;=============================
|
||||
; Load graphic page1
|
||||
|
||||
lda WHICH
|
||||
asl
|
||||
asl ; which*4
|
||||
tay
|
||||
|
||||
lda pictures+2,Y
|
||||
lda #<book_high
|
||||
sta GBASL
|
||||
lda pictures+3,Y
|
||||
lda #>book_high
|
||||
sta GBASH
|
||||
lda #$c ; load image to $c00
|
||||
jsr load_rle_gr
|
||||
@ -87,9 +67,6 @@ book:
|
||||
; GR part
|
||||
bit PAGE0
|
||||
|
||||
jsr wait_until_keypressed
|
||||
|
||||
|
||||
;==============================
|
||||
; setup graphics for vapor lock
|
||||
;==============================
|
||||
@ -128,72 +105,34 @@ loopR: dex ; 2
|
||||
;================================================
|
||||
; Display Loop
|
||||
;================================================
|
||||
; each scan line 65 cycles
|
||||
; 1 cycle each byte (40cycles) + 25 for horizontal
|
||||
; Total of 12480 cycles to draw screen
|
||||
; Vertical blank = 4550 cycles (70 scan lines)
|
||||
; Total of 17030 cycles to get back to where was
|
||||
|
||||
; We want to alternate between page1 and page2 every 65 cycles
|
||||
; vblank = 4550 cycles to do scrolling
|
||||
|
||||
|
||||
; 2 + 48*( (4+2+25*(2+3)) + (4+2+23*(2+3)+4+5)) + 9)
|
||||
; 48*[(6+125)-1] + [(6+115+10)-1]
|
||||
|
||||
book_loop:
|
||||
|
||||
ldy #96 ; 2
|
||||
|
||||
book_outer_loop:
|
||||
|
||||
bit PAGE0 ; 4
|
||||
ldx #12 ; 65 cycles with PAGE0 ; 2
|
||||
book_page0_loop: ; delay 61+bit
|
||||
dex ; 2
|
||||
bne book_page0_loop ; 2/3
|
||||
|
||||
|
||||
; bit(4) -1(fallthrough) + loop*5 -1(fallthrouh)+4 extra = 61
|
||||
; 5L = 55
|
||||
|
||||
bit PAGE1 ; 4
|
||||
ldx #11 ; 65 cycles with PAGE1 ; 2
|
||||
;
|
||||
book_page1_loop: ; delay 115+(7 loop)+4 (bit)+4(extra)
|
||||
dex ; 2
|
||||
bne book_page1_loop ; 2/3
|
||||
|
||||
dey ; 2
|
||||
bne book_outer_loop ; 2/3
|
||||
|
||||
|
||||
jsr $9000 ; cycle-counted page0/page1 flip code
|
||||
|
||||
;======================================================
|
||||
; We have 4550 cycles in the vblank, use them wisely
|
||||
;======================================================
|
||||
; do_nothing should be 4550+1 -2-9 -7= 4533
|
||||
|
||||
jsr book_do_nothing ; 6
|
||||
|
||||
lda KEYPRESS ; 4
|
||||
bpl book_no_keypress ; 3
|
||||
rts
|
||||
book_no_keypress:
|
||||
|
||||
jmp book_loop ; 3
|
||||
|
||||
; do_nothing should be
|
||||
; 4550
|
||||
; -12 -- enter/leave flip code
|
||||
; -10 -- keypress code
|
||||
; =======
|
||||
; 4528 cycles
|
||||
|
||||
|
||||
;=================================
|
||||
; do nothing
|
||||
;=================================
|
||||
; and take 4533-6 = 4527 cycles to do it
|
||||
; and take 4528
|
||||
|
||||
book_do_nothing:
|
||||
|
||||
; Try X=4 Y=174 cycles=4525 R2
|
||||
; Try X=4 Y=174 cycles=4525 R3
|
||||
|
||||
nop ; 2
|
||||
lda TEMP ; 3
|
||||
|
||||
ldy #174 ; 2
|
||||
bloop1:
|
||||
@ -206,13 +145,13 @@ bloop2:
|
||||
bne bloop1 ; 2nt/3
|
||||
|
||||
|
||||
rts ; 6
|
||||
|
||||
lda KEYPRESS ; 4
|
||||
bpl book_no_keypress ; 3
|
||||
rts ; 6
|
||||
book_no_keypress:
|
||||
|
||||
jmp book_loop ; 3
|
||||
|
||||
|
||||
pictures:
|
||||
.word book_low,book_high
|
||||
|
||||
|
||||
.include "book_40_48d.inc"
|
||||
|
||||
|
||||
|
135
demosplash/create_update_type1.s
Normal file
135
demosplash/create_update_type1.s
Normal file
@ -0,0 +1,135 @@
|
||||
|
||||
; Autogenerates code that does interleaved Page0/Page1 lores mode
|
||||
; but leaving room for 14 pixels/line of per-scanline color
|
||||
|
||||
UPDATE_START = $9000
|
||||
|
||||
DEFAULT_COLOR = $0
|
||||
|
||||
create_update_type1:
|
||||
ldx #192
|
||||
lda #<UPDATE_START
|
||||
sta OUTL
|
||||
lda #>UPDATE_START
|
||||
sta OUTH
|
||||
lda #<one_scanline
|
||||
sta INL
|
||||
lda #>one_scanline
|
||||
sta INH
|
||||
create_update_outer_loop:
|
||||
ldy #0
|
||||
create_update_inner_loop:
|
||||
lda (INL),Y
|
||||
sta (OUTL),Y
|
||||
iny
|
||||
cpy #49
|
||||
bne create_update_inner_loop
|
||||
|
||||
; toggle PAGE0/PAGE1
|
||||
txa
|
||||
and #$1 ; ror?
|
||||
clc
|
||||
adc #$54
|
||||
ldy #1
|
||||
sta (OUTL),Y
|
||||
|
||||
clc
|
||||
lda #49
|
||||
adc OUTL
|
||||
sta OUTL
|
||||
lda OUTH
|
||||
adc #0
|
||||
sta OUTH
|
||||
|
||||
dex
|
||||
bne create_update_outer_loop
|
||||
|
||||
ldy #0
|
||||
lda #$60
|
||||
sta (OUTL),Y
|
||||
|
||||
rts
|
||||
|
||||
BARS_START = 46
|
||||
|
||||
;===========================
|
||||
; from 40 to 168?
|
||||
setup_rasterbars:
|
||||
|
||||
lda #4 ; which page
|
||||
sta RASTER_PAGE
|
||||
|
||||
ldx #BARS_START
|
||||
lda #<(UPDATE_START+(BARS_START*49))
|
||||
sta OUTL
|
||||
lda #>(UPDATE_START+(BARS_START*49))
|
||||
sta OUTH
|
||||
setup_rasterbars_outer_loop:
|
||||
ldy #6
|
||||
lda #13
|
||||
sta RASTER_X
|
||||
setup_rasterbars_inner_loop:
|
||||
txa
|
||||
pha
|
||||
inx
|
||||
txa ; start one earlier
|
||||
lsr
|
||||
lsr
|
||||
and #$fe
|
||||
tax
|
||||
clc
|
||||
lda gr_offsets,X
|
||||
adc RASTER_X
|
||||
inc RASTER_X
|
||||
sta (OUTL),Y
|
||||
iny
|
||||
clc
|
||||
lda gr_offsets+1,X
|
||||
adc RASTER_PAGE
|
||||
sta (OUTL),Y
|
||||
iny
|
||||
iny
|
||||
pla
|
||||
tax
|
||||
|
||||
cpy #48
|
||||
bne setup_rasterbars_inner_loop
|
||||
|
||||
clc
|
||||
lda #49
|
||||
adc OUTL
|
||||
sta OUTL
|
||||
lda OUTH
|
||||
adc #0
|
||||
sta OUTH
|
||||
|
||||
|
||||
lda RASTER_PAGE
|
||||
eor #$04
|
||||
sta RASTER_PAGE
|
||||
|
||||
inx
|
||||
cpx #184
|
||||
bne setup_rasterbars_outer_loop
|
||||
|
||||
rts
|
||||
|
||||
one_scanline:
|
||||
.byte $2C,$54,$C0 ; bit PAGE0 ; 4
|
||||
.byte $A9,DEFAULT_COLOR ; lda #$0b ; 2
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $8D,$00,$02 ; sta $200 ; 4
|
||||
.byte $A5,$FA ; lda TEMP ; 3
|
||||
|
143
demosplash/create_update_type2.s
Normal file
143
demosplash/create_update_type2.s
Normal file
@ -0,0 +1,143 @@
|
||||
|
||||
; Autogenerates code for Type2 (escape)
|
||||
|
||||
; First 9 (?) lines = text mode
|
||||
;
|
||||
|
||||
UPDATE2_START = $9000
|
||||
|
||||
;DEFAULT_COLOR = $0
|
||||
|
||||
create_update_type2:
|
||||
ldx #192
|
||||
lda #<UPDATE2_START
|
||||
sta OUTL
|
||||
lda #>UPDATE2_START
|
||||
sta OUTH
|
||||
lda #<another_scanline
|
||||
sta INL
|
||||
lda #>another_scanline
|
||||
sta INH
|
||||
create_update2_outer_loop:
|
||||
ldy #0
|
||||
create_update2_inner_loop:
|
||||
lda (INL),Y
|
||||
sta (OUTL),Y
|
||||
iny
|
||||
cpy #47
|
||||
bne create_update2_inner_loop
|
||||
|
||||
; toggle PAGE0/PAGE1
|
||||
txa
|
||||
and #$1 ; ror?
|
||||
clc
|
||||
adc #$54
|
||||
ldy #1
|
||||
sta (OUTL),Y
|
||||
|
||||
clc
|
||||
lda #47
|
||||
adc OUTL
|
||||
sta OUTL
|
||||
lda OUTH
|
||||
adc #0
|
||||
sta OUTH
|
||||
|
||||
dex
|
||||
bne create_update2_outer_loop
|
||||
|
||||
ldy #0
|
||||
lda #$60 ; rts
|
||||
sta (OUTL),Y
|
||||
|
||||
rts
|
||||
|
||||
;BARS_START = 46
|
||||
|
||||
.if 0
|
||||
;===========================
|
||||
; from 40 to 168?
|
||||
setup_rasterbars:
|
||||
|
||||
lda #4 ; which page
|
||||
sta RASTER_PAGE
|
||||
|
||||
ldx #BARS_START
|
||||
lda #<(UPDATE_START+(BARS_START*49))
|
||||
sta OUTL
|
||||
lda #>(UPDATE_START+(BARS_START*49))
|
||||
sta OUTH
|
||||
setup_rasterbars_outer_loop:
|
||||
ldy #6
|
||||
lda #13
|
||||
sta RASTER_X
|
||||
setup_rasterbars_inner_loop:
|
||||
txa
|
||||
pha
|
||||
inx
|
||||
txa ; start one earlier
|
||||
lsr
|
||||
lsr
|
||||
and #$fe
|
||||
tax
|
||||
clc
|
||||
lda gr_offsets,X
|
||||
adc RASTER_X
|
||||
inc RASTER_X
|
||||
sta (OUTL),Y
|
||||
iny
|
||||
clc
|
||||
lda gr_offsets+1,X
|
||||
adc RASTER_PAGE
|
||||
sta (OUTL),Y
|
||||
iny
|
||||
iny
|
||||
pla
|
||||
tax
|
||||
|
||||
cpy #48
|
||||
bne setup_rasterbars_inner_loop
|
||||
|
||||
clc
|
||||
lda #49
|
||||
adc OUTL
|
||||
sta OUTL
|
||||
lda OUTH
|
||||
adc #0
|
||||
sta OUTH
|
||||
|
||||
|
||||
lda RASTER_PAGE
|
||||
eor #$04
|
||||
sta RASTER_PAGE
|
||||
|
||||
inx
|
||||
cpx #184
|
||||
bne setup_rasterbars_outer_loop
|
||||
|
||||
rts
|
||||
.endif
|
||||
|
||||
another_scanline:
|
||||
.byte $2C,$54,$C0 ; bit PAGE0 ; 4
|
||||
.byte $A2,$01 ;smc018: ldx #$01 ; 2
|
||||
.byte $A9,$00 ; lda #$00 ; 2
|
||||
.byte $9D,$00,$02 ; sta $c00,X ; 5
|
||||
.byte $A9,$00 ; lda #$00 ; 2
|
||||
.byte $9D,$00,$02 ; sta $c00,X ; 5
|
||||
.byte $A9,$00 ; lda #$00 ; 2
|
||||
.byte $9D,$00,$02 ; sta $c00,X ; 5
|
||||
.byte $A9,$00 ; lda #$00 ; 2
|
||||
.byte $9D,$00,$02 ; sta $c00,X ; 5
|
||||
.byte $A9,$00 ; lda #$00 ; 2
|
||||
.byte $9D,$00,$02 ; sta $c00,X ; 5
|
||||
.byte $A9,$00 ; lda #$00 ; 2
|
||||
.byte $9D,$00,$02 ; sta $c00,X ; 5
|
||||
.byte $A9,$00 ; lda #$00 ; 2
|
||||
.byte $9D,$00,$02 ; sta $c00,X ; 5
|
||||
.byte $A2,$00 ; ldx #$00 ; 2
|
||||
.byte $A5,$85 ; lda ZERO ; 3
|
||||
.byte $9D,$00,$02 ; sta $c00,X ; 5
|
||||
;========== ;===
|
||||
; 47??? ; 65
|
||||
|
602
demosplash/credits.s
Normal file
602
demosplash/credits.s
Normal file
@ -0,0 +1,602 @@
|
||||
; Uses the 40x48d page1/page2 every-1-scanline pageflip mode
|
||||
|
||||
; self modifying code to get some extra colors (pseudo 40x192 mode)
|
||||
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
credits:
|
||||
|
||||
;===================
|
||||
; init screen
|
||||
jsr TEXT
|
||||
jsr HOME
|
||||
bit KEYRESET
|
||||
|
||||
;===================
|
||||
; init vars
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
sta FRAME
|
||||
|
||||
lda #<credits_text
|
||||
sta CREDITS_POINTERL
|
||||
lda #>credits_text
|
||||
sta CREDITS_POINTERH
|
||||
|
||||
;==================
|
||||
; setup graphics
|
||||
|
||||
jsr create_update_type1
|
||||
jsr setup_rasterbars
|
||||
|
||||
; change to page0/page0/page1/page1 for first 32 lines
|
||||
; 0101010101010101010101010101010101010101
|
||||
; 1100110011001100110011001100110011001100
|
||||
; | *| *| *| *--------| *| *| *| *
|
||||
; 0 34 78 12 5 4 78 12 56 9
|
||||
; 11 1 2 22 33 33 3
|
||||
lda #$54
|
||||
sta $9001+(49*3)
|
||||
sta $9001+(49*7)
|
||||
sta $9001+(49*11)
|
||||
sta $9001+(49*15)
|
||||
sta $9001+(49*27)
|
||||
sta $9001+(49*31)
|
||||
sta $9001+(49*35)
|
||||
sta $9001+(49*39)
|
||||
|
||||
lda #$55
|
||||
sta $9001+(49*0)
|
||||
sta $9001+(49*4)
|
||||
sta $9001+(49*8)
|
||||
sta $9001+(49*12)
|
||||
sta $9001+(49*24)
|
||||
sta $9001+(49*28)
|
||||
sta $9001+(49*32)
|
||||
sta $9001+(49*36)
|
||||
|
||||
|
||||
;=============================
|
||||
; Load graphic page0
|
||||
|
||||
lda #<credits_low
|
||||
sta GBASL
|
||||
lda #>credits_low
|
||||
sta GBASH
|
||||
|
||||
lda #$c ; load image to $c00
|
||||
|
||||
jsr load_rle_gr
|
||||
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
|
||||
jsr gr_copy_to_current ; copy to page1
|
||||
|
||||
; GR part
|
||||
bit PAGE1
|
||||
bit LORES ; 4
|
||||
bit SET_GR ; 4
|
||||
bit FULLGR ; 4
|
||||
|
||||
; jsr wait_until_keypressed
|
||||
|
||||
|
||||
;=============================
|
||||
; Load graphic page1
|
||||
|
||||
lda #<credits_high
|
||||
sta GBASL
|
||||
lda #>credits_high
|
||||
sta GBASH
|
||||
lda #$c ; load to $c00
|
||||
jsr load_rle_gr
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
|
||||
jsr gr_copy_to_current
|
||||
|
||||
; GR part
|
||||
bit PAGE0
|
||||
|
||||
; jsr wait_until_keypressed
|
||||
|
||||
|
||||
;==============================
|
||||
; setup graphics for vapor lock
|
||||
;==============================
|
||||
|
||||
jsr vapor_lock
|
||||
|
||||
; vapor lock returns with us at beginning of hsync in line
|
||||
; 114 (7410 cycles), so with 5070 lines to go
|
||||
|
||||
; GR part
|
||||
bit LORES ; 4
|
||||
bit SET_GR ; 4
|
||||
bit FULLGR ; 4
|
||||
|
||||
jsr gr_copy_to_current ; 6+ 9292
|
||||
|
||||
; 5070 + 4550 = 9620
|
||||
; 9292
|
||||
; 12
|
||||
; 6
|
||||
; ====
|
||||
; 310
|
||||
|
||||
; - 3 for jmp
|
||||
; 307
|
||||
|
||||
; Try X=9 Y=6 cycles=307
|
||||
|
||||
ldy #6 ; 2
|
||||
tloopA: ldx #9 ; 2
|
||||
tloopB: dex ; 2
|
||||
bne tloopB ; 2nt/3
|
||||
dey ; 2
|
||||
bne tloopA ; 2nt/3
|
||||
|
||||
jmp credits_loop ; 3
|
||||
|
||||
.align $100
|
||||
|
||||
;================================================
|
||||
; Display Loop
|
||||
;================================================
|
||||
; each scan line 65 cycles
|
||||
; 1 cycle each byte (40cycles) + 25 for horizontal
|
||||
; Total of 12480 cycles to draw screen
|
||||
; Vertical blank = 4550 cycles (70 scan lines)
|
||||
; Total of 17030 cycles to get back to where was
|
||||
|
||||
; We want to alternate between page1 and page2 every 65 cycles
|
||||
; vblank = 4550 cycles to do scrolling
|
||||
|
||||
|
||||
credits_loop:
|
||||
|
||||
jsr $9000
|
||||
|
||||
;======================================================
|
||||
; We have 4550 cycles in the vblank, use them wisely
|
||||
;======================================================
|
||||
|
||||
; 4550 -- VBLANK
|
||||
; -582 -- erase 22+4*(8+6+126) = 582
|
||||
; -696 -- move+draw 4*(16+26+6+126) = 696
|
||||
; -10 -- keypress
|
||||
; -12 -- call/return of draw code
|
||||
; -446 -- do_words
|
||||
;=======
|
||||
; 2804
|
||||
|
||||
pad_time:
|
||||
|
||||
; we erase, then draw
|
||||
; doing a blanket erase of all 128 lines would cost 3459 cycles!
|
||||
|
||||
;=========================
|
||||
; do words
|
||||
;=========================
|
||||
|
||||
jsr draw_credits ; 6+440
|
||||
|
||||
;=========================
|
||||
; ERASE
|
||||
;=========================
|
||||
|
||||
lda #$00 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 22
|
||||
|
||||
; erase red
|
||||
|
||||
lda red_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
; erase yellow
|
||||
|
||||
lda yellow_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
; erase green
|
||||
|
||||
lda green_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
; erase red
|
||||
|
||||
lda blue_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
|
||||
;=========================
|
||||
; MOVE and DRAW
|
||||
;=========================
|
||||
|
||||
|
||||
;============
|
||||
; move red
|
||||
|
||||
ldy red_x ; 4
|
||||
lda movement_table,Y ; 4
|
||||
sta red_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
;==========
|
||||
; 16
|
||||
|
||||
; draw red
|
||||
|
||||
lda #$33 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
lda #$bb ; 2
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
lda #$ff ; 2
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 26
|
||||
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
|
||||
;============
|
||||
; move yellow
|
||||
|
||||
ldy yellow_x ; 4
|
||||
lda movement_table,Y ; 4
|
||||
sta yellow_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
;==========
|
||||
; 16
|
||||
|
||||
; draw yellow
|
||||
|
||||
lda #$88 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
lda #$dd ; 2
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
lda #$ff ; 2
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 26
|
||||
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
;============
|
||||
; move green
|
||||
|
||||
ldy green_x ; 4
|
||||
lda movement_table,Y ; 4
|
||||
sta green_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
;==========
|
||||
; 16
|
||||
|
||||
; draw green
|
||||
|
||||
lda #$44 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
lda #$cc ; 2
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
lda #$ff ; 2
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 26
|
||||
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
;============
|
||||
; move blue
|
||||
|
||||
ldy blue_x ; 4
|
||||
lda movement_table,Y ; 4
|
||||
sta blue_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
;==========
|
||||
; 16
|
||||
|
||||
; draw blue
|
||||
|
||||
lda #$22 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
lda #$66 ; 2
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
lda #$ff ; 2
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 26
|
||||
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
|
||||
|
||||
|
||||
;============================
|
||||
; WAIT for VBLANK to finish
|
||||
;============================
|
||||
|
||||
; Try X=61 Y=9 cycles=2800 R4
|
||||
nop
|
||||
nop
|
||||
|
||||
ldy #9 ; 2
|
||||
tloop1: ldx #61 ; 2
|
||||
tloop2: dex ; 2
|
||||
bne tloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
bne tloop1 ; 2nt/3
|
||||
|
||||
|
||||
lda KEYPRESS ; 4
|
||||
bpl cno_keypress ; 3
|
||||
rts
|
||||
|
||||
cno_keypress:
|
||||
|
||||
jmp credits_loop ; 3
|
||||
|
||||
|
||||
;========================
|
||||
; Draw a rasterbar
|
||||
; unroll as memory is free! haha
|
||||
;========================
|
||||
; X is location
|
||||
|
||||
; 2+22+24+24+24+24+6 = 126
|
||||
|
||||
draw_rasterbar:
|
||||
|
||||
ldy #0 ; 2
|
||||
;====
|
||||
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color1_1:
|
||||
lda #$33 ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
;============
|
||||
; 22
|
||||
|
||||
inx ; 2
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color2_1:
|
||||
lda #$bb ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
|
||||
inx ; 2
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color3_1:
|
||||
lda #$ff ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
|
||||
inx
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color2_2:
|
||||
lda #$bb ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
|
||||
inx
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color1_2:
|
||||
lda #$33 ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
|
||||
rts ; 6
|
||||
|
||||
|
||||
red_x: .byte $10
|
||||
yellow_x: .byte $20
|
||||
green_x: .byte $30
|
||||
blue_x: .byte $40
|
||||
|
||||
|
||||
;=================================
|
||||
; draw credits
|
||||
;=================================
|
||||
; credits pointer
|
||||
;
|
||||
; noframe: 13 = 13 (need 427) +12
|
||||
; end: 13+12= 25 (need 415) +83
|
||||
; newchar: 13+12+4+79 = 108 (need 333) +332
|
||||
; putchar: 13+12+4+377+28+6 = 440
|
||||
|
||||
draw_credits:
|
||||
inc FRAME ; 5
|
||||
lda FRAME ; 3
|
||||
and #$f ; 2
|
||||
beq credits_handle_next ; 3
|
||||
;====
|
||||
; 13
|
||||
credits_long_delay:
|
||||
; -1
|
||||
; 12+1 = 13 cycles
|
||||
|
||||
lda TEMP ; 3
|
||||
lda TEMP ; 3
|
||||
lda TEMP ; 3
|
||||
nop ; 2
|
||||
nop ; 2
|
||||
|
||||
credits_skip:
|
||||
; 83 cycles
|
||||
lda #56 ; 2
|
||||
jsr delay_a ; delay 25+a (81)
|
||||
|
||||
credits_short_delay:
|
||||
; 332 cycles-6 = 326
|
||||
|
||||
; 83 cycles
|
||||
lda #56 ; 2
|
||||
jsr delay_a ; delay 25+a (81)
|
||||
|
||||
; 243 cycles
|
||||
lda #216 ; 2
|
||||
jsr delay_a ; delay 25+a (241)
|
||||
|
||||
rts ; 6
|
||||
|
||||
|
||||
credits_handle_next:
|
||||
ldy #0 ; 2
|
||||
lda (CREDITS_POINTERL),Y ; 5
|
||||
cmp #$ff ; 2
|
||||
beq credits_skip ; 3
|
||||
;===
|
||||
; 12
|
||||
|
||||
; -1
|
||||
cmp #'@' ; 2
|
||||
bcs credits_put_char ; bge ; 3
|
||||
;====
|
||||
; 4
|
||||
|
||||
credits_check_xy:
|
||||
; -1
|
||||
sta CREDITS_Y ; 3
|
||||
iny ; 2
|
||||
lda (CREDITS_POINTERL),Y ; 5
|
||||
sta CREDITS_X ; 3
|
||||
iny ; 2
|
||||
;====
|
||||
; 14
|
||||
|
||||
lda (CREDITS_POINTERL),Y ; 5
|
||||
sta colors_hi ; 4
|
||||
iny ; 2
|
||||
lda (CREDITS_POINTERL),Y ; 5
|
||||
sta colors_hi+1 ; 4
|
||||
iny ; 2
|
||||
lda (CREDITS_POINTERL),Y ; 5
|
||||
sta colors_lo ; 4
|
||||
iny ; 2
|
||||
lda (CREDITS_POINTERL),Y ; 5
|
||||
sta colors_lo+1 ; 4
|
||||
iny ; 2
|
||||
;===
|
||||
; 44
|
||||
|
||||
clc ; 2
|
||||
tya ; 2
|
||||
adc CREDITS_POINTERL ; 3
|
||||
sta CREDITS_POINTERL ; 3
|
||||
lda #0 ; 2
|
||||
adc CREDITS_POINTERH ; 3
|
||||
sta CREDITS_POINTERH ; 3
|
||||
|
||||
jmp credits_short_delay ; 3
|
||||
;====
|
||||
; 21
|
||||
credits_put_char:
|
||||
ldx CREDITS_X ; 3
|
||||
ldy CREDITS_Y ; 3
|
||||
jsr put_char ; 6+365
|
||||
;======
|
||||
; 377
|
||||
|
||||
clc ; 2
|
||||
lda CREDITS_X ; 3
|
||||
adc #4 ; 2
|
||||
sta CREDITS_X ; 3
|
||||
|
||||
clc ; 2
|
||||
lda #1 ; 2
|
||||
adc CREDITS_POINTERL ; 3
|
||||
sta CREDITS_POINTERL ; 3
|
||||
lda #0 ; 2
|
||||
adc CREDITS_POINTERH ; 3
|
||||
sta CREDITS_POINTERH ; 3
|
||||
;=====
|
||||
; 28
|
||||
|
||||
draw_credits_end:
|
||||
rts ; 6
|
||||
|
||||
.align $100
|
||||
credits_text:
|
||||
.byte 0,10, $B1,$3F,$F3,$1B, 'C','O','D','E','[' ; "CODE:"
|
||||
.byte 6,8, $B1,$3F,$F3,$1B, 'D','E','A','T','E','R' ; "DEATER"
|
||||
.byte '@','@' ; time pad
|
||||
.byte 0,10, $00,$00,$00,$00, 'C','O','D','E','[' ; "CODE:"
|
||||
.byte 6,8, $00,$00,$00,$00, 'D','E','A','T','E','R' ; "DEATER"
|
||||
|
||||
.byte 0,8, $D8,$9F,$F9,$8D, 'M','U','S','I','C','[' ; "MUSIC:"
|
||||
.byte 6,14, $D8,$9F,$F9,$8D, 'D','Y','A' ; "DYA"
|
||||
.byte '@','@' ; time pad
|
||||
.byte 0,8, $00,$00,$00,$00, 'M','U','S','I','C','[' ; "MUSIC:"
|
||||
.byte 6,14, $00,$00,$00,$00, 'D','Y','A' ; "DYA"
|
||||
|
||||
.byte 0,8, $72,$6F,$F6,$27, 'M','A','G','I','C','[' ; "MAGIC:"
|
||||
.byte 6,8, $72,$6F,$F6,$27, 'Q','K','U','M','B','A' ; "QKUMBA"
|
||||
.byte '@','@' ; time pad
|
||||
.byte 0,8, $00,$00,$00,$00, 'M','A','G','I','C','[' ; "MAGIC:"
|
||||
.byte 6,8, $00,$00,$00,$00, 'Q','K','U','M','B','A' ; "QKUMBA"
|
||||
|
||||
.byte 0,8, $C4,$CF,$FC,$4C, 'T','H','A','N','K','S' ; "THANKS"
|
||||
.byte 6,4, $C4,$CF,$FC,$4C, 'F','R','O','G','Y','S','U','E' ; "FROGYSUE"
|
||||
.byte '@' ; time pad
|
||||
.byte 0,8, $00,$00,$00,$00, 'T','H','A','N','K','S' ; "THANKS"
|
||||
.byte 6,4, $00,$00,$00,$00, 'F','R','O','G','Y','S','U','E' ; "FROGYSUE"
|
||||
|
||||
|
||||
.byte 0,10, $75,$5F,$F5,$57, 'A','@','V','M','W' ; "A VMW"
|
||||
.byte 6,0, $75,$5F,$F5,$57, 'P','R','O','D','U','C','T','I','O','N'
|
||||
; "PRODUCTION"
|
||||
.byte 255 ; done
|
||||
credits_text_end:
|
||||
|
||||
.assert >credits_text = >(credits_text_end-1), error, "credits_text crosses page"
|
BIN
demosplash/credits_bg.png
Normal file
BIN
demosplash/credits_bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
@ -18,6 +18,51 @@ demosplash2019:
|
||||
jsr clear_ay_both
|
||||
jsr pt3_init_song
|
||||
|
||||
|
||||
;====================================
|
||||
; generate 4 patterns worth of music
|
||||
; at address $9000
|
||||
|
||||
lda #0
|
||||
sta FRAME_PAGE
|
||||
|
||||
lda #0
|
||||
sta FRAME_OFFSET
|
||||
|
||||
frame_decode_loop:
|
||||
jsr pt3_make_frame
|
||||
|
||||
jsr pt3_write_frame
|
||||
|
||||
inc FRAME_OFFSET
|
||||
bne frame_decode_loop
|
||||
|
||||
inc r0_wrsmc+2 ; 6
|
||||
inc r1_wrsmc+2 ; 6
|
||||
inc r2_wrsmc+2 ; 6
|
||||
inc r4_wrsmc+2 ; 6
|
||||
inc r13_wrsmc+2 ; 6
|
||||
inc r6_wrsmc+2 ; 6
|
||||
inc r7_wrsmc+2 ; 6
|
||||
inc r8_wrsmc+2 ; 6
|
||||
inc r9_wrsmc+2 ; 6
|
||||
inc r11_wrsmc+2 ; 6
|
||||
inc r12_wrsmc+2 ; 6
|
||||
|
||||
|
||||
inc FRAME_PAGE
|
||||
lda FRAME_PAGE
|
||||
|
||||
|
||||
|
||||
cmp #3
|
||||
bne frame_decode_loop
|
||||
|
||||
lda #0
|
||||
sta FRAME_OFFSET
|
||||
|
||||
|
||||
|
||||
; lda #1
|
||||
; sta LOOP
|
||||
|
||||
@ -45,41 +90,68 @@ demosplash2019:
|
||||
; apple II intro
|
||||
;============================
|
||||
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
||||
|
||||
; jsr appleII_intro
|
||||
|
||||
;===========================
|
||||
; show some pictures
|
||||
;============================
|
||||
|
||||
|
||||
; start music
|
||||
|
||||
; cli ; enable interrupts
|
||||
|
||||
;===========================
|
||||
; missing scene
|
||||
;===========================
|
||||
|
||||
; jsr missing_intro
|
||||
; nop
|
||||
; nop
|
||||
; nop
|
||||
|
||||
jsr missing_intro
|
||||
|
||||
|
||||
;========================
|
||||
; start irq music
|
||||
;========================
|
||||
|
||||
; cli ; enable interrupts
|
||||
|
||||
;===========================
|
||||
; book scene
|
||||
;============================
|
||||
|
||||
|
||||
; jsr open_book
|
||||
|
||||
|
||||
;===========================
|
||||
; starbase scene
|
||||
;===========================
|
||||
|
||||
; jsr starbase
|
||||
jsr starbase
|
||||
|
||||
;===========================
|
||||
; escape scene
|
||||
;===========================
|
||||
|
||||
jsr escape
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
; jsr escape
|
||||
|
||||
;===========================
|
||||
; book scene
|
||||
;===========================
|
||||
|
||||
; jsr book
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
; jsr end_book
|
||||
|
||||
;===========================
|
||||
; credits
|
||||
;===========================
|
||||
|
||||
jsr credits
|
||||
|
||||
; wait wait wait
|
||||
|
||||
@ -101,18 +173,24 @@ wait_until_keypressed:
|
||||
|
||||
; Apple II intro
|
||||
.include "appleII_intro.s"
|
||||
.include "appleII_40_96.inc"
|
||||
|
||||
.align $100
|
||||
.include "vapor_lock.s"
|
||||
.include "delay_a.s"
|
||||
.include "gr_unrle.s"
|
||||
.include "gr_offsets.s"
|
||||
.include "gr_copy.s"
|
||||
.include "gr_offsets.s"
|
||||
|
||||
;.include "text_print.s"
|
||||
.include "gr_pageflip.s"
|
||||
.align $100
|
||||
.include "gr_fast_clear.s"
|
||||
;.include "gr_overlay.s"
|
||||
.align $100
|
||||
.include "movement_table.s"
|
||||
.include "font.s"
|
||||
.align $100
|
||||
.include "offsets_table.s"
|
||||
|
||||
; missing
|
||||
.include "missing.s"
|
||||
@ -121,16 +199,30 @@ wait_until_keypressed:
|
||||
.include "starbase.s"
|
||||
|
||||
; escape
|
||||
.include "escape.s"
|
||||
;.include "escape.s"
|
||||
|
||||
; book
|
||||
.include "book.s"
|
||||
|
||||
; credits
|
||||
.include "credits.s"
|
||||
|
||||
; Music player
|
||||
.include "pt3_lib_core.s"
|
||||
.include "pt3_lib_init.s"
|
||||
.include "pt3_lib_mockingboard.s"
|
||||
.include "interrupt_handler.s"
|
||||
.include "pt3_lib_play_frame.s"
|
||||
.include "pt3_lib_write_frame.s"
|
||||
|
||||
.include "create_update_type1.s"
|
||||
.include "create_update_type2.s"
|
||||
|
||||
; Pictures (no need to align)
|
||||
.include "appleII_40_96.inc"
|
||||
.include "earth.inc"
|
||||
.include "book_40_48d.inc"
|
||||
.include "credits_bg.inc"
|
||||
|
||||
|
||||
PT3_LOC = song
|
||||
@ -138,4 +230,4 @@ PT3_LOC = song
|
||||
; must be page aligned
|
||||
.align 256
|
||||
song:
|
||||
.incbin "dya_space_demo.pt3"
|
||||
.incbin "dya_space_demo2.pt3"
|
||||
|
@ -18,51 +18,6 @@ demosplash2019:
|
||||
jsr clear_ay_both
|
||||
jsr pt3_init_song
|
||||
|
||||
|
||||
;====================================
|
||||
; generate 4 patterns worth of music
|
||||
; at address $9000
|
||||
|
||||
lda #0
|
||||
sta FRAME_PAGE
|
||||
|
||||
lda #0
|
||||
sta FRAME_OFFSET
|
||||
|
||||
frame_decode_loop:
|
||||
jsr pt3_make_frame
|
||||
|
||||
jsr pt3_write_frame
|
||||
|
||||
inc FRAME_OFFSET
|
||||
bne frame_decode_loop
|
||||
|
||||
inc r0_wrsmc+2 ; 6
|
||||
inc r1_wrsmc+2 ; 6
|
||||
inc r2_wrsmc+2 ; 6
|
||||
inc r4_wrsmc+2 ; 6
|
||||
inc r13_wrsmc+2 ; 6
|
||||
inc r6_wrsmc+2 ; 6
|
||||
inc r7_wrsmc+2 ; 6
|
||||
inc r8_wrsmc+2 ; 6
|
||||
inc r9_wrsmc+2 ; 6
|
||||
inc r11_wrsmc+2 ; 6
|
||||
inc r12_wrsmc+2 ; 6
|
||||
|
||||
|
||||
inc FRAME_PAGE
|
||||
lda FRAME_PAGE
|
||||
|
||||
|
||||
|
||||
cmp #3
|
||||
bne frame_decode_loop
|
||||
|
||||
lda #0
|
||||
sta FRAME_OFFSET
|
||||
|
||||
|
||||
|
||||
; lda #1
|
||||
; sta LOOP
|
||||
|
||||
@ -90,20 +45,8 @@ frame_decode_loop:
|
||||
; apple II intro
|
||||
;============================
|
||||
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
||||
|
||||
; jsr appleII_intro
|
||||
|
||||
|
||||
;===========================
|
||||
; missing scene
|
||||
;===========================
|
||||
|
||||
jsr missing_intro
|
||||
|
||||
;===========================
|
||||
; show some pictures
|
||||
;============================
|
||||
@ -113,7 +56,11 @@ frame_decode_loop:
|
||||
|
||||
; cli ; enable interrupts
|
||||
|
||||
;===========================
|
||||
; missing scene
|
||||
;===========================
|
||||
|
||||
; jsr missing_intro
|
||||
|
||||
;===========================
|
||||
; starbase scene
|
||||
@ -125,7 +72,7 @@ frame_decode_loop:
|
||||
; escape scene
|
||||
;===========================
|
||||
|
||||
; jsr escape
|
||||
jsr escape
|
||||
|
||||
;===========================
|
||||
; book scene
|
||||
@ -155,46 +102,43 @@ wait_until_keypressed:
|
||||
; Apple II intro
|
||||
.include "appleII_intro.s"
|
||||
.include "appleII_40_96.inc"
|
||||
|
||||
.align $100
|
||||
.include "vapor_lock.s"
|
||||
.include "delay_a.s"
|
||||
.include "gr_unrle.s"
|
||||
.include "gr_copy.s"
|
||||
.include "gr_offsets.s"
|
||||
.include "gr_copy.s"
|
||||
|
||||
;.include "text_print.s"
|
||||
;.include "gr_pageflip.s"
|
||||
.include "gr_pageflip.s"
|
||||
.align $100
|
||||
.include "gr_fast_clear.s"
|
||||
;.include "gr_overlay.s"
|
||||
.align $100
|
||||
.include "font.s"
|
||||
|
||||
|
||||
; missing
|
||||
.include "missing.s"
|
||||
|
||||
; Starbase
|
||||
;.include "starbase.s"
|
||||
.include "starbase.s"
|
||||
|
||||
; escape
|
||||
;.include "escape.s"
|
||||
.include "escape.s"
|
||||
|
||||
; book
|
||||
;.include "book.s"
|
||||
.include "book.s"
|
||||
|
||||
; Music player
|
||||
.include "pt3_lib_core.s"
|
||||
.include "pt3_lib_init.s"
|
||||
.include "pt3_lib_mockingboard.s"
|
||||
.include "interrupt_handler.s"
|
||||
.include "pt3_lib_play_frame.s"
|
||||
.include "pt3_lib_write_frame.s"
|
||||
|
||||
; Images (no need to align)
|
||||
.include "credits_bg.inc"
|
||||
|
||||
|
||||
PT3_LOC = song
|
||||
|
||||
; must be page aligned
|
||||
.align 256
|
||||
song:
|
||||
.incbin "dya_space_demo2.pt3"
|
||||
.incbin "dya_space_demo.pt3"
|
@ -5,11 +5,6 @@
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
|
||||
; TODO:
|
||||
; end level after a certain number of points
|
||||
; track score properly
|
||||
|
||||
|
||||
escape:
|
||||
|
||||
;===================
|
||||
@ -59,6 +54,13 @@ escape:
|
||||
sta ASTEROID_SPEED
|
||||
sta XPOS
|
||||
|
||||
;==================
|
||||
; setup graphics
|
||||
|
||||
jsr create_update_type2
|
||||
; jsr setup_rasterbars
|
||||
|
||||
|
||||
;=============================
|
||||
; Load graphic page0
|
||||
|
||||
@ -107,8 +109,7 @@ escape:
|
||||
|
||||
jsr move_and_print
|
||||
|
||||
|
||||
; ; GR part
|
||||
; GR part
|
||||
bit PAGE0
|
||||
|
||||
;==============================
|
||||
@ -165,13 +166,15 @@ loopRR: dex ; 2
|
||||
|
||||
sprites_display_loop:
|
||||
|
||||
.include "sprites_screen.s"
|
||||
jsr $9000
|
||||
;.include "sprites_screen.s"
|
||||
|
||||
;======================================================
|
||||
; We have 4550 cycles in the vblank, use them wisely
|
||||
;======================================================
|
||||
|
||||
; 4550 -- VBLANK
|
||||
; -12 -- call to graphics code
|
||||
;-1835 -- draw ship (131*14)+1
|
||||
; -829 -- erase ship (100*8)+(14*2)+1
|
||||
; -167 -- erase fire
|
||||
@ -883,7 +886,7 @@ done_sparkle:
|
||||
|
||||
|
||||
|
||||
pad_time:
|
||||
pad_time2:
|
||||
|
||||
|
||||
;============================
|
||||
@ -1150,9 +1153,9 @@ keypress_done:
|
||||
sprite_line:
|
||||
sty TEMPY ; 3
|
||||
|
||||
lda y_lookup_l,Y ; 4
|
||||
lda y_lookup2_l,Y ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,Y ; 4
|
||||
lda y_lookup2_h,Y ; 4
|
||||
sta OUTH ; 3
|
||||
;=======
|
||||
; 17
|
||||
@ -1224,9 +1227,9 @@ sprite_line:
|
||||
erase_line:
|
||||
sty TEMPY ; 3
|
||||
|
||||
lda y_lookup_l,Y ; 4
|
||||
lda y_lookup2_l,Y ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,Y ; 4
|
||||
lda y_lookup2_h,Y ; 4
|
||||
sta OUTH ; 3
|
||||
;=======
|
||||
; 17
|
||||
@ -1274,9 +1277,9 @@ erase_line:
|
||||
fire_line:
|
||||
sty TEMPY ; 3
|
||||
|
||||
lda y_lookup_l,Y ; 4
|
||||
lda y_lookup2_l,Y ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,Y ; 4
|
||||
lda y_lookup2_h,Y ; 4
|
||||
sta OUTH ; 3
|
||||
;=======
|
||||
; 17
|
||||
@ -1365,7 +1368,7 @@ erase_fire:
|
||||
.align $100
|
||||
random_values:
|
||||
.incbin "random.data"
|
||||
.include "sprites_table.s"
|
||||
.include "offsets_table2.s"
|
||||
.include "text_print.s"
|
||||
.align $100
|
||||
.include "gr_putsprite_fast.s"
|
||||
@ -1373,8 +1376,6 @@ random_values:
|
||||
;.assert >gr_offsets = >gr_offsets_done, error, "gr_offsets crosses page"
|
||||
.assert >escape_wait_loop = >(escape_wait_loop_end-1), error, "escape_wait_loop crosses page"
|
||||
|
||||
.include "earth.inc"
|
||||
|
||||
.align $100
|
||||
|
||||
ship_sprite:
|
||||
|
@ -165,27 +165,27 @@ font_high:
|
||||
;H1L ** ** ** ** ** ** ** ** ** **
|
||||
;L1L ** ** ** ** ** ** ** ** ** ** ** ** **
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; G
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; H
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; I
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; J
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; K
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; L
|
||||
.byte $f0,$0f,$0f,$ff,$00,$ff,$00,$00 ; G
|
||||
.byte $ff,$00,$ff,$ff,$0f,$ff,$00,$00 ; H
|
||||
.byte $0f,$ff,$0f,$00,$ff,$00,$00,$00 ; I
|
||||
.byte $00,$00,$ff,$f0,$00,$ff,$00,$00 ; J
|
||||
.byte $ff,$00,$ff,$ff,$0f,$f0,$00,$00 ; K
|
||||
.byte $ff,$00,$00,$ff,$00,$00,$00,$00 ; L
|
||||
|
||||
;H0H ** ** ** ** ** ** ** ** ** **
|
||||
;L0H ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
|
||||
;H0H ** ** ** ** ** ** ** ** **
|
||||
;L0H ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
|
||||
;H0L ** ** ** ** ** ** ** ** ** ** ** ** **
|
||||
;L0L ** ** ** ** ** ** ** ** ** ** ** ** ** **
|
||||
;H1H ** ** ** ** ** ** ** ** ** ** ** ** **
|
||||
;L1H ** ** ** ** ** ** ** ** ** ** **
|
||||
;H1L ** ** ** ** ** ** ** ** ** ** ** ** **
|
||||
;L1L ** ** ** ** ** ** ** ** ** **
|
||||
;H1L ** ** ** ** ** ** ** ** ** ** **
|
||||
;L1L ** ** ** ** ** ** ** ** **
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; M
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; N
|
||||
.byte $ff,$f0,$f0,$ff,$0f,$ff,$00,$00 ; M
|
||||
.byte $ff,$0f,$f0,$ff,$00,$ff,$00,$00 ; N
|
||||
.byte $f0,$0f,$f0,$ff,$f0,$ff,$00,$00 ; O
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; P
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Q
|
||||
.byte $ff,$0f,$f0,$ff,$0f,$00,$00,$00 ; P
|
||||
.byte $f0,$0f,$f0,$0f,$f0,$0f,$00,$00 ; Q
|
||||
.byte $ff,$0f,$f0,$ff,$0f,$f0,$00,$00 ; R
|
||||
|
||||
;H0H ** ** ** ** ** ** ** ** ** ** ** ** **
|
||||
@ -197,24 +197,26 @@ font_high:
|
||||
;H1L ** ** ** ** ** ** ** ** ** ** **
|
||||
;L1L ** ** ** ** ** ** ** ** **
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; S
|
||||
.byte $f0,$0f,$0f,$00,$0f,$ff,$00,$00 ; S
|
||||
.byte $0f,$ff,$0f,$00,$ff,$00,$00,$00 ; T
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; U
|
||||
.byte $ff,$00,$ff,$ff,$f0,$ff,$00,$00 ; U
|
||||
.byte $ff,$00,$ff,$0f,$f0,$0f,$00,$00 ; V
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; W
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; X
|
||||
.byte $ff,$00,$ff,$ff,$f0,$ff,$00,$00 ; W
|
||||
.byte $ff,$00,$ff,$f0,$0f,$f0,$00,$00 ; X
|
||||
|
||||
|
||||
;H0H ** ** ** ** **
|
||||
;L0H ** ** **
|
||||
;H0L ** ** **
|
||||
;L0H ** ** ** **
|
||||
;H0L ** ** ** **
|
||||
;L0L ** ** ** **
|
||||
;H1H ** **
|
||||
;L1H ** **
|
||||
;H1L ** **
|
||||
;L1H ** ** **
|
||||
;H1L ** ** **
|
||||
;L1L ** ** ** **
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Y
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Z
|
||||
.byte $ff,$00,$ff,$00,$ff,$00,$00,$00 ; Y
|
||||
.byte $0f,$0f,$ff,$f0,$00,$00,$00,$00 ; Z
|
||||
.byte $00,$f0,$00,$00,$f0,$00,$00,$00 ; : ([)
|
||||
|
||||
|
||||
|
||||
@ -229,26 +231,27 @@ font_low: ; 2 pages later
|
||||
.byte $ff,$ff,$0f,$ff,$f0,$f0,$00,$00 ; E
|
||||
.byte $ff,$ff,$0f,$ff,$00,$00,$00,$00 ; F
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; G
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; H
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; I
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; J
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; K
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; L
|
||||
.byte $ff,$00,$f0,$0f,$f0,$ff,$00,$00 ; G
|
||||
.byte $ff,$f0,$ff,$ff,$00,$ff,$00,$00 ; H
|
||||
.byte $00,$ff,$00,$f0,$ff,$f0,$00,$00 ; I
|
||||
.byte $00,$00,$ff,$00,$f0,$0f,$00,$00 ; J
|
||||
.byte $ff,$f0,$0f,$ff,$00,$ff,$00,$00 ; K
|
||||
.byte $ff,$00,$00,$ff,$f0,$f0,$00,$00 ; L
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; M
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; N
|
||||
.byte $ff,$ff,$f0,$ff,$00,$ff,$00,$00 ; M
|
||||
.byte $ff,$0f,$ff,$ff,$00,$ff,$00,$00 ; N
|
||||
.byte $ff,$0f,$ff,$0f,$f0,$0f,$00,$00 ; O
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; P
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Q
|
||||
.byte $ff,$f0,$ff,$ff,$00,$00,$00,$00 ; P
|
||||
.byte $ff,$0f,$ff,$0f,$00,$ff,$00,$00 ; Q
|
||||
.byte $ff,$ff,$0f,$ff,$00,$ff,$00,$00 ; R
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; S
|
||||
.byte $ff,$f0,$00,$f0,$f0,$0f,$00,$00 ; S
|
||||
.byte $00,$ff,$00,$00,$ff,$00,$00,$00 ; T
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; U
|
||||
.byte $ff,$00,$ff,$0f,$f0,$0f,$00,$00 ; U
|
||||
.byte $ff,$00,$ff,$0f,$ff,$0f,$00,$00 ; V
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; W
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; X
|
||||
.byte $ff,$00,$ff,$ff,$0f,$ff,$00,$00 ; W
|
||||
.byte $0f,$f0,$0f,$ff,$00,$ff,$00,$00 ; X
|
||||
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Y
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; Z
|
||||
.byte $ff,$f0,$ff,$00,$ff,$00,$00,$00 ; Y
|
||||
.byte $00,$f0,$0f,$ff,$f0,$f0,$00,$00 ; Z
|
||||
.byte $00,$0f,$00,$00,$0f,$00,$00,$00 ; : ([)
|
||||
|
26
demosplash/generator/Makefile
Normal file
26
demosplash/generator/Makefile
Normal file
@ -0,0 +1,26 @@
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -O2
|
||||
LFLAGS =
|
||||
|
||||
all: creator offsets offsets2
|
||||
|
||||
creator: creator.o
|
||||
$(CC) -o creator creator.o $(LFLAGS)
|
||||
|
||||
creator.o: creator.c
|
||||
$(CC) $(CFLAGS) -c creator.c
|
||||
|
||||
offsets: offsets.o
|
||||
$(CC) -o offsets offsets.o $(LFLAGS)
|
||||
|
||||
offsets.o: offsets.c
|
||||
$(CC) $(CFLAGS) -c offsets.c
|
||||
|
||||
offsets2: offsets2.o
|
||||
$(CC) -o offsets2 offsets2.o $(LFLAGS)
|
||||
|
||||
offsets2.o: offsets2.c
|
||||
$(CC) $(CFLAGS) -c offsets2.c
|
||||
|
||||
clean:
|
||||
rm -f *.o creator offsets offsets2
|
18
demosplash/generator/creator.c
Normal file
18
demosplash/generator/creator.c
Normal file
@ -0,0 +1,18 @@
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
int i,j,page=0;
|
||||
|
||||
for(i=0;i<192;i++) {
|
||||
printf("\n; Line %d\n",i);
|
||||
printf("\tbit\tPAGE%d\t;4\n",page);
|
||||
printf("\tlda\t#$0b\t; 2\n");
|
||||
for(j=0;j<14;j++) {
|
||||
printf("\tsta\t$200\t; 4\n");
|
||||
}
|
||||
printf("\tlda\tTEMP\t; 3\n");
|
||||
page=!page;
|
||||
}
|
||||
return 0;
|
||||
}
|
32
demosplash/generator/offsets.c
Normal file
32
demosplash/generator/offsets.c
Normal file
@ -0,0 +1,32 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#define NUMBER 128
|
||||
|
||||
//#define START 32
|
||||
//#define START 40
|
||||
#define START 48
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
int i;
|
||||
|
||||
printf("y_lookup_h:\n");
|
||||
|
||||
for(i=0;i<NUMBER;i++) {
|
||||
if (i%8==0) printf(".byte\t");
|
||||
//printf(">(smc%3d+1)",i+START);
|
||||
printf(">($%4X)",0x9000+(i+START)*49+4);
|
||||
if (i%8!=7) printf(",");
|
||||
else printf("\n");
|
||||
}
|
||||
printf("y_lookup_l:\n");
|
||||
for(i=0;i<NUMBER;i++) {
|
||||
if (i%8==0) printf(".byte\t");
|
||||
//printf("<(smc%3d+1)",i+START);
|
||||
printf("<($%4X)",0x9000+(i+START)*49+4);
|
||||
if (i%8!=7) printf(",");
|
||||
else printf("\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
32
demosplash/generator/offsets2.c
Normal file
32
demosplash/generator/offsets2.c
Normal file
@ -0,0 +1,32 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#define NUMBER 128
|
||||
|
||||
#define START 32
|
||||
//#define START 40
|
||||
//#define START 48
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
int i;
|
||||
|
||||
printf("y_lookup2_h:\n");
|
||||
|
||||
for(i=0;i<NUMBER;i++) {
|
||||
if (i%8==0) printf(".byte\t");
|
||||
//printf(">(smc%3d+1)",i+START);
|
||||
printf(">($%4X)",0x9000+(i+START)*47+4);
|
||||
if (i%8!=7) printf(",");
|
||||
else printf("\n");
|
||||
}
|
||||
printf("y_lookup2_l:\n");
|
||||
for(i=0;i<NUMBER;i++) {
|
||||
if (i%8==0) printf(".byte\t");
|
||||
//printf("<(smc%3d+1)",i+START);
|
||||
printf("<($%4X)",0x9000+(i+START)*47+4);
|
||||
if (i%8!=7) printf(",");
|
||||
else printf("\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
@ -1,130 +0,0 @@
|
||||
;=========================================================
|
||||
; gr_twoscreen_scroll, 40x48 version
|
||||
;=========================================================
|
||||
; offset is in BG_SCROLL, must be multiple of 2
|
||||
;
|
||||
; two screens, top is at $1000, bottom at $BC00
|
||||
; copy lines Y-48 from $1000 to $c00
|
||||
; copy lines 0 - (48-y) from $BC00 to $c00
|
||||
|
||||
gr_twoscreen_scroll:
|
||||
|
||||
lda #0
|
||||
sta TEMPY ; dest
|
||||
|
||||
ldy BG_SCROLL
|
||||
cpy #48
|
||||
beq gr_twoscreen_bottom ; no top to draw
|
||||
|
||||
gr_twoscreen_top:
|
||||
|
||||
; calculate source
|
||||
|
||||
lda gr_offsets+1,Y
|
||||
clc
|
||||
adc #($10-4)
|
||||
sta gr_twoscreen_smc_src+2
|
||||
lda gr_offsets,Y
|
||||
sta gr_twoscreen_smc_src+1
|
||||
tya
|
||||
pha
|
||||
|
||||
; calculate destination
|
||||
|
||||
lda TEMPY
|
||||
tay
|
||||
lda gr_offsets+1,Y
|
||||
clc
|
||||
adc #($c-4)
|
||||
sta gr_twoscreen_smc_dst+2
|
||||
lda gr_offsets,Y
|
||||
sta gr_twoscreen_smc_dst+1
|
||||
|
||||
ldx #0
|
||||
gr_twoscreen_line_loop:
|
||||
|
||||
gr_twoscreen_smc_src:
|
||||
lda $1000,X
|
||||
gr_twoscreen_smc_dst:
|
||||
sta $c00,X
|
||||
|
||||
inx
|
||||
cpx #40
|
||||
bne gr_twoscreen_line_loop
|
||||
|
||||
|
||||
inc TEMPY
|
||||
inc TEMPY
|
||||
|
||||
pla
|
||||
tay
|
||||
|
||||
iny
|
||||
iny
|
||||
|
||||
cpy #48
|
||||
|
||||
bne gr_twoscreen_top
|
||||
|
||||
|
||||
;===============================
|
||||
; now copy the bottom from $BC00
|
||||
|
||||
lda BG_SCROLL
|
||||
beq done_twoscreen_bottom ; if 0, no bottom
|
||||
|
||||
gr_twoscreen_bottom:
|
||||
|
||||
ldy #0
|
||||
|
||||
gr_twoscreen_bottom_loop:
|
||||
|
||||
; calculate source
|
||||
|
||||
lda gr_offsets+1,Y
|
||||
clc
|
||||
adc #($bc-4)
|
||||
sta gr_twoscreen_bottom_smc_src+2
|
||||
lda gr_offsets,Y
|
||||
sta gr_twoscreen_bottom_smc_src+1
|
||||
tya
|
||||
pha
|
||||
|
||||
; calculate destination
|
||||
|
||||
lda TEMPY
|
||||
tay
|
||||
lda gr_offsets+1,Y
|
||||
clc
|
||||
adc #($c-4)
|
||||
sta gr_twoscreen_bottom_smc_dst+2
|
||||
lda gr_offsets,Y
|
||||
sta gr_twoscreen_bottom_smc_dst+1
|
||||
|
||||
ldx #0
|
||||
gr_twoscreen_bottom_line_loop:
|
||||
|
||||
gr_twoscreen_bottom_smc_src:
|
||||
lda $BC00,X
|
||||
gr_twoscreen_bottom_smc_dst:
|
||||
sta $c00,X
|
||||
|
||||
inx
|
||||
cpx #40
|
||||
bne gr_twoscreen_bottom_line_loop
|
||||
|
||||
|
||||
inc TEMPY
|
||||
inc TEMPY
|
||||
|
||||
pla
|
||||
tay
|
||||
|
||||
iny
|
||||
iny
|
||||
|
||||
cpy BG_SCROLL
|
||||
|
||||
bne gr_twoscreen_bottom_loop
|
||||
done_twoscreen_bottom:
|
||||
rts ; 6
|
@ -12,9 +12,9 @@
|
||||
astro_stand:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
@ -44,9 +44,9 @@ astro_walk_progression:
|
||||
astro_walk_left1:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$ab,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$22,$a2,$66,$aa
|
||||
@ -55,9 +55,9 @@ astro_walk_left1:
|
||||
astro_walk_left2:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$ba,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$22,$a2,$66,$aa
|
||||
@ -66,9 +66,9 @@ astro_walk_left2:
|
||||
astro_walk_left3:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$ba,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$22,$a2,$66,$aa
|
||||
@ -77,9 +77,9 @@ astro_walk_left3:
|
||||
astro_walk_left4:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$ba,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$22,$a2,$6a,$aa
|
||||
@ -88,9 +88,9 @@ astro_walk_left4:
|
||||
astro_walk_left5:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$22,$aa,$aa
|
||||
.byte $fa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$66,$22,$aa,$aa
|
||||
@ -99,9 +99,9 @@ astro_walk_left5:
|
||||
astro_walk_left6:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$ba,$2b,$aa,$aa
|
||||
.byte $aa,$6a,$22,$aa,$aa
|
||||
.byte $fa,$66,$a2,$2a,$aa
|
||||
@ -110,9 +110,9 @@ astro_walk_left6:
|
||||
astro_walk_left7:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$6a,$22,$aa,$aa
|
||||
.byte $aa,$66,$a2,$2a,$aa
|
||||
@ -121,9 +121,9 @@ astro_walk_left7:
|
||||
astro_walk_left8:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$ba,$2b,$aa,$aa
|
||||
.byte $aa,$6a,$22,$aa,$aa
|
||||
.byte $aa,$66,$a2,$22,$aa
|
||||
@ -132,9 +132,9 @@ astro_walk_left8:
|
||||
astro_walk_left9:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$aa,$62,$a2,$fa
|
||||
@ -143,9 +143,9 @@ astro_walk_left9:
|
||||
astro_walk_left10:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
.byte $aa,$ba,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
@ -286,8 +286,8 @@ astro_run_left9:
|
||||
kick1:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$ba,$2b,$aa,$aa
|
||||
.byte $bb,$ab,$22,$ba,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
@ -303,8 +303,8 @@ kick1:
|
||||
shooting1:
|
||||
.byte 5,8
|
||||
.byte $AA,$AA,$8A,$8A,$AA
|
||||
.byte $AA,$AA,$bb,$88,$AA
|
||||
.byte $0A,$0A,$AA,$2B,$AA
|
||||
.byte $AA,$AA,$bb,$88,$8A
|
||||
.byte $0A,$0A,$AA,$2B,$88
|
||||
.byte $AA,$A0,$AB,$B2,$AA
|
||||
.byte $AA,$AA,$AA,$22,$AA
|
||||
.byte $AA,$AA,$AA,$22,$AA
|
||||
@ -347,8 +347,8 @@ crouch1:
|
||||
.byte 3,8
|
||||
.byte $aa,$aa,$aa
|
||||
.byte $8a,$8a,$aa
|
||||
.byte $bb,$88,$aa
|
||||
.byte $aa,$2b,$aa
|
||||
.byte $bb,$88,$8a
|
||||
.byte $aa,$2b,$88
|
||||
.byte $aa,$bb,$aa
|
||||
.byte $aa,$bb,$aa
|
||||
.byte $22,$22,$aa
|
||||
@ -359,8 +359,8 @@ crouch2:
|
||||
.byte $AA,$aa,$aa,$aa,$AA
|
||||
.byte $AA,$aa,$aa,$aa,$AA
|
||||
.byte $AA,$8a,$8a,$aa,$AA
|
||||
.byte $AA,$bb,$88,$aa,$AA
|
||||
.byte $AA,$aa,$2b,$2a,$AA
|
||||
.byte $AA,$bb,$88,$8a,$AA
|
||||
.byte $AA,$aa,$2b,$28,$AA
|
||||
.byte $AA,$aa,$bb,$22,$AA
|
||||
.byte $AA,$ba,$2b,$aa,$AA
|
||||
.byte $AA,$52,$f2,$f2,$AA
|
||||
@ -477,8 +477,8 @@ astro_jump_progression:
|
||||
jump1:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$aa,$bb,$aa,$aa
|
||||
.byte $aa,$ba,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
@ -488,7 +488,7 @@ jump1:
|
||||
jump2:
|
||||
.byte 5,8
|
||||
.byte $8a,$8a,$aa,$aa,$aa
|
||||
.byte $bb,$88,$aa,$aa,$aa
|
||||
.byte $bb,$88,$8a,$8a,$aa
|
||||
.byte $aa,$2b,$22,$aa,$aa
|
||||
.byte $aa,$22,$bb,$aa,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
@ -499,7 +499,7 @@ jump2:
|
||||
jump3:
|
||||
.byte 5,8
|
||||
.byte $8a,$8a,$aa,$aa,$aa
|
||||
.byte $bb,$88,$aa,$aa,$aa
|
||||
.byte $bb,$88,$8a,$8a,$aa
|
||||
.byte $aa,$2b,$22,$aa,$aa
|
||||
.byte $aa,$22,$bb,$aa,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
@ -510,7 +510,7 @@ jump3:
|
||||
jump4:
|
||||
.byte 5,8
|
||||
.byte $8a,$8a,$aa,$aa,$aa
|
||||
.byte $bb,$88,$aa,$aa,$aa
|
||||
.byte $bb,$88,$8a,$8a,$aa
|
||||
.byte $aa,$2b,$22,$aa,$aa
|
||||
.byte $aa,$22,$bb,$aa,$aa
|
||||
.byte $aa,$a2,$bb,$aa,$aa
|
||||
@ -521,7 +521,7 @@ jump4:
|
||||
jump5:
|
||||
.byte 5,8
|
||||
.byte $b8,$88,$aa,$aa,$aa
|
||||
.byte $ab,$b8,$aa,$aa,$aa
|
||||
.byte $ab,$b8,$8a,$8a,$aa
|
||||
.byte $ba,$b2,$2b,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
@ -532,8 +532,8 @@ jump5:
|
||||
jump6:
|
||||
.byte 5,8
|
||||
.byte $aa,$b8,$88,$aa,$aa
|
||||
.byte $aa,$ab,$b8,$aa,$aa
|
||||
.byte $ab,$ba,$b2,$aa,$aa
|
||||
.byte $aa,$ab,$b8,$8a,$aa
|
||||
.byte $ab,$ba,$b2,$aa,$a8
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$66,$22,$2a,$fa
|
||||
@ -543,8 +543,8 @@ jump6:
|
||||
jump7:
|
||||
.byte 5,8
|
||||
.byte $aa,$b8,$88,$aa,$aa
|
||||
.byte $aa,$ab,$b8,$aa,$aa
|
||||
.byte $aa,$aa,$b2,$aa,$aa
|
||||
.byte $aa,$ab,$b8,$8a,$aa
|
||||
.byte $aa,$aa,$b2,$a8,$aa
|
||||
.byte $ab,$ab,$22,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$66,$22,$2a,$fa
|
||||
@ -554,8 +554,8 @@ jump7:
|
||||
jump8:
|
||||
.byte 5,8
|
||||
.byte $aa,$8a,$8a,$aa,$aa
|
||||
.byte $aa,$bb,$88,$aa,$aa
|
||||
.byte $aa,$aa,$2b,$aa,$aa
|
||||
.byte $aa,$bb,$88,$8a,$aa
|
||||
.byte $aa,$aa,$2b,$88,$aa
|
||||
.byte $aa,$b2,$bb,$aa,$aa
|
||||
.byte $aa,$aa,$22,$aa,$aa
|
||||
.byte $aa,$2a,$22,$aa,$aa
|
||||
@ -590,8 +590,8 @@ crouch_shooting:
|
||||
.byte $AA,$AA,$aa,$aa,$aa
|
||||
.byte $AA,$AA,$aa,$aa,$aa
|
||||
.byte $AA,$AA,$8a,$8a,$aa
|
||||
.byte $AA,$AA,$bb,$88,$aa
|
||||
.byte $0A,$0A,$aa,$2b,$2a
|
||||
.byte $AA,$AA,$bb,$88,$8a
|
||||
.byte $0A,$0A,$aa,$2b,$28
|
||||
.byte $AA,$A0,$ba,$bb,$22
|
||||
.byte $AA,$AA,$2a,$2b,$aa
|
||||
.byte $AA,$AA,$52,$f2,$f2
|
||||
@ -607,8 +607,8 @@ crouch_kicking:
|
||||
.byte $AA,$AA,$aa,$aa,$aa
|
||||
.byte $AA,$AA,$aa,$aa,$aa
|
||||
.byte $AA,$AA,$8a,$8a,$aa
|
||||
.byte $AA,$AA,$bb,$88,$aa
|
||||
.byte $AA,$AA,$aa,$2b,$2a
|
||||
.byte $AA,$AA,$bb,$88,$8a
|
||||
.byte $AA,$AA,$aa,$2b,$28
|
||||
.byte $AA,$AA,$aa,$bb,$22
|
||||
.byte $AA,$AA,$2a,$bb,$a2
|
||||
.byte $5A,$56,$A2,$f2,$f2
|
||||
|
@ -9,7 +9,7 @@ all: starbase.inc
|
||||
|
||||
starbase.inc: $(PNG2RLE) \
|
||||
jail.png hallway.png window.png ship.png
|
||||
$(PNG2RLE) asm jail.png jail_rle >> starbase.inc
|
||||
$(PNG2RLE) asm jail.png jail_rle > starbase.inc
|
||||
$(PNG2RLE) asm hallway.png hallway_rle >> starbase.inc
|
||||
$(PNG2RLE) asm window.png window_rle >> starbase.inc
|
||||
$(PNG2RLE) asm ship.png ship_rle >> starbase.inc
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 5.3 KiB |
@ -0,0 +1 @@
|
||||
{"modelVersion":2,"piskel":{"name":"ootw_running","description":"","fps":5,"height":48,"width":80,"layers":["{\"name\":\"Layer 1\",\"opacity\":1,\"frameCount\":9,\"chunks\":[{\"layout\":[[0],[1],[2],[3],[4],[5],[6],[7],[8]],\"base64PNG\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAAwCAYAAAA4jE03AAAGOUlEQVR4nO3dsZHbOABAUc64BceuZGu4GhQ7dD0KPOM6LtoCTj24Boc3vGSp2QMFASBBEqCeZ37gXVICnyAtqKXl4fLX3+Pnxu9v4/j9bfz6z79Vu72P4+19rH67R98vP378+B19HPz48ePHb9/7HbYGnA4gbG/IreLHj1+/8ePHr9/48Tuy4fLjy3j58WXzM5Cp6c9RB1z7AeTHjx8/fvz48eP3Wn6zBfS9j6/XHmBrZyJrx8GPHz9+/Pjx48fvtfzul3BMZx5LAXMHMm139JlIrfjx49dv/Pjx6zd+/I5sCMGWXhNTupJv5Qxk7fj48ePXXvz48ePHj9+WftUW0KV33Dpgbvz48es3fvz49Rs/fkc2+xSOtYC5cL0BxsbLjx+/9uPHjx8/fvxq+u2+gO7l2pdhGMZhGJKg/Pjxay9+/Pjx48dvS7/kAjp8a3/twMKVfGtnIr+/Xcbf3y53wBQkP378+PHjx4/f0fHb1y95DfTazwlMvWW/1ZnO0kK4FCQ/fvz48ePHjx+/1/LbfAGdKryf8Pb3PkNpbQLy48ePHz9+/Pjxa8tvfgnHBBYcULjdVoBTse1TvwKoBV48Afnx48ePHz9+/Pi9hF/8GujggFoBXFopdBQs+Do/fvz48ePHjx+/1/JL/yPC8AB3Blx6RnG9Xsfr9VoMPJs4qfjx48ePHz9+/Pi9lF/8Eo7Y32sDRgYWfn8pYOk1O7EHNHsC8uPHjx8/fvz48Tu1nwW0CciPHz9+/Pjx48dv1QI6VgCZe01J6gBqA07bT4Clb+XPIGvFjx8/fvz48ePH7xR+ixfQn3s0gAk0PIAQOoQLwUsBQ7jFgOGDWuDBjx8/fvz48ePH77x+yxbQwY3nHNBsgOHtBgONAeae+YRv4ZdejD4bVwi5ZgLy48ePHz9+/Pjx69Yv/R+pZLYXYO6Bp85AYqDRcaUmID9+/Pjx48ePH7+X8DvdAnrtW/ivPgH58ePHjx8/fvz4PfdLfwpHrMgN5h5IbcDoAT/pIVzmcUad+PHjx48fP378+J3aL/0/Eaa+H7mDGGBY7P7u3//4+nQty9TsdoLxhNs/Anx4/7FyJyA/fvz48ePHjx+/U/utX0AnYGNgiwF/3sbx5y0N+LFddcC1Pvz48ePHjx8/fvy69lu+gM4sesaRgJ+BbACYBVcKy48fP378+PHjx+/UfrstoJPbpgAjcDHAcL/eJyA/fvz48ePHjx+/NvzyPwd6bWsHOgzjMAy77bd6AvLjx48fP378+PE7pV/xAjp2BlCjaVCPvpf71n3YszOQKmPmx48fP378+PHj16TfI8caY04uoGMHdx9I6ZnIwu4AsW0WTMBH+5c+QPz48avnF77gPX0HgZ/5x4/fCf2eLfz45ftNPz8eOlbwuy+gU2cBsx9kO8Ht9gReCnlSv+IFDL+HL3z8zL8j/bz+mX/mX39+oSO/ZX7ZC+iFfuUL6J3h1j6Bi18AI5DVJmDjfuFE41fnCcyPHz9+/Pgt8cteAPLb1W8IoWIr76MBh1+Xcfh1KQec9it9AocTK3Oi8ePHjx8/fvz48Tu3X3QBHe4Qnomk4Kdu7+N4ex/jD1DkfsL9JojUA10CuGbcyYnXud/XP2/j1z9v/Pjx69AvfP2bmv7w47elX+jm+ctvT7/Qcfp5Utuv+HOgo7+SWXp2kdo/XAgvPAOZAP8HXjKOSsfVi1/OAoYfv639ZvvzW+Q39XkByC/uF3Pkl+f37MTD8zffL/Y85pfn9/T1sILfEHvhiLX55xLG7vfZQqRgv9QZy+bH0anf0v1f1S9rAciP305+rdSLX6uOvfo9XEDzy96+lXnIL7ifswKu3W+z4+jMrzXH1v1iv1ryA6Rs/sROdI927MWvlR+4vfq16sjv3H7hn9YcW/dLbV/bMWsBPaF9bm/Q2MSqtf2mD36Hfi05nsHvCLce/VpcOPfod/Rv2nr1a9GR3+v5teTYk19su60cV78DPQPMveblRePHj1+/8ePHr9/48avqUXzR9AQW+bv48Ws3fvz49Rs/fvzaaXj09rwkSZKkaIcPQJIkSeqpwwcgSZIk9dThA5AkSZJ66vABSJIkST11+AAkSZKknjp8AJIkSVJPHT4ASZIkqZv+AyhEkcakR4mMAAAAAElFTkSuQmCC\"}]}"],"hiddenFrames":[]}}
|
@ -1,7 +1,36 @@
|
||||
jail_rle: .byte $28 ; ysize=48
|
||||
.byte $A0,$78,$55, $A0,$FF,$00, $A0,$69,$00, $AB,$50, $A0,$1D,$00, $AC,$55, $50
|
||||
.byte $A0,$1B,$00, $AE,$55, $50, $A0,$19,$00, $A0,$10,$55, $50, $A0,$17,$00
|
||||
.byte $A0,$12,$55, $A0,$16,$50, $A0,$FF,$55, $A0,$19,$55
|
||||
.byte $A0,$12,$77, $57,$57, $A0,$14,$55, $AE,$77, $57,$57, $A0,$18,$55, $AA,$77
|
||||
.byte $57,$57, $A7,$55, $00, $A0,$01,$A0, $50, $A0,$01,$A0, $A3,$55
|
||||
.byte $00, $A0,$01,$A0, $50, $A0,$01,$A0, $A3,$55, $00, $A0,$01,$A0
|
||||
.byte $50, $A0,$01,$A0, $A0,$16,$55, $00, $A0,$01,$AA, $55, $A0,$01,$AA
|
||||
.byte $55, $76, $55, $00, $A0,$01,$AA, $55, $A0,$01,$AA
|
||||
.byte $55, $76, $55, $00, $A0,$01,$AA, $55, $A0,$01,$AA
|
||||
.byte $55, $76, $A9,$55, $95, $99, $A9,$55, $00
|
||||
.byte $A0,$01,$AA, $55, $A0,$01,$AA, $55, $77, $55, $00
|
||||
.byte $A0,$01,$AA, $55, $A0,$01,$AA, $55, $77, $55, $00
|
||||
.byte $A0,$01,$AA, $55, $A0,$01,$AA, $55, $77, $AA,$55, $99
|
||||
.byte $95, $A8,$55, $00, $A0,$01,$AA, $55, $A0,$01,$AA, $55
|
||||
.byte $77, $55, $00, $A0,$01,$AA, $55, $A0,$01,$AA, $55
|
||||
.byte $77, $55, $00, $A0,$01,$AA, $55, $A0,$01,$AA, $55
|
||||
.byte $77, $AA,$55, $59, $A9,$55, $00, $A0,$01,$AA, $55
|
||||
.byte $A0,$01,$AA, $55, $77, $55, $00, $A0,$01,$AA, $55
|
||||
.byte $A0,$01,$AA, $55, $77, $55, $00, $A0,$01,$AA, $55
|
||||
.byte $A0,$01,$AA, $55, $77, $A0,$14,$55, $00, $A0,$01,$AA, $55
|
||||
.byte $A0,$01,$AA, $55, $77, $55, $00, $A0,$01,$AA, $55
|
||||
.byte $A0,$01,$AA, $55, $77, $55, $00, $A0,$01,$AA, $55
|
||||
.byte $A0,$01,$AA, $55, $77, $A0,$12,$55, $05,$05, $00, $0A
|
||||
.byte $05, $0A, $05, $07, $05, $00, $0A
|
||||
.byte $05, $0A, $05, $07, $05, $00, $0A
|
||||
.byte $05, $0A, $05, $07, $05, $AF,$55, $45
|
||||
.byte $A0,$18,$44, $AD,$55, $45, $AE,$44, $94, $44, $94
|
||||
.byte $44,$44, $94, $A6,$44, $AB,$55, $45, $A0,$10,$44, $49
|
||||
.byte $94, $99, $44,$44, $99,$99, $A5,$44, $AA,$05, $04
|
||||
.byte $A0,$11,$44, $49, $44, $49, $44,$44, $49, $A6,$44
|
||||
.byte $71,$71, $A9,$77, $70, $04, $A0,$1B,$44, $AD,$77, $70
|
||||
.byte $04, $A0,$19,$44, $AF,$77, $70, $04, $A0,$17,$44, $A0,$11,$77
|
||||
.byte $70, $04, $A0,$15,$44, $A0,$13,$77, $70, $04, $A0,$13,$44
|
||||
.byte $A0,$15,$77, $70, $A0,$12,$04, $A0,$78,$77, $17,$17, $A0,$26,$77, $A3,$11
|
||||
.byte $17, $A0,$24,$77
|
||||
.byte $A1
|
||||
hallway_rle: .byte $28 ; ysize=48
|
||||
.byte $A3,$55, $A0,$11,$AA, $AD,$55, $A7,$AA, $55,$55, $A0,$01,$A5, $A0,$11,$AA
|
||||
|
@ -1,3 +1,4 @@
|
||||
5 HOME
|
||||
200 PRINT CHR$ (4)"CATALOG"
|
||||
' 200 PRINT CHR$ (4)"CATALOG"
|
||||
200 PRINT CHR$ (4)"BRUN LOADER"
|
||||
|
||||
|
@ -4,75 +4,109 @@ k_low: .byte $28 ; ysize=48
|
||||
.byte $A0,$18,$00, $10, $00,$00, $50, $10, $A0,$22,$00, $11
|
||||
.byte $10, $00, $55, $A5,$11, $10, $A0,$1D,$00, $10
|
||||
.byte $31,$31, $10, $55, $A6,$11, $A0,$1D,$00, $11, $31
|
||||
.byte $33, $11, $15, $A6,$11, $A5,$00, $01, $A0,$16,$00
|
||||
.byte $11, $33, $11, $13, $11, $01,$01, $11,$11
|
||||
.byte $01, $10, $01, $11, $00,$00, $55, $A0,$18,$00
|
||||
.byte $11, $33, $11, $44, $04, $54,$54, $41
|
||||
.byte $54,$54, $14, $41, $11, $40, $04, $55
|
||||
.byte $A0,$17,$00, $11,$11, $13, $31, $44, $04, $5F
|
||||
.byte $50, $44, $55, $5F, $10, $44, $14
|
||||
.byte $50, $55, $05, $A0,$17,$00, $11, $13, $03
|
||||
.byte $33, $11, $15, $A6,$11, $A5,$00, $01, $00
|
||||
.byte $62, $60, $62, $00, $62, $A3,$00, $62
|
||||
.byte $60, $00, $62, $00, $62, $00,$00, $62
|
||||
.byte $A4,$00, $11, $33, $11, $13, $11, $01,$01
|
||||
.byte $11,$11, $01, $10, $01, $11, $00,$00, $55
|
||||
.byte $A3,$00, $76, $00, $76, $00, $06, $70
|
||||
.byte $76, $00, $76, $70, $00, $76, $00
|
||||
.byte $76, $00,$00, $76, $A4,$00, $11, $33, $11
|
||||
.byte $44, $04, $54,$54, $41, $54,$54, $14, $41
|
||||
.byte $11, $40, $04, $55, $A0,$17,$00, $11,$11, $13
|
||||
.byte $31, $44, $04, $5F, $50, $44, $55
|
||||
.byte $5F, $10, $44, $14, $50, $55, $05
|
||||
.byte $A3,$00, $62, $60, $00,$00, $62, $60, $02
|
||||
.byte $00, $62, $00, $62, $00, $62, $A3,$00
|
||||
.byte $02, $60, $02, $00, $11, $13, $03
|
||||
.byte $10, $14, $40, $45,$45, $14, $45,$45, $41
|
||||
.byte $14, $11, $15, $05, $00, $01, $A0,$16,$00
|
||||
.byte $10,$10, $00, $01, $11, $55,$55, $15, $11
|
||||
.byte $51, $55, $A4,$11, $A0,$19,$00, $01,$01, $A3,$00, $05
|
||||
.byte $55, $A3,$51, $55, $51, $A3,$11, $A0,$19,$00, $11,$11
|
||||
.byte $A4,$00, $55, $A4,$71, $55, $A3,$11, $A0,$19,$00, $11
|
||||
.byte $A5,$00, $05, $55, $17,$17, $A5,$11, $A0,$19,$00, $11,$11
|
||||
.byte $00,$00, $10, $00,$00, $55,$55, $A3,$11, $51,$51, $15
|
||||
.byte $A0,$19,$00, $01, $10, $00,$00, $11, $00,$00, $05
|
||||
.byte $55, $11, $51, $55, $15, $A3,$11, $A0,$18,$00
|
||||
.byte $11, $31, $33, $10, $A4,$00, $05, $A3,$55
|
||||
.byte $A3,$11, $01, $A0,$18,$00, $10, $01, $00, $01
|
||||
.byte $A4,$00, $80, $A5,$55, $A0,$1A,$00, $11, $01, $30,$30
|
||||
.byte $01, $A3,$00, $88, $A3,$55, $05, $A0,$1B,$00, $01
|
||||
.byte $11, $01,$01, $10, $00,$00, $55, $58, $85,$85
|
||||
.byte $A0,$1D,$00, $11,$11, $00,$00, $01, $00,$00, $55, $00
|
||||
.byte $50, $05, $A0,$1D,$00, $01,$01, $A4,$00, $50, $A3,$55
|
||||
.byte $A0,$1E,$00, $01,$01, $A4,$00, $55,$55, $05, $AB,$00
|
||||
.byte $14, $11, $15, $05, $00, $01, $00,$00
|
||||
.byte $76, $A3,$00, $76, $00, $76, $00, $06
|
||||
.byte $70, $06, $00, $06, $70, $76, $00,$00
|
||||
.byte $76, $00,$00, $10,$10, $00, $01, $11, $55,$55
|
||||
.byte $15, $11, $51, $55, $A4,$11, $A0,$1A,$00, $01
|
||||
.byte $A3,$00, $05, $55, $A3,$51, $55, $51, $A3,$11
|
||||
.byte $A6,$00, $62, $00,$00, $02, $60, $A0,$14,$00, $55
|
||||
.byte $A4,$71, $55, $A3,$11, $A5,$00, $70, $76, $70
|
||||
.byte $00, $70, $06, $A0,$14,$00, $05, $55, $17,$17
|
||||
.byte $A5,$11, $A0,$1D,$00, $10, $00,$00, $55,$55, $A3,$11, $51,$51
|
||||
.byte $15, $A5,$00, $62, $02, $62, $00, $62
|
||||
.byte $00, $02, $60, $00, $02, $60, $00
|
||||
.byte $62, $00, $62, $00, $62, $00, $62
|
||||
.byte $A5,$00, $11, $00,$00, $05, $55, $11, $51
|
||||
.byte $55, $15, $A3,$11, $A4,$00, $76, $00, $76
|
||||
.byte $00, $76, $00, $70, $06, $00, $70
|
||||
.byte $06, $00, $76, $00, $76, $00, $76
|
||||
.byte $00, $06, $70, $76, $00, $33, $10
|
||||
.byte $A4,$00, $05, $A3,$55, $A3,$11, $01, $A0,$1B,$00, $01
|
||||
.byte $A4,$00, $80, $A5,$55, $A0,$1C,$00, $30,$30, $01, $A3,$00
|
||||
.byte $88, $A3,$55, $05, $A0,$1C,$00, $11, $01,$01, $10
|
||||
.byte $00,$00, $55, $58, $85,$85, $A0,$1D,$00, $11,$11, $00,$00
|
||||
.byte $01, $00,$00, $55, $00, $50, $05, $A0,$1D,$00
|
||||
.byte $01,$01, $A4,$00, $50, $A3,$55, $A0,$1E,$00, $01,$01, $A4,$00
|
||||
.byte $55,$55, $05, $AB,$00
|
||||
.byte $A1
|
||||
k_high: .byte $28 ; ysize=48
|
||||
.byte $A0,$1A,$00, $C0, $A7,$CC, $22,$22, $CC,$CC, $C2, $2C
|
||||
.byte $A0,$19,$00, $20, $CC,$CC, $5C, $5A, $0A,$0A, $5A
|
||||
.byte $5C, $A4,$CC, $C2, $2C, $A0,$19,$00, $C2, $0A
|
||||
.byte $00, $5A, $0A, $A3,$00, $0A, $5A, $5C
|
||||
.byte $A3,$CC, $22, $A0,$18,$00, $2C, $5C, $00, $90
|
||||
.byte $DA, $50,$50, $A5,$00, $5A, $CC, $C4, $CC
|
||||
.byte $A0,$17,$00, $22, $2C, $5A, $99, $A5,$DD, $DA
|
||||
.byte $A3,$00, $5A, $CC, $C4, $CC, $A0,$16,$00, $20
|
||||
.byte $B2,$B2, $2C, $99, $A6,$DD, $5A, $A3,$00, $A3,$CC
|
||||
.byte $A0,$16,$00, $22, $B2, $BB, $22, $D9, $A6,$DD
|
||||
.byte $5A, $A3,$00, $CC, $42, $44, $A0,$15,$00, $22
|
||||
.byte $BB, $22, $2B, $22, $8D,$8D, $DD,$DD, $8D
|
||||
.byte $D8, $8D, $DD, $00,$00, $99, $A3,$44, $A0,$15,$00
|
||||
.byte $22, $BB, $22, $66, $C6, $96,$96, $6D
|
||||
.byte $96,$96, $D6, $6D, $DD, $60, $06, $99
|
||||
.byte $44,$44, $4C, $A0,$14,$00, $22,$22, $7B, $B2, $66
|
||||
.byte $C6, $9F, $98, $66, $99, $9F, $D8
|
||||
.byte $66, $D6, $90, $99, $C9, $A3,$CC, $A0,$14,$00
|
||||
.byte $22, $2B, $CB, $2C, $26, $6C, $69,$69
|
||||
.byte $D6, $69,$69, $6D, $D6, $DD, $D9, $59
|
||||
.byte $5C, $C2, $CC,$CC, $A0,$14,$00, $2C,$2C, $CC, $C2
|
||||
.byte $22, $99,$99, $79, $DD, $9D, $99, $A4,$DD
|
||||
.byte $00, $0A, $5C, $CC,$CC, $A0,$14,$00, $C2,$C2, $44
|
||||
.byte $C4, $CC, $C9, $99, $A3,$97, $99, $9D
|
||||
.byte $A3,$DD, $00,$00, $50, $CC,$CC, $A0,$14,$00, $22,$22, $44
|
||||
.byte $A3,$CC, $99, $A4,$F7, $99, $A3,$DD, $00,$00, $0A
|
||||
.byte $CC,$CC, $A0,$14,$00, $22, $C4,$C4, $CC, $CB, $CC
|
||||
.byte $C9, $99, $7F,$7F, $D7, $A4,$DD, $A3,$00, $CC,$CC
|
||||
.byte $A0,$14,$00, $22,$22, $CC, $B4, $2C, $4C, $CC
|
||||
.byte $99,$99, $A3,$DD, $9D,$9D, $D9, $A3,$00, $CC,$CC, $A0,$14,$00
|
||||
.byte $C2, $2C, $CC,$CC, $22, $CC,$CC, $C9, $99
|
||||
.byte $DD, $9D, $99, $D9, $A3,$DD, $00,$00, $CC,$CC
|
||||
.byte $A0,$14,$00, $22, $B2, $BB, $24, $CC,$CC, $0C
|
||||
.byte $00, $09, $A3,$99, $A3,$DD, $0D, $00,$00, $CC,$CC
|
||||
.byte $A0,$14,$00, $2C, $C2, $CC, $C2, $CC, $A3,$00
|
||||
.byte $50, $A5,$99, $A4,$00, $0C, $CC, $A0,$14,$00, $22
|
||||
.byte $C2, $BC,$BC, $C2, $A3,$00, $5A, $A3,$99, $09
|
||||
.byte $A6,$00, $0C, $A0,$14,$00, $C2, $22, $C2, $42
|
||||
.byte $2C, $00,$00, $99, $9A, $59,$59, $A0,$1D,$00, $22,$22
|
||||
.byte $CC, $C4, $02, $00,$00, $99, $22, $92
|
||||
.byte $09, $A0,$1D,$00, $C2,$C2, $CC,$CC, $00,$00, $90, $A3,$99
|
||||
.byte $A0,$1E,$00, $C2,$C2, $CC, $0C, $00,$00, $99,$99, $09
|
||||
.byte $AB,$00
|
||||
.byte $A0,$19,$00, $20, $CC,$CC, $A0,$01,$AC, $A0,$01,$AA, $0A,$0A, $A0,$01,$AA
|
||||
.byte $A0,$01,$AC, $A4,$CC, $C2, $2C, $A0,$19,$00, $C2, $0A
|
||||
.byte $00, $A0,$01,$AA, $0A, $A3,$00, $0A, $A0,$01,$AA, $A0,$01,$AC
|
||||
.byte $A3,$CC, $22, $A0,$18,$00, $2C, $A0,$01,$AC, $00, $90
|
||||
.byte $DA, $A0,$02,$A0, $A5,$00, $A0,$01,$AA, $CC, $C4, $CC
|
||||
.byte $A0,$17,$00, $22, $2C, $A0,$01,$AA, $99, $A5,$DD, $DA
|
||||
.byte $A3,$00, $A0,$01,$AA, $CC, $C4, $CC, $A0,$16,$00, $20
|
||||
.byte $B2,$B2, $2C, $99, $A6,$DD, $A0,$01,$AA, $A3,$00, $A3,$CC
|
||||
.byte $00, $20, $A3,$00, $20, $00,$00, $20,$20, $00
|
||||
.byte $A3,$20, $00, $A3,$20, $A4,$00, $22, $B2, $BB
|
||||
.byte $22, $D9, $A6,$DD, $A0,$01,$AA, $A3,$00, $CC, $42
|
||||
.byte $44, $76, $70, $76, $00, $76, $A3,$00
|
||||
.byte $76, $70, $00, $76, $00, $76, $00,$00
|
||||
.byte $76, $A4,$00, $22, $BB, $22, $2B, $22
|
||||
.byte $8D,$8D, $DD,$DD, $8D, $D8, $8D, $DD, $00,$00
|
||||
.byte $99, $A3,$44, $FF, $00, $FF, $00, $0F
|
||||
.byte $F0, $FF, $00, $FF, $F0, $00, $FF
|
||||
.byte $00, $FF, $00,$00, $FF, $A4,$00, $22, $BB
|
||||
.byte $22, $66, $C6, $96,$96, $6D, $96,$96, $D6
|
||||
.byte $6D, $DD, $60, $06, $99, $44,$44, $4C
|
||||
.byte $A3,$20, $00, $20,$20, $A3,$00, $20, $A3,$00, $20
|
||||
.byte $00,$00, $20, $00, $20, $00, $22,$22, $7B
|
||||
.byte $B2, $66, $C6, $9F, $98, $66, $99
|
||||
.byte $9F, $D8, $66, $D6, $90, $99, $C9
|
||||
.byte $A3,$CC, $76, $70, $00,$00, $76, $70, $06
|
||||
.byte $00, $76, $00, $76, $00, $76, $A3,$00
|
||||
.byte $06, $70, $06, $00, $22, $2B, $CB
|
||||
.byte $2C, $26, $6C, $69,$69, $D6, $69,$69, $6D
|
||||
.byte $D6, $DD, $D9, $A0,$01,$A9, $A0,$01,$AC, $C2, $CC,$CC
|
||||
.byte $FF, $A3,$00, $FF, $00, $FF, $00, $0F
|
||||
.byte $F0, $0F, $00, $0F, $F0, $FF, $00,$00
|
||||
.byte $FF, $00,$00, $2C,$2C, $CC, $C2, $22, $99,$99
|
||||
.byte $79, $DD, $9D, $99, $A4,$DD, $00, $0A
|
||||
.byte $A0,$01,$AC, $CC,$CC, $A3,$20, $00,$00, $20, $AF,$00, $02
|
||||
.byte $44, $C4, $CC, $C9, $99, $A3,$97, $99
|
||||
.byte $9D, $A3,$DD, $00,$00, $A0,$01,$A0, $CC,$CC, $00, $76
|
||||
.byte $00,$00, $06, $70, $A0,$10,$00, $44, $A3,$CC, $99
|
||||
.byte $A4,$F7, $99, $A3,$DD, $00,$00, $0A, $CC,$CC, $F0
|
||||
.byte $FF, $F0, $00, $F0, $0F, $A0,$10,$00, $C4
|
||||
.byte $CC, $CB, $CC, $C9, $99, $7F,$7F, $D7
|
||||
.byte $A4,$DD, $A3,$00, $CC,$CC, $20, $00, $20, $00
|
||||
.byte $20, $00,$00, $20, $00,$00, $20, $00, $20
|
||||
.byte $00, $A3,$20, $00,$00, $20, $00,$00, $CC, $B4
|
||||
.byte $2C, $4C, $CC, $99,$99, $A3,$DD, $9D,$9D, $D9
|
||||
.byte $A3,$00, $CC,$CC, $76, $06, $76, $00, $76
|
||||
.byte $00, $06, $70, $00, $06, $70, $00
|
||||
.byte $76, $00, $76, $00, $76, $00, $76
|
||||
.byte $A3,$00, $CC,$CC, $22, $CC,$CC, $C9, $99, $DD
|
||||
.byte $9D, $99, $D9, $A3,$DD, $00,$00, $CC,$CC, $FF
|
||||
.byte $00, $FF, $00, $FF, $00, $F0, $0F
|
||||
.byte $00, $F0, $0F, $00, $FF, $00, $FF
|
||||
.byte $00, $FF, $00, $0F, $F0, $FF, $00
|
||||
.byte $BB, $24, $CC,$CC, $0C, $00, $09, $A3,$99
|
||||
.byte $A3,$DD, $0D, $00,$00, $CC,$CC, $A0,$16,$00, $CC, $C2
|
||||
.byte $CC, $A3,$00, $A0,$01,$A0, $A5,$99, $A4,$00, $0C, $CC
|
||||
.byte $A0,$16,$00, $BC,$BC, $C2, $A3,$00, $A0,$01,$AA, $A3,$99, $09
|
||||
.byte $A6,$00, $0C, $A0,$15,$00, $22, $C2, $42, $2C
|
||||
.byte $00,$00, $99, $9A, $A0,$02,$A9, $A0,$1D,$00, $22,$22, $CC
|
||||
.byte $C4, $02, $00,$00, $99, $22, $92, $09
|
||||
.byte $A0,$1D,$00, $C2,$C2, $CC,$CC, $00,$00, $90, $A3,$99, $A0,$1E,$00
|
||||
.byte $C2,$C2, $CC, $0C, $00,$00, $99,$99, $09, $AB,$00
|
||||
.byte $A1
|
||||
|
BIN
demosplash/k_40_48d.png
Normal file
BIN
demosplash/k_40_48d.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
@ -18,6 +18,11 @@ missing_intro:
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
|
||||
;=============================
|
||||
; setup graphics code
|
||||
|
||||
jsr create_update_type1
|
||||
|
||||
;=============================
|
||||
; Load graphic page0
|
||||
|
||||
@ -130,19 +135,38 @@ mloopB: dex ; 2
|
||||
|
||||
missing_display_loop:
|
||||
|
||||
.include "missing_screen_update.s"
|
||||
jsr $9000 ; update_type1
|
||||
;.include "missing_screen_update.s"
|
||||
|
||||
;======================================================
|
||||
; We have 4550 cycles in the vblank, use them wisely
|
||||
;======================================================
|
||||
; do_nothing should be
|
||||
; 4550
|
||||
; -6
|
||||
; -10
|
||||
; -12 jsr/ret to update_type1
|
||||
; - 7 check keypress
|
||||
; - 3 jmp loop
|
||||
;=============
|
||||
; 4534
|
||||
; 4528
|
||||
|
||||
|
||||
; blah, current code the tight loops are right at a page boundary
|
||||
|
||||
do_nothing_missing:
|
||||
|
||||
; want 4528
|
||||
|
||||
; Try X=4 Y=174 cycles=4525 R3
|
||||
|
||||
lda TEMP ; nop 3
|
||||
|
||||
ldy #174 ; 2
|
||||
gloop1: ldx #4 ; 2
|
||||
gloop2: dex ; 2
|
||||
bne gloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
bne gloop1 ; 2nt/3
|
||||
|
||||
jsr do_nothing_missing ; 6
|
||||
|
||||
lda KEYPRESS ; 4
|
||||
bpl missing_no_keypress ; 3
|
||||
@ -155,45 +179,7 @@ missing_no_keypress:
|
||||
|
||||
.align $100
|
||||
|
||||
;=================================
|
||||
; do nothing
|
||||
;=================================
|
||||
; and take 4534-6 = 4528 cycles to do it
|
||||
|
||||
|
||||
; blah, current code the tight loops are right at a page boundary
|
||||
|
||||
do_nothing_missing:
|
||||
|
||||
; want 4528-12=4516
|
||||
|
||||
; Try X=4 Y=174 cycles=4525 R3 -3 X loops
|
||||
|
||||
; Try X=3 Y=215 cycles=4516
|
||||
|
||||
nop ; 2
|
||||
nop ; 2
|
||||
|
||||
nop ; 2
|
||||
nop ; 2
|
||||
|
||||
nop ; 2
|
||||
nop ; 2
|
||||
|
||||
|
||||
|
||||
ldy #215 ; 2
|
||||
gloop1: ldx #3 ; 2
|
||||
gloop2: dex ; 2
|
||||
bne gloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
bne gloop1 ; 2nt/3
|
||||
|
||||
rts ; 6
|
||||
|
||||
|
||||
|
||||
.include "k_40_48d.inc"
|
||||
|
||||
krg:
|
||||
.byte $0
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
257
demosplash/movement_table.s
Normal file
257
demosplash/movement_table.s
Normal file
@ -0,0 +1,257 @@
|
||||
movement_table:
|
||||
.byte $01 ; 0 -> 1
|
||||
.byte $02 ; 1 -> 2
|
||||
.byte $03 ; 2 -> 3
|
||||
.byte $04 ; 3 -> 4
|
||||
.byte $05 ; 4 -> 5
|
||||
.byte $06 ; 5 -> 6
|
||||
.byte $07 ; 6 -> 7
|
||||
.byte $08 ; 7 -> 8
|
||||
.byte $09 ; 8 -> 9
|
||||
.byte $0A ; 9 -> 10
|
||||
.byte $0B ; 10 -> 11
|
||||
.byte $0C ; 11 -> 12
|
||||
.byte $0D ; 12 -> 13
|
||||
.byte $0E ; 13 -> 14
|
||||
.byte $0F ; 14 -> 15
|
||||
.byte $10 ; 15 -> 16
|
||||
.byte $11 ; 16 -> 17
|
||||
.byte $12 ; 17 -> 18
|
||||
.byte $13 ; 18 -> 19
|
||||
.byte $14 ; 19 -> 20
|
||||
.byte $15 ; 20 -> 21
|
||||
.byte $16 ; 21 -> 22
|
||||
.byte $17 ; 22 -> 23
|
||||
.byte $18 ; 23 -> 24
|
||||
.byte $19 ; 24 -> 25
|
||||
.byte $1A ; 25 -> 26
|
||||
.byte $1B ; 26 -> 27
|
||||
.byte $1C ; 27 -> 28
|
||||
.byte $1D ; 28 -> 29
|
||||
.byte $1E ; 29 -> 30
|
||||
.byte $1F ; 30 -> 31
|
||||
.byte $20 ; 31 -> 32
|
||||
.byte $21 ; 32 -> 33
|
||||
.byte $22 ; 33 -> 34
|
||||
.byte $23 ; 34 -> 35
|
||||
.byte $24 ; 35 -> 36
|
||||
.byte $25 ; 36 -> 37
|
||||
.byte $26 ; 37 -> 38
|
||||
.byte $27 ; 38 -> 39
|
||||
.byte $28 ; 39 -> 40
|
||||
.byte $29 ; 40 -> 41
|
||||
.byte $2A ; 41 -> 42
|
||||
.byte $2B ; 42 -> 43
|
||||
.byte $2C ; 43 -> 44
|
||||
.byte $2D ; 44 -> 45
|
||||
.byte $2E ; 45 -> 46
|
||||
.byte $2F ; 46 -> 47
|
||||
.byte $30 ; 47 -> 48
|
||||
.byte $31 ; 48 -> 49
|
||||
.byte $32 ; 49 -> 50
|
||||
.byte $33 ; 50 -> 51
|
||||
.byte $34 ; 51 -> 52
|
||||
.byte $35 ; 52 -> 53
|
||||
.byte $36 ; 53 -> 54
|
||||
.byte $37 ; 54 -> 55
|
||||
.byte $38 ; 55 -> 56
|
||||
.byte $39 ; 56 -> 57
|
||||
.byte $3A ; 57 -> 58
|
||||
.byte $3B ; 58 -> 59
|
||||
.byte $3C ; 59 -> 60
|
||||
.byte $3D ; 60 -> 61
|
||||
.byte $3E ; 61 -> 62
|
||||
.byte $3F ; 62 -> 63
|
||||
.byte $40 ; 63 -> 64
|
||||
.byte $41 ; 64 -> 65
|
||||
.byte $42 ; 65 -> 66
|
||||
.byte $43 ; 66 -> 67
|
||||
.byte $44 ; 67 -> 68
|
||||
.byte $45 ; 68 -> 69
|
||||
.byte $46 ; 69 -> 70
|
||||
.byte $47 ; 70 -> 71
|
||||
.byte $48 ; 71 -> 72
|
||||
.byte $49 ; 72 -> 73
|
||||
.byte $4A ; 73 -> 74
|
||||
.byte $4B ; 74 -> 75
|
||||
.byte $4C ; 75 -> 76
|
||||
.byte $4D ; 76 -> 77
|
||||
.byte $4E ; 77 -> 78
|
||||
.byte $4F ; 78 -> 79
|
||||
.byte $50 ; 79 -> 80
|
||||
.byte $51 ; 80 -> 81
|
||||
.byte $52 ; 81 -> 82
|
||||
.byte $53 ; 82 -> 83
|
||||
.byte $54 ; 83 -> 84
|
||||
.byte $55 ; 84 -> 85
|
||||
.byte $56 ; 85 -> 86
|
||||
.byte $57 ; 86 -> 87
|
||||
.byte $58 ; 87 -> 88
|
||||
.byte $59 ; 88 -> 89
|
||||
.byte $5A ; 89 -> 90
|
||||
.byte $5B ; 90 -> 91
|
||||
.byte $5C ; 91 -> 92
|
||||
.byte $5D ; 92 -> 93
|
||||
.byte $5E ; 93 -> 94
|
||||
.byte $5F ; 94 -> 95
|
||||
.byte $60 ; 95 -> 96
|
||||
.byte $61 ; 96 -> 97
|
||||
.byte $62 ; 97 -> 98
|
||||
.byte $63 ; 98 -> 99
|
||||
.byte $64 ; 99 -> 100
|
||||
.byte $65 ; 100 -> 101
|
||||
.byte $66 ; 101 -> 102
|
||||
.byte $67 ; 102 -> 103
|
||||
.byte $68 ; 103 -> 104
|
||||
.byte $69 ; 104 -> 105
|
||||
.byte $6A ; 105 -> 106
|
||||
.byte $6B ; 106 -> 107
|
||||
.byte $6C ; 107 -> 108
|
||||
.byte $6D ; 108 -> 109
|
||||
.byte $6E ; 109 -> 110
|
||||
.byte $6F ; 110 -> 111
|
||||
.byte $70 ; 111 -> 112
|
||||
.byte $71 ; 112 -> 113
|
||||
.byte $72 ; 113 -> 114
|
||||
.byte $73 ; 114 -> 115
|
||||
.byte $74 ; 115 -> 116
|
||||
.byte $75 ; 116 -> 117
|
||||
.byte $76 ; 117 -> 118
|
||||
.byte $77 ; 118 -> 119
|
||||
.byte $78 ; 119 -> 120
|
||||
.byte $79 ; 120 -> 121
|
||||
.byte $7A ; 121 -> 122
|
||||
.byte $7B ; 122 -> 123
|
||||
.byte $FB ; 123 -> 251
|
||||
.byte $7B ; 124 -> 123
|
||||
.byte $7B ; 125 -> 123
|
||||
.byte $7B ; 126 -> 123
|
||||
.byte $7B ; 127 -> 123
|
||||
.byte $00 ; 128 -> 0
|
||||
.byte $80 ; 129 -> 128
|
||||
.byte $81 ; 130 -> 129
|
||||
.byte $82 ; 131 -> 130
|
||||
.byte $83 ; 132 -> 131
|
||||
.byte $84 ; 133 -> 132
|
||||
.byte $85 ; 134 -> 133
|
||||
.byte $86 ; 135 -> 134
|
||||
.byte $87 ; 136 -> 135
|
||||
.byte $88 ; 137 -> 136
|
||||
.byte $89 ; 138 -> 137
|
||||
.byte $8A ; 139 -> 138
|
||||
.byte $8B ; 140 -> 139
|
||||
.byte $8C ; 141 -> 140
|
||||
.byte $8D ; 142 -> 141
|
||||
.byte $8E ; 143 -> 142
|
||||
.byte $8F ; 144 -> 143
|
||||
.byte $90 ; 145 -> 144
|
||||
.byte $91 ; 146 -> 145
|
||||
.byte $92 ; 147 -> 146
|
||||
.byte $93 ; 148 -> 147
|
||||
.byte $94 ; 149 -> 148
|
||||
.byte $95 ; 150 -> 149
|
||||
.byte $96 ; 151 -> 150
|
||||
.byte $97 ; 152 -> 151
|
||||
.byte $98 ; 153 -> 152
|
||||
.byte $99 ; 154 -> 153
|
||||
.byte $9A ; 155 -> 154
|
||||
.byte $9B ; 156 -> 155
|
||||
.byte $9C ; 157 -> 156
|
||||
.byte $9D ; 158 -> 157
|
||||
.byte $9E ; 159 -> 158
|
||||
.byte $9F ; 160 -> 159
|
||||
.byte $A0 ; 161 -> 160
|
||||
.byte $A1 ; 162 -> 161
|
||||
.byte $A2 ; 163 -> 162
|
||||
.byte $A3 ; 164 -> 163
|
||||
.byte $A4 ; 165 -> 164
|
||||
.byte $A5 ; 166 -> 165
|
||||
.byte $A6 ; 167 -> 166
|
||||
.byte $A7 ; 168 -> 167
|
||||
.byte $A8 ; 169 -> 168
|
||||
.byte $A9 ; 170 -> 169
|
||||
.byte $AA ; 171 -> 170
|
||||
.byte $AB ; 172 -> 171
|
||||
.byte $AC ; 173 -> 172
|
||||
.byte $AD ; 174 -> 173
|
||||
.byte $AE ; 175 -> 174
|
||||
.byte $AF ; 176 -> 175
|
||||
.byte $B0 ; 177 -> 176
|
||||
.byte $B1 ; 178 -> 177
|
||||
.byte $B2 ; 179 -> 178
|
||||
.byte $B3 ; 180 -> 179
|
||||
.byte $B4 ; 181 -> 180
|
||||
.byte $B5 ; 182 -> 181
|
||||
.byte $B6 ; 183 -> 182
|
||||
.byte $B7 ; 184 -> 183
|
||||
.byte $B8 ; 185 -> 184
|
||||
.byte $B9 ; 186 -> 185
|
||||
.byte $BA ; 187 -> 186
|
||||
.byte $BB ; 188 -> 187
|
||||
.byte $BC ; 189 -> 188
|
||||
.byte $BD ; 190 -> 189
|
||||
.byte $BE ; 191 -> 190
|
||||
.byte $BF ; 192 -> 191
|
||||
.byte $C0 ; 193 -> 192
|
||||
.byte $C1 ; 194 -> 193
|
||||
.byte $C2 ; 195 -> 194
|
||||
.byte $C3 ; 196 -> 195
|
||||
.byte $C4 ; 197 -> 196
|
||||
.byte $C5 ; 198 -> 197
|
||||
.byte $C6 ; 199 -> 198
|
||||
.byte $C7 ; 200 -> 199
|
||||
.byte $C8 ; 201 -> 200
|
||||
.byte $C9 ; 202 -> 201
|
||||
.byte $CA ; 203 -> 202
|
||||
.byte $CB ; 204 -> 203
|
||||
.byte $CC ; 205 -> 204
|
||||
.byte $CD ; 206 -> 205
|
||||
.byte $CE ; 207 -> 206
|
||||
.byte $CF ; 208 -> 207
|
||||
.byte $D0 ; 209 -> 208
|
||||
.byte $D1 ; 210 -> 209
|
||||
.byte $D2 ; 211 -> 210
|
||||
.byte $D3 ; 212 -> 211
|
||||
.byte $D4 ; 213 -> 212
|
||||
.byte $D5 ; 214 -> 213
|
||||
.byte $D6 ; 215 -> 214
|
||||
.byte $D7 ; 216 -> 215
|
||||
.byte $D8 ; 217 -> 216
|
||||
.byte $D9 ; 218 -> 217
|
||||
.byte $DA ; 219 -> 218
|
||||
.byte $DB ; 220 -> 219
|
||||
.byte $DC ; 221 -> 220
|
||||
.byte $DD ; 222 -> 221
|
||||
.byte $DE ; 223 -> 222
|
||||
.byte $DF ; 224 -> 223
|
||||
.byte $E0 ; 225 -> 224
|
||||
.byte $E1 ; 226 -> 225
|
||||
.byte $E2 ; 227 -> 226
|
||||
.byte $E3 ; 228 -> 227
|
||||
.byte $E4 ; 229 -> 228
|
||||
.byte $E5 ; 230 -> 229
|
||||
.byte $E6 ; 231 -> 230
|
||||
.byte $E7 ; 232 -> 231
|
||||
.byte $E8 ; 233 -> 232
|
||||
.byte $E9 ; 234 -> 233
|
||||
.byte $EA ; 235 -> 234
|
||||
.byte $EB ; 236 -> 235
|
||||
.byte $EC ; 237 -> 236
|
||||
.byte $ED ; 238 -> 237
|
||||
.byte $EE ; 239 -> 238
|
||||
.byte $EF ; 240 -> 239
|
||||
.byte $F0 ; 241 -> 240
|
||||
.byte $F1 ; 242 -> 241
|
||||
.byte $F2 ; 243 -> 242
|
||||
.byte $F3 ; 244 -> 243
|
||||
.byte $F4 ; 245 -> 244
|
||||
.byte $F5 ; 246 -> 245
|
||||
.byte $F6 ; 247 -> 246
|
||||
.byte $F7 ; 248 -> 247
|
||||
.byte $F8 ; 249 -> 248
|
||||
.byte $F9 ; 250 -> 249
|
||||
.byte $FA ; 251 -> 250
|
||||
.byte $FB ; 252 -> 251
|
||||
.byte $FC ; 253 -> 252
|
||||
.byte $FD ; 254 -> 253
|
||||
.byte $FE ; 255 -> 254
|
34
demosplash/offsets_table.s
Normal file
34
demosplash/offsets_table.s
Normal file
@ -0,0 +1,34 @@
|
||||
y_lookup_h:
|
||||
.byte >($9934),>($9965),>($9996),>($99C7),>($99F8),>($9A29),>($9A5A),>($9A8B)
|
||||
.byte >($9ABC),>($9AED),>($9B1E),>($9B4F),>($9B80),>($9BB1),>($9BE2),>($9C13)
|
||||
.byte >($9C44),>($9C75),>($9CA6),>($9CD7),>($9D08),>($9D39),>($9D6A),>($9D9B)
|
||||
.byte >($9DCC),>($9DFD),>($9E2E),>($9E5F),>($9E90),>($9EC1),>($9EF2),>($9F23)
|
||||
.byte >($9F54),>($9F85),>($9FB6),>($9FE7),>($A018),>($A049),>($A07A),>($A0AB)
|
||||
.byte >($A0DC),>($A10D),>($A13E),>($A16F),>($A1A0),>($A1D1),>($A202),>($A233)
|
||||
.byte >($A264),>($A295),>($A2C6),>($A2F7),>($A328),>($A359),>($A38A),>($A3BB)
|
||||
.byte >($A3EC),>($A41D),>($A44E),>($A47F),>($A4B0),>($A4E1),>($A512),>($A543)
|
||||
.byte >($A574),>($A5A5),>($A5D6),>($A607),>($A638),>($A669),>($A69A),>($A6CB)
|
||||
.byte >($A6FC),>($A72D),>($A75E),>($A78F),>($A7C0),>($A7F1),>($A822),>($A853)
|
||||
.byte >($A884),>($A8B5),>($A8E6),>($A917),>($A948),>($A979),>($A9AA),>($A9DB)
|
||||
.byte >($AA0C),>($AA3D),>($AA6E),>($AA9F),>($AAD0),>($AB01),>($AB32),>($AB63)
|
||||
.byte >($AB94),>($ABC5),>($ABF6),>($AC27),>($AC58),>($AC89),>($ACBA),>($ACEB)
|
||||
.byte >($AD1C),>($AD4D),>($AD7E),>($ADAF),>($ADE0),>($AE11),>($AE42),>($AE73)
|
||||
.byte >($AEA4),>($AED5),>($AF06),>($AF37),>($AF68),>($AF99),>($AFCA),>($AFFB)
|
||||
.byte >($B02C),>($B05D),>($B08E),>($B0BF),>($B0F0),>($B121),>($B152),>($B183)
|
||||
y_lookup_l:
|
||||
.byte <($9934),<($9965),<($9996),<($99C7),<($99F8),<($9A29),<($9A5A),<($9A8B)
|
||||
.byte <($9ABC),<($9AED),<($9B1E),<($9B4F),<($9B80),<($9BB1),<($9BE2),<($9C13)
|
||||
.byte <($9C44),<($9C75),<($9CA6),<($9CD7),<($9D08),<($9D39),<($9D6A),<($9D9B)
|
||||
.byte <($9DCC),<($9DFD),<($9E2E),<($9E5F),<($9E90),<($9EC1),<($9EF2),<($9F23)
|
||||
.byte <($9F54),<($9F85),<($9FB6),<($9FE7),<($A018),<($A049),<($A07A),<($A0AB)
|
||||
.byte <($A0DC),<($A10D),<($A13E),<($A16F),<($A1A0),<($A1D1),<($A202),<($A233)
|
||||
.byte <($A264),<($A295),<($A2C6),<($A2F7),<($A328),<($A359),<($A38A),<($A3BB)
|
||||
.byte <($A3EC),<($A41D),<($A44E),<($A47F),<($A4B0),<($A4E1),<($A512),<($A543)
|
||||
.byte <($A574),<($A5A5),<($A5D6),<($A607),<($A638),<($A669),<($A69A),<($A6CB)
|
||||
.byte <($A6FC),<($A72D),<($A75E),<($A78F),<($A7C0),<($A7F1),<($A822),<($A853)
|
||||
.byte <($A884),<($A8B5),<($A8E6),<($A917),<($A948),<($A979),<($A9AA),<($A9DB)
|
||||
.byte <($AA0C),<($AA3D),<($AA6E),<($AA9F),<($AAD0),<($AB01),<($AB32),<($AB63)
|
||||
.byte <($AB94),<($ABC5),<($ABF6),<($AC27),<($AC58),<($AC89),<($ACBA),<($ACEB)
|
||||
.byte <($AD1C),<($AD4D),<($AD7E),<($ADAF),<($ADE0),<($AE11),<($AE42),<($AE73)
|
||||
.byte <($AEA4),<($AED5),<($AF06),<($AF37),<($AF68),<($AF99),<($AFCA),<($AFFB)
|
||||
.byte <($B02C),<($B05D),<($B08E),<($B0BF),<($B0F0),<($B121),<($B152),<($B183)
|
34
demosplash/offsets_table2.s
Normal file
34
demosplash/offsets_table2.s
Normal file
@ -0,0 +1,34 @@
|
||||
y_lookup2_h:
|
||||
.byte >($95E4),>($9613),>($9642),>($9671),>($96A0),>($96CF),>($96FE),>($972D)
|
||||
.byte >($975C),>($978B),>($97BA),>($97E9),>($9818),>($9847),>($9876),>($98A5)
|
||||
.byte >($98D4),>($9903),>($9932),>($9961),>($9990),>($99BF),>($99EE),>($9A1D)
|
||||
.byte >($9A4C),>($9A7B),>($9AAA),>($9AD9),>($9B08),>($9B37),>($9B66),>($9B95)
|
||||
.byte >($9BC4),>($9BF3),>($9C22),>($9C51),>($9C80),>($9CAF),>($9CDE),>($9D0D)
|
||||
.byte >($9D3C),>($9D6B),>($9D9A),>($9DC9),>($9DF8),>($9E27),>($9E56),>($9E85)
|
||||
.byte >($9EB4),>($9EE3),>($9F12),>($9F41),>($9F70),>($9F9F),>($9FCE),>($9FFD)
|
||||
.byte >($A02C),>($A05B),>($A08A),>($A0B9),>($A0E8),>($A117),>($A146),>($A175)
|
||||
.byte >($A1A4),>($A1D3),>($A202),>($A231),>($A260),>($A28F),>($A2BE),>($A2ED)
|
||||
.byte >($A31C),>($A34B),>($A37A),>($A3A9),>($A3D8),>($A407),>($A436),>($A465)
|
||||
.byte >($A494),>($A4C3),>($A4F2),>($A521),>($A550),>($A57F),>($A5AE),>($A5DD)
|
||||
.byte >($A60C),>($A63B),>($A66A),>($A699),>($A6C8),>($A6F7),>($A726),>($A755)
|
||||
.byte >($A784),>($A7B3),>($A7E2),>($A811),>($A840),>($A86F),>($A89E),>($A8CD)
|
||||
.byte >($A8FC),>($A92B),>($A95A),>($A989),>($A9B8),>($A9E7),>($AA16),>($AA45)
|
||||
.byte >($AA74),>($AAA3),>($AAD2),>($AB01),>($AB30),>($AB5F),>($AB8E),>($ABBD)
|
||||
.byte >($ABEC),>($AC1B),>($AC4A),>($AC79),>($ACA8),>($ACD7),>($AD06),>($AD35)
|
||||
y_lookup2_l:
|
||||
.byte <($95E4),<($9613),<($9642),<($9671),<($96A0),<($96CF),<($96FE),<($972D)
|
||||
.byte <($975C),<($978B),<($97BA),<($97E9),<($9818),<($9847),<($9876),<($98A5)
|
||||
.byte <($98D4),<($9903),<($9932),<($9961),<($9990),<($99BF),<($99EE),<($9A1D)
|
||||
.byte <($9A4C),<($9A7B),<($9AAA),<($9AD9),<($9B08),<($9B37),<($9B66),<($9B95)
|
||||
.byte <($9BC4),<($9BF3),<($9C22),<($9C51),<($9C80),<($9CAF),<($9CDE),<($9D0D)
|
||||
.byte <($9D3C),<($9D6B),<($9D9A),<($9DC9),<($9DF8),<($9E27),<($9E56),<($9E85)
|
||||
.byte <($9EB4),<($9EE3),<($9F12),<($9F41),<($9F70),<($9F9F),<($9FCE),<($9FFD)
|
||||
.byte <($A02C),<($A05B),<($A08A),<($A0B9),<($A0E8),<($A117),<($A146),<($A175)
|
||||
.byte <($A1A4),<($A1D3),<($A202),<($A231),<($A260),<($A28F),<($A2BE),<($A2ED)
|
||||
.byte <($A31C),<($A34B),<($A37A),<($A3A9),<($A3D8),<($A407),<($A436),<($A465)
|
||||
.byte <($A494),<($A4C3),<($A4F2),<($A521),<($A550),<($A57F),<($A5AE),<($A5DD)
|
||||
.byte <($A60C),<($A63B),<($A66A),<($A699),<($A6C8),<($A6F7),<($A726),<($A755)
|
||||
.byte <($A784),<($A7B3),<($A7E2),<($A811),<($A840),<($A86F),<($A89E),<($A8CD)
|
||||
.byte <($A8FC),<($A92B),<($A95A),<($A989),<($A9B8),<($A9E7),<($AA16),<($AA45)
|
||||
.byte <($AA74),<($AAA3),<($AAD2),<($AB01),<($AB30),<($AB5F),<($AB8E),<($ABBD)
|
||||
.byte <($ABEC),<($AC1B),<($AC4A),<($AC79),<($ACA8),<($ACD7),<($AD06),<($AD35)
|
@ -20,7 +20,7 @@ starbase_new_room:
|
||||
lda #0
|
||||
sta GAME_OVER
|
||||
|
||||
jsr ootw_city
|
||||
jsr starbase_setup_room
|
||||
|
||||
c4_check_done:
|
||||
lda GAME_OVER
|
||||
@ -57,17 +57,9 @@ wait_loop:
|
||||
rts
|
||||
|
||||
.include "starbase_action.s"
|
||||
;.include "text_print.s"
|
||||
;.include "gr_pageflip.s"
|
||||
;.include "gr_unrle.s"
|
||||
;.include "gr_fast_clear.s"
|
||||
;.include "gr_copy.s"
|
||||
.include "gr_hlin.s"
|
||||
.include "gr_twoscreen_scroll.s"
|
||||
.include "gr_putsprite.s"
|
||||
;.include "gr_putsprite_flipped.s"
|
||||
.include "gr_putsprite_crop.s"
|
||||
;.include "gr_offsets.s"
|
||||
.include "keyboard.s"
|
||||
|
||||
.include "starbase_astronaut.s"
|
||||
|
@ -4,12 +4,12 @@
|
||||
; starbase_init
|
||||
;=======================
|
||||
;=======================
|
||||
; call once before entering city for first time
|
||||
; call once before entering starbase for first time
|
||||
|
||||
starbase_init:
|
||||
lda #0
|
||||
sta WHICH_ROOM
|
||||
sta BG_SCROLL
|
||||
sta DIRECTION ; left
|
||||
sta LASER_OUT
|
||||
sta BLAST_OUT
|
||||
sta CHARGER_COUNT
|
||||
@ -20,18 +20,16 @@ starbase_init:
|
||||
sta ACTION_TRIGGERED
|
||||
sta ACTION_COUNT
|
||||
|
||||
lda #1
|
||||
sta DIRECTION ; right
|
||||
|
||||
lda #100
|
||||
sta GUN_CHARGE
|
||||
|
||||
;====================
|
||||
; reset doors
|
||||
lda #DOOR_STATUS_CLOSED
|
||||
sta c4_r0_door0_status
|
||||
sta c4_r0_door1_status
|
||||
lda #DOOR_STATUS_LOCKED
|
||||
sta c4_r0_door2_status
|
||||
sta c4_r0_door3_status
|
||||
sta c4_r0_door4_status
|
||||
sta c4_r0_door0_status
|
||||
|
||||
;===============
|
||||
; set up aliens
|
||||
@ -58,23 +56,14 @@ starbase_init:
|
||||
lda #1
|
||||
sta HAVE_GUN
|
||||
|
||||
lda #19
|
||||
lda #0
|
||||
sta ASTRONAUT_X
|
||||
lda #230 ; start offscreen
|
||||
lda #10
|
||||
sta ASTRONAUT_Y
|
||||
|
||||
lda #28
|
||||
sta fall_down_destination_smc+1
|
||||
|
||||
lda #28
|
||||
sta fall_sideways_destination_smc+1
|
||||
|
||||
lda #P_FALLING_DOWN ; fall into level
|
||||
lda #P_STANDING
|
||||
sta ASTRONAUT_STATE
|
||||
|
||||
lda #$2c
|
||||
sta falling_stop_smc
|
||||
|
||||
rts
|
||||
|
||||
|
||||
@ -83,7 +72,7 @@ starbase_init:
|
||||
; enter new room in jail
|
||||
;===========================
|
||||
;===========================
|
||||
ootw_city:
|
||||
starbase_setup_room:
|
||||
;=================================
|
||||
; setup vars
|
||||
|
||||
@ -114,12 +103,12 @@ ootw_city:
|
||||
bne room1
|
||||
|
||||
;======================
|
||||
; Room0 with recharger
|
||||
; Room0 with ramp
|
||||
room0:
|
||||
|
||||
; set up doors
|
||||
|
||||
lda #5
|
||||
lda #2
|
||||
sta NUM_DOORS
|
||||
|
||||
lda #<door_c4_r0
|
||||
@ -130,26 +119,22 @@ room0:
|
||||
|
||||
; set up room limits
|
||||
|
||||
lda #(6+128)
|
||||
lda #(-3+128) ; stop at wall
|
||||
sta LEFT_LIMIT
|
||||
lda #(39+128)
|
||||
sta RIGHT_LIMIT
|
||||
|
||||
; set right exit
|
||||
lda #1
|
||||
sta cer_smc+1
|
||||
|
||||
; set left exit
|
||||
lda #0
|
||||
sta cel_smc+1
|
||||
|
||||
lda ASTRONAUT_STATE
|
||||
cmp #P_FALLING_DOWN
|
||||
beq room0_falling
|
||||
; set right exit
|
||||
lda #1
|
||||
sta cer_smc+1
|
||||
|
||||
lda #28
|
||||
lda #10
|
||||
sta ASTRONAUT_Y
|
||||
room0_falling:
|
||||
|
||||
|
||||
; load background
|
||||
lda #>(jail_rle)
|
||||
@ -343,47 +328,10 @@ ootw_room_already_set:
|
||||
|
||||
;============================
|
||||
;============================
|
||||
; City Loop
|
||||
; starbase Loop
|
||||
;============================
|
||||
;============================
|
||||
city_loop:
|
||||
|
||||
;======================================
|
||||
; draw split screen if falling into pit
|
||||
;======================================
|
||||
|
||||
; only fall in room3
|
||||
lda WHICH_ROOM
|
||||
cmp #3
|
||||
bne no_scroll
|
||||
|
||||
lda BG_SCROLL
|
||||
beq no_scroll
|
||||
|
||||
lda FRAMEL ; slow down a bit
|
||||
and #$1
|
||||
bne no_scroll_progress
|
||||
|
||||
inc BG_SCROLL
|
||||
inc BG_SCROLL
|
||||
no_scroll_progress:
|
||||
|
||||
ldy BG_SCROLL
|
||||
cpy #48
|
||||
bne scroll_it
|
||||
|
||||
; exit to next room when done scrolling
|
||||
|
||||
lda #0
|
||||
sta BG_SCROLL
|
||||
lda #4
|
||||
sta WHICH_ROOM
|
||||
rts
|
||||
|
||||
scroll_it:
|
||||
jsr gr_twoscreen_scroll
|
||||
no_scroll:
|
||||
|
||||
starbase_loop:
|
||||
|
||||
;================================
|
||||
;================================
|
||||
@ -393,101 +341,6 @@ no_scroll:
|
||||
|
||||
jsr gr_copy_to_current
|
||||
|
||||
|
||||
;=========================
|
||||
;=========================
|
||||
; Handle Falling into Pit
|
||||
;=========================
|
||||
;=========================
|
||||
|
||||
lda WHICH_ROOM
|
||||
cmp #3
|
||||
beq check_falling
|
||||
cmp #4
|
||||
beq check_falling
|
||||
|
||||
jmp not_falling
|
||||
|
||||
check_falling:
|
||||
; only fall if falling sideways/down
|
||||
lda ASTRONAUT_STATE
|
||||
cmp #P_FALLING_SIDEWAYS
|
||||
beq falling_sideways
|
||||
cmp #P_FALLING_DOWN
|
||||
beq falling_down
|
||||
|
||||
jmp not_falling
|
||||
|
||||
falling_sideways:
|
||||
; if falling sideways
|
||||
|
||||
lda BG_SCROLL
|
||||
cmp #16
|
||||
bcc before ; blt
|
||||
|
||||
lda FRAMEL
|
||||
and #$3
|
||||
bne no_fall_undo
|
||||
|
||||
dec ASTRONAUT_X
|
||||
dec ASTRONAUT_Y
|
||||
dec ASTRONAUT_Y
|
||||
dec ASTRONAUT_Y
|
||||
dec ASTRONAUT_Y
|
||||
no_fall_undo:
|
||||
jmp scroll_check
|
||||
before:
|
||||
|
||||
lda FRAMEL
|
||||
and #$1
|
||||
bne extra_boost
|
||||
|
||||
inc ASTRONAUT_X
|
||||
extra_boost:
|
||||
jmp scroll_check
|
||||
|
||||
|
||||
falling_down:
|
||||
; if falling down, and Y>=32, then impale
|
||||
lda ASTRONAUT_Y
|
||||
cmp #32
|
||||
bcc scroll_check ; blt
|
||||
|
||||
lda #9
|
||||
sta ASTRONAUT_X
|
||||
|
||||
lda #38
|
||||
sta ASTRONAUT_Y
|
||||
|
||||
lda #0
|
||||
sta GAIT
|
||||
|
||||
lda #P_IMPALED
|
||||
sta ASTRONAUT_STATE
|
||||
|
||||
jmp not_falling
|
||||
|
||||
scroll_check:
|
||||
lda BG_SCROLL ; if done scrolling, re-enable falling
|
||||
bne scroll_bg_check22
|
||||
|
||||
lda #$2c ; re-enable falling
|
||||
sta falling_stop_smc
|
||||
jmp not_far_enough
|
||||
|
||||
scroll_bg_check22:
|
||||
|
||||
lda ASTRONAUT_Y ; once Y=22, stop falling (scroll instead)
|
||||
cmp #22
|
||||
bcc not_far_enough ; blt
|
||||
|
||||
lda #$4c ; disable yinc in falling
|
||||
sta falling_stop_smc
|
||||
|
||||
not_far_enough:
|
||||
|
||||
not_falling:
|
||||
|
||||
;==================================
|
||||
; draw background action
|
||||
;==================================
|
||||
@ -506,9 +359,9 @@ bg_room0:
|
||||
tay
|
||||
|
||||
|
||||
lda #11
|
||||
lda #0
|
||||
sta XPOS
|
||||
lda #24
|
||||
lda #26
|
||||
sta YPOS
|
||||
|
||||
lda recharge_bg_progression,Y
|
||||
@ -524,21 +377,6 @@ bg_room0:
|
||||
lsr
|
||||
tay
|
||||
|
||||
lda #5
|
||||
sta XPOS
|
||||
lda #24
|
||||
sta YPOS
|
||||
|
||||
lda recharge_sprite_progression,Y
|
||||
sta INL
|
||||
lda recharge_sprite_progression+1,Y
|
||||
sta INH
|
||||
|
||||
|
||||
|
||||
jsr put_sprite
|
||||
|
||||
|
||||
|
||||
|
||||
c4_no_bg_action:
|
||||
@ -550,7 +388,7 @@ c4_no_bg_action:
|
||||
jsr handle_keypress
|
||||
|
||||
;===============================
|
||||
; move physicist
|
||||
; move astronaut
|
||||
;===============================
|
||||
|
||||
jsr move_astronaut
|
||||
@ -568,84 +406,41 @@ c4_no_bg_action:
|
||||
|
||||
done_room_limits:
|
||||
|
||||
;=============================
|
||||
;=============================
|
||||
; Detect if falling off ledge
|
||||
;=============================
|
||||
;=============================
|
||||
;===============
|
||||
; draw astronaut
|
||||
;===============
|
||||
|
||||
; only fall in room#3
|
||||
; only have slope in room0
|
||||
lda WHICH_ROOM
|
||||
cmp #3
|
||||
bne regular_room
|
||||
|
||||
; don't start fall if impaled or already falling
|
||||
lda ASTRONAUT_STATE
|
||||
cmp #P_IMPALED
|
||||
beq regular_room
|
||||
cmp #P_FALLING_DOWN
|
||||
beq regular_room
|
||||
cmp #P_FALLING_SIDEWAYS
|
||||
beq regular_room
|
||||
|
||||
|
||||
; only start falling if y>=18
|
||||
lda ASTRONAUT_Y
|
||||
cmp #18
|
||||
bcc regular_room ; blt
|
||||
|
||||
; only start falling if x>=7 and positive
|
||||
lda ASTRONAUT_X
|
||||
bmi regular_room
|
||||
cmp #7
|
||||
bcc regular_room ; blt
|
||||
|
||||
lda ASTRONAUT_STATE
|
||||
cmp #P_JUMPING
|
||||
beq fall_sideways
|
||||
|
||||
; if not jumping then fall down
|
||||
|
||||
lda #P_FALLING_DOWN
|
||||
sta ASTRONAUT_STATE
|
||||
|
||||
lda #2
|
||||
sta BG_SCROLL
|
||||
|
||||
jmp regular_room
|
||||
|
||||
fall_sideways:
|
||||
|
||||
lda #P_FALLING_SIDEWAYS
|
||||
sta ASTRONAUT_STATE
|
||||
|
||||
lda #2
|
||||
sta BG_SCROLL
|
||||
|
||||
regular_room:
|
||||
|
||||
;===============
|
||||
; draw physicist
|
||||
;===============
|
||||
|
||||
; if in charger, draw that
|
||||
lda WHICH_ROOM ; charger only room0
|
||||
bne just_draw_astronaut
|
||||
|
||||
; adjust y for slope
|
||||
|
||||
lda ASTRONAUT_X
|
||||
cmp #10
|
||||
bne just_draw_astronaut
|
||||
cmp #11
|
||||
bcc asstr_above ; blt
|
||||
|
||||
lda GUN_CHARGE
|
||||
cmp #200
|
||||
bcs just_draw_astronaut ; bge
|
||||
cmp #22
|
||||
bcs asstr_below ; bge
|
||||
|
||||
lda #P_STANDING
|
||||
sta ASTRONAUT_STATE
|
||||
sec
|
||||
sbc #11
|
||||
and #$fe ; our sprite code only draws even y
|
||||
adc #11
|
||||
|
||||
jsr draw_charger
|
||||
jmp asstr_adjust_y
|
||||
|
||||
jmp after_draw_astronaut
|
||||
asstr_below:
|
||||
lda #22
|
||||
jmp asstr_adjust_y
|
||||
|
||||
asstr_above:
|
||||
lda #10
|
||||
|
||||
asstr_adjust_y:
|
||||
sta ASTRONAUT_Y
|
||||
|
||||
jsr recalc_walk_collision
|
||||
|
||||
just_draw_astronaut:
|
||||
jsr draw_astronaut
|
||||
@ -686,18 +481,18 @@ no_draw_alien:
|
||||
;========================
|
||||
|
||||
lda WHICH_ROOM
|
||||
cmp #2
|
||||
beq c4_room2_cover
|
||||
beq c4_room0_cover
|
||||
|
||||
cmp #4
|
||||
beq c4_room4_cover
|
||||
|
||||
jmp c4_no_fg_cover
|
||||
c4_room2_cover:
|
||||
|
||||
c4_room0_cover:
|
||||
|
||||
lda #0
|
||||
sta XPOS
|
||||
lda #18
|
||||
lda #6
|
||||
sta YPOS
|
||||
|
||||
lda #<causeway_door_cover
|
||||
@ -830,72 +625,11 @@ still_in_city:
|
||||
lda #0
|
||||
sta GAME_OVER
|
||||
|
||||
jmp city_loop
|
||||
jmp starbase_loop
|
||||
|
||||
done_city:
|
||||
rts
|
||||
|
||||
|
||||
recharge_sprite_progression:
|
||||
.word recharge_sprite1
|
||||
.word recharge_sprite2
|
||||
.word recharge_sprite3
|
||||
.word recharge_sprite4
|
||||
|
||||
|
||||
recharge_sprite1:
|
||||
.byte 1,10
|
||||
.byte $eA
|
||||
.byte $ff
|
||||
.byte $ee
|
||||
.byte $ff
|
||||
.byte $e6
|
||||
.byte $ff
|
||||
.byte $6e
|
||||
.byte $ff
|
||||
.byte $fe
|
||||
.byte $a6
|
||||
|
||||
recharge_sprite2:
|
||||
.byte 1,10
|
||||
.byte $fA
|
||||
.byte $f6
|
||||
.byte $ef
|
||||
.byte $fe
|
||||
.byte $66
|
||||
.byte $fe
|
||||
.byte $6e
|
||||
.byte $f6
|
||||
.byte $6e
|
||||
.byte $af
|
||||
|
||||
recharge_sprite3:
|
||||
.byte 1,10
|
||||
.byte $eA
|
||||
.byte $f6
|
||||
.byte $ef
|
||||
.byte $ef
|
||||
.byte $6f
|
||||
.byte $f6
|
||||
.byte $e6
|
||||
.byte $f6
|
||||
.byte $6f
|
||||
.byte $ae
|
||||
|
||||
recharge_sprite4:
|
||||
.byte 1,10
|
||||
.byte $fA
|
||||
.byte $fe
|
||||
.byte $fe
|
||||
.byte $6e
|
||||
.byte $fe
|
||||
.byte $6e
|
||||
.byte $ee
|
||||
.byte $f6
|
||||
.byte $ef
|
||||
.byte $ae
|
||||
|
||||
|
||||
recharge_bg_progression:
|
||||
.word recharge_bg1
|
||||
.word recharge_bg2
|
||||
@ -958,15 +692,17 @@ recharge_bg4:
|
||||
|
||||
; 0x18
|
||||
causeway_door_cover:
|
||||
.byte 8,8
|
||||
.byte $00,$00,$00,$00,$00,$00,$22,$AA
|
||||
.byte $00,$00,$00,$00,$00,$00,$22,$AA
|
||||
.byte $00,$00,$00,$00,$00,$00,$22,$AA
|
||||
.byte $00,$00,$00,$00,$00,$00,$02,$2A
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$22
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$22
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$22
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$22
|
||||
.byte 6,10
|
||||
.byte $00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$11,$00,$00,$00
|
||||
.byte $00,$00,$11,$11,$00,$00
|
||||
.byte $00,$00,$00,$11,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00
|
||||
|
||||
; 30x8
|
||||
pit_door_cover:
|
||||
@ -1002,39 +738,26 @@ door_c4_r0:
|
||||
.word door_c4_r0_xmax
|
||||
|
||||
door_c4_r0_status:
|
||||
c4_r0_door0_status: .byte DOOR_STATUS_CLOSED
|
||||
c4_r0_door1_status: .byte DOOR_STATUS_CLOSED
|
||||
c4_r0_door2_status: .byte DOOR_STATUS_LOCKED
|
||||
c4_r0_door3_status: .byte DOOR_STATUS_LOCKED
|
||||
c4_r0_door4_status: .byte DOOR_STATUS_LOCKED
|
||||
c4_r0_door0_status: .byte DOOR_STATUS_LOCKED
|
||||
c4_r0_door1_status: .byte DOOR_STATUS_LOCKED
|
||||
|
||||
door_c4_r0_x:
|
||||
c4_r0_door0_x: .byte 7
|
||||
c4_r0_door1_x: .byte 18
|
||||
c4_r0_door2_x: .byte 29
|
||||
c4_r0_door3_x: .byte 31
|
||||
c4_r0_door4_x: .byte 33
|
||||
c4_r0_door0_x: .byte 6
|
||||
c4_r0_door1_x: .byte 37
|
||||
|
||||
door_c4_r0_y:
|
||||
c4_r0_door0_y: .byte 24
|
||||
c4_r0_door1_y: .byte 24
|
||||
c4_r0_door2_y: .byte 24
|
||||
c4_r0_door3_y: .byte 24
|
||||
c4_r0_door4_y: .byte 24
|
||||
c4_r0_door0_y: .byte 6
|
||||
c4_r0_door1_y: .byte 18
|
||||
|
||||
door_c4_r0_xmin:
|
||||
c4_r0_door0_xmin: .byte 0 ; 7-4-5
|
||||
c4_r0_door1_xmin: .byte 11 ; 18-4-5
|
||||
c4_r0_door2_xmin: .byte 20 ; 29-4-5
|
||||
c4_r0_door3_xmin: .byte 22 ; 31-4-5
|
||||
c4_r0_door4_xmin: .byte 24 ; 33-4-5
|
||||
c4_r0_door0_xmin: .byte 0 ; 37-4-5
|
||||
c4_r0_door1_xmin: .byte 28 ; 37-4-5
|
||||
|
||||
|
||||
door_c4_r0_xmax:
|
||||
c4_r0_door0_xmax: .byte 11 ; 7+4
|
||||
c4_r0_door1_xmax: .byte 21 ; 18+4
|
||||
c4_r0_door2_xmax: .byte 33 ; don't care
|
||||
c4_r0_door3_xmax: .byte 35 ; don't care
|
||||
c4_r0_door4_xmax: .byte 37 ; don't care
|
||||
c4_r0_door0_xmax: .byte 4 ; ??
|
||||
c4_r0_door1_xmax: .byte 39 ; ??
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -398,4 +398,3 @@ door_exploding_sprite6:
|
||||
.byte $FA,$AA,$AA
|
||||
.byte $AF,$A5,$AA
|
||||
|
||||
|
||||
|
@ -152,18 +152,24 @@ BLAST_OUT = $D8 ; 2+
|
||||
SHIELD_OUT = $D9 ; 2+
|
||||
|
||||
ALIEN_OUT = $DA ; 2+
|
||||
RASTER_PAGE = $DA ; rasters
|
||||
|
||||
LASER_OUT = $DB ; 2+
|
||||
RASTER_X = $DB ; rasters
|
||||
|
||||
GUN_CHARGE = $DC ; 2+
|
||||
CREDITS_POINTERL= $DC ; credits
|
||||
|
||||
MONSTER_AI = $DD ; C1 underwater
|
||||
ACTION_COUNT = $DD ; C4
|
||||
CREDITS_POINTERH= $DD ; credits
|
||||
|
||||
BG_BEAST = $DE ; C1
|
||||
ACTION_TRIGGERED= $DE ; C4
|
||||
CREDITS_X = $DE ; credits
|
||||
|
||||
ON_ELEVATOR = $DF ; ALL
|
||||
CREDITS_Y = $DF ; credits
|
||||
|
||||
LEFT_LIMIT = $E0 ; ALL
|
||||
RIGHT_LIMIT = $E1 ; ALL
|
||||
|
@ -2,7 +2,18 @@
|
||||
|
||||
#include <math.h>
|
||||
|
||||
#define ANGLE_STEPS 16
|
||||
#define ANGLE_STEPS 64
|
||||
|
||||
static int double_to_fixed(double d) {
|
||||
|
||||
int temp;
|
||||
|
||||
temp=d*4096;
|
||||
|
||||
return temp;
|
||||
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
@ -12,7 +23,7 @@ int main(int argc, char **argv) {
|
||||
printf("Sin\n");
|
||||
for(i=0;i<ANGLE_STEPS;i++) {
|
||||
angle=3.1415926535897932384*2.0*((double)i/(double)ANGLE_STEPS);
|
||||
printf("%d %lf\n",i,sin(angle));
|
||||
printf("%d %lf %x\n",i,sin(angle),double_to_fixed(sin(angle)));
|
||||
}
|
||||
|
||||
printf("Cos\n");
|
||||
|
Loading…
Reference in New Issue
Block a user