second: more work on credits

This commit is contained in:
Vince Weaver 2023-10-24 01:56:32 -04:00
parent c7c764a597
commit c619789594
9 changed files with 322 additions and 13 deletions

View File

@ -24,15 +24,17 @@ second_d1.dsk: QBOOT QLOAD MUSIC START \
$(DOS33_RAW) second_d1.dsk 11 0 ./part05_dot_tunnel/TUNNEL 0 0
$(DOS33_RAW) second_d1.dsk 13 0 ./part16_ocean/OCEAN 0 0
second_d2.dsk: QBOOT QLOAD2 MUSIC2 START \
./part18_3d/THREED
second_d2.dsk: QBOOT QLOAD2 MUSIC2 \
./part18_3d/THREED \
./part20_credits/CREDITS
cp $(EMPTY_DISK) second_d2.dsk
$(DOS33_RAW) second_d2.dsk 0 0 QBOOT 0 1
$(DOS33_RAW) second_d2.dsk 0 2 QBOOT 1 1
$(DOS33_RAW) second_d2.dsk 0 4 QBOOT 2 1
$(DOS33_RAW) second_d2.dsk 1 0 QLOAD2 0 0
$(DOS33_RAW) second_d2.dsk 3 0 MUSIC2 0 0
$(DOS33_RAW) second_d2.dsk 5 0 START 0 0
# $(DOS33_RAW) second_d2.dsk 5 0 START 0 0
$(DOS33_RAW) second_d2.dsk 10 0 ./part20_credits/CREDITS 0 0
$(DOS33_RAW) second_d2.dsk 20 0 ./part18_3d/THREED 0 0
@ -59,7 +61,7 @@ qload.o: qload.s \
pt3_lib_detect_model.s pt3_lib_mockingboard_detect.s \
pt3_lib_mockingboard_setup.s interrupt_handler.s \
pt3_lib_mockingboard_patch.s
ca65 -o qload.o qload.s -l qload2.lst
ca65 -o qload.o qload.s -l qload.lst
####

View File

@ -82,4 +82,16 @@ btpl2:
cpx #$C0
bne btmi
; go 16 beyond, which allows our text scrolling routine
ldx #16
extra_table_loop:
lda hposn_low,X
sta hposn_low+192,X
lda hposn_high,X
eor #$60
sta hposn_high+192,X
dex
bpl extra_table_loop
rts

View File

@ -0,0 +1,24 @@
include ../../../Makefile.inc
DOS33 = ../../../utils/dos33fs-utils/dos33
DOS33_RAW = ../../../utils/dos33fs-utils/dos33_raw
EMPTY_DISK = ../../../empty_disk/empty.dsk
TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft
LINKER_SCRIPTS = ../../../linker_scripts/
all: CREDITS
####
CREDITS: credits.o
ld65 -o CREDITS credits.o -C $(LINKER_SCRIPTS)/apple2_6000.inc
credits.o: credits.s vertical_scroll.s ../zx02_optim.s \
../zp.inc ../hardware.inc ../qload.inc
ca65 -o credits.o credits.s -l credits.lst
###
clean:
rm -f *~ *.o *.lst CREDITS

View File

