driven: more fine tuning

This commit is contained in:
Vince Weaver
2024-11-13 23:37:43 -05:00
parent a5547b5c5f
commit 800393d0cb
11 changed files with 112 additions and 44 deletions

View File

@@ -73,7 +73,9 @@ qload.o: zp.inc hardware.inc common_defines.inc music.inc qload.s \
pt3_lib_mockingboard_setup.s interrupt_handler.s \ pt3_lib_mockingboard_setup.s interrupt_handler.s \
pt3_lib_mockingboard_patch.s \ pt3_lib_mockingboard_patch.s \
irq_wait.s vblank.s hgr_page_flip.s \ irq_wait.s vblank.s hgr_page_flip.s \
wipes/fx.hgr.fizzle.s wipes/fx.hgr.fizzle.s \
wipes/fx.hgr.2pass.lr.s \
hgr_clear_screen.s
ca65 -o qload.o qload.s -l qload.lst ca65 -o qload.o qload.s -l qload.lst
#### ####
@@ -111,6 +113,10 @@ qload.inc: generate_common QLOAD
./generate_common -a 0x1200 -s draw_full_dni_number qload.lst >> qload.inc ./generate_common -a 0x1200 -s draw_full_dni_number qload.lst >> qload.inc
./generate_common -a 0x1200 -s gr_flip_page qload.lst >> qload.inc ./generate_common -a 0x1200 -s gr_flip_page qload.lst >> qload.inc
./generate_common -a 0x1200 -s do_wipe_fizzle qload.lst >> qload.inc ./generate_common -a 0x1200 -s do_wipe_fizzle qload.lst >> qload.inc
./generate_common -a 0x1200 -s do_wipe_lr qload.lst >> qload.inc
./generate_common -a 0x1200 -s do_wipe_center qload.lst >> qload.inc
./generate_common -a 0x1200 -s hgr_page1_clearscreen qload.lst >> qload.inc
./generate_common -a 0x1200 -s hgr_page2_clearscreen qload.lst >> qload.inc
#### ####

View File

@@ -50,7 +50,7 @@ T 0 = Qboot
T 1 = QLOAD 2122 bytes 1T ( 4096) 1k free T 1 = QLOAD 2122 bytes 1T ( 4096) 1k free
T 2 = MUSIC 8645 bytes 3T (12288) 3k free T 2 = MUSIC 8645 bytes 3T (12288) 3k free
T 5 = MAGLEV 32190 bytes 8T (32768) 0k free T 5 = MAGLEV 32190 bytes 8T (32768) 0k free
T 13 = ATRUS 14711 bytes 4T (12288) 2k free T 13 = ATRUS 14423 bytes 4T (16384) 2k free
T 17 = INTRO 10875 bytes 3T (12288) 2k free T 17 = INTRO 10875 bytes 3T (12288) 2k free
T 20 = GRAPHICS 21917 bytes 6T (24576) 2k free T 20 = GRAPHICS 21917 bytes 6T (24576) 2k free
T 26 = CREDITS 7468 bytes 2T ( 8192) 500B free T 26 = CREDITS 7468 bytes 2T ( 8192) 500B free

View File

@@ -8,6 +8,6 @@ PART_MUSIC = 1
PART_INTRO = 2 PART_INTRO = 2
PART_CREDITS = 3 PART_CREDITS = 3
PART_DNI = 4 PART_DNI = 4
PART_ATRUS = 5 PART_GRAPHICS = 5
PART_GRAPHICS = 6 PART_MAGLEV = 6
PART_MAGLEV = 7 PART_ATRUS = 7

View File

