megademo: fix vapor lock!!!!!

also have unrelated credits change
This commit is contained in:
Vince Weaver 2018-10-31 00:44:34 -04:00
parent 993e72409a
commit 0588697acb
6 changed files with 80 additions and 37 deletions

View File

@ -34,6 +34,7 @@
30633 -- with all the music added in
31323 -- finish takeoff
31607 -- space-bars auto-driving
32038 -- align letters, few extra thanks
Further ideas to reduce:
+ Optimize all the .align calls

View File

@ -1,7 +1,5 @@
TODO TODO:
+ Get timing right
+ Fix qkumbas seek code
+ Fix one-line glitch
+ Add play_music call in slow vapor_lock code?
THANKS:
@ -10,13 +8,12 @@ THANKS:
* Fireworks: FOZZTEX
* DISK+LZ4: QKUMBA
* BMP2DHR: BILL BUCKELS
VOYAGER
TALBOT 0101B
* VOYAGER 2
* TALBOT 0101B
* UTOPIA BBS
* VMW PRODUCTION
Overall:
fix off-by-one line vaporlock
Trim the last 8 bytes off of all the lz4 files
Music:

View File

@ -1,28 +1,7 @@
; The various strings printed by the sliding letters code
; Kept in one place to try to allow for better alignment opportunities
letters_bm:
;.byte 1,12
.byte "CYCLE",128
.byte 2,16,"COUNTING",128
; .byte 3,12,"M E G A D E M O",150
.byte 3,16,"MEGADEMO",150
.byte 1,16," ",128
.byte 2,16," ",128
.byte 3,16," ",128
.byte 1,19,"BY",128
.byte 3,17,"DEATER",150
.byte 1,19," ",128
.byte 3,17," ",128
.byte 1,17,"MUSIC",128
.byte 3,17,"DASCON",150
.byte 1,17," ",128
.byte 3,17," ",128
.byte 1,16,"LZ4+DISK",128
.byte 3,17,"QKUMBA",150
.byte 1,16," ",128
.byte 3,17," "
.byte 255
.align $100
fw_letters:
; .byte 22,28,
@ -56,6 +35,12 @@ fw_letters:
.byte 23,26, " ",128
.byte 23+128,26," ",128
.byte 22,26, "VOYAGER 2",128
.byte 22+128,26,"VOYAGER 2",198
.byte 22,26, " ",128
.byte 22+128,26," ",128
.byte 22,26, "UTOPIA",128
.byte 22+128,26,"UTOPIA",128
@ -68,6 +53,19 @@ fw_letters:
.byte 23,26, " ",128
.byte 23+128,26," ",128
.byte 22,26, "TALBOT",128
.byte 22+128,26,"TALBOT",128
.byte 23,26, "0101",128
.byte 23+128,26,"0101",198
.byte 22,26, " ",128
.byte 22+128,26," ",128
.byte 23,26, " ",128
.byte 23+128,26," ",128
.byte 22,26,"A VMW",128
.byte 22+128,26,"A VMW",128
@ -75,3 +73,28 @@ fw_letters:
.byte 23+128,26,"PRODUCTION"
.byte 255
letters_bm:
;.byte 1,12
.byte "CYCLE",128
.byte 2,16,"COUNTING",128
; .byte 3,12,"M E G A D E M O",150
.byte 3,16,"MEGADEMO",150
.byte 1,16," ",128
.byte 2,16," ",128
.byte 3,16," ",128
.byte 1,19,"BY",128
.byte 3,17,"DEATER",150
.byte 1,19," ",128
.byte 3,17," ",128
.byte 1,17,"MUSIC",128
.byte 3,17,"DASCON",150
.byte 1,17," ",128
.byte 3,17," ",128
.byte 1,16,"LZ4+DISK",128
.byte 3,17,"QKUMBA",150
.byte 1,16," ",128
.byte 3,17," "
.byte 255

View File

@ -67,7 +67,7 @@ space_bars:
lda #8
sta DRAW_PAGE
lda #$44
lda #$00
jsr clear_gr

View File

@ -48,15 +48,15 @@ vapor_lock:
lda #$dd
ldy #40
jsr clear_page_loop ; make top half grey2 $aa
jsr clear_page_loop ; make bottom half yellow $dd
lda #$aa
ldy #24
jsr clear_page_loop ; make top half grey2 $aa
jsr clear_page_loop ; make middle grey2 $aa
lda #$ee
ldy #10
jsr clear_page_loop ; make top half grey2 $aa
jsr clear_page_loop ; make top half aqua $ee
; set up a rainbow to aid in exact lock
@ -149,6 +149,11 @@ qloop:
; 6 17 28 39, clock at 40
;btt:
; jmp btt
; In theory near end of line 104
; now skip ahead 8 lines and read from the rainbow pattern we set
@ -158,15 +163,32 @@ qloop:
; we back off a few to make sure we're not in the horiz blank
; try to delay 510
lda #230 ; 2
jsr delay_a ; delay 25+230 = 255
; *NOTE* sometimes we end up going one (or rarely, two??) lines too far
; so instead try going 7 lines ahead, and if still dd then one more
lda #226 ; 2
jsr delay_a ; delay 25+226 = 251
; so single step until we get a rainbow color
; go to next line, -10
lda #28 ; 2
jsr delay_a ; delay 25+28 = 53
; total delay = 55
vl_try_again:
lda #29 ; 2
jsr delay_a ; delay 25+29 = 54
; total delay = 56
lda $C051 ; 4
cmp #$dd ; 2
beq vl_try_again ; 3
; -1
; now near end of line 112
;lda $0 ; nop to match old code ; 3
; nop ; nop to match old code ; 2
lda $C051 ; 4
;kbb:

View File

@ -96,7 +96,7 @@ game:
lda #8
sta DRAW_PAGE
lda #$44
lda #$00
jsr clear_gr