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_patch.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
####
@ -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 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_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 2 = MUSIC 8645 bytes 3T (12288) 3k 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 20 = GRAPHICS 21917 bytes 6T (24576) 2k free
T 26 = CREDITS 7468 bytes 2T ( 8192) 500B free

View File

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

View File

@ -25,10 +25,6 @@ desire_start:
load_loop:
; jsr wait_until_keypress
; dni
; jsr dni_plasma
; already in hires when we come in?
@ -39,20 +35,39 @@ load_loop:
bit FULLGR
bit PAGE1
; load image $2000
lda #0
jsr hgr_page1_clearscreen
; load image $4000
lda #<logo_data_01
sta zx_src_l+1
lda #>logo_data_01
sta zx_src_h+1
lda #$20
lda #$40
jsr zx02_full_decomp
; wait a bit
lda #4
lda #1
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
;==============================

View File

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

View File

@ -141,7 +141,7 @@ change_mono:
.include "init_plasma.s"
.include "do_plasma.s"
.include "../hgr_clear_screen.s"
;.include "../hgr_clear_screen.s"
.include "scroll_off.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,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.fizzle.s"

View File

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

View File

@ -164,37 +164,37 @@ error_string:
which_disk_array:
.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 ;
load_address_array:
.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 ;
start_address:
.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 ;
aux_dest:
.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 ;
track_array:
.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 ;
sector_array:
.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 ;
length_array:
.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 ;
PT3_ENABLE_APPLE_IIC = 1
@ -227,6 +227,9 @@ PT3_ENABLE_APPLE_IIC = 1
.include "hardware_detect.s"
.include "gr_page_flip.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"

View File

@ -15,6 +15,8 @@ driven_start:
; initializations
;=====================
bit PAGE1
jsr hardware_detect
lda APPLEII_MODEL
@ -53,13 +55,27 @@ driven_start:
good_to_go:
;=========================================
;=========================================
; start loading the demo
;=========================================
;=========================================
;==================================
; print D'NI 1
;==================================
bit SET_GR
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
sta NUMBER_HIGH
@ -136,7 +152,7 @@ skip_all_checks:
sta $C008 ; use MAIN zero-page/stack/language card
;=============================
; want to load 4..9
; want to load 6..7
lda #PART_MAGLEV
sta COUNT
@ -163,13 +179,15 @@ load_program_loop:
jsr copy_main_aux
; inc COUNT
; lda COUNT
; cmp #10
; bne load_program_loop
jsr print_next_dni
inc COUNT
lda COUNT
cmp #8
bne load_program_loop
.if 0
;=======================
;=======================
@ -204,6 +222,8 @@ load_program_loop:
sta WHICH_LOAD
jsr load_file
; bit FULLGR
; Run intro
cli ; start music
@ -220,25 +240,39 @@ load_program_loop:
;=======================
;=======================
sei ; stop music interrupts
jsr mute_ay_both
jsr clear_ay_both ; stop from making noise
; sei ; stop music interrupts
; jsr mute_ay_both
; jsr clear_ay_both ; stop from making noise
; load atrus
lda #PART_ATRUS ; Atrus
sta WHICH_LOAD
jsr load_file
; lda #PART_ATRUS ; Atrus
; sta WHICH_LOAD
; jsr load_file
; restart music
cli ; start interrupts (music)
; cli ; start interrupts (music)
;======================
; 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
.endif
@ -248,9 +282,9 @@ load_program_loop:
; 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
ldx #127 ; 127 pages
jsr copy_aux_main
@ -362,3 +396,6 @@ start_message:
message_type_offset:
.byte " ",0
.byte $FF
load_message:
.byte 16,22, "LOADING",0

View File

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