From 617fc6694c1f0b702d8e67629038490cf45caa8b Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 18 Dec 2017 01:05:05 -0500 Subject: [PATCH] mode7_demo: update with working scroller --- mode7/scroller.c | 78 ++++++++++++++---- mode7_demo/Makefile | 3 +- mode7_demo/a2.scrolltext | 10 +++ .../{scrolltext.inc => deater.scrolltext} | 0 mode7_demo/mode7_demo.dsk | Bin 143360 -> 143360 bytes mode7_demo/mode7_demo.s | 18 ++-- 6 files changed, 86 insertions(+), 23 deletions(-) create mode 100644 mode7_demo/a2.scrolltext rename mode7_demo/{scrolltext.inc => deater.scrolltext} (100%) diff --git a/mode7/scroller.c b/mode7/scroller.c index 26225b44..d161266e 100644 --- a/mode7/scroller.c +++ b/mode7/scroller.c @@ -35,7 +35,7 @@ static unsigned char font[256][9]={ {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, - {5,0,0,0,0,0,0,0,0}, // 32 ' ' + {4,0,0,0,0,0,0,0,0}, // 32 ' ' {4, 0x00, 0xe0, // ****** @@ -147,17 +147,19 @@ static unsigned char font[256][9]={ 0x80, // ** 0xf0, // ******** }, - {0,0,0,0,0,0,0,0,0}, + {5, + 0x00, + 0xf0, // ******** + 0x80, // ** + 0x80, // ** + 0xe0, // ****** + 0x80, // ** + 0x80, // ** + 0x80, // ** + }, + {0,0,0,0,0,0,0,0,0}, /* -******** -** -** -****** -** -** -** - **** ** ** @@ -201,7 +203,7 @@ static unsigned char font[256][9]={ **** ** ** */ - {5, + {4, 0x00, 0x80, // ** 0x80, // ** @@ -209,7 +211,7 @@ static unsigned char font[256][9]={ 0x80, // ** 0x80, // ** 0x80, // ** - 0xf0, // ******** + 0xe0, // ****** }, @@ -360,6 +362,30 @@ static unsigned char font[256][9]={ ** ********** */ + {3, + 0x00, + 0xc0, // **** + 0x80, // ** + 0x80, // ** + 0x80, // ** + 0x80, // ** + 0x80, // ** + 0xc0, // **** + }, + + {0,0,0,0,0,0,0,0,0}, + + {3, + 0x00, + 0xc0, // **** + 0x40, // ** + 0x40, // ** + 0x40, // ** + 0x40, // ** + 0x40, // ** + 0xc0, // **** + }, + }; @@ -427,13 +453,20 @@ static int vmw_logo[4][18]={ {0x00,0x00,0x11,0x44,0x44,0x44, 0x44,0x44,0x22,0x44,0x44,0x44, 0x44,0x44,0x22,0x00,0x00,0x00}, }; +static int rainbow_logo[4][6]={ + {0x00,0x00,0x00,0xc0,0x0c,0x00 }, + {0xd0,0xdc,0xdc,0xdc,0x0c,0x00 }, + {0x19,0x19,0x19,0x19,0x10,0x00 }, + {0x02,0x62,0x62,0x62,0x02,0x00 }, +}; + int main(int argc, char **argv) { //char string[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; -// char string[]=" \001DEATER \002WAS \003HERE!!! "; - char string[]=" \001BY DEATER... \002A \010 PRODUCTION "; -// char string[]="\003* APPLE ][ FOREVER * "; +// char string[]=" \001DEATER \002WAS \003HERE!!! "; +// char string[]=" \001BY DEATER... \002A \010 PRODUCTION "; + char string[]=" \003\011APPLE ][ FOREVER\011 "; int length=0,width=0,x,y,i,j; int color,color1,color2; int which_color=0; @@ -462,6 +495,19 @@ int main(int argc, char **argv) { continue; } + /* rainbow apple logo */ + if (string[i]==9) { + width=6; + for(x=0;xhzN6Kg$SXB`uI!2w=v<^gTmz1krrkX^10^N3Hu#im+w#~sraZPANim7NTi26E?&yu}lE6_`2dpqS% zUlZmJ<6?b!RHSD_-hzh|Ut~awBiY5ux!rnmS)4w-tI1mkPWQE0g$_u$a#Dx~2E;h~ z*2^;?u{gaL*iN>7Q<$k8#HOD#AxlG|Q91lV**q%5jq@))tg>y~ZA_b`@5bo&BHN<% zJ@(VM^y|3v=a{6hagF`Y%zNsqqcz9dP}X2$S=7Ib=^L?)_i(p;{Tc_0Vf{kPgl_n9 z$Xq%fFpo8d!|b`;)Zhp{^>5_VK-xY`%o1{Z@~$t9fXh7RHTA5dKPUN3J`?76qU{9iY?#n-d%;BDCn&kWSa2O43z|=75#PT-rhvaA3s172iA^HS+{u z=^mir>llx`IrHj8XalqzsEV0t0?l#xzg(o{(<-zr52A0Qc?IuAqg{Zzwes0_gh$nj z(1}JnHLyf0V&ZYenQe3R^mH9Mm;#Y*=k@88KJDJOC}L9f1a*sjl~&1r3H$!-0nFWj%dF{KzMJW$YOO*Q3$v+=1^b z9&3P_<13iq=(0z7^b=e=jy1eu0jm%I3D6|lHQa;5nmJ?enNn;osW@ydw@LS34_UuTrar=6j>Ey1Qc!vtaP5v z$moP5wlQV1lf(y9S5Uo%00MQHLqYZVy@h&LpJGFsmy zwEXVU{0DZ4+6kb0rfc~#>Vq}@ZUqYfU8bI(&^9@+T$HhGdZRz1J>#tD2mKkvKokd) Z)pp5H#(RvwAiKROgNJ=PPaNZyivSB!fNB5$ diff --git a/mode7_demo/mode7_demo.s b/mode7_demo/mode7_demo.s index f1a18552..34125426 100644 --- a/mode7_demo/mode7_demo.s +++ b/mode7_demo/mode7_demo.s @@ -42,19 +42,24 @@ demo_loop: ; Scroll the message ;=================== -; lda #255 -; jsr WAIT - + ; Scroll "BY DEATER... A VMW PRODUCTION" lda #>deater_scroll sta INH lda #a2_scroll + sta INH + lda #