From 851d598c36eeb58a62bf3cc73cbea1b53f17ee9c Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sat, 29 Sep 2018 13:24:13 -0400 Subject: [PATCH] megademo: check e-mail paper looks nice --- megademo/README | 21 +++++++++++ megademo/TODO | 8 ++--- megademo/check_email.s | 81 +++++++++++++++++++++++++++++++----------- 3 files changed, 85 insertions(+), 25 deletions(-) diff --git a/megademo/README b/megademo/README index d8ff9686..6a96e7a0 100644 --- a/megademo/README +++ b/megademo/README @@ -12,3 +12,24 @@ Memory Map: $9600-$BFFF = DOS3.3 $C000-$FFFF = peripherals/ROM + + +C64: +Apple II: +Starring: + Three pages page flipping. Hires colors subset of Lores so + can replicate a blocky color image. Could in theory animate this + at 60Hz. Also could flip between 4 pages, but need the 8k of + HGR page2. + +E-mail: + Half screen text, half 40x96 lores. + Text is also interlaced top/bottom to create new chars (including + some lowercase) on Apple II+ and before w/o lower case. + Trouble as the built-in font is offset a frame on II vs IIe? + Also annoyance, my GR compressor uses Grey2 (color $a) as encoding, + which means can't use a GR image to hold plain black spaces (char $a0) + + + + diff --git a/megademo/TODO b/megademo/TODO index 00f4c566..204c4a61 100644 --- a/megademo/TODO +++ b/megademo/TODO @@ -42,10 +42,10 @@ Move over with black pixels, to make sure colorburst set? 15 /| |\ 16 /_|_|_\ 17 /_\ -18 -19 -20 -21 +18 /| +19 __ __/ I ]T Wir mu"ssen die Reiseschecks einlo"sen +20 /__I I/ +21 /_____FFFI\ 22 DEATER IS COOL diff --git a/megademo/check_email.s b/megademo/check_email.s index 36e77d59..ea9b00f9 100644 --- a/megademo/check_email.s +++ b/megademo/check_email.s @@ -129,18 +129,53 @@ em_begin_loop: em_display_loop: - ldy #96 + ldy #24 em_outer_loop: + ;== line0 bit PAGE0 ; 4 lda #$54 ; 2 sta draw_line_p1+1 ; 4 jsr draw_line_1 ; 6 + ;== line1 bit PAGE0 ; 4 lda #$54 ; 2 + sta draw_line_p1+1 ; 4 + jsr draw_line_1 ; 6 + ;== line2 + bit PAGE0 ; 4 + lda #$55 ; 2 + sta draw_line_p1+1 ; 4 + jsr draw_line_1 ; 6 + ;== line3 + bit PAGE0 ; 4 + lda #$55 ; 2 + sta draw_line_p1+1 ; 4 + jsr draw_line_1 ; 6 + + ;== line4 + bit PAGE1 ; 4 + lda #$54 ; 2 + sta draw_line_p1+1 ; 4 + jsr draw_line_1 ; 6 + ;== line5 + bit PAGE1 ; 4 + lda #$54 ; 2 + sta draw_line_p1+1 ; 4 + jsr draw_line_1 ; 6 + ;== line6 + bit PAGE1 ; 4 + lda #$55 ; 2 + sta draw_line_p1+1 ; 4 + jsr draw_line_1 ; 6 + + ;== line7 + bit PAGE0 ; 4 + lda #$55 ; 2 sta draw_line_p2+1 ; 4 jsr draw_line_2 ; 6 + dey ; 2 bne em_outer_loop ; 3 ; -1 @@ -252,18 +287,16 @@ em_start_over: + ;====================== + ; Draw split line + ; with no room for rec/jump at end draw_line_1: ; line0 ; come in with 16 -; bit PAGE0 ; 4 -; lda $0 ; 3 -; lda $0 ; 3 -; lda $0 ; 3 -; lda $0 ; 3 - lda $0 ; 3 - + lda $0 bit SET_TEXT ; 4 + nop ; 2 nop ; 2 nop ; 2 @@ -274,33 +307,36 @@ draw_line_1: ; line0 ; 33 + nop + nop + + bit SET_GR ; 4 draw_line_p1: bit PAGE0 ; 4 - bit SET_GR ; 4 + + + lda $0 lda $0 lda $0 lda $0 +; nop +; nop nop - nop - nop -; lda $0 -; lda $0 rts ;============== ; 32 + ;====================== + ; Draw split line + ; with room for 5 cycles of dec/jump at end + draw_line_2: ; line0 ; come in with 16 -; bit PAGE0 ; 4 -; lda $0 ; 3 -; lda $0 ; 3 -; lda $0 ; 3 -; lda $0 ; 3 lda $0 ; 3 bit SET_TEXT ; 4 @@ -310,19 +346,22 @@ draw_line_2: ; line0 nop ; 2 nop ; 2 + nop + nop + ;============== ; 33 + bit SET_GR ; 4 draw_line_p2: bit PAGE0 ; 4 - bit SET_GR ; 4 lda $0 lda $0 lda $0 ; lda $0 ; nop - nop - nop +; nop +; nop ; lda $0 ; lda $0 rts