@ -1,3 +1,12 @@
21 of them
7x3? 5x
original: 18*7= 126x72
10x4
6 192/6=32
two pages of 4x3 (70x64)
opening
animation
explosion
@ -36,3 +45,4 @@ Greets:
Utopia BBS (MD)
APPLE ][ FOREVER

View File

@ -0,0 +1,187 @@
; Credits
; o/~ It's the credits, yeah, that's the best part
; When the movie ends and the reading starts o/~
;
; by deater (Vince Weaver) <vince@deater.net>
.include "../zp.inc"
.include "../hardware.inc"
.include "../qload.inc"
mod7_table = $1c00
div7_table = $1d00
hposn_low = $1e00
hposn_high = $1f00
intro_start:
;=====================
; initializations
;=====================
;===================
; Load graphics
;===================
load_loop:
bit SET_GR
bit HIRES
bit FULLGR
bit PAGE1
lda #0
jsr hgr_page1_clearscreen
jsr hgr_make_tables
; fc logo
lda #<fc_grey_data
sta zx_src_l+1
lda #>fc_grey_data
sta zx_src_h+1
lda #$20
jsr zx02_full_decomp
jsr wait_until_keypress
; fc logo
lda #<fc_iipix_data
sta zx_src_l+1
lda #>fc_iipix_data
sta zx_src_h+1
lda #$20
jsr zx02_full_decomp
jsr wait_until_keypress
; nuts4 logo
lda #<nuts4_data
sta zx_src_l+1
lda #>nuts4_data
sta zx_src_h+1
lda #$20
jsr zx02_full_decomp
jsr wait_until_keypress
; nuts4 logo
lda #<nuts_pg_data
sta zx_src_l+1
lda #>nuts_pg_data
sta zx_src_h+1
lda #$20
jsr zx02_full_decomp
jsr wait_until_keypress
; nuts4 logo
lda #<nuts_blue_data
sta zx_src_l+1
lda #>nuts_blue_data
sta zx_src_h+1
lda #$20
jsr zx02_full_decomp
jsr wait_until_keypress
; sample logo
lda #<sample_data
sta zx_src_l+1
lda #>sample_data
sta zx_src_h+1
lda #$20
jsr zx02_full_decomp
jsr wait_until_keypress
jsr wait_until_keypress
ldx #0
stx FRAME
do_scroll:
lda FRAME
and #$7
bne no_update_message
; clear lines
ldx #200
cl_outer_loop:
lda hposn_low,X
sta OUTL
lda hposn_high,X
sta OUTH
ldy #39
lda #0
cl_inner_loop:
sta (OUTL),Y
dey
bpl cl_inner_loop
dex
cpx #191
bne cl_outer_loop
; print message
lda #12
sta CH
lda #192
sta CV
lda #<apple_message
ldy #>apple_message
jsr DrawCondensedString
no_update_message:
inc FRAME
jsr hgr_vertical_scroll
jmp do_scroll
.align $100
.include "../wait_keypress.s"
.include "../zx02_optim.s"
.include "../hgr_table.s"
.include "../hgr_clear_screen.s"
.include "vertical_scroll.s"
.include "font_console_1x8.s"
.include "../part00_boot/fonts/a2_cga_thin.inc"
fc_grey_data:
.incbin "graphics/fc_grey.hgr.zx02"
fc_iipix_data:
.incbin "graphics/fc_iipix.hgr.zx02"
nuts4_data:
.incbin "graphics/nuts4.hgr.zx02"
nuts_pg_data:
.incbin "graphics/nuts_pg.hgr.zx02"
nuts_blue_data:
.incbin "graphics/nuts_blue.hgr.zx02"
sample_data:
.incbin "graphics/credits_2.hgr.zx02"
apple_message:
.byte "Apple ][ Forever"

View File

@ -4,8 +4,17 @@ ZX02 = ~/research/6502_compression/zx02.git/build/zx02
PNG_TO_HGR = ../../../../utils/hgr-utils/png2hgr
PNG2GR = ../../../../utils/gr-utils/png2gr
all: nuts4.hgr.zx02
all: nuts4.hgr.zx02 nuts_pg.hgr.zx02 nuts_blue.hgr.zx02 \
fc_grey.hgr.zx02 fc_iipix.hgr.zx02 \
credits_2.hgr.zx02
####
credits_2.hgr: credits_2.png
$(PNG_TO_HGR) credits_2.png > credits_2.hgr
credits_2.hgr.zx02: credits_2.hgr
$(ZX02) credits_2.hgr credits_2.hgr.zx02
####
@ -15,6 +24,41 @@ nuts4.hgr: nuts4.png
nuts4.hgr.zx02: nuts4.hgr
$(ZX02) nuts4.hgr nuts4.hgr.zx02
####
nuts_blue.hgr: nuts_blue.png
$(PNG_TO_HGR) nuts_blue.png > nuts_blue.hgr
nuts_blue.hgr.zx02: nuts_blue.hgr
$(ZX02) nuts_blue.hgr nuts_blue.hgr.zx02
####
nuts_pg.hgr: nuts_pg.png
$(PNG_TO_HGR) nuts_pg.png > nuts_pg.hgr
nuts_pg.hgr.zx02: nuts_pg.hgr
$(ZX02) nuts_pg.hgr nuts_pg.hgr.zx02
####
fc_grey.hgr: fc_grey.png
$(PNG_TO_HGR) fc_grey.png > fc_grey.hgr
fc_grey.hgr.zx02: fc_grey.hgr
$(ZX02) fc_grey.hgr fc_grey.hgr.zx02
####
fc_iipix.hgr: fc_iipix.png
$(PNG_TO_HGR) fc_iipix.png > fc_iipix.hgr
fc_iipix.hgr.zx02: fc_iipix.hgr
$(ZX02) fc_iipix.hgr fc_iipix.hgr.zx02
####
clean:

View File

@ -0,0 +1,29 @@
hgr_vertical_scroll:
ldx #0
outer_vscroll_loop:
lda hposn_low,X
sta OUTL
lda hposn_high,X
sta OUTH
inx
lda hposn_low,X
sta INL
lda hposn_high,X
sta INH
ldy #39
inner_vscroll_loop:
lda (INL),Y
sta (OUTL),Y
dey
bpl inner_vscroll_loop
cpx #200
bne outer_vscroll_loop
rts

View File

@ -158,20 +158,19 @@ error_string:
which_disk_array:
.byte 1,1 ; MUSIC2, THREED
.byte 1,1,1 ; MUSIC2, THREED, CREDITS
load_address_array:
.byte $D0,$40 ; MUSIC2, THREED
.byte $D0,$40,$60 ; MUSIC2, THREED, CREDITS
track_array:
.byte 3, 20 ; MUSIC2, THREED
.byte 3, 20, 10 ; MUSIC2, THREED, CREDITS
sector_array:
.byte 0, 0 ; MUSIC2, THREED
.byte 0, 0, 0 ; MUSIC2, THREED, CREDITS
length_array:
.byte 32, 128 ; MUSIC2, THREED
.byte 32, 128, 64 ; MUSIC2, THREED, CREDITS
.include "wait.s"

View File

@ -85,14 +85,16 @@ load_loop:
; load
;=======================
lda #1 ; THREED
; lda #1 ; THREED
lda #2 ; CREDITS
sta WHICH_LOAD
jsr load_file
cli ; start music
jmp $4000 ; TODO: paramaterize
; jmp $4000 ; TODO: paramaterize
jmp $6000 ; TODO: paramaterize
forever: