From a2e269ab3b6770cd07fef3e713f268c9a8f5e267 Mon Sep 17 00:00:00 2001 From: 4am Date: Fri, 28 Jun 2019 20:59:46 -0400 Subject: [PATCH] Spare Change cartoons --- res/attract.conf | 2 +- res/demo/SPARE.CHANGE.G | Bin 0 -> 1017 bytes res/demo/SPARE.CHANGE.H | Bin 0 -> 1221 bytes res/demo/SPARE.CHANGE.I | Bin 0 -> 3359 bytes res/demo/SPARE.CHANGE.J | Bin 0 -> 1486 bytes res/demo/SPARE.CHANGE.K | Bin 0 -> 2854 bytes res/demo/SPARE.CHANGE.L | Bin 0 -> 3191 bytes res/demo/_FileInformation.txt | 14 +++++++- res/demo/cartoon.1 | Bin 0 -> 74 bytes res/demo/cartoon.2 | Bin 0 -> 74 bytes res/demo/cartoon.3 | Bin 0 -> 74 bytes res/demo/cartoon.4 | Bin 0 -> 74 bytes res/demo/cartoon.5 | Bin 0 -> 74 bytes res/demo/cartoon.6 | Bin 0 -> 74 bytes src/cartoons/cartoon1.s | 52 +++++++++++++++++++++++++++++ src/cartoons/cartoon2.s | 52 +++++++++++++++++++++++++++++ src/cartoons/cartoon3.s | 52 +++++++++++++++++++++++++++++ src/cartoons/cartoon4.s | 52 +++++++++++++++++++++++++++++ src/cartoons/cartoon5.s | 52 +++++++++++++++++++++++++++++ src/cartoons/cartoon6.s | 52 +++++++++++++++++++++++++++++ {res => src/proboothd}/proboothd.s | 0 21 files changed, 326 insertions(+), 2 deletions(-) create mode 100755 res/demo/SPARE.CHANGE.G create mode 100755 res/demo/SPARE.CHANGE.H create mode 100755 res/demo/SPARE.CHANGE.I create mode 100755 res/demo/SPARE.CHANGE.J create mode 100755 res/demo/SPARE.CHANGE.K create mode 100755 res/demo/SPARE.CHANGE.L create mode 100755 res/demo/cartoon.1 create mode 100755 res/demo/cartoon.2 create mode 100755 res/demo/cartoon.3 create mode 100755 res/demo/cartoon.4 create mode 100755 res/demo/cartoon.5 create mode 100755 res/demo/cartoon.6 create mode 100755 src/cartoons/cartoon1.s create mode 100755 src/cartoons/cartoon2.s create mode 100755 src/cartoons/cartoon3.s create mode 100755 src/cartoons/cartoon4.s create mode 100755 src/cartoons/cartoon5.s create mode 100755 src/cartoons/cartoon6.s rename {res => src/proboothd}/proboothd.s (100%) diff --git a/res/attract.conf b/res/attract.conf index 164776a82..8eac65875 100644 --- a/res/attract.conf +++ b/res/attract.conf @@ -1 +1 @@ -# # Mega-Attract-Mode configuration file # # Mega-Attract-Mode is split into modules. Each module can be a short # slideshow, a self-running demo (like a game's built-in 'attract mode'), or # even just a single screenshot. Modules are run in the order listed here, one # after the next, until interrupted by user input. The last-run module is # tracked in the global prefs file. # # The same format is used by the per-game attract mode configuration files. # # Format: # key=value # # |key| must be unique within this file # # |value| must be one of # 0 = self-running demo (|key| is an executable binary file in /DEMO/) # 1 = HGR title slideshow (|key| is a file in /SS/ containing files in /TITLE.HGR/) # 2 = HGR action slideshow (|key| is a file in /SS/ containing files in /ACTION.HGR/) # 3 = DHGR title slideshow (|key| is a file in /SS/ containing files in /TITLE.DHGR/) # 4 = DHGR action slideshow (|key| is a file in /SS/ containing files in /ACTION.DHGR/) # 5 = SHR box art slideshow (|key| is a file in /SS/ containing files in /ARTWORK.SHR/) # 7 = single HGR file (|key| is arbitrary path from program root directory) # 8 = single DHGR file (|key| is arbitrary path from program root directory) # 9 = single SHR file (|key| is arbitrary path from program root directory) # # Blank lines and lines beginning with '#' are ignored (like this one!) # A line beginning with '[' terminates the parsing # # set 1 FAVORITES1.CONF=1 ACTIONCD1.CONF=2 JUNGLE.HUNT=0 DHGR1.CONF=3 ACTIONPOP.CONF=2 SAMMY.LIGHTFOOT=0 OTHER4.CONF=1 SHR1.CONF=5 # set 2 FAVORITES4.CONF=1 PITFALL.II=0 SYNERGIST.CONF=1 ACTIONMNO1.CONF=2 CONAN=0 DHGR2.CONF=3 ACTIONCLR1.CONF=2 ATARI.CONF=1 SNEAKERS=0 SHR2.CONF=5 # set 3 IDSI.CONF=1 HARD.HAT.MACK=0 BALLY.CONF=1 MR.DO.CONF=2 BURGERTIME=0 DHGR3.CONF=3 ACTIONS3.CONF=2 GUMBALL=0 S3.CONF=1 STARGATE=0 SHR3.CONF=5 # set 4 FAVORITES3.CONF=1 BOUNCING.KMNGAS=0 BRODERBUND.CONF=1 ACTIONCLR2.CONF=2 LADY.TUT=0 DHGR4.CONF=3 ACTIONAB1.CONF=2 CD2.CONF=1 SPYS.DEMISE=0 SHR4.CONF=5 # set 5 T1.CONF=1 MR.COOL=0 SIRIUS.CONF=1 ACTIONCLR3.CONF=2 CIDER.SPIDER=0 ACTDHGR1.CONF=4 ACTIONAB2.CONF=2 # 1 SPARE.CHANGE=0 SHR5.CONF=5 # set 6 MATTEL.CONF=1 THUNDERBOMBS=0 FAVORITES2.CONF=1 ACTIONBURG.CONF=2 VINDICATOR=0 # 4 ACTIONEFG2.CONF=2 S1.CONF=1 LODE.RUNNER=0 # 5 # set 7 EFG2.CONF=1 REPTON=0 DATAMOST.CONF=1 ACTIONCLR4.CONF=2 AGENT.USA=0 # 4 # 2 MNO.CONF=1 AQUATRON=0 SHR7.CONF=5 # set 8 SIERRA.CONF=1 POOYAN=0 CD1.CONF=1 ACTIONPQR1.CONF=2 ALIEN.DOWNPOUR=0 # 4 ACTIONT1.CONF=2 BOLO=0 T2.CONF=1 BUZZARD.BAIT=0 SHR8.CONF=5 # set 9 MICROFUN.CONF=1 GAMMA.GOBLINS=0 OTHER2.CONF=1 ACTIONCLR5.CONF=2 CEILING.ZERO=0 # 4 ACTIONPQR2.CONF=2 P2.CONF=1 ROBOTRON=0 SHR9.CONF=5 # set 10 SYNAPSE.CONF=1 WARP.DESTROYER=0 PICCADILLY.CONF=1 ACTIONT3.CONF=2 WAVY.NAVY=0 # 4 ACTIONT2.CONF=2 CD3.CONF=1 TRACK.AND.FIELD=0 SHR10.CONF=5 # set 11 DATAEAST.CONF=1 PEST.PATROL=0 EA.CONF=1 ACTIONMNO2.CONF=2 CHOPLIFTER=0 # 4 ACTIONEFG1.CONF=2 HIJKL2.CONF=1 GOONIES=0 # 5 # set 12 SEGA.CONF=1 LOST.TOMB=0 HIJKL.CONF=1 ACTIONEFG3.CONF=2 KARATEKA=0 # 4 ACTIONS2.CONF=2 S2.CONF=1 SNAKE.BYTE=0 SHR12.CONF=5 # set 13 ACTIVISION.CONF=1 DINO.EGGS=0 TAITO.CONF=1 ACTIONHIJ2.CONF=2 ALIEN.RAIN=0 # 4 ACTIONCD2.CONF=2 GEBELLI.CONF=1 SERPENTINE=0 SHR13.CONF=5 # set 14 PENGUIN.CONF=1 PACMAN=0 DATASOFT.CONF=1 ACTIONAB3.CONF=2 FLIP.OUT=0 # 4 ACTIONHIJ1.CONF=2 QR.CONF=1 PLASMANIA=0 SHR14.CONF=5 # set 15 SUBLOGIC.CONF=1 HIGH.RISE=0 EFG1.CONF=1 ACTIONS1.CONF=2 ORILEYS.MINE=0 # 4 ACTIONCD3.CONF=2 OTHER1.CONF=1 SPY.HUNTER=0 SHR15.CONF=5 # set 16 EPYX.CONF=1 NIBBLER=0 AB.CONF=1 ACTIONPQR3.CONF=2 ALIEN.AMBUSH=0 # 4 ACTIONCAPT.CONF=2 TUBEWAY=0 SHR6.CONF=5 # set 17 P1.CONF=1 PIEMAN=0 OTHER3.CONF=1 ACTIONHIJ3.CONF=2 CHAMP.LODERUN=0 # 4 # 2 FIREBIRD=0 SHR11.CONF=5 # broken demos #FORMULA.1=0 #SPIDER.RAID=0 #DUNG.BEETLES=0 #STELLAR.7=0 [eof] \ No newline at end of file +# # Mega-Attract-Mode configuration file # # Mega-Attract-Mode is split into modules. Each module can be a short # slideshow, a self-running demo (like a game's built-in 'attract mode'), or # even just a single screenshot. Modules are run in the order listed here, one # after the next, until interrupted by user input. The last-run module is # tracked in the global prefs file. # # The same format is used by the per-game attract mode configuration files. # # Format: # key=value # # |key| must be unique within this file # # |value| must be one of # 0 = self-running demo (|key| is an executable binary file in /DEMO/) # 1 = HGR title slideshow (|key| is a file in /SS/ containing files in /TITLE.HGR/) # 2 = HGR action slideshow (|key| is a file in /SS/ containing files in /ACTION.HGR/) # 3 = DHGR title slideshow (|key| is a file in /SS/ containing files in /TITLE.DHGR/) # 4 = DHGR action slideshow (|key| is a file in /SS/ containing files in /ACTION.DHGR/) # 5 = SHR box art slideshow (|key| is a file in /SS/ containing files in /ARTWORK.SHR/) # 7 = single HGR file (|key| is arbitrary path from program root directory) # 8 = single DHGR file (|key| is arbitrary path from program root directory) # 9 = single SHR file (|key| is arbitrary path from program root directory) # # Blank lines and lines beginning with '#' are ignored (like this one!) # A line beginning with '[' terminates the parsing # # set 1 FAVORITES1.CONF=1 CARTOON.1=0 CARTOON.2=0 CARTOON.3=0 CARTOON.4=0 CARTOON.5=0 CARTOON.6=0 ACTIONCD1.CONF=2 JUNGLE.HUNT=0 DHGR1.CONF=3 ACTIONPOP.CONF=2 SAMMY.LIGHTFOOT=0 OTHER4.CONF=1 SHR1.CONF=5 # set 2 FAVORITES4.CONF=1 PITFALL.II=0 SYNERGIST.CONF=1 CARTOON.1=0 ACTIONMNO1.CONF=2 CONAN=0 DHGR2.CONF=3 ACTIONCLR1.CONF=2 ATARI.CONF=1 SNEAKERS=0 SHR2.CONF=5 # set 3 IDSI.CONF=1 HARD.HAT.MACK=0 BALLY.CONF=1 MR.DO.CONF=2 BURGERTIME=0 DHGR3.CONF=3 ACTIONS3.CONF=2 GUMBALL=0 S3.CONF=1 STARGATE=0 SHR3.CONF=5 # set 4 FAVORITES3.CONF=1 BOUNCING.KMNGAS=0 BRODERBUND.CONF=1 ACTIONCLR2.CONF=2 LADY.TUT=0 DHGR4.CONF=3 ACTIONAB1.CONF=2 CD2.CONF=1 SPYS.DEMISE=0 SHR4.CONF=5 # set 5 T1.CONF=1 MR.COOL=0 SIRIUS.CONF=1 CARTOON.2=0 ACTIONCLR3.CONF=2 CIDER.SPIDER=0 ACTDHGR1.CONF=4 ACTIONAB2.CONF=2 # 1 SPARE.CHANGE=0 SHR5.CONF=5 # set 6 MATTEL.CONF=1 THUNDERBOMBS=0 FAVORITES2.CONF=1 ACTIONBURG.CONF=2 VINDICATOR=0 # 4 ACTIONEFG2.CONF=2 S1.CONF=1 LODE.RUNNER=0 # 5 # set 7 EFG2.CONF=1 REPTON=0 DATAMOST.CONF=1 ACTIONCLR4.CONF=2 AGENT.USA=0 # 4 # 2 MNO.CONF=1 AQUATRON=0 SHR7.CONF=5 # set 8 SIERRA.CONF=1 POOYAN=0 CD1.CONF=1 CARTOON.3=0 ACTIONPQR1.CONF=2 ALIEN.DOWNPOUR=0 # 4 ACTIONT1.CONF=2 BOLO=0 T2.CONF=1 BUZZARD.BAIT=0 SHR8.CONF=5 # set 9 MICROFUN.CONF=1 GAMMA.GOBLINS=0 OTHER2.CONF=1 ACTIONCLR5.CONF=2 CEILING.ZERO=0 # 4 ACTIONPQR2.CONF=2 P2.CONF=1 ROBOTRON=0 SHR9.CONF=5 # set 10 SYNAPSE.CONF=1 WARP.DESTROYER=0 PICCADILLY.CONF=1 ACTIONT3.CONF=2 WAVY.NAVY=0 # 4 ACTIONT2.CONF=2 CD3.CONF=1 TRACK.AND.FIELD=0 SHR10.CONF=5 # set 11 DATAEAST.CONF=1 PEST.PATROL=0 EA.CONF=1 CARTOON.4=0 ACTIONMNO2.CONF=2 CHOPLIFTER=0 # 4 ACTIONEFG1.CONF=2 HIJKL2.CONF=1 GOONIES=0 # 5 # set 12 SEGA.CONF=1 LOST.TOMB=0 HIJKL.CONF=1 ACTIONEFG3.CONF=2 KARATEKA=0 # 4 ACTIONS2.CONF=2 S2.CONF=1 SNAKE.BYTE=0 SHR12.CONF=5 # set 13 ACTIVISION.CONF=1 DINO.EGGS=0 TAITO.CONF=1 ACTIONHIJ2.CONF=2 ALIEN.RAIN=0 # 4 ACTIONCD2.CONF=2 GEBELLI.CONF=1 SERPENTINE=0 SHR13.CONF=5 # set 14 PENGUIN.CONF=1 PACMAN=0 DATASOFT.CONF=1 CARTOON.5=0 ACTIONAB3.CONF=2 FLIP.OUT=0 # 4 ACTIONHIJ1.CONF=2 QR.CONF=1 PLASMANIA=0 SHR14.CONF=5 # set 15 SUBLOGIC.CONF=1 HIGH.RISE=0 EFG1.CONF=1 ACTIONS1.CONF=2 ORILEYS.MINE=0 # 4 ACTIONCD3.CONF=2 OTHER1.CONF=1 SPY.HUNTER=0 SHR15.CONF=5 # set 16 EPYX.CONF=1 NIBBLER=0 AB.CONF=1 ACTIONPQR3.CONF=2 ALIEN.AMBUSH=0 # 4 ACTIONCAPT.CONF=2 TUBEWAY=0 SHR6.CONF=5 # set 17 P1.CONF=1 PIEMAN=0 OTHER3.CONF=1 CARTOON.6=0 ACTIONHIJ3.CONF=2 CHAMP.LODERUN=0 # 4 # 2 FIREBIRD=0 SHR11.CONF=5 # broken demos #FORMULA.1=0 #SPIDER.RAID=0 #DUNG.BEETLES=0 #STELLAR.7=0 [eof] \ No newline at end of file diff --git a/res/demo/SPARE.CHANGE.G b/res/demo/SPARE.CHANGE.G new file mode 100755 index 0000000000000000000000000000000000000000..811e5fd7e06abc6d3b47e06551d91d65e8a283be GIT binary patch literal 1017 zcmV+0U!xat=_&K{~rSVy)x1U4yj;` z4tj1mZmj{p$$;v|>kz&%aH1QAOL%p!Zhh`%qvr|2^;$ zn-PE&vIvg`JPjO7o(&q1mI;pv!=Q6a4#Hrq|19pFuFeMF2hanoreF`H=E)#I1g%uS zoiFe(U3 zqb8;lgb;jQd@s={5X0UeZ<9Dc5rKX5Kk?Hv6z~NI0hk;iLk0g}6PORHeix(+AsZ3L8t8f!Btsd<7<=SA7l)7* z_sDq_4a#%=l;G!-y!di_sDzXJ@Ov;4}6EdL*F6qkoU-YHqI0#o;m-I9WOH1cq{Q~_zTn||OEP*o%KTx13LMzWm=p+y$w(Mdc z9vcru4l~Xi5*`;0DJ;FPYaRr?5uHk!k`x}pg^Y@5fANW13lTepKd=(cRe+>NEj1$^ zbixdj79J;ouS;5goS|sV8X6f{p^_>mCdtO3R4)t&QXd$f5ES7D5e^UrALqmrI0Zuy ngajWs@e~dz14v{7J@Oty0gwqq1^(e$0r`Lc)4|T5$Xb&Vhe2WE__3lhPTUrTA9Dm3KnLQK(aG=U$CD@TTi-fVo6~mW z@^{kq_V$Lh4!HE1^eQ^UngqDKFf@1_i<*T0b*BF;Rkr$Sl~tQ_HiraVeS1cFpTgG{ zlm`v_9*1^~71w`KasST&{7SzxvM(4-Jy7!PhaRNOyyfmlM`GsfB-^G(U41j-1at{v zU&r2^zQlP)%Hy7ECv9-a%*(3be+O~HD=d=tTfyo*{?H$N%Se0Tz%8l3_f2P!qf%a3*7|AW zP?~G;h82ayZ6c;jxL!uXF8m$Gl02is1TPYK(&otuPFPPPHSmsgJLca`hPwyxEr+um zYX8oOyk~bZk#UJk&|oB-lBiGHVA833p~5l%?nP|wG=XUp!f(hV1}%K&ocQ8Jt7c5R z({wJaF6&-Gv;yd{sBLBn*^gsm)zsYO88U+C}D!Y>9z_0?P z0AA*eQ4mr_Y!|VduwCY%L|FOMO5t`ygrRu9B45`(qD3AX>=u?w31^_xV&3U3P!Jww zt$icQeH7k?QriaubJcDm!ph=JtK#0r^el&lbtr}K8n1fRr?f+}J^-Bn*<5SvSI5Dz zN^_07vS#-RPyzLBlq4$iLva1B)*(833Uh`8Q{`kMee zmO2~I!{K1O_^Qp|?*VWl6$xPQFF})d$cFnz0NhMH4_M&oV1nFKc6MM$uwM-b&41Sj zL@@;pr56#_jA}VC&f#=QbiTZ#e`+(q=Jw$KJJ#XoBniHIH=EO;WU(5 zz^8jN6htQTwtXSX<%Ac_PELAr6~q!I&+cHkrHzE{&2OCEWyZbPj+r9Ch$~B3o|gTA zvl!MNXbf^&XEJ%LU>RufMTg&>6>BXL5x}nOHF_EAlZ^r`J8x)|6HUZ bgk#)ufw5YiEXfjXn=|LmjYvyhr2E4EVsyS0 literal 0 HcmV?d00001 diff --git a/res/demo/SPARE.CHANGE.I b/res/demo/SPARE.CHANGE.I new file mode 100755 index 0000000000000000000000000000000000000000..984720d9340ad474f4b2784ed750f8e6d2dfcfba GIT binary patch literal 3359 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 literal 0 HcmV?d00001 diff --git a/res/demo/SPARE.CHANGE.J b/res/demo/SPARE.CHANGE.J new file mode 100755 index 0000000000000000000000000000000000000000..ce989a48ddd18e6429cc98d946c2749f90aed85a GIT binary patch literal 1486 zcmWO1drT8|0KoC}+Phv$uiTvnrBJWE^M@9}6)1ugu%%S!*(&cAL3vrkM-h-Y7jP3| z!M8%@gT?6p9UF@fbqr)oMKH0jg~8mSZW*GY1C{|UI-EK>|NJE1f4-+$$BybcPk((C z>FVlg=|8r8{`{4&)Y7%{R$UG%tjV1AatE@3sV zWxu?+>#nd?-#=mRL{bdh&*!asBcoay=WI`3C+BHBv9shEqRQtAdK`(t6xMT?f88n3 zadCfRxmDVi*X9YCKG!~kj0uPN7hCeYKYu!)iW9V@_nwW+&@SZqYg*pd-P_asXy4nf zRArmADXr&%8qb`6SuyeNs4CzUJ*5B5l3G>W_F%vi6B2lD7~$o8bP6uIzPIF&Xy<~zUd~+G z>xsQD*f$KhaO*ztA9t4^w0KYW?}W;{l%8$T&UuW!k+H#F`doJDDm5v-9cYYpblK~EHj3e6_0hP1 zcI&Ur)tchrc#KVC5W3z{IU`9rAjE1-X=psn+UG{)*@Os_ywW~MHd>3BCdSUYI zgoKuq9DeYDqkJ6}>fYTrbzw-oC0BBERh zVRD$<%>CJqWTCGRf}}{eHav}E zlXq2_5Z*yMWhRa0V@I%TF1_Yzay#wFqg2HSn)`JiwEC^~ec5ahQ5(OckGikt`34i(hSTd~IV!L5gq06)g zVUIXVp38bpwvd@_O~mFjFHDa6tz1ALe* zBF;vwD|#zv}$MctrJvCwv-$#8wzIU-#n zx8)A|_Af&H&PYBL`q(s66xn@4_>T!A3T>$*3lM=c5wocu2g9BS@AnvUl)&>@Lu1y9 zB$8t6bxc(gxt|NNYi1N-O=0%$U(t~|oqcbD>UNx6Gr``o*q{6d{H11_Jr%DfpXIzQ z)RDTa_PxfXU8okCcU9hje_&qnr%JrjPCU#s-jLsHV}GrqKJ-qo;C@I)nOY|Fa>;la z1}gRA@4uRW%X!ZWDCndb_2+M30(hkXa7~{-B17fE4U8Nv^+RgW8qma8Mcg&Yhb>jRQmd?f(P9+73|w literal 0 HcmV?d00001 diff --git a/res/demo/SPARE.CHANGE.K b/res/demo/SPARE.CHANGE.K new file mode 100755 index 0000000000000000000000000000000000000000..aac32db5032308e766dfd9dc76430fe3847ef395 GIT binary patch literal 2854 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 literal 0 HcmV?d00001 diff --git a/res/demo/SPARE.CHANGE.L b/res/demo/SPARE.CHANGE.L new file mode 100755 index 0000000000000000000000000000000000000000..857d613240baa79f2c15cbc0729b94b1a1a10add GIT binary patch literal 3191 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 B`iKAk literal 0 HcmV?d00001 diff --git a/res/demo/_FileInformation.txt b/res/demo/_FileInformation.txt index 706e2c5c6..bbdb6bf87 100644 --- a/res/demo/_FileInformation.txt +++ b/res/demo/_FileInformation.txt @@ -17,6 +17,12 @@ BURGERTIME.4=Type(F1),AuxType(0C00),Access(C3) BURGERTIME.5=Type(F1),AuxType(6000),Access(C3) BUZZARD.BAIT=Type(06),AuxType(0300),Access(C3) BUZZARD.BAIT.1=Type(F1),AuxType(0000),Access(C3) +CARTOON.1=Type(06),AuxType(02D0),Access(C3) +CARTOON.2=Type(06),AuxType(02D0),Access(C3) +CARTOON.3=Type(06),AuxType(02D0),Access(C3) +CARTOON.4=Type(06),AuxType(02D0),Access(C3) +CARTOON.5=Type(06),AuxType(02D0),Access(C3) +CARTOON.6=Type(06),AuxType(02D0),Access(C3) CEILING.ZERO=Type(06),AuxType(0300),Access(C3) CEILING.ZERO.1=Type(F1),AuxType(0000),Access(C3) CHAMP.LODERUN=Type(06),AuxType(0800),Access(C3) @@ -115,7 +121,13 @@ SNAKE.BYTE.1=Type(F1),AuxType(0000),Access(C3) SNEAKERS=Type(06),AuxType(0800),Access(C3) SNEAKERS.1=Type(F1),AuxType(0000),Access(C3) SPARE.CHANGE=Type(06),AuxType(2700),Access(C3) -SPARE.CHANGE.A=Type(F1),AuxType(8E00),Access(C3) +SPARE.CHANGE.A=Type(F1),AuxType(9600),Access(C3) +SPARE.CHANGE.G=Type(F1),AuxType(A200),Access(C3) +SPARE.CHANGE.H=Type(F1),AuxType(A200),Access(C3) +SPARE.CHANGE.I=Type(F1),AuxType(A100),Access(C3) +SPARE.CHANGE.J=Type(F1),AuxType(A200),Access(C3) +SPARE.CHANGE.K=Type(F1),AuxType(A300),Access(C3) +SPARE.CHANGE.L=Type(F1),AuxType(A200),Access(C3) SPARE.CHANGE.S=Type(F1),AuxType(9600),Access(C3) SPARE.CHANGE.Z=Type(F1),AuxType(B400),Access(C3) SPIDER.RAID=Type(06),AuxType(0300),Access(C3) diff --git a/res/demo/cartoon.1 b/res/demo/cartoon.1 new file mode 100755 index 0000000000000000000000000000000000000000..22c6f10ac0d73a2407b847cfc9a185712e20e376 GIT binary patch literal 74 zcmY#j*ni?blLEv3Q>@HD@(dgEN~Yc_^_A~>Yt?-i)K@a}9+zC{(`zK5z@Xs6z{t$Y b%%H%)!pNZh9|(AY0~~`~^_)E%{oGvvnJ^be literal 0 HcmV?d00001 diff --git a/res/demo/cartoon.2 b/res/demo/cartoon.2 new file mode 100755 index 0000000000000000000000000000000000000000..7404c1bc02d15195769fd99f3459b178a73221d7 GIT binary patch literal 74 zcmY#j*ni?blLEv3Q>@HD@(dgEN~Yc_^_A~>Yt?-i)K@b09+zC{(`zK5z@Xs6z{t$Y b%%H%)!pNZh9|(AY0~~`~^_)E%{oGvvnOYY} literal 0 HcmV?d00001 diff --git a/res/demo/cartoon.3 b/res/demo/cartoon.3 new file mode 100755 index 0000000000000000000000000000000000000000..4d8cece47fa553b878299d52549b298a8f9c8e20 GIT binary patch literal 74 zcmY#j*ni?blLEv3Q>@HD@(dgEN~Yc_^_A~>Yt?-i)PbDik}G|BjU*Hp6nq#MnR%HR a6c|_-8Pxv+0Z(v%W00$!vxlRfyDI>hgcnHw literal 0 HcmV?d00001 diff --git a/res/demo/cartoon.4 b/res/demo/cartoon.4 new file mode 100755 index 0000000000000000000000000000000000000000..acc42e8378eddc4b41d15eebfaccba28d0b1d434 GIT binary patch literal 74 zcmY#j*ni?blLEv3Q>@HD@(dgEN~Yc_^_A~>Yt?-i)K@b19+zC{(`zK5z@Xs6z{t$Y b%%H%)!pNZh9|(AY0~~`~^_)E%{oGvvnXVT~ literal 0 HcmV?d00001 diff --git a/res/demo/cartoon.5 b/res/demo/cartoon.5 new file mode 100755 index 0000000000000000000000000000000000000000..d4fbc13f056551423f767de66c1dd7e3559436e2 GIT binary patch literal 74 zcmY#j*ni?blLEv3Q>@HD@(dgEN~Yc_^_A~>Yt?-i)K{|f9+zC{(`zK5z@Xs6z{t$Y b%%H%)!pNZh9|(AY0~~`~^_)E%{oGvvnb;Rg literal 0 HcmV?d00001 diff --git a/res/demo/cartoon.6 b/res/demo/cartoon.6 new file mode 100755 index 0000000000000000000000000000000000000000..8546708dba1b6aac0ec00fb79c38657a545120d9 GIT binary patch literal 74 zcmY#j*ni?blLEv3Q>@HD@(dgEN~Yc_^_A~>Yt?-i)K{|h9+zC{(`zK5z@Xs6z{t$Y b%%H%)!pNZh9|(AY0~~`~^_)E%{oGvvngSP0 literal 0 HcmV?d00001 diff --git a/src/cartoons/cartoon1.s b/src/cartoons/cartoon1.s new file mode 100755 index 000000000..9a7ecf241 --- /dev/null +++ b/src/cartoons/cartoon1.s @@ -0,0 +1,52 @@ +!cpu 65c02 +!to "cartoon.1#0602d0",plain +*=$2d0 + +cartoon=1 + +load=$2700 +buffer=$2000 + + jsr $bf00 + !byte $c8 ;open file + !word c8_parms ;->bd5d +; lda c8_parms+5 +; sta ca_parms+1 + jsr $bf00 + !byte $ca ;read file + !word ca_parms + jsr $bf00 + !byte $cc ;close + !word cc_parms +lda #>callback +sta $277a +lda #bd5d +; lda c8_parms+5 +; sta ca_parms+1 + jsr $bf00 + !byte $ca ;read file + !word ca_parms + jsr $bf00 + !byte $cc ;close + !word cc_parms +lda #>callback +sta $277a +lda #bd5d +; lda c8_parms+5 +; sta ca_parms+1 + jsr $bf00 + !byte $ca ;read file + !word ca_parms + jsr $bf00 + !byte $cc ;close + !word cc_parms +lda #>callback +sta $277a +lda #bd5d +; lda c8_parms+5 +; sta ca_parms+1 + jsr $bf00 + !byte $ca ;read file + !word ca_parms + jsr $bf00 + !byte $cc ;close + !word cc_parms +lda #>callback +sta $277a +lda #bd5d +; lda c8_parms+5 +; sta ca_parms+1 + jsr $bf00 + !byte $ca ;read file + !word ca_parms + jsr $bf00 + !byte $cc ;close + !word cc_parms +lda #>callback +sta $277a +lda #bd5d +; lda c8_parms+5 +; sta ca_parms+1 + jsr $bf00 + !byte $ca ;read file + !word ca_parms + jsr $bf00 + !byte $cc ;close + !word cc_parms +lda #>callback +sta $277a +lda #