mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-27 11:55:20 +00:00
second: massively re-write loading
trying to make sure everything fits
This commit is contained in:
parent
6e8bfa4181
commit
20ac0645f1
@ -8,29 +8,42 @@ LINKER_SCRIPTS = ../../linker_scripts/
|
||||
|
||||
all: second_d1.dsk second_d2.dsk
|
||||
|
||||
second_d1.dsk: QBOOT QLOAD MUSIC music.inc \
|
||||
second_d1.dsk: QBOOT QLOAD music.inc \
|
||||
MUSIC_INTRO \
|
||||
MUSIC \
|
||||
./part01_intropan/INTRO \
|
||||
./part05_dot_tunnel/TUNNEL \
|
||||
./part13_plasmacube/PLASMACUBE \
|
||||
./part14_dotbounce/DOTS \
|
||||
./part15_transmission/SPHERES \
|
||||
./part16_ocean/OCEAN \
|
||||
./part17_polar/POLAR
|
||||
cp $(EMPTY_DISK) second_d1.dsk
|
||||
$(DOS33_RAW) second_d1.dsk 0 0 QBOOT 0 1
|
||||
$(DOS33_RAW) second_d1.dsk 0 2 QBOOT 1 1
|
||||
$(DOS33_RAW) second_d1.dsk 0 4 QBOOT 2 1
|
||||
$(DOS33_RAW) second_d1.dsk 1 0 QLOAD 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 3 0 MUSIC 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 8 0 ./part01_intropan/INTRO 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 11 0 ./part05_dot_tunnel/TUNNEL 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 32 0 ./part14_dotbounce/DOTS 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 33 0 ./part15_transmission/SPHERES 0 0
|
||||
# $(DOS33_RAW) second_d1.dsk 13 0 ./part16_ocean/OCEAN 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 0 0 QBOOT 0 1
|
||||
$(DOS33_RAW) second_d1.dsk 0 2 QBOOT 1 1
|
||||
$(DOS33_RAW) second_d1.dsk 0 4 QBOOT 2 1
|
||||
$(DOS33_RAW) second_d1.dsk 1 0 QLOAD 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 2 0 MUSIC_INTRO 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 4 0 MUSIC 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 10 0 ./part01_intropan/INTRO 0 0
|
||||
# $(DOS33_RAW) second_d1.dsk 15 0 ./part04_chess_shapes/CHESS 0 0
|
||||
# $(DOS33_RAW) second_d1.dsk 16 0 ./part05_dot_tunnel/TUNNEL 0 0
|
||||
# $(DOS33_RAW) second_d1.dsk 19 0 ./part08_gorilla/GORILLA 0 0
|
||||
# $(DOS33_RAW) second_d1.dsk 21 0 ./part09_leaves_rotozoom/LEAVES 0 0
|
||||
# $(DOS33_RAW) second_d1.dsk 23 0 ./part10_lens_rotozoom/LENS 0 0
|
||||
# $(DOS33_RAW) second_d1.dsk 24 0 ./part12_plasma/PLASMA 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 25 0 ./part13_plasmacube/PLASMACUBE 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 26 0 ./part14_dotbounce/DOTS 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 27 0 ./part15_transmission/SPHERES 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 28 0 ./part16_ocean/OCEAN 0 0
|
||||
$(DOS33_RAW) second_d1.dsk 34 0 ./part17_polar/POLAR 0 0
|
||||
|
||||
|
||||
####
|
||||
|
||||
part13_plasmacube/PLASMACUBE:
|
||||
cd part13_plasmacube && make
|
||||
|
||||
part14_dotbounce/DOTS:
|
||||
cd part14_dotbounce && make
|
||||
|
||||
@ -222,6 +235,23 @@ music.o: music.s zp.inc \
|
||||
|
||||
####
|
||||
|
||||
MUSIC_INTRO: music_intro.o qload.inc
|
||||
ld65 -o MUSIC_INTRO music_intro.o -C $(LINKER_SCRIPTS)/apple2_d000.inc
|
||||
|
||||
music_intro.o: music_intro.s zp.inc \
|
||||
aux_memcopy.s \
|
||||
music/z00m_unreal2_part1.pt3 \
|
||||
pt3_lib_core.s \
|
||||
pt3_lib_mockingboard_detect.s \
|
||||
pt3_lib_mockingboard.inc \
|
||||
pt3_lib_init.s \
|
||||
pt3_lib_mockingboard_setup.s \
|
||||
pt3_lib_irq_handler.s
|
||||
ca65 -o music_intro.o music_intro.s -l music_intro.lst
|
||||
|
||||
|
||||
####
|
||||
|
||||
MUSIC2: music2.o
|
||||
ld65 -o MUSIC2 music2.o -C $(LINKER_SCRIPTS)/apple2_d000.inc
|
||||
|
||||
@ -251,6 +281,7 @@ generate_common.o: generate_common.c
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst HELLO SECOND QBOOT QLOAD MUSIC START
|
||||
cd part13_plasmacube && make clean
|
||||
cd part14_dotbounce && make clean
|
||||
cd part15_transmission && make clean
|
||||
cd part17_polar && make clean
|
||||
|
@ -2,22 +2,35 @@ Disk Usage:
|
||||
|
||||
DISK1 Track Sectors AUX
|
||||
~~~~~~
|
||||
fake_bios: 4k 90%
|
||||
intro_pan: 10k 33%
|
||||
chess_shapes: 12k 5%
|
||||
tunnel: 1k 25%
|
||||
circles/lines: 4k? 0%
|
||||
gorilla: 5k 50%
|
||||
leaves: 5k 25%
|
||||
lens/rotozoom: 4k 50%
|
||||
plasma: 4k? 25%
|
||||
plasmacube: 4k? 10%
|
||||
dotbounce: 4k 32 16 $3000-$3FFF
|
||||
transmission: 4k? 0% 33 16 $2000-$2FFF
|
||||
ocean: 24k XX 96 ???
|
||||
polar: 4k 34 16 $1000-$1FFF
|
||||
qload 4k 1 16
|
||||
00 music_intro ?? 2-3 32
|
||||
01 music_main ?? 4-7 48
|
||||
|
||||
02 fake_bios: 4k 10 16
|
||||
02 intro_pan: 16k 11-14 64
|
||||
|
||||
; pause to load new music
|
||||
; and these into primary RAM
|
||||
03 title: 4k
|
||||
03 chess_shapes: 4k 15-16 32
|
||||
03 tunnel: 4k 16-17 32
|
||||
03 circles/lines: 4k 18 16
|
||||
|
||||
04 gorilla: 8k 19-20 32 $7000-$8FFF
|
||||
05 leaves: 8k 21-22 32 $5000-$6FFF
|
||||
06 lens/rotozoom: 4k? 23 16 $4000-$4FFF
|
||||
07 plasma: 4k? 24 16 $3000-$3FFF
|
||||
08 plasmacube: 4k 25 16 (8?) $2000-$2FFF
|
||||
09 dotbounce: 4k 26 16 $1000-$1FFF
|
||||
|
||||
; pause to load again?
|
||||
|
||||
10 transmission: 4k? 27 16 $2000-$2FFF
|
||||
11 ocean: 24k 28 96 ???
|
||||
12 polar: 4k 34 16 $1000-$1FFF
|
||||
=========================
|
||||
|
||||
|
||||
DISK2: Track Sectors AUX
|
||||
~~~~~~ ~~~ ~~~~~~ ~~~~
|
||||
nuts: 8k 8 32 (2T) $2000
|
||||
|
@ -4,7 +4,8 @@ DISK I
|
||||
|
||||
+ Dot Bounce
|
||||
|
||||
- actually do something interesting
|
||||
- slowly spool them out
|
||||
- part way through start drawing more
|
||||
|
||||
+ Transmission / Spheres
|
||||
|
||||
|
@ -31,6 +31,7 @@ PT3_ENABLE_APPLE_IIC = 1
|
||||
.align $100
|
||||
PT3_LOC:
|
||||
;.incbin "music/z00m_unreal2_part1.pt3"
|
||||
.incbin "music/z00m_unreal2_part2.pt3"
|
||||
;.incbin "music/z00m_unreal2_part2.pt3"
|
||||
;.incbin "music/second_3d.pt3"
|
||||
|
||||
.incbin "music/z00m_unreal2_complete.pt3"
|
||||
|
36
demos/second/music_intro.s
Normal file
36
demos/second/music_intro.s
Normal file
@ -0,0 +1,36 @@
|
||||
; music, music
|
||||
|
||||
; by Vince `deater` Weaver vince@deater.net
|
||||
|
||||
.include "hardware.inc"
|
||||
.include "zp.inc"
|
||||
|
||||
;.include "qload.inc"
|
||||
|
||||
memcpy_routines:
|
||||
.include "aux_memcopy.s"
|
||||
|
||||
music_lib:
|
||||
|
||||
PT3_ENABLE_APPLE_IIC = 1
|
||||
|
||||
nop ; urgh to keep interrupt_handler from starting at $C4
|
||||
; which broke auto-patcher
|
||||
|
||||
; pt3 player
|
||||
; .include "pt3_lib_detect_model.s"
|
||||
.include "pt3_lib_core.s"
|
||||
.include "pt3_lib_init.s"
|
||||
.include "pt3_lib_mockingboard_setup.s"
|
||||
.include "interrupt_handler.s"
|
||||
.include "pt3_lib_mockingboard_detect.s"
|
||||
|
||||
|
||||
; only load one music track, self modify to make other
|
||||
|
||||
.align $100
|
||||
PT3_LOC:
|
||||
;.incbin "music/z00m_unreal2_part1.pt3"
|
||||
;.incbin "music/z00m_unreal2_part2.pt3"
|
||||
.incbin "music/second_3d.pt3"
|
||||
;.incbin "music/z00m_unreal2_complete.pt3"
|
339
demos/second/part13_plasmacube/plasmacube.s
Normal file
339
demos/second/part13_plasmacube/plasmacube.s
Normal file
@ -0,0 +1,339 @@
|
||||
; PLASMAGORIA
|
||||
|
||||
; original code by French Touch
|
||||
|
||||
; this is just part3 and size optimized
|
||||
; just the graphics, no music
|
||||
|
||||
|
||||
; Note: look into modifying color lookup table
|
||||
; there's a wide setting that gives a slightly different effect
|
||||
|
||||
.include "../hardware.inc"
|
||||
|
||||
; Page Zero
|
||||
OUT1 = $20 ; +$21
|
||||
OUT2 = $22 ; +$23
|
||||
|
||||
; counter if not MOCKING
|
||||
COMPT1 = $30
|
||||
COMPT2 = $31
|
||||
|
||||
;
|
||||
PARAM1 = $60
|
||||
PARAM2 = $61
|
||||
PARAM3 = $62
|
||||
PARAM4 = $63
|
||||
count = $64
|
||||
count2 = $65
|
||||
;
|
||||
|
||||
GRLINE = $F0 ; +$F1
|
||||
IndexMask = $F2
|
||||
Mask = $F3
|
||||
|
||||
Beat = $FA
|
||||
Mark = $FB
|
||||
|
||||
; =============================================================================
|
||||
; ROUTINE MAIN
|
||||
; =============================================================================
|
||||
PLASMA_DEBUT:
|
||||
bit PAGE2 ; set page 2
|
||||
bit SET_TEXT ; set text
|
||||
bit LORES ; set lo-res
|
||||
|
||||
|
||||
; jsr setup_dump
|
||||
|
||||
; ============================================================================
|
||||
|
||||
; -------------------------------------
|
||||
STEP3:
|
||||
; init
|
||||
|
||||
; lda #00
|
||||
; sta Beat
|
||||
|
||||
lda #02
|
||||
sta COMPT2
|
||||
sta PARAM1
|
||||
sta PARAM2
|
||||
sta PARAM3
|
||||
sta PARAM4
|
||||
|
||||
BP3:
|
||||
jsr precalc ; pre-calc
|
||||
jsr display_normal ; display normal
|
||||
jsr VBLANK
|
||||
; jsr DUMP
|
||||
|
||||
inc COMPT1
|
||||
bne BP3
|
||||
dec COMPT2
|
||||
bne BP3
|
||||
|
||||
jmp STEP3
|
||||
|
||||
|
||||
; ============================================================================
|
||||
; Precalculate some values
|
||||
; ROUTINES PRE CALCUL
|
||||
; ============================================================================
|
||||
precalc:
|
||||
lda PARAM1 ; self modify various parts
|
||||
sta pc_off1+1
|
||||
lda PARAM2
|
||||
sta pc_off2+1
|
||||
lda PARAM3
|
||||
sta pc_off3+1
|
||||
lda PARAM4
|
||||
sta pc_off4+1
|
||||
|
||||
; Table1(X) = sin1(PARAM1+X)+sin2(PARAM1+X)
|
||||
; Table2(X) = sin3(PARAM3+X)+sin1(PARAM4+X)
|
||||
|
||||
ldx #$28 ; 40
|
||||
pc_b1:
|
||||
pc_off1:
|
||||
lda sin1
|
||||
pc_off2:
|
||||
adc sin2
|
||||
sta Table1,X
|
||||
pc_off3:
|
||||
lda sin3
|
||||
pc_off4:
|
||||
adc sin1
|
||||
sta Table2,X
|
||||
|
||||
inc pc_off1+1
|
||||
inc pc_off2+1
|
||||
inc pc_off3+1
|
||||
inc pc_off4+1
|
||||
|
||||
dex
|
||||
bpl pc_b1
|
||||
|
||||
inc PARAM1
|
||||
inc PARAM1
|
||||
dec PARAM2
|
||||
inc PARAM3
|
||||
dec PARAM4
|
||||
|
||||
rts
|
||||
|
||||
; ============================================================================
|
||||
; Display Routines
|
||||
; ROUTINES AFFICHAGES
|
||||
; ============================================================================
|
||||
|
||||
; Display "Normal"
|
||||
; AFFICHAGE "NORMAL"
|
||||
|
||||
display_normal:
|
||||
bit SET_GR ; gfx (lores) why needed?
|
||||
|
||||
ldx #23 ; lines 0-23 lignes 0-23
|
||||
|
||||
display_line_loop:
|
||||
lda gr_lookup_low,X ; setup pointers for line
|
||||
sta GRLINE
|
||||
lda gr_lookup_high,X
|
||||
sta GRLINE+1
|
||||
|
||||
ldy #39 ; col 0-39
|
||||
|
||||
lda Table2,X ; setup base sine value for row
|
||||
sta display_row_sin_smc+1
|
||||
display_col_loop:
|
||||
lda Table1,Y ; load in column sine value
|
||||
display_row_sin_smc:
|
||||
adc #00 ; add in row value
|
||||
sta display_lookup_smc+1 ; patch in low byte of lookup
|
||||
display_lookup_smc:
|
||||
lda lores_colors_fine ; attention: must be aligned
|
||||
sta (GRLINE),Y
|
||||
dey
|
||||
bpl display_col_loop
|
||||
dex
|
||||
bpl display_line_loop
|
||||
|
||||
rts
|
||||
|
||||
VBLANK:
|
||||
inc Mark
|
||||
rts
|
||||
|
||||
|
||||
;.align 256
|
||||
|
||||
gr_lookup_low:
|
||||
.byte $00,$80,$00,$80,$00,$80,$00,$80
|
||||
.byte $28,$A8,$28,$A8,$28,$A8,$28,$A8
|
||||
.byte $50,$D0,$50,$D0,$50,$D0,$50,$D0
|
||||
|
||||
gr_lookup_high:
|
||||
.byte $08,$08,$09,$09,$0A,$0A,$0B,$0B
|
||||
.byte $08,$08,$09,$09,$0A,$0A,$0B,$0B
|
||||
.byte $08,$08,$09,$09,$0A,$0A,$0B,$0B
|
||||
|
||||
|
||||
|
||||
.align 256
|
||||
|
||||
|
||||
; This appears to be roughly 47+32*sin(x)+16*sin(2x)
|
||||
sin1: ; 256
|
||||
.byte $2E,$30,$32,$34,$35,$36,$38,$3A,$3C,$3C,$3E,$40,$41,$42,$44,$45,$47,$47,$49,$4A,$4B,$4C,$4D,$4E,$4F,$50,$51,$52,$53,$53,$54,$54
|
||||
.byte $55,$55,$56,$57,$57,$58,$58,$57,$58,$58,$58,$58,$58,$58,$58,$58,$58,$57,$57,$57,$56,$56,$55,$54,$55,$54,$53,$52,$52,$51,$50,$4F
|
||||
.byte $4E,$4E,$4D,$4C,$4B,$4B,$4A,$49,$48,$47,$46,$45,$45,$44,$42,$42,$41,$41,$3F,$3F,$3D,$3D,$3C,$3B,$3B,$39,$39,$39,$38,$38,$37,$36
|
||||
.byte $36,$35,$35,$34,$34,$33,$32,$32,$32,$31,$31,$31,$30,$31,$30,$30,$30,$30,$2F,$2F,$30,$2F,$2F,$2F,$2F,$2F,$2F,$2F,$2E,$2F,$2F,$2F
|
||||
.byte $2E,$2F,$2F,$2F,$2F,$2E,$2F,$2F,$2F,$2E,$2F,$2F,$2E,$2E,$2F,$2E,$2E,$2D,$2E,$2D,$2D,$2D,$2C,$2C,$2C,$2B,$2B,$2B,$2A,$2A,$29,$28
|
||||
.byte $28,$27,$27,$26,$26,$25,$25,$23,$23,$22,$21,$21,$20,$1F,$1F,$1D,$1D,$1C,$1B,$1A,$19,$19,$17,$16,$16,$15,$14,$13,$13,$12,$11,$10
|
||||
.byte $0F,$0F,$0E,$0D,$0C,$0C,$0B,$0A,$09,$09,$08,$08,$08,$07,$06,$07,$06,$06,$06,$06,$05,$06,$05,$05,$06,$05,$06,$06,$07,$07,$08,$08
|
||||
.byte $09,$09,$0A,$0B,$0B,$0C,$0C,$0D,$0F,$0F,$10,$12,$12,$14,$15,$16,$17,$19,$1A,$1B,$1D,$1E,$20,$21,$22,$24,$26,$27,$28,$2A,$2C,$2E
|
||||
|
||||
; This appears to be roughly 47+32*sin(4x)+16*sin(3x)
|
||||
sin2: ; 256
|
||||
.byte $2E,$33,$38,$3C,$40,$43,$47,$4B,$4E,$51,$54,$56,$59,$5A,$5C,$5D,$5D,$5E,$5E,$5D,$5C,$5A,$59,$57,$55,$53,$4F,$4C,$49,$46,$42,$3E
|
||||
.byte $3A,$36,$32,$2E,$2A,$26,$23,$1F,$1C,$18,$15,$12,$10,$0E,$0C,$0A,$09,$08,$07,$07,$07,$07,$09,$0A,$0B,$0D,$0F,$11,$13,$16,$19,$1C
|
||||
.byte $1F,$22,$26,$29,$2C,$2F,$32,$36,$38,$3B,$3E,$3F,$42,$44,$46,$47,$48,$49,$4B,$4B,$4B,$4A,$4A,$49,$49,$48,$46,$44,$43,$41,$3F,$3C
|
||||
.byte $3A,$38,$35,$33,$30,$2E,$2C,$2A,$28,$26,$24,$22,$21,$20,$1F,$1F,$1E,$1E,$1D,$1D,$1E,$1E,$1F,$20,$21,$22,$24,$25,$27,$29,$2B,$2D
|
||||
.byte $2E,$30,$33,$35,$37,$38,$3A,$3C,$3D,$3E,$3F,$3F,$40,$40,$41,$40,$40,$3F,$3F,$3E,$3D,$3B,$3A,$38,$36,$34,$31,$2F,$2D,$2B,$29,$25
|
||||
.byte $23,$21,$1F,$1D,$1B,$19,$18,$16,$15,$14,$14,$13,$13,$13,$13,$14,$16,$17,$18,$1A,$1C,$1D,$20,$23,$26,$28,$2C,$2E,$32,$35,$38,$3B
|
||||
.byte $3E,$41,$45,$48,$4B,$4C,$4F,$51,$53,$54,$55,$55,$57,$57,$57,$56,$55,$53,$52,$50,$4E,$4B,$49,$45,$42,$3F,$3B,$37,$34,$30,$2C,$27
|
||||
.byte $23,$1F,$1C,$18,$14,$11,$0E,$0B,$09,$07,$05,$03,$02,$01,$00,$00,$01,$01,$02,$03,$05,$07,$0A,$0D,$10,$13,$17,$1A,$1E,$22,$26,$2A
|
||||
|
||||
; This appears to be roughly 38+24*sin(3x)+16*sin(8x)
|
||||
sin3: ; 256
|
||||
.byte $26,$2C,$31,$35,$39,$3D,$40,$42,$44,$45,$45,$46,$45,$43,$42,$40,$3C,$3A,$38,$36,$33,$31,$30,$2F,$2F,$2E,$2F,$2F,$30,$33,$33,$36
|
||||
.byte $37,$3A,$3C,$3C,$3E,$3E,$3D,$3D,$3B,$39,$36,$34,$30,$2B,$28,$23,$1D,$19,$14,$11,$0C,$09,$07,$04,$03,$03,$03,$03,$04,$07,$09,$0C
|
||||
.byte $0F,$13,$16,$18,$1B,$1E,$20,$22,$22,$23,$24,$24,$23,$22,$21,$20,$1D,$1C,$1B,$1A,$19,$19,$19,$1A,$1C,$1E,$20,$23,$27,$2B,$2F,$33
|
||||
.byte $37,$3D,$40,$44,$47,$4A,$4C,$4D,$4E,$4E,$4D,$4C,$4A,$47,$45,$41,$3C,$39,$35,$32,$2E,$2B,$28,$26,$25,$23,$23,$22,$22,$24,$24,$25
|
||||
.byte $26,$29,$2A,$2A,$2B,$2C,$2B,$2B,$29,$28,$25,$23,$20,$1C,$19,$15,$10,$0D,$09,$07,$04,$02,$01,$00,$00,$00,$02,$03,$06,$0A,$0D,$11
|
||||
.byte $15,$1B,$1F,$23,$27,$2B,$2D,$30,$32,$33,$34,$35,$35,$33,$33,$32,$30,$2E,$2D,$2C,$2B,$2A,$2A,$2A,$2B,$2C,$2E,$30,$32,$36,$38,$3B
|
||||
.byte $3E,$42,$45,$47,$49,$4B,$4B,$4B,$4A,$49,$47,$45,$42,$3D,$3A,$35,$30,$2B,$26,$22,$1E,$1A,$17,$14,$13,$11,$10,$10,$10,$12,$12,$14
|
||||
.byte $15,$18,$1A,$1B,$1D,$1E,$1F,$1F,$1F,$1F,$1E,$1D,$1B,$18,$16,$14,$10,$0E,$0C,$0B,$09,$08,$08,$09,$0A,$0C,$0E,$11,$14,$19,$1D,$22
|
||||
|
||||
.if 0
|
||||
; This appears to be roughly 64+64*sin(x)
|
||||
sin4: ; 256
|
||||
.byte $40,$41,$43,$44,$46,$47,$49,$4A,$4C,$4D,$4F,$50,$52,$53,$55,$56,$58,$59,$5B,$5C,$5D,$5F,$60,$61,$63,$64,$65,$67,$68,$69,$6A,$6B
|
||||
.byte $6C,$6D,$6F,$70,$71,$72,$73,$73,$74,$75,$76,$77,$78,$78,$79,$7A,$7A,$7B,$7B,$7C,$7C,$7D,$7D,$7D,$7E,$7E,$7E,$7F,$7F,$7F,$7F,$7F
|
||||
.byte $7F,$7F,$7F,$7F,$7F,$7F,$7E,$7E,$7E,$7D,$7D,$7D,$7C,$7C,$7B,$7B,$7A,$7A,$79,$78,$78,$77,$76,$75,$74,$73,$73,$72,$71,$70,$6F,$6D
|
||||
.byte $6C,$6B,$6A,$69,$68,$67,$65,$64,$63,$61,$60,$5F,$5D,$5C,$5B,$59,$58,$56,$55,$53,$52,$50,$4F,$4D,$4C,$4A,$49,$47,$46,$44,$43,$41
|
||||
.byte $3F,$3E,$3C,$3B,$39,$38,$36,$35,$33,$32,$30,$2F,$2D,$2C,$2A,$29,$27,$26,$24,$23,$22,$20,$1F,$1E,$1C,$1B,$1A,$18,$17,$16,$15,$14
|
||||
.byte $13,$12,$10,$0F,$0E,$0D,$0C,$0C,$0B,$0A,$09,$08,$07,$07,$06,$05,$05,$04,$04,$03,$03,$02,$02,$02,$01,$01,$01,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$01,$01,$01,$02,$02,$02,$03,$03,$04,$04,$05,$05,$06,$07,$07,$08,$09,$0A,$0B,$0C,$0C,$0D,$0E,$0F,$10,$12
|
||||
.byte $13,$14,$15,$16,$17,$18,$1A,$1B,$1C,$1E,$1F,$20,$22,$23,$24,$26,$27,$29,$2A,$2C,$2D,$2F,$30,$32,$33,$35,$36,$38,$39,$3B,$3C,$3E
|
||||
.endif
|
||||
|
||||
|
||||
; Lookup table for colors
|
||||
; Note the sine tables point roughly to the middle and go to the edges
|
||||
|
||||
|
||||
; This table has relatively fine color bands
|
||||
lores_colors_fine: ; 256
|
||||
.if 1
|
||||
.byte $00,$00,$00,$00,$88,$88,$88,$88
|
||||
.byte $55,$55,$55,$55,$99,$99,$99,$99
|
||||
.byte $ff,$ff,$ff,$ff,$bb,$bb,$bb,$bb
|
||||
.byte $33,$33,$33,$33,$22,$22,$22,$22
|
||||
.byte $66,$66,$66,$66,$77,$77,$77,$77
|
||||
.byte $44,$44,$44,$44,$cc,$cc,$cc,$cc
|
||||
.byte $ee,$ee,$ee,$ee,$dd,$dd,$dd,$dd
|
||||
.byte $99,$99,$99,$99,$11,$11,$11,$11
|
||||
|
||||
.byte $00,$00,$00,$00,$88,$88,$88,$88
|
||||
.byte $55,$55,$55,$55,$99,$99,$99,$99
|
||||
.byte $ff,$ff,$ff,$ff,$bb,$bb,$bb,$bb
|
||||
.byte $33,$33,$33,$33,$22,$22,$22,$22
|
||||
.byte $66,$66,$66,$66,$77,$77,$77,$77
|
||||
.byte $44,$44,$44,$44,$cc,$cc,$cc,$cc
|
||||
.byte $ee,$ee,$ee,$ee,$dd,$dd,$dd,$dd
|
||||
.byte $99,$99,$99,$99,$11,$11,$11,$11
|
||||
|
||||
.byte $00,$00,$00,$00,$88,$88,$88,$88
|
||||
.byte $55,$55,$55,$55,$99,$99,$99,$99
|
||||
.byte $ff,$ff,$ff,$ff,$bb,$bb,$bb,$bb
|
||||
.byte $33,$33,$33,$33,$22,$22,$22,$22
|
||||
.byte $66,$66,$66,$66,$77,$77,$77,$77
|
||||
.byte $44,$44,$44,$44,$cc,$cc,$cc,$cc
|
||||
.byte $ee,$ee,$ee,$ee,$dd,$dd,$dd,$dd
|
||||
.byte $99,$99,$99,$99,$11,$11,$11,$11
|
||||
|
||||
.byte $00,$00,$00,$00,$88,$88,$88,$88
|
||||
.byte $55,$55,$55,$55,$99,$99,$99,$99
|
||||
.byte $ff,$ff,$ff,$ff,$bb,$bb,$bb,$bb
|
||||
.byte $33,$33,$33,$33,$22,$22,$22,$22
|
||||
.byte $66,$66,$66,$66,$77,$77,$77,$77
|
||||
.byte $44,$44,$44,$44,$cc,$cc,$cc,$cc
|
||||
.byte $ee,$ee,$ee,$ee,$dd,$dd,$dd,$dd
|
||||
.byte $99,$99,$99,$99,$11,$11,$11,$11
|
||||
.else
|
||||
; This table has relatively wide color bands
|
||||
lores_colors_wide: ; 256
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $88,$88,$88,$88,$88,$88,$88,$88
|
||||
.byte $88,$88,$88,$88,$88,$88,$88,$88
|
||||
.byte $55,$55,$55,$55,$55,$55,$55,$55
|
||||
.byte $55,$55,$55,$55,$55,$55,$55,$55
|
||||
.byte $22,$22,$22,$22,$22,$22,$22,$22
|
||||
.byte $22,$22,$22,$22,$22,$22,$22,$22
|
||||
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
|
||||
.byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff
|
||||
.byte $bb,$bb,$bb,$bb,$bb,$bb,$bb,$bb
|
||||
.byte $bb,$bb,$bb,$bb,$bb,$bb,$bb,$bb
|
||||
.byte $33,$33,$33,$33,$33,$33,$33,$33
|
||||
.byte $33,$33,$33,$33,$33,$33,$33,$33
|
||||
.byte $22,$22,$22,$22,$22,$22,$22,$22
|
||||
.byte $22,$22,$22,$22,$22,$22,$22,$22
|
||||
.byte $66,$66,$66,$66,$66,$66,$66,$66
|
||||
.byte $66,$66,$66,$66,$66,$66,$66,$66
|
||||
.byte $77,$77,$77,$77,$77,$77,$77,$77
|
||||
.byte $77,$77,$77,$77,$77,$77,$77,$77
|
||||
.byte $44,$44,$44,$44,$44,$44,$44,$44
|
||||
.byte $44,$44,$44,$44,$44,$44,$44,$44
|
||||
.byte $cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc
|
||||
.byte $cc,$cc,$cc,$cc,$cc,$cc,$cc,$cc
|
||||
.byte $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
|
||||
.byte $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
|
||||
.byte $dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd
|
||||
.byte $dd,$dd,$dd,$dd,$dd,$dd,$dd,$dd
|
||||
.byte $99,$99,$99,$99,$99,$99,$99,$99
|
||||
.byte $99,$99,$99,$99,$99,$99,$99,$99
|
||||
.byte $11,$11,$11,$11,$11,$11,$11,$11
|
||||
.byte $11,$11,$11,$11,$11,$11,$11,$11
|
||||
.endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Table1 = $8000
|
||||
Table2 = $8000+64
|
||||
|
||||
.if 0
|
||||
Table1: ; !fill 64,0
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
Table2: ; !fill 64,0
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00
|
||||
.endif
|
@ -24,4 +24,4 @@ dots.o: dots.s \
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst DOTS
|
||||
cd graphics && make clean
|
||||
# cd graphics && make clean
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
; TODO:
|
||||
; 16 of them? Start by falling in, bouncing when hit bottom
|
||||
; slowly spool out at first
|
||||
; have 24 of them, increase part way?
|
||||
|
||||
; wide, sine wave it up
|
||||
; narrow, sine wave it up
|
||||
|
@ -163,33 +163,48 @@ error_string:
|
||||
.endif
|
||||
|
||||
which_disk_array:
|
||||
.byte 1,1,1,1 ; MUSIC, INTRO, TUNNEL, OCEAN
|
||||
.byte 1,1,1 ; POLAR, SPHERES
|
||||
.byte 1,1,1,1 ; MUSIC_INTRO, MUSIC_MAIN, INTRO, CHESS
|
||||
.byte 1,1,1,1 ; GORILLA,LEAVES,LENS,PLASMA
|
||||
.byte 1,1,1,1 ; CUBE,DOTS,SPHERES,OCEAN
|
||||
.byte 1 ; POLAR
|
||||
|
||||
load_address_array:
|
||||
.byte $D0,$60,$60,$60 ; MUSIC, INTRO, TUNNEL, OCEAN
|
||||
.byte $60,$60,$60 ; POLAR, SPHERES, DOTS
|
||||
.byte $D0,$D0,$60,$60 ; MUSIC_INTRO, MUSIC_MAIN, INTRO, CHESS
|
||||
.byte $60,$60,$60,$60 ; GORILLA,LEAVES,LENS,PLASMA
|
||||
.byte $60,$60,$60,$60 ; CUBE,DOTS,SPHERES,OCEAN
|
||||
.byte $60 ; POLAR
|
||||
|
||||
start_address:
|
||||
.byte $D0,$60,$60,$60 ; MUSIC, INTRO, TUNNEL, OCEAN
|
||||
.byte $80,$80,$80 ; POLAR, SPHERES, DOTS
|
||||
|
||||
aux_dest: ;
|
||||
.byte $D0,$FF,$60,$60 ; MUSIC, INTRO, TUNNEL, OCEAN
|
||||
.byte $10,$20,$30 ; POLAR, SPHERES, DOTS
|
||||
.byte $D0,$D0,$60,$60 ; MUSIC_INTRO, MUSIC_MAIN, INTRO, CHESS
|
||||
.byte $60,$60,$60,$60 ; GORILLA,LEAVES,LENS,PLASMA
|
||||
.byte $60,$80,$80,$60 ; CUBE,DOTS,SPHERES,OCEAN
|
||||
.byte $80 ; POLAR
|
||||
|
||||
aux_dest:
|
||||
.byte $D0,$D0,$A0,$A0 ; MUSIC_INTRO, MUSIC_MAIN, INTRO, CHESS
|
||||
.byte $70,$50,$40,$30 ; GORILLA,LEAVES,LENS,PLASMA
|
||||
.byte $20,$10,$80,$A0 ; CUBE,DOTS,SPHERES,OCEAN
|
||||
.byte $A0 ; POLAR
|
||||
|
||||
track_array:
|
||||
.byte 3, 8, 11, 20 ; MUSIC, INTRO, TUNNEL, OCEAN
|
||||
.byte 34,33,32 ; POLAR, SPHERES, DOTS
|
||||
.byte 2,4,10,15 ; MUSIC_INTRO, MUSIC_MAIN, INTRO, CHESS
|
||||
.byte 19,21,23,24 ; GORILLA,LEAVES,LENS,PLASMA
|
||||
.byte 25,26,27,28 ; CUBE,DOTS,SPHERES,OCEAN
|
||||
.byte 34 ; POLAR
|
||||
|
||||
sector_array:
|
||||
.byte 0, 0, 0, 0 ; MUSIC, INTRO, TUNNEL, OCEAN
|
||||
.byte 0, 0, 0 ; POLAR, SPHERES, DOTS
|
||||
.byte 0,0,0,0 ; MUSIC_INTRO, MUSIC_MAIN, INTRO, CHESS
|
||||
.byte 0,0,0,0 ; GORILLA,LEAVES,LENS,PLASMA
|
||||
.byte 0,0,0,0 ; CUBE,DOTS,SPHERES,OCEAN
|
||||
.byte 0 ; POLAR
|
||||
|
||||
|
||||
length_array:
|
||||
.byte 32, 84, 16, 16 ; MUSIC, INTRO, TUNNEL, OCEAN
|
||||
.byte 16, 16, 16 ; POLAR, SPHERES, DOTS
|
||||
.byte 32,48,80,80 ; MUSIC_INTRO, MUSIC_MAIN, INTRO, CHESS
|
||||
.byte 32,32,16,16 ; GORILLA,LEAVES,LENS,PLASMA
|
||||
.byte 16,16,16,96 ; CUBE,DOTS,SPHERES,OCEAN
|
||||
.byte 16 ; POLAR
|
||||
|
||||
|
||||
.include "wait.s"
|
||||
|
||||
|
@ -74,18 +74,19 @@ dont_enable_mc:
|
||||
skip_all_checks:
|
||||
|
||||
|
||||
;============================
|
||||
; Load programs into AUXMEM
|
||||
;============================
|
||||
;====================================
|
||||
;====================================
|
||||
; Pre-Load some programs into AUX MEM
|
||||
;====================================
|
||||
;====================================
|
||||
; 4 - 9
|
||||
|
||||
sta $C008 ; use MAIN zero-page/stack/language card
|
||||
|
||||
|
||||
;=============================
|
||||
; want to load 2..MAX
|
||||
; 0 = MUSIC, 1 = INTRO
|
||||
; want to load 4..9
|
||||
|
||||
lda #2
|
||||
lda #4
|
||||
sta COUNT
|
||||
|
||||
load_program_loop:
|
||||
@ -114,79 +115,88 @@ load_program_loop:
|
||||
|
||||
inc COUNT
|
||||
lda COUNT
|
||||
cmp #7
|
||||
cmp #10
|
||||
bne load_program_loop
|
||||
|
||||
.if 0
|
||||
|
||||
;====================
|
||||
; load POLAR to $6000
|
||||
|
||||
lda #4 ; POLAR
|
||||
sta WHICH_LOAD
|
||||
jsr load_file
|
||||
|
||||
;======================
|
||||
; copy POLAR to AUX $1000
|
||||
|
||||
lda #$10 ; AUX dest $1000
|
||||
ldy #$60 ; MAIN src $6000
|
||||
ldx #16 ; 16 pages
|
||||
jsr copy_main_aux
|
||||
|
||||
|
||||
;====================
|
||||
; load SPHERES to $6000
|
||||
|
||||
lda #5 ; SPHERES
|
||||
sta WHICH_LOAD
|
||||
jsr load_file
|
||||
|
||||
;======================
|
||||
; copy SPHERES to AUX $2000
|
||||
|
||||
lda #$20 ; AUX dest $1000
|
||||
ldy #$60 ; MAIN src $6000
|
||||
ldx #16 ; 16 pages
|
||||
jsr copy_main_aux
|
||||
|
||||
.endif
|
||||
|
||||
|
||||
; cli ; start music
|
||||
|
||||
;=======================
|
||||
; run DOTS
|
||||
;============================================
|
||||
; copy DOTS from AUX $3000 to MAIN $8000
|
||||
;=======================
|
||||
; Load intro
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
lda #$30 ; AUX src $1000
|
||||
; TODO
|
||||
|
||||
;=======================
|
||||
;=======================
|
||||
; Run intro
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
; TODO
|
||||
|
||||
|
||||
;=======================
|
||||
;=======================
|
||||
; Load music / chess
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
; TODO
|
||||
|
||||
;=======================
|
||||
;=======================
|
||||
; Run Chess
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
; TODO
|
||||
|
||||
;==========================
|
||||
;==========================
|
||||
; Run 4-9, copy from AUX
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
|
||||
;=======================
|
||||
; run DOTS (#9)
|
||||
;=======================
|
||||
; copy DOTS from AUX $1000 to MAIN $8000
|
||||
|
||||
lda #$10 ; AUX src $1000
|
||||
ldy #$80 ; MAIN dest $8000
|
||||
ldx #16 ; 16 pages
|
||||
jsr copy_aux_main
|
||||
jsr $8000
|
||||
|
||||
|
||||
;=======================
|
||||
;=======================
|
||||
; Load 10-12 to RAM
|
||||
;=======================
|
||||
;=======================
|
||||
|
||||
; TODO
|
||||
|
||||
;==========================
|
||||
;==========================
|
||||
; Run 10-12
|
||||
;==========================
|
||||
;==========================
|
||||
|
||||
;=======================
|
||||
; run SPHERES
|
||||
;============================================
|
||||
; copy SPHERES from AUX $2000 to MAIN $8000
|
||||
|
||||
lda #$20 ; AUX src $1000
|
||||
ldy #$80 ; MAIN dest $8000
|
||||
ldx #16 ; 16 pages
|
||||
jsr copy_aux_main
|
||||
jsr $8000
|
||||
; TODO
|
||||
|
||||
|
||||
;=======================
|
||||
; run POLAR
|
||||
;============================================
|
||||
; copy POLAR from AUX $1000 to MAIN $8000
|
||||
|
||||
lda #$10 ; AUX src $1000
|
||||
ldy #$80 ; MAIN dest $8000
|
||||
ldx #16 ; 16 pages
|
||||
jsr copy_aux_main
|
||||
; TODO
|
||||
|
||||
; setup music ocean=pattern24 (3:07) pattern#43
|
||||
; lda #43
|
||||
|
Loading…
Reference in New Issue
Block a user