[comp.sys.handhelds] Joust v1.0, a CHIP48 game

catto@vivaldi.ecn.purdue.edu (Erin S Catto) (05/19/91)

Joust 1.0, a CHIP48 game by Zoom:

	Hoorah! Hoorah!  Here it is, the latest CHIP48 game; my rendition
of the arcade game Joust.  Both ->ASC and UUENCODE versions are attached.

You can get ASC-> (an HP48sx program by Bill Wickes) by anonymous ftp
at seq.uncwil.edu (Wayne Scott's Mailserver archive, 
path:  hp48/util/ascii.encode.Z (set ftp to binary, use UNCOMPRESS in UNIX).

A PC based version of UUDECODE is available on the HPBBS in the 
user.programs conference.

CHIP48v2.25 and documentation is available at seq.uncwil.edu
path:  hp48/chip8/chip-48.Z (binary)

The Game:

	1)  Download the file and use ASC-> on the string.
	2)  The result of step 1 is taken as an argument by
	    CHIP, this runs the game.
        3)  Check out the title screen then press 0 to play.
        4)  The keys are:

                       0 = Down
                       9 = Left
                       / = Right

	5)  The blank dots in the bottom left corner indicate
	    the number of players left, not including the current
	    player.  Sorry, no bonus guys.  Maybe in the future.

        6)  At the score screen press 0 to replay, else press drop
            to exit to the stack.


If you feel the game is slow, then wait until you get to level 7!
The levels roll over at #Fh, I think.  I haven't gotten that far!
Therefore there maybe unseen bugs.

The game is novel.  I'm not sure of its lasting qualities.
However, it was a good exercise in CHIP programming.  Which
reminds me:

  - I claim no rights, its just a game.  Anyway, what could I do?
    Send the cops after you?  On the other hand, please send me
    email for comments, questions, bugs.  On bugs, try to give
    plenty of detail.  Debugging these games is a nightmare, but
    its a challenge I enjoy (contradiction?).

    my email address:  catto@ecn.purdue.edu

    You can post on comp.sys.handhelds, but I only view once or
    twice a week.

CREDITS:

    1)  Andreas Gustafsson for his excellent interpreter, CHIP48v2.25.
    2)  Gilles Kohl for his AS48 CHIP assembler.

I haven't tried to run Joust on SuperCHIP.  If I have enough energy I
will convert Joust to take advantage of the extended graphics.

On Source Code:

I will eventually post source code in AS48, soon if requested.  I will
archive it at seq.uncwil.edu and the HPBBS along with Joust.

However, I am more interested in posting some CHIP48 programming notes
to generate more interest in actually writing these games.  This is the
fifth game posted since CHIP's release, how many assemblers?  Assemblers
are great and Joust wouldn't have been possible without one, but I think
people must have difficulty programming in CHIP48 (it wasn't a cinch for
me).  Sooooo, I will try to help with some programming notes.

                         Enjoy!

                         Zoom->

The real question:  Should I by a Smith Corona card?


Joust string:  Bytes:  1426
               Checksum:  #87F2h 

