From baa7a63a951e8ff65ce89b5c72e7c451b7e993c5 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 26 Jan 2018 00:03:28 -0500 Subject: [PATCH] mode7: add text_demo --- mode7/Makefile | 17 ++- mode7/mode7.dsk | Bin 143360 -> 143360 bytes mode7/text_demo.s | 273 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 288 insertions(+), 2 deletions(-) create mode 100644 mode7/text_demo.s diff --git a/mode7/Makefile b/mode7/Makefile index fa8501b2..db5e1e88 100644 --- a/mode7/Makefile +++ b/mode7/Makefile @@ -11,7 +11,7 @@ $(DOS33): mode7.dsk: $(DOS33) MODE7_ISLAND MODE7_CHECKERBOARD MODE7_RAINBOW \ PLOT_TEST RASTERBARS SCROLL_DEMO SKY_DEMO \ - STARFIELD_DEMO STARFIELD_1K + STARFIELD_DEMO STARFIELD_1K TEXT_DEMO $(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7_ISLAND $(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7_CHECKERBOARD $(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7_RAINBOW @@ -21,6 +21,7 @@ mode7.dsk: $(DOS33) MODE7_ISLAND MODE7_CHECKERBOARD MODE7_RAINBOW \ $(DOS33) -y mode7.dsk BSAVE -a 0x1000 SKY_DEMO $(DOS33) -y mode7.dsk BSAVE -a 0x1000 STARFIELD_DEMO $(DOS33) -y mode7.dsk BSAVE -a 0x1000 STARFIELD_1K + $(DOS33) -y mode7.dsk BSAVE -a 0x1000 TEXT_DEMO @@ -136,6 +137,17 @@ starfield_1k.o: starfield_1k.s \ ../asm_routines/gr_fast_clear.s ca65 -o starfield_1k.o starfield_1k.s -l starfield_1k.lst + +TEXT_DEMO: text_demo.o + ld65 -o TEXT_DEMO text_demo.o -C ./apple2_1000.inc + +text_demo.o: text_demo.s \ + ../asm_routines/gr_scroll.s \ + ../asm_routines/pageflip.s \ + ../asm_routines/gr_setpage.s \ + ../asm_routines/gr_fast_clear.s + ca65 -o text_demo.o text_demo.s -l text_demo.lst + scroller: scroller.o $(CC) $(LFLAGS) -o scroller scroller.o @@ -151,5 +163,6 @@ background.o: background.c clean: rm -f *~ *.o scroller background \ MODE7 MODE7_ISLAND MODE7_CHECKERBOARD MODE7_RAINBOW \ - PLOT_TEST RASTERBARS SCROLL_DEMO STARFIELD_DEMO STARFIELD_1K *.lst + PLOT_TEST RASTERBARS SCROLL_DEMO STARFIELD_DEMO STARFIELD_1K \ + TEXT_DEMO *.lst diff --git a/mode7/mode7.dsk b/mode7/mode7.dsk index d4d1b37da94fb08f1df9b3f8c9fe1e260fe8b377..7467c0df2670b75df81cc1fff8100a5b8cbff239 100644 GIT binary patch delta 6567 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 GOaB+ncbjYg delta 3594 zcmds)eT*JO9mjWeW@l!1XJ2NYXP@_%eIBBeGB@|!em~#uZ=NmFbjvi|GZdd6UeQ^xYyuDnA%X^sTRW#?-*P+PAsZDS zg(kG14HOu7D62kf#92ib@r2f4_D8cbRj zfI3s||MDCff0t2Yn1&^HpYMRLF�(F%o_VoUi;%k3P?%Oa1|EbY^tbp4NIb~JX1)f9hqxG3^=Di>qUtZX*v;du zn?C7uxOhgb9OU9z9#1}8T{M*)HN}UsGcIy*S?vIUK!L0z5SFS=ApB(Vo8V)C#Y^{G z9R2u_gBHJMW^}=D6eeH{gdmJpe0@SbPm3T80i>gtPoI6}e!y6W9qeMy&x5E4ibF$gAvP+}5`*o2Xok4<;L^R`_k9@a3xI))fw17l1u z#U{3J+?qWZgN<|JyQE?iQ$i^6JKl|1@YCS^JrpkfmjTa}{QxcG^xKj-2X zs_x<<$*6dmi$ANCLtOkNqvAw%)QLV7m$=Xr1uzg;RWlGwRWA@hMg{9r!Fp5_Gb)Nb zDx{*e$xO#oj+)6VN;L|oP9a6|VZS;4Cq`V0TBc=Lw#6*Ra%1-UH#*>3b7cHQW+L0N z?U)^s?%X(Ml(m5`2AIwula6JW#r&=_($Y4GE0b?r$&8pCD)OlU1^RiUub@Oz-uBY>BSJQdRwRP_J()68q`mR&@9`EZbXG-67 z!SMdGvux2_@tNJ9NWH&|N4qj<($Rp*8@Tv^(y*Ta+qrmH&C?7>z5f&!e^e`J2BhA9 zB|GYszRK@$@qyZLwG7BqMtzl0Ph~Gt+3Tt7QwKZ5p^mc8*-T}}c9`QhuH(ry6~r=Z zS2I0yp^IF@#V&EFYr2+eyUfk(e%`iq*OTMf&gGRl7$0G<>>2pxAp8!2@`JUXS(34fDvqkcF01hn>6_HIXHehGe`jyi~=r5 zSIR}%yu*T7unKm86`X=w@QPXy6!oI)6}^}*8bw?rMOrkAR?#l9qEmE>UP&wUbp8&o zov;K;sAQCIiIix`ELkPH#7c^tE_e_yTldQH-M%B+xQz3%UWVnK&AWPZJ&$GvZN56S z`4VOG`&ZAid8KFbV^_2J1J|_qm6kpW{eCqUw*i*q(*=J}!Q%R>rt^DhuxyvZG$;+xl%T&Z!;maPgk1A8_e# zSub+|GFxBtdoBHn?aia$(wKR(8s6xo>NEzp8+WUV#-< zF)FyCa<~f~S6rACt72Dr-PrAdz4G_-ZpEu=RZ!Kdu!^ci6<0}B!PMiRYE|tjt2$M; z>eaLwsOdFWLp7r&uY%I<3WGw8*36n!vumv8)ZCg^*Xp32x;ftlO>1Y6q?{l$HiTFba@pY1ynm95Kd6;)E}qW7csV=j z}@gWzNRMi66;AO>uFf%YTQ+K$t^P&d){Pcx zIj!ub|G(klc>nJI|HDOFYlF7lmbortUws~H8*SVsZQ522>|xQi+pO)h-L~gzexCrE HejfWTh|33m diff --git a/mode7/text_demo.s b/mode7/text_demo.s new file mode 100644 index 00000000..5b7e5b58 --- /dev/null +++ b/mode7/text_demo.s @@ -0,0 +1,273 @@ +; Closing Text Spin Demo + +.include "zp.inc" + +;=========== +; CONSTANTS +;=========== + NUM_CREDITS EQU 10 + + ;================================ + ; Clear screen and setup graphics + ;================================ + + jsr clear_screens ; clear top/bottom of page 0/1 + jsr set_gr_page0 + + + ;=============== + ; Init Variables + ;=============== + lda #0 ; 2 + sta DRAW_PAGE ; 3 + + + ;=============== + ; Init screen + ;=============== + + jsr init_screen + jsr page_flip ; 6 + jsr init_screen + + ;=========================== + ;=========================== + ; Main Loop + ;=========================== + ;=========================== + +forever_loop: + ldx #NUM_CREDITS + +credit_loop: + lda #>credits + sta OUTH + lda #thankz + sta OUTH + lda #