@@ -25,10 +25,6 @@ desire_start:
load_loop: load_loop:
; jsr wait_until_keypress ; jsr wait_until_keypress
; dni
; jsr dni_plasma
; already in hires when we come in? ; already in hires when we come in?
@@ -39,20 +35,39 @@ load_loop:
bit FULLGR bit FULLGR
bit PAGE1 bit PAGE1
; load image $2000 lda #0
jsr hgr_page1_clearscreen
; load image $4000
lda #<logo_data_01 lda #<logo_data_01
sta zx_src_l+1 sta zx_src_l+1
lda #>logo_data_01 lda #>logo_data_01
sta zx_src_h+1 sta zx_src_h+1
lda #$20 lda #$40
jsr zx02_full_decomp jsr zx02_full_decomp
; wait a bit ; wait a bit
lda #4 lda #1
jsr wait_seconds jsr wait_seconds
; wipe the logo onto the screen
jsr do_wipe_lr
wait_till_right_pattern5:
lda #2
jsr wait_for_pattern
bcc wait_till_right_pattern5
; wait a bit
; lda #3
; jsr wait_seconds
;============================== ;==============================
; gradually erase edges ; gradually erase edges
;============================== ;==============================

View File

@@ -145,6 +145,11 @@ atrus_opener:
jsr do_wipe_fizzle ; wipe jsr do_wipe_fizzle ; wipe
wait_till_right_pattern99:
lda #$10
jsr wait_for_pattern
bcc wait_till_right_pattern99
rts rts
atrus03_graphics: atrus03_graphics:

View File

@@ -141,7 +141,7 @@ change_mono:
.include "init_plasma.s" .include "init_plasma.s"
.include "do_plasma.s" .include "do_plasma.s"
.include "../hgr_clear_screen.s" ;.include "../hgr_clear_screen.s"
.include "scroll_off.s" .include "scroll_off.s"
;.include "../irq_wait.s" ;.include "../irq_wait.s"

View File

@@ -263,7 +263,7 @@ atrus_message2:
.byte 0,22,"Perhaps that's because we ran out of",0 .byte 0,22,"Perhaps that's because we ran out of",0
.byte 0,23,"time before the submission deadline.",0 .byte 0,23,"time before the submission deadline.",0
.include "../wipes/fx.hgr.center.by.pixel.s" ;.include "../wipes/fx.hgr.center.by.pixel.s"
;.include "../wipes/fx.hgr.2pass.lr.s" ;.include "../wipes/fx.hgr.2pass.lr.s"
;.include "../wipes/fx.hgr.fizzle.s" ;.include "../wipes/fx.hgr.fizzle.s"

View File

@@ -372,7 +372,7 @@ done_draw_objects:
.align $100 .align $100
.include "../hgr_clear_screen.s" ; .include "../hgr_clear_screen.s"
.include "vertical_scroll.s" .include "vertical_scroll.s"
.include "font_4am_1x8_oneline.s" .include "font_4am_1x8_oneline.s"

View File