->ASC version:
------------------------fold, lick, then tear-------------------------------
%%HP: T(3)A(D)F(.);
"C2A20F1B002101A4F657374702269702A5F6F6D60252A906007AE30F55860096
30C600000EA600C710D670D82CD47021A4C43087107AA6CFE10F56B8002205D6
F0D82CDF92D6D1E6D0DD5E22852147B680862021830600160026E336F17A140D
110D132D112D130720171027EF37FF040200EE040400EE21A552AF628562A662
2B32A264DD61EB426464DD61EB64EE21E18300326121C7420C5263D800E80108
4218437A245FE156F30825DD4E7A244FE10D4158046800780114C166DD7A255F
5500EE22EC7A855F5500EE22EC7AE55F5500EE420C526314A13260D800E80108
4218437AA45FE156F30825DD4E7AA44FE10D41580400EE464026EF842026CF00
EE460026208420264000EE36FF842036EF00EE36108420362000EE0680E6F17A
14DCF0D840DD1E0701038331C100EE7A255F5632E02600D6A0DE1A3260D630DE
1A222FD6C0DE1A22CF222964DD00EE842032E6842000EEF410328500EE7A855F
56A410310B3249F31031AD322AF31031AD310B7A855F563249F31031E7322AF4
10310BA32000EE7AE55F563249F31000EE322AF41031AD00EED806D850F310D8
7FE660E85D00EED807D851F310D87FE640E85D00EE79014140D807D851F30031
CFD630DF817AA45FE10D417261A7FFA40041007AE55F567A855F5562A600EE7A
E55F5679014161D807D851F30031CFD630DF817AA45FE10D417261A61062A600
EE66DD00EE66EE00EE4282F300410122CF22EB41C3222F22EB41234282F30041
2222CF226C41C3222F226C4123D620DF81D806D85000EE7A255F5622CF222900
EE7A255F56222F222900EE7A855F56DC30D40042A6422822EBA32000EE64DD00
EE7AE55F56DC20D40042A6226C00EEDC10DF81D400222FD41022CFDC10D40032
E0D410326000EED806D850F310D87FE601E85DF31000EED807D851F310D87FE6
80E85DF31000EED806D850F310222FF30022CFD807D851F30032E0F310326019
07326000EE1400512114A151E1D6108420D620350D410E148041EE1440510014
21510000EE14E041EE14A051001481510000EED670D870F3105123D613D850F3
10512300EED621D870F31000EED672D870F310512300EED6FF8420D6EF390D36
0000EED6108420D620350D00EE84003600830041EE00EE360000EE240000EED6
208420D640250D51E404035185040151A600EE04805185048251A600EED680D8
71F31000EED6F0D871F310516900EED601D851F4005148D640D871F31000EED6
B0D871F310516900EED621D871F31000EED691D871F310516900EE260000EE7A
17D611E6C0DD7E06700FE1D780DD7E0FE1D780DD7E0FE1D780DD7E8600B610A6
0062A6628522CF7A255F55D66072C07A255F5652AE22697A255F557A855F5652
AE226D7A855F55D6A0DEE9516C00EEDCF0D40042A61410361014C136FF00EE00
0ED600E6E17A4684006203830062A362247A66D602E680DD2EE661DD2E7A86D6
81DD2EE680DD2ED683E6C0DD2E7A66D600DD2E00EEDD2ED780D304610300EEDD
2ED683DD2E00EE941000EE7A14D610E6F1DD1E942000EED630DD1E00EE460056
00068316807A240D417A255F5500EEB40000EED80BD84AD41061C806C1164062
C9A710B7FF7AE55F55B40000EEA42000EE06C1162162C9A710B7FF7A855F5500
EE3260DC10D310222FD30022CF7AA44FE10D41580400EED6F1DF51DF70D30061
6B00EED640DF81622B97FF9400610DB84AA600214762AD000E7202526B2121D6
A0DF81D68172C0628F628F72207220D60272C072207220D60272C000EED640DF
81D6A072C000EED680DF81D64172C000EEDF51DF70D30071E000EE7AE30F5607
200F5500EE7AE30F560F332F56E6D0D6810F92DD5ED7501F92DD5ED7502F92DD
5E00EE00000008C080E7C10301E783C181E7C18381E783000000000000000000
000000000000000000FFFFFFEFFFF700203040506070808090A0A8A81700008C
8282827C0000E90AC928CB04040E040405022F78"
-------one foot on one side, the other on the other, spread your feet-----------

UUENCODED version

