"Pac Man" for SHARP PC-1500 + CE-155.
Author: Jol Armengaud
Published in Hebdogiciel #42, July 1984.

BASIC program: 2246 bytes.

NEW 15394
CLOAD "PAC MAN"
RUN
(ATTENDEZ UN MOMENT)		"Wait a minute"	shown while checksum is calculated 
(ERREUR DANS LES DONNEES)	"Error in data" shown if checksum fails test 
(PROGRAMME PRET)		"Program ready" shown if checksum passes test 
RUN 120				This jumps to program in machine code

For the PC-1500, this mapping makes sense because F1 is right over E
F5		Move left
F6		Move right
F1		Move up
E		Move down

For the PC-2, this mapping works better because F1 is over T and Y
F5		Move left
F6		Move right
F1		Move up
T or Y		Move down

The move inputs are actually mapped to most of the keys, probably to go around actual keyboard decoding to avoid using MIPs to decode the entire keyboard.

As the game progresses through the maze at the left, the bits to eat are removed from the grid at the right.

----- BASIC program -----------------------------------------
10 CLS :ON ERROR GOTO 260
20 Z=PEEK &78B8*256+PEEK &78B9+1
30 A=STATUS 2:POKE A,&58,&38,&5A,&C5,&BE,&ED,&95,&81,3,&51,&9E,8,&5C,&3C,&91,&C,&89,4
40 POKE A+18,&5E,&22,&91,&12,&9A
50 CALL STATUS 2,Z
60 WAIT 0:PRINT "ATTENDEZ UN MOMENT"
70 A=0:FOR I=&38C5TO &3C21:A=A+PEEK I:NEXT I
80 WAIT :IF A<>108580BEEP 5,255:PRINT "ERREUR DANS LES DONNEES":END
90 PRINT "PROGRAMME PRET":END
100 "J"WAIT 99
110 IF PEEK &3C20<>&F8PRINT "ERREUR":END
120 A=0:CALL &38C5,A
130 WAIT 99:PRINT "SCORE =";A
140 WAIT :PRINT :END
260 "48774A506A9BB5FF41880348784AFAB50341B5FF41B5004141CCFBDDB903AE78FB68203838
270 "A42ABEE66BCCFBD56A04D98803483B4AE1FDCA58775A776A1F45BB80516C35830DFD98B52D
280 "121A4645BD7F1EFD1A881748014A77CAF04A96CAF2CAF448004AFFCAE2CAE4CDA6C942CCF0
290 "FD5ABEE42C831C48014A00B741830FB712810D480040B71683024AFF8E0248FFBE3B09833A
300 "BF038B0AEF78FAFF892CCCFCFB9ACAF8B52E121A9458771F8B24BDFF191ECCFC44CAFC5AA5
310 "6A1F5D7F8913548807B5F0FDCACAFC9EB768509EA9CCF0CAF8CCF0BE3BD9CCF8CAF0BE3BD3
320 "6800BE39CF6801BE39CFBE3AF9CCFBDDD5D9DD2AB50C202A6800CDACCCF0BE3BD9BE3AF968
330 "006A02CDAC9EA148784AF258785AE8A4AE78D9D9FDCAF5F54AE2FDCAF5F5CCE8FD5ACCEABE
340 "3B098102B5FFAE78D0CAD3CCE8FD5ACCEA4E008B0904BDFFDD084A008E04840A4800CAECBE
350 "3B098102B5FFAE78D1CAD5CCE8FD5ACCEA4E008B0604084A008E0784BDFFDD0A4800CAEEBE
360 "3B098102B5FFAE78D2CAD7A578D928ED78D0808B27ED78D1808B0AED78D280C9E4B5028E08
370 "ED78D2808B04B5018E26CCD5FD5ACCD7BE3B46930F9E1BED78D1808B15ED78D280890BCCD3
380 "FD5ACCD7BE3B469119B5008E2FCCD3FD5ACCD5BE3B46ED78D2808B069315B5018E1ACCD7FD
390 "5A8309CCD5BE3B4691118E09CCD3BE3B46B5008102B50248784AD0FDCAD94D048B05FD0ABA
400 "395D58785AFEF54AEAFDCA2A5AE2A4D9FDDAF5F55AF2FDDA4AD324FDCAF5F556565508550A
410 "BE3BD3CCE8BE3BD99A48744A0058775A506A9B55CD8888059AF904121A944C008B0C4C0189
420 "04D581049AD9C3E41868006A0248784AF04596890405168B01F9A4DB2844880F6C008B05A4
430 "FD18F99AFD18BE3BC6910C9AFD88BE3B77FD1AFD88BE3B77FD1A849689020416FDAA2AFDA8
440 "BEF5DDFD2AA4D9D9D9B325A77B04810424BD012A24FDEC9AFDA8CCF0BE3BB52A94BE3BB5FB
450 "208303BDFFDD18042A14FB208303BDFFDD1AFD98941A2A58006800CD5004FD1AFDC8580068
460 "00142ACD50FD8AFDCAFD2A9AFDA828B5406A07A68B03D5880624FD2A9AFD88844877F90F8B
470 "01FBFD0A9A8448770B0E9A84BDFF4877090E9A003636300B6B68023A3A002D2D202A0A3A00
480 "7777405A5A022E2E203636006E60003602282E200A5A003A006F48585E103626002E202A28
490 "03594D6D600E2802F800"