@@ -164,37 +164,37 @@ error_string:
which_disk_array: which_disk_array:
.byte 1,1,1,1 ; ???, MUSIC, INTRO, CREDITS .byte 1,1,1,1 ; ???, MUSIC, INTRO, CREDITS
.byte 1,1,1,1 ; DNI, ATRUS, GRAPHICS, MAGLEV .byte 1,1,1,1 ; DNI, GRAPHICS, MAGLEV, ATRUS
.byte 1,1,1,1 ; .byte 1,1,1,1 ;
load_address_array: load_address_array:
.byte $D0,$D0,$80,$80 ; ???, MUSIC, INTRO, CREDITS .byte $D0,$D0,$80,$80 ; ???, MUSIC, INTRO, CREDITS
.byte $40,$80,$60,$40 ; DNI, ATRUS, GRAPHICS, MAGLEV .byte $40,$60,$40,$80 ; DNI, GRAPHICS, MAGLEV, ATRUS
.byte $60,$60,$60,$60 ; .byte $60,$60,$60,$60 ;
start_address: start_address:
.byte $D0,$D0,$80,$80 ; ???, MUSIC, INTRO, CREDITS .byte $D0,$D0,$80,$80 ; ???, MUSIC, INTRO, CREDITS
.byte $40,$80,$60,$40 ; DNI, ATRUS, GRAPHICS, MAGLEV .byte $40,$60,$40,$80 ; DNI, GRAPHICS, MAGLEV, ATRUS
.byte $80,$80,$80,$60 ; .byte $80,$80,$80,$60 ;
aux_dest: aux_dest:
.byte $D0,$D0,$A0,$A0 ; ???, MUSIC, INTRO, CREDITS .byte $D0,$D0,$A0,$A0 ; ???, MUSIC, INTRO, CREDITS
.byte $70,$50,$40,$10 ; DNI, ATRUS, GRAPHICS, MAGLEV .byte $70,$40,$02,$82 ; DNI, GRAPHICS, MAGLEV, ATRUS
.byte $20,$10,$80,$20 ; .byte $20,$10,$80,$20 ;
track_array: track_array:
.byte 2,2,17,26 ; ???, MUSIC, INTRO, CREDITS .byte 2,2,17,26 ; ???, MUSIC, INTRO, CREDITS
.byte 28,13,20,5 ; DNI, ATRUS, GRAPHICS, MAGLEV .byte 28,20,5,13 ; DNI, GRAPHICS, MAGLEV, ATRUS
.byte 25,26,27,28 ; .byte 25,26,27,28 ;
sector_array: sector_array:
.byte 0,0,0,0 ; ???, MUSIC, INTRO, CREDITS .byte 0,0,0,0 ; ???, MUSIC, INTRO, CREDITS
.byte 0,0,0,0 ; DNI, ATRUS, GRAPHICS, MAGLEV .byte 0,0,0,0 ; DNI, GRAPHICS, MAGLEV, ATRUS
.byte 0,0,0,0 ; .byte 0,0,0,0 ;
length_array: length_array:
.byte 48,48,48,32 ; ???, MUSIC, INTRO, CREDITS .byte 48,48,48,32 ; ???, MUSIC, INTRO, CREDITS
.byte 16,63,95,127 ; DNI, ATRUS, GRAPHICS, MAGLEV .byte 16,95,127, 58 ; DNI, GRAPHICS, MAGLEV, ATRUS
.byte 16,16,16,96 ; .byte 16,16,16,96 ;
PT3_ENABLE_APPLE_IIC = 1 PT3_ENABLE_APPLE_IIC = 1
@@ -227,6 +227,9 @@ PT3_ENABLE_APPLE_IIC = 1
.include "hardware_detect.s" .include "hardware_detect.s"
.include "gr_page_flip.s" .include "gr_page_flip.s"
.include "wipes/fx.hgr.fizzle.s" .include "wipes/fx.hgr.fizzle.s"
.include "wipes/fx.hgr.2pass.lr.s"
.include "wipes/fx.hgr.center.by.pixel.s"
.include "hgr_clear_screen.s"
.include "start.s" .include "start.s"

View File

