diff --git a/megademo/Makefile b/megademo/Makefile index 0189e652..6cd04e87 100644 --- a/megademo/Makefile +++ b/megademo/Makefile @@ -30,7 +30,8 @@ megademo.o: megademo.s \ c64_opener.s c64.img.lz4 \ falling_apple.s apple_40_96.inc \ starring.s starring1.inc starring2.inc starring3.img.lz4\ - starring_people.s fs.inc FS_HGRC.BIN.lz4 deater.inc DEATER_HGRC.BIN.lz4\ + starring_people.s fs.inc FS_HGRC.BIN.lz4 \ + deater.inc DEATER_HGRC.BIN.lz4 lg.inc LG_HGRC.BIN.lz4 \ check_email.s email_40_96.inc \ leaving.s leaving.inc tfv_sprites.inc \ arrival.s arrival.inc \ @@ -118,6 +119,18 @@ DEATER_HGRC.BIN.lz4: DEATER_HGRC.BIN DEATER_HGRC.BIN: deater_hgr.bmp $(B2D) deater_hgr.bmp HGR -d +#### + +lg.inc: lg.png + $(PNG_TO_RLE) asm ./lg.png lg > lg.inc + +LG_HGRC.BIN.lz4: LG_HGRC.BIN + lz4 -f -16 LG_HGRC.BIN + +LG_HGRC.BIN: lg_hgr.bmp + $(B2D) lg_hgr.bmp HGR -d + + #### diff --git a/megademo/SIZE b/megademo/SIZE index bcb9c3da..32ae913e 100644 --- a/megademo/SIZE +++ b/megademo/SIZE @@ -16,3 +16,8 @@ 30350 -- move more letters to letters file 30319 -- messing around with the "starring" routine 30265 -- moving starring pictures to megademo.s + 30009 -- starring people but with LG removed for now + +Graphics sizes: + (LG lores=300B) + 30569 to 31678 (1k or so) diff --git a/megademo/lg.png b/megademo/lg.png index 8bc30ba9..31286d80 100644 Binary files a/megademo/lg.png and b/megademo/lg.png differ diff --git a/megademo/lg_hgr.bmp b/megademo/lg_hgr.bmp new file mode 100644 index 00000000..ce8355f5 Binary files /dev/null and b/megademo/lg_hgr.bmp differ diff --git a/megademo/megademo.s b/megademo/megademo.s index 8f6c84b9..b1bece73 100644 --- a/megademo/megademo.s +++ b/megademo/megademo.s @@ -28,7 +28,7 @@ apple_iie: jsr HOME - jsr starring +; jsr starring ; jsr arriving_there @@ -47,6 +47,8 @@ apple_iie: jsr starring_people jsr setup_people_deater jsr starring_people +; jsr setup_people_lg +; jsr starring_people ; E-mail arriving jsr check_email @@ -139,6 +141,7 @@ loop_forever: .include "starring2.inc" .include "fs.inc" .include "deater.inc" +;.include "lg.inc" ; leaving .include "leaving.inc" @@ -166,6 +169,9 @@ fs_hgr_end: deater_hgr: .incbin "DEATER_HGRC.BIN.lz4",11 deater_hgr_end: +;lg_hgr: +;.incbin "LG_HGRC.BIN.lz4",11 +;lg_hgr_end: ; bird mountain katahdin: @@ -177,5 +183,3 @@ sb_background_hgr: .incbin "SB_BACKGROUNDC.BIN.lz4",11 sb_background_hgr_end: - - diff --git a/megademo/starring_people.s b/megademo/starring_people.s index ac1bcba8..679ce7ec 100644 --- a/megademo/starring_people.s +++ b/megademo/starring_people.s @@ -10,6 +10,81 @@ starring_people: ; init screen bit KEYRESET + ;=================== + ; init vars + + lda #0 + sta DRAW_PAGE + + + ;============================= + ; Load graphic hgr + +sp_smc1: + lda #fs_hgr + sta LZ4_SRC+1 + +sp_smc3: + lda #<(fs_hgr_end-8) ; skip checksum at end + sta LZ4_END +sp_smc4: + lda #>(fs_hgr_end-8) ; skip checksum at end + sta LZ4_END+1 + + lda #<$2000 + sta LZ4_DST + lda #>$2000 + sta LZ4_DST+1 + + jsr lz4_decode + + + ;============================= + ; Load graphic page0 + + lda #$0c + sta BASH + lda #$00 + sta BASL ; load image to $c00 + + + ; Load overwrite version + lda #fs + sta GBASH + jsr load_rle_gr + + lda #4 + sta DRAW_PAGE + + 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 + + lda #$0c + sta BASH + lda #$00 + sta BASL ; load image to $c00 + +sp_smc5: + lda #fs + sta GBASH + jsr load_rle_gr + ;=================== ; copy to page3 @@ -141,151 +216,65 @@ sp_start_over: setup_people_fs: - - - ;=================== - ; init vars - - lda #0 - sta DRAW_PAGE - - - ;============================= - ; Load graphic hgr - lda #fs_hgr - sta LZ4_SRC+1 + sta sp_smc2+1 lda #<(fs_hgr_end-8) ; skip checksum at end - sta LZ4_END + sta sp_smc3+1 lda #>(fs_hgr_end-8) ; skip checksum at end - sta LZ4_END+1 - - lda #<$2000 - sta LZ4_DST - lda #>$2000 - sta LZ4_DST+1 - - jsr lz4_decode - - - ;============================= - ; Load graphic page0 - - lda #$0c - sta BASH - lda #$00 - sta BASL ; load image to $c00 - + sta sp_smc4+1 lda #fs - sta GBASH - jsr load_rle_gr - - lda #4 - sta DRAW_PAGE - - 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 - - lda #$0c - sta BASH - lda #$00 - sta BASL ; load image to $c00 - - lda #fs - sta GBASH - jsr load_rle_gr + sta sp_smc6+1 rts setup_people_deater: - - ;=================== - ; init vars - - lda #0 - sta DRAW_PAGE - - - ;============================= - ; Load graphic hgr - lda #deater_hgr - sta LZ4_SRC+1 + sta sp_smc2+1 lda #<(deater_hgr_end-8) ; skip checksum at end - sta LZ4_END + sta sp_smc3+1 lda #>(deater_hgr_end-8) ; skip checksum at end - sta LZ4_END+1 - - lda #<$2000 - sta LZ4_DST - lda #>$2000 - sta LZ4_DST+1 - - jsr lz4_decode - - - ;============================= - ; Load graphic page0 - - lda #$0c - sta BASH - lda #$00 - sta BASL ; load image to $c00 - + sta sp_smc4+1 lda #deater - sta GBASH - jsr load_rle_gr - - lda #4 - sta DRAW_PAGE - - 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 - - lda #$0c - sta BASH - lda #$00 - sta BASL ; load image to $c00 - - lda #deater - sta GBASH - jsr load_rle_gr + sta sp_smc6+1 rts +.if 0 +setup_people_lg: + + lda #lg_hgr + sta sp_smc2+1 + + lda #<(lg_hgr_end-8) ; skip checksum at end + sta sp_smc3+1 + lda #>(lg_hgr_end-8) ; skip checksum at end + sta sp_smc4+1 + + lda #lg + sta sp_smc6+1 + + rts +.endif