[comp.sys.handhelds] Blinky, A CHIP-48 PacMan & Chipper, A PC based CHIP-48 assembler

egeberg@solan7.solan.unit.no (Hans Christian Egeberg) (11/13/90)

Blinky is a PacMan game for the Hewlett Packard HP48SX CHIP-48 interpreter.


Written by Christian Egeberg (egeberg@solan.unit.no) 7/11 .. 11/11-'90, as
a demonstration program for my PC based CHIP-48 assembler, Chipper V1.12.


Chipper V1.12 is written in Turbo Pascal V5.5, 2/11 .. 7/11-'90. Source code
file chipper.zip should be available by anonymous ftp from funic.funet.fi,
directory /disk1/pub/misc/hp48sx. This will also include the Blinky source.


CHIP-48 is a video game language interpreter written by Andreas Gustafsson
(gson@niksula.hut.fi), for the Hewlett Packard HP48SX calculator. CHIP-48
and it's source code should be available by anonymous ftp from vega.hut.fi,
directory /pub/misc/hp48sx/asap.


As Blinky, you are chased around in an office environment by two bosses,
Packlett and Heward. Packlett does management by walking around, but Heward
believes in the American dream, and possesses quite a killer instinct.
Anyway, don't let them get to you, unless you are feeling very aspirant.
This, of course, requires the recent fulfilment of one of four major
contracts, found near the corners of the building. Otherwise, the office is
filled with small tasks, just waiting for your attention. If you manage to
take care of them all, your intray will overflow, just over weekend. This is
the curse of any responsible and hard working employee. However, neither
boss know of the emergency exit which leads from one part of the office to
the other, so this may be one way to avoid them, if everything else fails.
As in most decent companies, you are given a chance to clear up the mess of
your first blunder. The second time on the rug... off you go. There is a
small comfort in that the recommendation reflects how well you did.


Recommendation points are awarded as follows:

    0 points    ;  Make use of the emergency exit
    1 point     ;  Take care of a minor task
    4 points    ;  Negotiate a major contract
    25 points   ;  Show Heward a recently fulfiled contract
    50 points   ;  Show Packlett a recently fulfiled contract
    100 points  ;  Clear the office environment from tasks


Blinky control keys are:

    ( 8 )  ;  Move up
    ( 4 )  ;  Move left
    ( 6 )  ;  Move right
    ( 2 )  ;  Move down
    ( + )  ;  Restart from the high score screen


CHIP-48 control keys are:

    (+/-)      ;  Sound off / on
    (<==)      ;  Exit CHIP-48 ( This is delete, not left arrow)
    ( ENTER )  ;  Restart CHIP-48 game


Blinky has been run on HP48SX rom versions A, D and E, with or without
installed libraries. CHIP-48 version has always been V2.25. Do NOT try to
transfer the BLINKY binary string using ASCII mode. Unpredictable results
may, and often will result. The binary maze data itself contains a 0D0A or
CRLF sequence if you think ASCII. If this is converted to a LF or 0A, the
maze will have a one byte offset error from the second line and down,
causing the immediate death of Blinky. Besides, the fellow on the high score
screen will have U shaped eyes. This is not a bug in CHIP-48, Blinky or even
Chipper. It is a file transfer mode problem.


->ASC Version: Clip out the following. Download it to the HP48SX, and use
ASC-> to convert it to a binary string. Store as 'BLINKY'. Play by
evaluating first BLINKY, then CHIP.


 /\
/  \    /
\  /   /
 \/\  /
    \/                                                    Cut here