@@ -15,6 +15,8 @@ driven_start:
; initializations ; initializations
;===================== ;=====================
bit PAGE1
jsr hardware_detect jsr hardware_detect
lda APPLEII_MODEL lda APPLEII_MODEL
@@ -53,13 +55,27 @@ driven_start:
good_to_go: good_to_go:
;=========================================
;=========================================
; start loading the demo
;=========================================
;=========================================
;================================== ;==================================
; print D'NI 1 ; print D'NI 1
;================================== ;==================================
bit SET_GR bit SET_GR
bit LORES ; set lo-res bit LORES ; set lo-res
bit FULLGR ; bit TEXTGR
; lda #<load_message
; sta OUTL
; lda #>load_message
; sta OUTH
; jsr move_and_print
lda #0 lda #0
sta NUMBER_HIGH sta NUMBER_HIGH
@@ -136,7 +152,7 @@ skip_all_checks:
sta $C008 ; use MAIN zero-page/stack/language card sta $C008 ; use MAIN zero-page/stack/language card
;============================= ;=============================
; want to load 4..9 ; want to load 6..7
lda #PART_MAGLEV lda #PART_MAGLEV
sta COUNT sta COUNT
@@ -163,13 +179,15 @@ load_program_loop:
jsr copy_main_aux jsr copy_main_aux
; inc COUNT
; lda COUNT
; cmp #10
; bne load_program_loop
jsr print_next_dni jsr print_next_dni
inc COUNT
lda COUNT
cmp #8
bne load_program_loop
.if 0 .if 0
;======================= ;=======================
;======================= ;=======================
@@ -204,6 +222,8 @@ load_program_loop:
sta WHICH_LOAD sta WHICH_LOAD
jsr load_file jsr load_file
; bit FULLGR
; Run intro ; Run intro
cli ; start music cli ; start music
@@ -220,25 +240,39 @@ load_program_loop:
;======================= ;=======================
;======================= ;=======================
sei ; stop music interrupts ; sei ; stop music interrupts
jsr mute_ay_both ; jsr mute_ay_both
jsr clear_ay_both ; stop from making noise ; jsr clear_ay_both ; stop from making noise
; load atrus ; load atrus
lda #PART_ATRUS ; Atrus ; lda #PART_ATRUS ; Atrus
sta WHICH_LOAD ; sta WHICH_LOAD
jsr load_file ; jsr load_file
; restart music ; restart music
cli ; start interrupts (music) ; cli ; start interrupts (music)
;====================== ;======================
; run atrus ; run atrus
; jsr $8000
; copy ATRUS from AUX $8200 to MAIN $8000
lda #$82 ; AUX src $8200
ldy #$80 ; MAIN dest $8000
ldx #58 ; 58 pages
jsr copy_aux_main
; run atrus
jsr $8000 jsr $8000
.endif .endif
@@ -248,9 +282,9 @@ load_program_loop:
; Run Maglev ; Run Maglev
;======================= ;=======================
;======================= ;=======================
; copy MAGLEV from AUX $1000 to MAIN $4000 ; copy MAGLEV from AUX $200 to MAIN $4000
lda #$10 ; AUX src $1000 lda #$02 ; AUX src $1000
ldy #$40 ; MAIN dest $4000 ldy #$40 ; MAIN dest $4000
ldx #127 ; 127 pages ldx #127 ; 127 pages
jsr copy_aux_main jsr copy_aux_main
@@ -362,3 +396,6 @@ start_message:
message_type_offset: message_type_offset:
.byte " ",0 .byte " ",0
.byte $FF .byte $FF
load_message:
.byte 16,22, "LOADING",0

View File

@@ -6,6 +6,8 @@
WROW = $D0 WROW = $D0
; original was $10
LR_TIMEOUT = $40
do_wipe_lr: do_wipe_lr:
lda #$00 lda #$00
@@ -26,7 +28,7 @@ h1_smc:
cmp #$FF cmp #$FF
bne loop1 bne loop1
lda #$10 lda #LR_TIMEOUT
jsr WaitForKeyWithTimeout jsr WaitForKeyWithTimeout
bmi lrexit bmi lrexit
@@ -50,7 +52,7 @@ h2_smc:
cmp #$FE cmp #$FE
bne loop2 bne loop2
lda #$10 lda #LR_TIMEOUT
jsr WaitForKeyWithTimeout jsr WaitForKeyWithTimeout
bmi lrexit bmi lrexit
@@ -67,13 +69,13 @@ WaitForKeyWithTimeout:
; out: A clobbered (not always 0 if key is pressed, but also not the key pressed) ; out: A clobbered (not always 0 if key is pressed, but also not the key pressed)
; X/Y preserved ; X/Y preserved
sec sec
wait1: pha wait11: pha
wait2: sbc #1 wait22: sbc #1
bne wait2 bne wait22
pla pla
bit KEYPRESS bit KEYPRESS
bmi wfk_exit bmi wfk_exit
sbc #1 sbc #1
bne wait1 bne wait11
wfk_exit: wfk_exit:
rts rts