-----------------------the great divide-----------------------------------------
begin 666 joust
%!(4#0X+40L*O"Q !(02F]U<W0@8GD@6F]O;2 EFF  IS[P56@ :0-L  #@
M:@!\ 6T'C<)-!Q)*3 -X :=J_![P98L (E!M#XW"_2EM'6X-W>4B6!)T:PAH
M A(X8 !A &(^8Q^G0= 1T#'2$=(Q< )Q 7+^<_] ( #N0$  [A):)?HF6"9J
M)K(C*D;=%KXD1D;=%KY&[A(>.  C%A)\), E-HT CA" )($TIT+U'F4_@%+=
MY*="]![0%(5 A@"'$$$<9MVG4O55 .XBSJ=8]54 [B+.IU[U50#N), E-D$:
M(P:- (X0@"2!-*=*]1YE/X!2W>2G2O0>T!2%0 #N9 1B_D@"8OP [F0 8@)(
M F($ .YC_T@"8_X [F,!2 )C @#N8 AN'Z=!S0^-!-WA<! P.!,< .ZG4O5E
M(PYB &T*[:$C!FT#[:$B\FT,[:$B_"*21MT [D@"(VY( @#N3P$C6 #NIUCU
M94H!$[ CE#\!$]HCHC\!$]H3L*=8]64CE#\!$WXCHD\!$[ Z @#NIU[U92.4
M/P$ [B.B3P$3V@#NC6"-!3\!C?=N!H[5 .Z-<(T5/P&-]VX$CM4 [I<0% 2-
M<(T5/P 3_&T#_1BG2O4>T!0G%GK_2@ 4 *=>]66G6/55)FH [J=>]667$!06
MC7"-%3\ $_QM _T8ITKU'M 4)Q9J 29J .YFW0#N9NX [B0H/P 4$"+\(KX4
M/"+R(KX4,B0H/P 4(B+\(L84/"+R(L84,FT"_1B-8(T% .ZG4O5E(OPBD@#N
MIU+U92+R(I( [J=8]67- TT )&HD@B*^.@( [D;= .ZG7O5ES0)- "1J(L8 
M[LT!_1A- "+R30$B_,T!30 C#DT!(P8 [HU@C04_ 8WW;A".U3\! .Z-<(T5
M/P&-]VX(CM4_ 0#NC6"-!3\!(O(_ "+\C7"-%3\ (PX_ 2,&D7 C!@#N00 5
M$D$:%1YM 4@";0)3T!3@00@4[D$$%0!!$A4  .Y!#A3N00H5 $$8%0  [FT'
MC0<_ 14R;3&-!3\!%3( [FT2C0<_ 0#N;2>-!S\!%3( [FW_2 )M_I/08P  
M[FT!2 )M E/0 .Y( &, .  4[@#N8P  [D(  .YM D@";012T!5.0# 56$ 0
M%6H [D (%5A *!5J .YM"(T7/P$ [FT/C1<_ 166 .YM$(T53P 5A&T$C1<_
M 0#N;0N-%S\!%98 [FT2C1<_ 0#N;1F-%S\!%98 [F(  .ZG<6T1;@S=YV '
M\!Y]"-WG\!Y]"-WG\!Y]"-WG: !K 6H )FHF6"+\IU+U56T&)PRG4O5E)>HB
MEJ=2]56G6/5E)>HBUJ=8]55M"NV>%<8 [LT/30 D:D$!8P%!'&/_ .X X&T 
M;AZG9$@ )C X "8Z)D*G9FT@;@C=XFX6W>*G:&T8W>)N"-WB;3AN#-WBIV9M
M -WB .[=XGT(/4 6, #NW>)M.-WB .Y) 0#NIT%M 6X?W>%) @#N;0/=X0#N
M9 !E & X80BG0M 4IU+U50#N2P  [HVPC:1- 1:,8!QA!":<>@%[_Z=>]55+
M  #N2@( [F <81(FG'H!>_^G6/55 .XC!LT!/0$B\CT (ORG2O0>T!2%0 #N
M;1_]%?T'/0 6M@#N;03]&":R>?]) !;0BZ1J !)T)MH X"<@);82$FT*_1AM
M&"<,)O@F^"<")P)M("<,)P(G FT@)PP [FT$_1AM"B<, .YM"/T8;10G# #N
M_17]!ST %PX [J<^\&5P O!5 .ZG/O!E\#/R96X-;1CP*=WE?07Q*=WE?07R
M*=WE .X   " # A^'# 0?C@<&'X<.!A^.                        /__
G__[_?P " P0%!@<(" D*BHIQ  #(*"@HQP  GJ"<@KQ 0.! 0% @
 
end
---------------Above is Heaven, below is Hell--------------------

akcs.falco@hpcvbbs.UUCP (Andrey Dolgachev) (05/23/91)

Erin, I would love to try programming in CHIP, I think there is a lot of
potential in it for good, (read as fast) arcade games, especially with
the introduction of Erik's SuperCHIP.  However, I have virtually no
documentation on the CHIP language and I no longer have access to a FTP
site.  I woud appreciate it greatly if you could post up some docs on
programming in CHIP, since it is very hard to program if you don't know
what the commands are.  Also, I Have an assembler for CHIP, but could you
also post up your favorite assembler for the HP.  Thanks,

          ---Falco

akcs.spacecadet@hpcvbbs.UUCP (David Cho) (05/29/91)

ditto falco...

-choman
(checkout the time)