------------------------------------------------------------------
%%HP: T(3)A(R)F(.);
"C2A2014010000E21A1348627E20254765626562776021313F21313D272930308
3018317A0C1F556600760062A7E604782EE672781E86A196C0A683B600C620D6
A1000E62C962667A4DAD4BCD4D32C9E3002106422C5283637F2184E8067227E6
46722721220F700400214E0808086508650865180A1865186518650501214A08
09086508650865180B1865186518650501214A7A4DAD4BA683B600AD4BE63F78
2EE640781EE62372270808086508650865180C186518651865050121E4080908
6508650865180D186518651865050121E47A4DCD4DC620D6A1CD4DE6FC782EE6
02781EE691722721E40604720AE604783E0807082E03002182E8067227722800
0E661176A07A2C62ED661176017A0C62ED46005680660076F0AA004D96AAA05D
960630720AE3003129AA004D96AAA05D964720572043033141AA004D96AAA05D
960630720AE3003129AA004D96AAA05D96672063613143AA004D96AAA05D9606
30720AE3003129AA004D96AAA05D9647EF57EF43003125AA004D96AAA05D9606
30720AE3003129AA004D96AAA05D9667EF630031273141AAA05D96AA415D9621
A13807E630382E48085809E680EE1A31EFE620EE1A4161E660EE1A41E2E640EE
1A416434305720340057EF34204720341047EF08041805622C2800E680082E03
0041E5E6700802282E24504166246041E72470418B6266E6CF782E7813880498
056166080418051720622C2800E680082E030031EB3630572031AD0804180517
EF622C2800E680082E030031EB360057EF31AD080418050720622C2800E68008
2E030031EB3620472031AD0804180507EF622C2800E680082E030031EB361047
EF31AD62668D49E80F00EEE60F082E08130F557A8D4D45671016500F7004001F
81310FE60F082E08130F557ACD4D456740080A180B622CE60F082E030041E9E6
C0783E080C180D622CE60F082E0300410BE603783E06FF0F810F51310F341046
A334204600310F2807E6C0282E080A180B622C7A4DE60F082E030041EEAD4B24
C0B7202400B7EF2480A7202440A7EFAD4B00EE1C0F0821030041EFE6C0783E28
3E418DAD4B08E5F40051C02640A7EF51E208E5F400518126C0B72051E208E5F4
0051422680A72051E208E5F400416F2600B7EFAD4BE63F782E781200EE280738
07E603282E080C180D622C7A4DE60F082E03005166CD4D2403D7202400D7EF24
02C7202401C7EFCD4D00EEE6081F70130061A1180038E5F40051493809385DF4
0051CC3300512B783E3808385CF40061003300516E783E61A13808385CF40061
003300516E783E3809385DF40051CC3300512B783E61A136041823140061A1CD
4DD720CD4D783EE6FC782E2603781200EE36011823140061A1CD4DD7EFCD4D78
3EE6FC782E2600781200EE36021823140061A1CD4DC720CD4D783EE6FC782E26
02781200EE36081823140061A1CD4DC7EFCD4D783EE6FC782E2601781200EE1C
0F0821030061C2783EE603783E283E5105CD4D08E5F40061A32609C7EF61C508
E5F40061642603D72061C508E5F4006125260AC72061C508E5F40061222600D7
EFCD4DE6F4782E781200EE0807E630082E08E508E57A4C0FE18D49E80F00EEE6
008A00EFE1EFE1EFE1EFE13F56AAE1EFE1EFE1EFE1EFE13F55E710E30861C700
EE28323833E6F008021803626C082E08E57A0E0FE12D2327202304612A283237
20340200EE612A072017200865186518E518E518E518E5AAE11FE11FE10FE10F
5600EE1F56E61048342800380156013855F400285EF400714056722855F40071
4008021803484E618E4F926D576760483428003801568E3855F400285EF40071
C256302855F40071C208021803484E71014F926D576760483428003801564638
55F400285EF40071C408021803484E71834F926D57676048342800380156A038
55F40071661803484E71854F926D5767601F926D5700EE7A0C1F56184EF30007
107A0C1F5500EE7A0C3F56E800E852F40000EEE30071A9E801E853F40000EE7A
2C1F5500EEE83E26F036FF16012E1A71CB18431300718A160108430300718A00
EEE61000EE000000000005070200060306000306030002070500020707000002
0000000000000000000000000000000800000000000C000000080800000C0808
080C000800C08080808080808080808080808080D0C080808080808080808080
80808080D0A056505050505E50505E505050505CA0A056505050505E50505E50
5050505CA0A050C08080F050C0D050808080D050E0F050C08080F050C0D05080
8080D050A0A050A056605059A0A05350505CA053505059A056505059A0A05350
605CA050A0A050F0508080808080C080F0508080808080F0508080C080808080
F050F050A0A057505B505050505CA056505B505E50505E505B505CA056505050
505B505DA0A050C080808080D050F050C080F05080F0508080D050F050C08080
8080D050A0F050F05650505EA0535E59A056500B50505B505CA0535E59A05650
505CF050F07047505D80F050E0F05080F050C080808080D05080F05080F05080
F057504D70A050A05350505F50505B50505D8080D0C080F05750505B50505F50
5059A050A0A050808080D050C0808080D053505CA0A0565059C0808080D050C0
8080F050A0A05750505CA050808080808080F05080F050808080808080F050A0
5650505DA0A050C0D060A053505050505E50505F50505F50505E5050505059A0
60C0D050A0A05080F0508080808080F050C0D05080F050C0D0508080808080F0
5080F050A0A05350505B50505050505059A0A053505059A0A053505050505050
5B505059A0808080808080808080808080F08080808080F08080808080808080
80808080F0C324999924C31001F00087482323488700010E0087CFEFEF488700
010E004678"
------------------------------------------------------------------
    /\                                                    Cut here
 /\/  \
/  \   \
\  /    \
 \/


UUENCODE Version: UUDECODE the following. Binary download it to the HP48SX
as 'BLINKY'. Play by evaluating first BLINKY, then CHIP.


 /\
