mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-14 13:33:48 +00:00
driven: more fine tuning
This commit is contained in:
parent
a5547b5c5f
commit
800393d0cb
@ -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
|
||||
|
||||
|
||||
####
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
;==============================
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user