megademo: finish getting starring_people looking nice

This commit is contained in:
Vince Weaver 2018-10-23 00:27:18 -04:00
parent 4c24d12db7
commit b9990a3729
6 changed files with 119 additions and 45 deletions

View File

@ -100,7 +100,7 @@ takeoff.img: takeoff_hgr.png
#### ####
sp_names.inc: sp_names.png sp_names.inc: sp_names.png
$(PNG_TO_RLE) asm ./deater.png sp_names > sp_names.inc $(PNG_TO_RLE) asm ./sp_names.png sp_names > sp_names.inc
#### ####

View File

@ -27,6 +27,9 @@
28989 -- add timeouts to check-email, takeoff, and spacebars 28989 -- add timeouts to check-email, takeoff, and spacebars
28893 -- convert people names to tengwar 28893 -- convert people names to tengwar
29166 -- add back english names 29166 -- add back english names
29291 -- add starring people english wipe
30636 -- add in susie scenes
30380 -- messing with alignment a bit
Graphics sizes: Graphics sizes:
(LG lores=300B) (LG lores=300B)

View File

@ -338,7 +338,6 @@ loopcoF:dex ; 2
dey ; 2 dey ; 2
bne loopcoE ; 2nt/3 bne loopcoE ; 2nt/3
lda KEYPRESS ; 4 lda KEYPRESS ; 4
bpl no_c64_keypress ; 3 bpl no_c64_keypress ; 3
jmp done_c64 jmp done_c64
@ -413,7 +412,7 @@ loopc6b:dex ; 2
jmp c64_done_screen ; 3 jmp c64_done_screen ; 3
.align $100 ;.align $100
apple2_text: apple2_text:

View File