/  \    /
\  /   /
 \/\  /
    \/                                                    Cut here
------------------------------------------------------------------
section 1 of uuencode 3.07 of file BLINKY.    by R.E.M.

begin 644 BLINKY.
M2%!(4#0X+4$L*A`$`0#@$AI#:'(N($5G96)E<F<@,3$O,3$M)SDP@`.!$Z?`Y
M\55F`&<`)GIN0(?B;B>'X6@::0QJ.&L`;`)M&@#@)IPF9J?4VK3<U".</@`2'
M8"3")3@V]Q)(CF`G<FYD)W(2(O`'0``2Y("`@%:`5H!6@:"!5H%6@590$!*DE
M@)"`5H!6@%:!L(%6@5:!5E`0$J2GU-JT:CAK`-JT;O.'XFX$A^%N,B=R@("`5
M5H!6@%:!P(%6@5:!5E`0$DZ`D(!6@%:`5H'0@5:!5H%64!`23J?4W-1L`FT:M
MW-1NSX?B;B"'X6X9)W(23F!`)Z!N0(?C@'"`XC``$BB.8"=R)X(`X&819PJG!
MPB;>9A%G$*?`)MYD`&4(9@!G#ZH`U&FJ"M5I8`,GH#X`$Y*J`-1IJ@K5:70"$
M=0(T,!,4J@#4::H*U6E@`R>@/@`3DJH`U&FJ"M5I=@(V%A,TJ@#4::H*U6E@%
M`R>@/@`3DJH`U&FJ"M5I=/YU_C0`$U*J`-1IJ@K5:6`#)Z`^`!.2J@#4::H*&
MU6EV_C8`$W(3%*H*U6FJ%-5I$AJ#<&X#@^*$@(60;@CNH1/^;@+NH106;@;NT
MH10N;@3NH11&0P-U`D,`=?Y#`G0"0P%T_H!`@5`FPH(`;@B`XC``%%YN!X`@$
M@N)"!11F0@84?D('%+@F9F[\A^*',8A`B5`69H!`@5!Q`B;"@@!N"(#B,``3#
MOF,#=0(3VH!`@5!Q_B;"@@!N"(#B,``3OF,`=?X3VH!`@5!P`B;"@@!N"(#BW
M,``3OF,"=`(3VH!`@5!P_B;"@@!N"(#B,``3OF,!=/X3VB9FV)2.\`#N;O"`"
MXH`Q\%6GV-14=@%A!?`'0`#Q&!/P;O"`XH`Q\%6GW-14=@2`H(&P)L)N\(#B9
M,``4GFX,A^.`P('0)L)N\(#B,``4L&XPA^-@__`8\!43\$,!9#I#`F0`$_""4
M<&X,@N*`H(&P)L*GU&[P@.(P`!3NVK1"#'L"0@![_D((>@)"!'K^VK0`[L'PL
M@!(P`!3^;@R'XX+C%-C:M(!>3P`5#&($>OX5+H!>3P`5&&(,>P(5+H!>3P`5&
M)&((>@(5+H!>3P`4]F(`>_[:M&[SA^*'(0#N@G"#<&XP@N*`P('0)L*GU&[PC
M@.(P`!5FW-1",'T"0@!]_D(@?`)"$'S^W-0`[FZ`\0<Q`!8:@0"#7D\`%92#[
MD(/53P`5S#,`%;*'XX.`@\5/`!8`,P`5YH?C%AJ#@(/%3P`6`#,`%>:'XX.0O
M@]5/`!7,,P`5LH?C%AIC0($R00`6&MS4?0+<U(?C;L^'XF(PAR$`[F,0@3)!$
M`!8:W-1]_MS4A^-NSX?B8@"'(0#N8R"!,D$`%AK<U'P"W-2'XV[/A^)B((<A0
M`.YC@($R00`6&MS4?/[<U(?C;L^'XF(0AR$`[L'P@!(P`!8LA^-N,(?C@N,5P
M4-S4@%Y/`!8Z8I!\_A9<@%Y/`!9&8C!]`A9<@%Y/`!928J!\`A9<@%Y/`!8BM
M8@!]_MS4;D^'XH<A`.Z`<&X#@.*`7H!>I\3P'MB4CO``[FX`J`#^'OX>_A[^2
M'O-EJA[^'OX>_A[^'O-5?@$^@!9\`.Z"(X,S;@^`(($P)L:`XH!>I^#P'M(R\
M<@(R0!:B@B-S`D,@`.X6HG`"<0*`5H%6@5Z!7H%>@5ZJ'O$>\1[P'O!E`.[QA
M96X!A$."`(,091"#54\`@N5/`!<$92>"54\`%P2`(($PA.06Z/0IUG5V!H1#>
M@@"#$&7H@U5/`(+E3P`7+&4#@E5/`!<L@""!,(3D%Q#T*=9U=@:$0X(`@Q!EG
M9(-53P""Y4\`%TR`(($PA.07./0IUG5V!H1#@@"#$&4*@U5/`!=F@3"$Y!=8D
M]"G6=78&\2G6=0#NI\#Q98'D/P!P`:?`\54`[J?`\V6.`(XE3P``[CX`%YJ.(
M$(XU3P``[J?"\54`[H[C8@]C_V$0XJ$7O($T,0`7J&$0@#0P`!>H`.YN`0#N,
M``````!0<"``8#!@`#!@,``@<%``('!P```@````````````````````@```<
M````P````("```#`@("`P`"```P("`@("`@("`@("`@("`T,"`@("`@("`@(Y
M"`@("`@-"F4%!04%Y04%Y04%!07%"@IE!04%!>4%!>4%!04%Q0H*!0P("`\%H
M#`T%"`@(#04.#P4,"`@/!0P-!0@("`T%"@H%"F4&!94*"C4%!<4*-04%E0IE<
M!065"@HU!0;%"@4*"@4/!0@("`@(#`@/!0@("`@(#P4("`P("`@(#P4/!0H*U
M=06U!04%!<4*906U!>4%!>4%M07%"F4%!04%M075"@H%#`@("`@-!0\%#`@/;
M!0@/!0@(#04/!0P("`@(#04*#P4/904%Y0HUY94*906P!06U!<4*->65"F4%>
M!<4/!0\'=`75"`\%#@\%"`\%#`@("`@-!0@/!0@/!0@/=074!PH%"C4%!?4%.
M!;4%!=4("`T,"`]U!06U!07U!065"@4*"@4("`@-!0P("`@--07%"@IE!94,B
M"`@(#04,"`@/!0H*=04%Q0H%"`@("`@(#P4(#P4("`@("`@/!0IE!075"@H%]
M#`T&"C4%!04%Y04%]04%]04%Y04%!065"@8,#04*"@4(#P4("`@("`\%#`T%>
M"`\%#`T%"`@("`@/!0@/!0H*-04%M04%!04%!94*"C4%!94*"C4%!04%!06U%
M!065"@@("`@("`@("`@("`\("`@("`\("`@("`@("`@("`@//$*9F4(\`1`/]
5`'B$,C*$>``0X`!X_/[^A'@`$.``J
``
end
sum -r/size 5639/2954 section (from "begin" to "end")
sum -r/size 27511/2091 entire input file
------------------------------------------------------------------
    /\                                                    Cut here
 /\/  \
/  \   \
\  /    \
 \/


CHIP-48 is (C) Copyright 1990 Andreas Gustafsson.
Chipper is (C) Copyright 1990 Christian Egeberg.
Blinky is (C) Copyright 1990 Christian Egeberg.

    Noncommercial distribution allowed, provided that copyright messages
    are preserved, and any modified versions are clearly marked as such.

    CHIP-48 and, because of that, programs written in Chipper, like Blinky,
    make use of undocumented low-level features of the HP48SX calculator.
    They may or may not cause loss of data, excessive battery drainage,
    and / or damage to the calculator hardware. The authors take no
    responsibility whatsoever for any damage caused by the use of these
    programs.

    Chipper does all its I/O on the PC through the Turbo Pascal FExpand(),
    Assign(), ReSet(), ReWrite(), Read(), Write(), Eof() and Close() run
    time library functions, but the author takes no responsibility for
    loss of data, damage to any PC hardware, nor strange incidents caused
    by the use of this program.

    This software is provided "as is" and without any express or implied
    warranties, including, but not limited to, the implied warranties of
    merchantability and fitness for a particular purpose.

dj1l+@andrew.cmu.edu (Demian A. Johnston) (11/14/90)

can you make sure chipper is at funic.funet.fi.    I can't seem to find
it..  Has anyone out there found it.  Actually can you email it to me
uuencoded?  Well whatever.... Thank you very much.


 Demian

Demian Johnston

    Disclaimer-  "I don't even know whose ideas these are.  They surely
are not those of CMU"

+---------------------------------------------------------------------------+
|  Mail me at:                        
| Internet: dj1l+@andrew.cmu.edu                               
| bitnet: dj1l%andrew@CMCCVB or JNET%"dj1l%andrew@CMCCVB"      
| CSNet: dj1l+@andrew.cmu.edu                                  
| CCnet: dj1l%andrew@CMCCVB                                    
+---------------------------------------------------------------------------+

davidm@usage.csd.unsw.oz.au (David Mutch) (11/30/90)

How does one download Chip-48 from chip225 file to a 48-sx.
I have downloaded other files but this gives me an invalid filename error.