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 30633 -- with all the music added in
31323 -- finish takeoff 31323 -- finish takeoff
31607 -- space-bars auto-driving 31607 -- space-bars auto-driving
32038 -- align letters, few extra thanks
Further ideas to reduce: Further ideas to reduce:
+ Optimize all the .align calls + Optimize all the .align calls

View File

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

View File

@ -1,28 +1,7 @@
; The various strings printed by the sliding letters code ; The various strings printed by the sliding letters code
; Kept in one place to try to allow for better alignment opportunities ; Kept in one place to try to allow for better alignment opportunities
letters_bm: .align $100
;.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
fw_letters: fw_letters:
; .byte 22,28, ; .byte 22,28,
@ -56,6 +35,12 @@ fw_letters:
.byte 23,26, " ",128 .byte 23,26, " ",128
.byte 23+128,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,26, "UTOPIA",128
.byte 22+128,26,"UTOPIA",128 .byte 22+128,26,"UTOPIA",128
@ -68,6 +53,19 @@ fw_letters:
.byte 23,26, " ",128 .byte 23,26, " ",128
.byte 23+128,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,26,"A VMW",128
.byte 22+128,26,"A VMW",128 .byte 22+128,26,"A VMW",128
@ -75,3 +73,28 @@ fw_letters:
.byte 23+128,26,"PRODUCTION" .byte 23+128,26,"PRODUCTION"
.byte 255 .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 lda #8
sta DRAW_PAGE sta DRAW_PAGE
lda #$44 lda #$00
jsr clear_gr jsr clear_gr

View File

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

View File

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