@ -49,8 +49,8 @@ apple_iie:
jsr starring_people jsr starring_people
jsr setup_people_deater jsr setup_people_deater
jsr starring_people jsr starring_people
; jsr setup_people_lg jsr setup_people_lg
; jsr starring_people jsr starring_people
; E-mail arriving ; E-mail arriving
jsr check_email jsr check_email
@ -79,16 +79,13 @@ apple_iie:
; Fireworks ; Fireworks
jsr fireworks jsr fireworks
;==================
; Game over ; Game over
;==================
; we never get here
game_over_man: game_over_man:
jmp game_over_man jmp game_over_man
;===================
; Loop Forever
;===================
loop_forever:
jmp loop_forever
.include "lz4_decode.s" .include "lz4_decode.s"
.include "c64_opener.s" .include "c64_opener.s"
@ -148,7 +145,8 @@ loop_forever:
.include "starring2.inc" .include "starring2.inc"
.include "fs.inc" .include "fs.inc"
.include "deater.inc" .include "deater.inc"
;.include "lg.inc" .include "lg.inc"
.include "sp_names.inc"
; e-mail ; e-mail
.include "email_40_96.inc" .include "email_40_96.inc"
@ -182,9 +180,9 @@ fs_hgr_end:
deater_hgr: deater_hgr:
.incbin "DEATER_HGRC.BIN.lz4",11 .incbin "DEATER_HGRC.BIN.lz4",11
deater_hgr_end: deater_hgr_end:
;lg_hgr: lg_hgr:
;.incbin "LG_HGRC.BIN.lz4",11 .incbin "LG_HGRC.BIN.lz4",11
;lg_hgr_end: lg_hgr_end:
; bird mountain ; bird mountain
katahdin: katahdin:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -18,6 +18,9 @@ starring_people:
sta FRAME sta FRAME
sta FRAMEH sta FRAMEH
lda #40
sta XPOS
;============================= ;=============================
; Load graphic hgr ; Load graphic hgr
@ -44,34 +47,24 @@ sp_smc4:
;============================= ;=============================
; Load graphic page0 ; Load list of names to PAGE2
lda #$0c lda #$0c
sta BASH sta BASH
lda #$00 lda #$00
sta BASL ; load image to $c00 sta BASL ; first load image to $c00
lda #<sp_names
; Load overwrite version
lda #<fs
sta GBASL sta GBASL
lda #>fs lda #>sp_names
sta GBASH sta GBASH
jsr load_rle_gr jsr load_rle_gr
lda #4 lda #4
sta DRAW_PAGE sta DRAW_PAGE
jsr gr_copy_to_current ; then copy to PAGE2
jsr gr_copy_to_current ; copy to page1
; GR part
bit PAGE1
bit LORES ; 4
bit SET_GR ; 4
bit FULLGR ; 4
;============================= ;=============================
; Load graphic page1 ; Load person image to PAGE1
lda #$0c lda #$0c
sta BASH sta BASH
@ -86,14 +79,9 @@ sp_smc6:
sta GBASH sta GBASH
jsr load_rle_gr jsr load_rle_gr
;===================
; copy to page3
lda #0 lda #0
sta DRAW_PAGE sta DRAW_PAGE
jsr gr_copy_to_current
; GR part ; GR part
bit PAGE0 bit PAGE0
@ -190,9 +178,72 @@ sp_outer_loop:
; -7 exit on timeout ; -7 exit on timeout
; -10 keypress ; -10 keypress
; -2 ldy at top ; -2 ldy at top
; -8 pause a bit
; -32 draw yellow
; -49 wipe
; =========== ; ===========
; 7365 ; 7276
lda FRAMEH ; 3
cmp #15 ; 2
bcs sp_name_wipe ; bge ; 3
; -1
lda #52 ; 2
jsr delay_a ; 25+52
jmp sp_done_copy ; 3
sp_name_wipe:
;=======================
; do the name wipe
;=======================
; 10 + 22 = 32
lda #$dd ; 2
ldx XPOS ; 3
dex ; 2
bmi sp_no_yellow ; 3
;-1
sta $650,X ; 5
sta $6d0,X ; 5
sta $750,X ; 5
sta $7d0,X ; 5
jmp sp_done_yellow ; 3
sp_no_yellow:
dec XPOS
inc XPOS
dec XPOS
inc XPOS
nop
sp_done_yellow:
;=======================
; do the name wipe
;=======================
; 6 + 43
ldx XPOS ; 3
bmi sp_no_copy ; 3
;-1
sp_smc8:
lda $800,X ; 4
sta $650,X ; 5
sp_smc9:
lda $880,X ; 4
sta $6d0,X ; 5
sp_smc10:
lda $900,X ; 4
sta $750,X ; 5
sp_smc11:
lda $980,X ; 4
sta $7d0,X ; 5
dec XPOS ; 5
jmp sp_done_copy ; 3
sp_no_copy:
lda #16 ; 2
jsr delay_a ; 25+16
sp_done_copy:
;================ ;================
; wrap counter ; wrap counter
@ -221,15 +272,16 @@ sp_wrap_done:
; 7 cycles ; 7 cycles
sp_timeout: sp_timeout:
lda FRAMEH ; 3 lda FRAMEH ; 3
cmp #80 ; 2 cmp #75 ; 2
beq sp_done ; 3 beq sp_done ; 3
; -1 ; -1
; Try X=18 Y=77 cycles=7393 R2
; Try X=104 Y=14 cycles=7365
ldy #14 ; 2 ; Try X=17 Y=80 cycles=7281 R3
sploop1:ldx #104 ; 2 ; Try X=57 Y=25 cycles=7276
ldy #25 ; 2
sploop1:ldx #57 ; 2
sploop2:dex ; 2 sploop2:dex ; 2
bne sploop2 ; 2nt/3 bne sploop2 ; 2nt/3
dey ; 2 dey ; 2
@ -266,6 +318,14 @@ setup_people_fs:
lda #>fs lda #>fs
sta sp_smc6+1 sta sp_smc6+1
lda #$0
sta sp_smc8+1
sta sp_smc10+1
lda #$80
sta sp_smc9+1
sta sp_smc11+1
rts rts
setup_people_deater: setup_people_deater:
@ -286,9 +346,17 @@ setup_people_deater:
lda #>deater lda #>deater
sta sp_smc6+1 sta sp_smc6+1
lda #$28
sta sp_smc8+1
sta sp_smc10+1
lda #$a8
sta sp_smc9+1
sta sp_smc11+1
rts rts
.if 0
setup_people_lg: setup_people_lg:
lda #<lg_hgr lda #<lg_hgr
@ -307,9 +375,15 @@ setup_people_lg:
lda #>lg lda #>lg
sta sp_smc6+1 sta sp_smc6+1
rts lda #$50
.endif sta sp_smc8+1
sta sp_smc10+1
lda #$d0
sta sp_smc9+1
sta sp_smc11+1
rts