Roto_19811209 Roto 19811209

User Manual: Pdf roto_19811209

Open the PDF directly: View PDF PDF.
Page Count: 55

DownloadRoto_19811209 Roto 19811209
Open PDF In BrowserView PDF
,.,..;.:'1: I 'E! ;~~:j,;i.S, ,
,r-,,~
• " " '"

'~f,l.LI<;;:::

'~~~:
:," I,:', ':,' .'~ ~'

I

",0,.

'.

.

.,',0: (.OAME PARAl"iETEF= PFdBl"1

, :2: 1:4; C=
, :311:3 C:",

)

( PLAYEI~··-RE:VEALER-HI~,I~3TAI:3E MAX TIMEB/~SE

COAST~,nNE ( Cq?)ST 3:NTO nEST CHAMeEF~
H"··P ..·l) ( HOSTAGE TO PLAYER DlS:T(~NCE

Tl-W~ESHOL.D

)
4: 1.2 c~, H-H~'D ( HOSTAGE TO'HCISTAl3t:::: DI:;'~TANCE )'
~i: IE: C= ONnJPL.MT ( WITH I N ::;;F;/!:iC I N13 )
,
6138 C='MAXASSM , MAX ASSI~JLATION DISTANCE)
'7:
,
:3 I '7 c= NCOL~~; 5, .C= NROl,oJS
9:NCOLS NROWS
C~ NNODES
10 I '
,
'1113 C= START-COL G t= STOP-COL
12: 80 C= RP--Y"O C= ST-~ 62 C= ST ..-Y
131--'->

*

14:
15:

,

)

"
)

FILE ".. : T!:::T
. BU::::::::
()
01 ( Tf:::!:3T :::::1"'\ rf Tel DUI"1,F'
1lHEX V= VERBADR

NEtH OVE:CTCI!=\

!~;TI.JFF

2lSUBR NEWINTR B LDAX, B IN~. A L MOV. B LDAX. B INX. A H MOV.
8lVERBADR SHLD, PCHL.
4: CODE ZAl"II'1ER NE\.J:I. N1R V LX I X NExr
1

~5

:

~

U::;;(.·H l

'~MI"!ER

t.:.IDECIMAL ;8
7 ::: "In C:F:: ,," C>:= " D1JP I\IC)WC OVB~~ "
G : " ". R:::::
DI..!P I\IC11tJR OVB@ "
':;;' : " "
[1;:::: II [lUP NOt-·J[! OVB@ "
to: . II D I !~;:::" " DUP [IT !::;;T r:~j\.ICE OV@ H"
j :I I,,"
[lD="" DUF' DE:L.TAnH~T OV(i~ H.
1::2 I " "
1"1{·~;.m:;;;:" DUf:' M?~XD I ST CNB(?: 1"1,,
11

:I.:::::,,'"

)(:::::

14: ,,"

V:':" .VY 0\)/11: H.

j:5: -_._>

II

Dl.JP VX 'CN@ H.
cr~

;

F~ILE:::.
BI.Y::~

VE

....

0·

o i ( VEe', OF~ .F I El"DS .) •. ': ~HI·OGGBI.JG " (. VI..: El'>icnl" l:;! -- c>-' VU::NCfr H )
t"·
, . t~ -."
l
V LE."'1'il..~
-, . ,,,1.d r.:.':;1-...:=-=" ]... I"I'T·
.1 '''.
-. ( ..'j'I\I'[
I'l· F-'I..... t'lI'
J\ "It
... r.h._
I
)
1 ,.Dt'.:.1
.... .l.1"1.-,\L
'
r~ I"~L
"", ...[ 1\1'
I 1" f...
I~ . ..,...
I r"l..
. ...t.::,
J 1..:

2INC= NOWR NC= NOWC ( CURRENT ROW AND COLUMN )
3INC= NOWD ( CURRENT DIRECTION)
4:< NC= NXTR Ne- NXTC ) ( NEXT ROW ..A~D COLUMN)
~i 1 ( GUSTOI"I VECTon F

BU:::::.-::
1.
0: ( !VIOHE ·GtISTCUVI VE:CTon F I E:l.,D:::; )

l:NC=
2:NC=
3INC=
4:NC=

CUSVEC 1+ ( CUSTOM VECTOR ROUTINE ADDHESS )
MYTYPE ( VECTOR TYPE INDICATOR)
MYFLAG ( BUILD IN NEATO FLAG) NC= FLAGCODE
MYFAGE 1+ (WHAT I LOOK LIKE IN THE OPEN)
5:NC~ VCOR 1.+ ( MY COROUTINE CELL)
bING= BEHIND 1+ ( FELLOW BEHIND ME )
7INC= AHEAD 1+ ( FELLOW AHEAD OF ME )
I:;;: I NC= VT ::::;FI. _P,G
';;:, i 1"'-- C= !"ILENCin·!
1 0 i ML.f::::NOTH SC:::: l·jO::~;!:;;V Ne>::: P,S:;:::M::;:;V
\

:l. 1 : NC::::~ V J. F

BI...I<':::'
0: ( MonE UNIQUE VECTOR STUFF

l/MLENGTH AHEAD C= MYSLAVE
2:SC= FNDPTR FNDPTR C= TRACKPTH 1+
3lBEHIND C= MYBOSS
4 INC:,::: FF:()NT I E:F~
~:NC=

NC~

TREECK 1+

j-l-

VISMAT NCOLS + C= TREES

IS: oL::;c:," TPL NC::::., TPH NC>= TC 1\1(:=::: TH NC:::: TD
7 I TEL.. NI'·IOD[-:'5
(::c.:: -r[IEF'TH 70 C= :::;:UHPI....U::::
!:::: : TDEF'TH THEE::::; + SUF;l'F'U.J:;:;; +
9 I j, + C:::.: I"IONLEN

*

:1.

+ C>:= ·TE1.

0: HLENGTH (:::::: PLEI',IGTH ( PLAYER:::;; VEe-fOP L..EN!:3'rH
11lPLENGTH C= HVLENGTH ( REVEALERS LENGTH)
j21 ( BITS AND CODES)
13: ( VECTOR"TYPES )
14:0 SC= T-TYP NC= H-TYP Ne- M-TYP C~ K-TYP
j

:I. ~:j I _.. ,_.)-

FILE ::::; \IE

BU<:::::

::;r

0: ( HOSTAGE AND PLAYEH. STATE VARIABLES' ),"
l'( THE HOSTAGE STATE VARIABLE)
2 0 BC:::: HSFREE ( HOSTAGE FREE )
3 Ne:::: HSATP ( HOSTAGE ATTACHED TO PLAYER )
4 Ne= HSATM ( HOStAGE ATTACHED TO MONSTER )
5 NCn,HSLPF DROP ( HOSTAGE LEAVING~PLAYFIElD
(:. ( ASSIMILATION 'STATE: .vARIABLE )
7 0 Be:::: ABNOT ( NOT·ASSIMILATED ),
8 Ne::::: ASSIM DROP (FULLY ASSIMILATED )
9 ( PLAYERS ASSIMILATION STATE VARIABL~
10 0 se:::: A~=;COOl.. ( PLAYER IS SPIFFY )

.

11.I\IC::: AStlNTOP DROP ( PLAYEr~ '(8 ON TOP OF HOSTAGE~::;
:1.:3 :
141
:l5 :

BLI<::::-

4

0'< VECTOR STUFr )

:l.IXC? NOT IFTRUE VPTR @ HEX FFFO V~rR
IFEND (STKD
2 : F xc',? NOT I FTRUF VPTH (it: H" VPTR

I? : [lEe: I MAL_ .....".. ~:10:
1.1. I
'

1::;:1 :
l ·..::.·. I
...
(

1,4 :
.. 1 ~51

IFEND

'.

~,

..

'"\

'"

'FILE::::: YE
'BLK::::;

. Ole

:.'.

(;;.

.TREASUR~

VEtTORS

:I. .:
2 II~AMM',iRK

ML.ENGTH .BI:~::::: TI::;:SV 1
BR= TRSV2 MLENGTH BR~
4/MLENGTH Bf~::::: TRSVJ.I.
5/RAMLEN C= TRSVL, VARHERE C= TRSVS
6lMLENGTH C= TR$VBY1ES
7tJ.l. c~ TOTAL-JEWELS '
:3 I MLENGTH

f): ._ ..... ).

10:

11:
3,2:
1 :::;: I
14·:
:l ::5 I
BL.K:::::

7

Ol( HOSTAGE VECTORS)
11RAMMARK HLENGTH BR= HOSVl
: ;: / !-·ILENGTH BR= HOHV2 HLE'NcrrH Bf~:::: ,,-I (I S V:::;:
31HLENGTH BR= HOSVJ.I.
41RAMLEN C= HOSVL VARHERE C:::::"HOSVS
5/HLENGTH C= HOSVBYTES
(:. 14 C= TOTAL -+-IOSTf.!}GES
71 TABL.E:: HO~:::;TAB 1·-IOSVl " HO!:W2 • HO!:::;V:::;: ., HOSV4 .,
**..****-11. )
10lHOSV4 Cd TE~~M

. ';,} I (

lo l 1_._>
~ ~'. If
J.":;,

BLK:::
:~:::
Ol( MORE NEAT VECTOR STUFF)
lot: ZAP~VECT 0 MONVJ.I. BKGV MONV4 - BKVL
210 HOSV4 TRSVl HOSV4 - MLENGTH + FILL
:31-....·>

41

I·~

::

I
I

:101

11:
12':

~

FILL

(>

,

,

F1LE ::: Vf.::
;
Bll<==
9
(l I ( SPEC I AI.. VECTO~ 13ETTER8 AND~F'UTTER!3 ),
:L leODE PU!:::I-HCCR 0 H MVl. H D MOV. Y ,F'lJSHX, v~.ddr- Llyn,
:;;:: 1 !\lowe y. L. L,DX. NOWH Y F.. L.nx, y' POP)(
1
H PUSH 1 ! D PUSH 1 NEXT
.
;',

0';:' f
....'1

41CODE PUSHH.~CF'm 0 H tWI, H D MOW.' Y PUSHX. v03.ddr- L.IYD,
51NOWC Y L LDX, NOWR Y E LDX, NOWnV ALDX,
61V POPX, H PUSH. D PUSH. A E MOV~,D' PUS~. NEXT
71
::::: CODE CCIGO
(exchase Be: (!.Ii th VCOR )
9: vaddr- LHLD, VI::O'R D LXI. D D{\D.
101 M A Mdv. C M MOV. A C MOV,'H INX.
11: M A MOV, B M MOV. A B MOV. NEXT
121= SET CO 1+ veOR V!
13~

15: -",.>

· FILE ::::: VA
'EIU<::::i
0
(11< G(:)1"1 E: CONTROL..

P('~HAI'1F"rEHS

1 : B V:::= I',H:)H F< I:~ I!~ 1<
2: V"::: TnA!::::HFI3iG

J:V= GAME-OVER V= GAMED
4: V::::: !\IPLAYERS V:"" F'LAYF:RUP

:5: V:::= 1: NIT If..'L -·L:r. Vc:::::;
6: V= HF:lviA 11\1 I 1\lei""· I... J VE!:;:
'7 : V::::: PL.(.WERVELO ( PUWEn' VEL. OC I TY
:;::: : [IV:::: FREE ZEFI..(.~G ( PL.AYER I"IOT I ON FF:EF:: D::: FI.J·)13 )
91ev= SMARTS ( MONSTER SMAHTNESS FACTOR)
IblV= MONSTEHCO~~T ( # OF MONSTERS FLOATING AROUND
1. :I. : BV:": B(4NC B"::::: D{~NP ( F'O I NT OF' B(.!lN I !::::!'!I""IEi\l'r F'OF;: 1"1I)1\1!;:::TEF( )
121BV= IBNC BV= JBNR ( POINT OF INITIAL RETURN FOH MONSTER)
13:8V= PLAYERSTATE ( PLAYER STATE VARIABLE ).
14 : 0 SC:::: r::t.... EJ1 NC:::: PL.. I C Ne::::: PL.l"I'..) Ne:::::: P~.DC)A N(>= F'U';:::::C: DmJF'

15:-->

\

:BI..J<:::::

:!.

0: ( MORE VARIABLES )
IIV= TOTAL-CONNECTS V= OLD-CONNEc·rs
2: \h:c: TOT{\L .... F
i"·) i
,I•• ~:.. 1,

:I.:::;: ;
1 £~ :
1 ~5 :

DL!<:::::
::;::
0: ( FREEZE AND UNFREEZE ROUTINES)
l:SUBR FREEZE FREEZEFLAG H LXI. M INR. RET.
2:SUBR FREEZE? FREEZEFLAG LDA, A ANA. RET.
3:CODE FREEZETH FREEZE CALL. NEXT
4: CODE
:':i: NEXT

10:
:I. :I. :

:1.:::::: .

:1.<:::' :
14:
:l.!;::i:

UI\IFF~EF.::lE

FF:EJ::ZEFL.ACi 1..·1 L.X I,

1'"1 DCFL

()<'~')

IF·.,

0 I"i r'1'v' J

'1

•

THE::!\I·}

',,,

FILE = D1
ElU<-:;: '

"

,~

.

".'

(>

NEt·,i Si]UARr:: ROOT F~OUT r NE ).
11(== sqr·\:"·1
21 S~U.BR SlOJr't <'ASf.:f:::!"IBI...F.

(J: (

,

I>

, '~

:::::11 PI l'iJVI, :I.·,l~ l"XI·, .L D LXI·,
41LABEL .9~tl A ANA, D Dsse. RZ, Re. D DAD, B INX. B INX.
XCHCi, '$.<::rr·t:·! :..,)~IPR. AS::~EMBLE)

5:1 XCH!3, B DAD. A INR.

.

b 1-_ .. _>
71

,

'

.-.
1::1

10
11

:i4:
t!::;i ,l'

131...,1<:::::

1

0: ( 16 BIT INTEGER DIVIDE
.1, : FORl,.U~HD

"ZEI:~O

ROUTrNE~

M N UNI

Q

R ) DECIMAL

FORt·,lAnD T.DV!50 FOHI,JARD ,'1D\)60

ZIFORWARD IDVIO FORWARD IDV20 FORWARD IDV30 FORWARD InV40
31SUBR unsdiv  c: H(.:1LJ~ > F\(~L. H D(4DC. D, DSF.lC
/::. I L(..~m'::L 1 DV20 CMC:. I DV::50 ,...I r-:U'"IC •
7 : LABEL nw::~o I D~Jl (l D~,IN Z ., .r DV60 .Jr1PR" "
'J

0

:;::! : LADEI.... I DV40 C I;~ALR
F.;Al...,
';>' I I DV:::::O ....lHC, I D''';:;;:~O ..In z ,
OJ

lo:L,,{HJEL

IDV~::;O

IDV40

•

[1 ....11\17.:.

1. :t I U4BEL :£ :OV60 C H(.~I...I;:"

HAL."

H DAile, !~ ANA., D Dl~DC,

,

D DAD, A I~NA>

( l'1AKE IT r::'OS

A D l"IOV .:C E 1'101.),

12lLABEL .ZERO RET. ASSEMBLE>

1 : :.: : :=:;UDR UN~m I v

F·U~:::H·, D D!;;;BC, CY 1 I r-', I.) D L XI, 1--1 pop·,
141H POP. l.lrtsdi'l C{'K.L,· THEN·, m:::T, CODE UI\I/ EXX·, I:t pop,
..··'0"1·\'
t'·II
..··11
1"J F·ll·-·I.t
I~-XX :' N~'Xl"
I11-·
. ·'IMI'I
•·1"""11'
",.I} ... \02.::''1:
• T 1.."';'\11
•• ("'1 .... '~ II
" , r'
'" ~.:,
"',
",I. ~:~"'r" "J 'r.::.
':::.
. ::.1.....
f"4" .., ......"....:.

I, j

E:u::;r::

7

H pelF'.

't

BLK:::;:
:2:
0: ( CCII"IP!JTE DELlA ron :I. COOHDINATE -- CLE:~)I~ VECTOF{

1:< FIRST A NEGATION SUBROUTINE)
2lSUBR CMPHL HA MOV, CMA, A H MOV, L A,MOV. CMA, A L MOV. H INX,
3IRET,
4: (. IN~ 1..,H_::::'TAfi:OET·, nE:::::TII"IE, BC:::::~:HART )
51SUBR CDELTA.B PUSH. A ANA. B osec. CY-, IF" lJNSDIV CALL,
/,,-.1 F:t.LSE. Cl"iPHL C(.4U.... !.JNS!):r v CALL •. CMPHLCALL. XC:HG. '. eMF-HL C?~L.L·J '
7IXCHG, THEN~ B POP. B DAD, RET.
!~:

1Df:::C: I "'tAl.... . ........ :::.

91
0I
111
:l:21
j

141
l~i

:

IU:::
EILI<:::::

DI

.

.::

••••J

0: ( . HOl..rr I hiE Tel VECT OH BEHJEEI\I C:UHnENT'
lilN TIME GIVEN IN VECTOR)
'2:COOE A->DEST/TIME B PUSH. Y PUSHX.

F'O:::; I T r ON

('~N:O

m::::;n

:::~:va.ddr- L.J:YD,
4: \,lXI·,,1 Y B LDX. VX Y c: LDX·, VDE::::nXH Y 1",1 LDX. VDE::::;TX v L. L.DX,
~~i: TTH"1Em1 Y D L.DX" TTH1EI\ "1 E L.DX. D PU:::;I·-j, CDEL.T{1 CPiL.L.·,
6:H VXH Y Sl·X. L VX Y STX, D VDXH Y STX, E VOX Y STX.
7: VVH v f.l LDX, VV Y C LDX·, V[II:::ST'yTi Y H L.OX. VDESTY Y L. LDX •.
8iO POP~ CDEL1'A CALL.
';;:!: j.,,! VVH Y !:;:;·rx·, I. VY Y :~;;TX·, 0 VDYH Y !::::TX, E VDY v !;::;TX.

10lV POPX, B POP. NEXT
f j : DE::C: J I"1AL _. -".:>
'l·'·:ll
,~

,.t; .. I

j,:3 :

:1.41
1. ~j :

FIL.E = "WI
0

;81.... 1<=

ole MESH PARAMETERS)  --).,

COMP:Y SWAP COMP=X SWAP

:[51

Bl.I<::-.:

1

01 ( MESH MATRIX GOODI~S )
1:0 SC= NODX NC= NODXH
2: NC:::: NODY NC:::: NODYH NC= NBX
:~.;: I NC-= MPLO 7 +
4INC=,NDXO 7 +
5INC:::: NDYO "7 +
61NC= CONFLG NC= #CON
7INC= DRAWFLG NC= DRAWMSK
l~: I NC= ) TREASURr0; j +
9 11-1" C:::: NODSIZ

,10INOD8IZ NNODES
11:NODEMAT~SIZE

':1. +

!\Ie= NBY :/, +

* C= NODEMAT:SIZE
BA= NODE MAT --)

:1.21
1. ~3 :
:1.4 :
l~i

I

BLI<=

:2

ol

( NODE

~5

I\lCfr)~;JZ

z{'WII"IERS
11( SUBR node A D= ROW E= COL C= DISP, OUT HL= A )
2:F~ NA 1 F= NA2 SUBR node A (ASSEMBLE D PUSH, B PUSH,
aID B MOV, B INR, 'NeOLS MINUS A MVI.
4 LABEL NA1 NeOLS ADI. NA1 DJNZ, E ADD, A iNR. A B MOV:
JVIINtl~:;

~'I

L.XI·)

N()[f~3IZ

[I

LX]:,

L_ABEL. N-'--2 D DAD, W---;;:: D,JNZ, B DAD, 0 I\!fH.:Il;::ivIAT 1:3 LXI, 13 DAD,
7 B pop, D POP, RET, ASSEMBLE>
E: CODE NODE"-' EXX, t.o{ POP. H pop, D POP, L D ~"IOV. rrot:I~:!"-' CALL,
9 H PUSH. EXX. NEXT
10 :::;:UBR r(l:tdi'~d'-"- nQdi~"" CALL, D PU:;::H, MPL,(l D L.XI, D DAD. D POP. f:;:ET.
11,·--..->
6

1:31
:1.41
, , 1 ~5 :

FlU;:: .: NM

f;lLK::;:

.-..:;;.

O}( TESTtREL AND MDVE:NODE )
11( D=ROW,E~COL.C~REL
COL ROW REL TEST:REL
DIST )
2/:3UBR test:r'el c: A MOV;' ,MPLO ADJ. A C MOV, neod",,/" C:ALL..
~a

: M (.) l'1eN. HET,

4:CODE TEST:REL EXX, B POP. H POP, 0 POP. L D MOV. test~rel CALL.
!:;i I A L. MOV, I) H MVI, H PUSH. EXX, NEXT
6: ( MOVE:NODE TArn_ES )
"11 DATA ~-::tb 1 -1, B. I) B. j, B. -1. B, 1. B. -:1. B·) 0 B. 1, 8'1
alDATA ytbl 1" B. 1 B. 1 B. 0 B.' 0 B, '-1 B. -,I B. --1 B.
91SUBR moverneode B PUSH. ( C~DIR. 'D=ROW,E~COL )
1010B MVI. vtbl, H LXI. B DAD. M A MOV. 0 ADD. A D MOV.
11lxtbl H LXI, BDAD. M A MOV, E ADD. A E MOV. B pop, RET.
121CODE MOVE=NODE EXX. B POP. H PDP, D POP. L D MOV.
j.:~::mov(?:nod\\1' CALL. D L MOV, 0 D MVI. D H MOV.
141D PUSH. H PUSH. EXX. NEXT
15: ----)
BLI{=
4
0: ( STIJFF )
1/= NODE! NODE A ! ;
21: NODE@ NODEA @ ;
3:~ NODEB@ NODEA B@
4 :: CLEAF< = NODEt4 1AT 0 0 !\!ClDEMAT

C;
.'

NODE MAT :: S I ZE FILL.

I
I

to:
11.1

1 ::~ :
14 :
15:
BLK=
<): (

:5'
E!:.rrVf.ltLD r F~

ifF::::- [VOL
: SUBR e s tva,l d i r' 

':101
.1.1:
12:
1::3 1

1.4:

t ~51

· FtLE. ~ .VC'.
BLk~·i.'

Ci

MORE STUFF )
1 :: REtiJlil\l:
IN 1: T r AL: PO!;:)! n: 01\1 I NTR VB@ NOI..Jf~ VB! 1 NTC 'VB(~ NO~JC VB!
' , , , '
2:~ SET=NEW:MCCR NOWR'VB! NOwe VB!
:3 j : SEn JNITIAU MCCR DUP H(JLL INTR CiVEt! INTC OVB! ~
4 I ( HUSI..·! TO m:::::T r !'urr I ON )
5 I II (.IN r. T l~t~m::T? r'U:::~H: ccn 1NTR VB~ :::: :::;;WAP I NTC VB(i!: ,.,., (..11\1D

'{,)1(

"

t.:.: ......_>

7:

:LO:
11l
1 ::;:~ I

1:::: r
14:
1 ~i I

~".

, 1:::-"(
l r;
f ." ... t:.'

"'-

C'l"'
•. ,'.,

" BL.k:=

0

C:OI'1PUTI::: DF:L,Hi~:::; FOF~ :;::;TOr<(.~r::iE HOtrr II'JE )
THIS ROUTINE C:OMPUTESDELTA"FO~ ONE CDORDINAT[
2:SUBR CDELl ( DE=R,C B:COORD PTR, C=DIR )
31B PUSH. D PUSH,

0: (
11 (

I~,:

D PI.J~~;~·I·,

c:

?i IV!OV, IVIF'LO (.iDI,

f..)

C I"ll)\/,

nod~""

CAU""

1"1 L, 1"10'.),

'5:0 H MVI. B POP. LA MOV" A ANA. 0<>, IF.
6tH PUSH, D PUSH. mov~~node CALL,

7:B C MCIV·., nod;::!"" (:(.·)1.:.1.... 1"1 E i'10V·, I,,' INX. 1"1 D 1~·IO\):. XCHC',
1;::I,XTI··IL.,. XC:I. -IG,. node·..·· C{4UL. 1"1 C: I"IOV-, H'INX·, IVI B I"IO',j·,
91H POP. ( TARGET ) D POP. ( TIME) CDELTA CALL. E A MUV,
10ITHEN. D POP. B PUP. A B MOV, RET.

':1.1. : -....-:>

1,:::;: :,
141
:I. :;i :

BU:::::::

:l.
0: ( :::::1:::-1' DE1.T('~:~:; F(:Jn

[o:rn. 1 C:OOfUHNf.YTES

FIJP (~ OIVEN P{iTH

)

CUE.!...:!. [:(..'II •. L.·, 0 PU:3H, C A IV/O'v'. N[!XO (.:1D1, P. C:
31node A CALL. B M MOV. B POP. NBY B MVI. CDEL.l CALL.
4la PUSH. C A MOV. NDVO ADI. A C MOV.
51node A CALL. B M MOV. B POP. RET.

21 N[:X [: 1"1 V I .,

t·'IC)\}:.

•

7'
, ,

:1.0:
1:1.:

12:
:l. -~l :
1. ~5 :

BL.l<>'"

:?
01 ( CCIl"IPI..nE~
1 i r';":: t·1(~~:::I::L.P

DEL."U~::::;

FUn I.JI..-j(JI... E Iv!?HHI X .

2:CODE MAKEDEL.TS 

9:= FIXVGER NCOLS 0 DO NROWS 0 DO
. :to 1..,1 I NODX 1\IODI:~@ X('~D.J ,..I 1. NBX NODE:
11:J I NODY NODE@ YADJ J I
:12 1 ~ 1"'1[1 F I X VC;'EF;;: t'l (,:\1< E DE I. . TS ~
14, :

t

~5

:

NBY NODE! LOOP LOOP

FILE ~. VR . ,
BU(=.O

o r ( HOPPf::D

I...IP

1:::1

aI T

MF'Y ROUl:r NE

)

1: ('THIS ROUTINE l!;:; USED TO MUL.TIPLY· DELTA ElY D!!::;T~!'It:e:
21 ( ADDING HESUI...'f TO I'I'HTIAL DH:;P )
:::~ I ( HL.:::: INITH\L DISP. DE:::·: DEL.TA, A-::.: DHH )
4 : SUBH HOTMPY Fmc, CY? 1 F. D DAD, THEN, E SLAR. [t RALR,
!::i I H!:;:C. CY, IF, D Df~D, THE!'!. E Sl..AR. D RAL.F<,
6IRRC. CY, IF. D DAD. THEN. E SLAR, 0 RALR.
'7: F·mc, C:Y. IF. D DAD, THEN. E su·m. D RA.U:;:,
SIRRC. CY, IF. 0 nAD. THEN. E SLAR. 0 RALR.
9:RRC, CY, IF. D DAD, THEN. E SLAR. D RALR,'
·16:RRC, CY, IF. D· DAD. THEN. E SLAR. D RALR,
11 Il:;:RC. CY.· IF. D DAD, THEN, RET.

12/SUBR SQUARE BABS CALL. A E MOVi 0 0 MVI .• 0 H LXI.
t :::;: : l. ·IOTMPY •.JMPR.
j,il·:

---:>

DU(:::

1

(I: (

C{~LCUL.(.nE

x Y PI)::::ITICIN OF oa.JECr

1. I ( DELTA~::; )
21·SUBR CALCXY· 0 C

FF~Olvl

[)l::;;TANCE,.

BASE.• '

AND

~1VI,

3/NOWR Y A LOX, MEMR Y CMPX. 0(>. IF, C INR. A MEMR Y STX. THEN,
41NOWC Y A LDX, MEMC Y CMPX. 0<>. IF. C INR, A MEMC Y STX, THEN,

51NOWD Y A LDX. MEMD Y CMPX. 0<>, IF. C JNR. A MEMD Y STX. THEN.
blDISTANCE 1+ Y A LDX. A B MOV, MEMDIST Y CMPX~ 0<>. IF.
7:C INR. A MEMDIST Y STX. THEN,
S:C A·MOV. A ANA, 0=. IF.
91VX Y E LOX. VX 1+ Y 0 LOX.
101VY Y L LDX. VY 1+ Y H LDX,
1:1 : RET.

121THEN. VBSUPOATE VlOGICSTAT Y SETX,
14:
:1.51
BU<=

2

0: ( MORE CUT[ C'·)LC:I.JLAT IONS )
liE! A MOV.
:;;~:BA~:;EX'Y L. LDX. B~~!=;EX 1+ Y H L.. DX. DF'::L.TAX Y E L.DX·,
31DEL~AX 1+ Y D LDX. HOTMPY CALL. L VX Y STX. H VX 1+ Y STX.'
4: H PU~3H.
5! BASEY Y L
blDELTAY j,+
7: D PC~P.
BIRET.
,S~':

': 1.0:

.1.:1.:
t~:

:

'1~:

..... _).

L.DX. BASEY 1 + Y H L[)X. DEI... H-W Y E LDX.
Y D LDX •. HOlMPY CALL •. L VY Y STX, H VY

~+

Y STX,

F::tL:E-

=VR

BLK::::.3
Ol( SET SASE POSITrON ).
11 ( IN DE=ROW.COL )
21SUBR SETBASEPOS B PUSH, D·PUSH.
31NBX C MVI. node A CALL, M E MOV, H INx, M D MOV, H INX,
41M C MOV. H INX, M B MOV.
51E BA~=;EX Y S·-r:X. D BASEX' 11- Y ~:HX.J'
blE VX Y STX, D VX 1+ Y·STX.
'.
71 C BASEY Y STX.
B BA!::;EY l-t· Y .STX.
,
:::: C: Vy y ~:rrx, B VY :1.'-1'" y ~3"X 'J
91D POP~ B POP. RET.
10lSUBR F~EEZEBASE A XRA •.
lilA DISTANCE Y STX. A DISTANCE 1+ Y
1.21 ( A 'At::CDIST YSTX. ?\ AC:CIn~:;T 1+ Y ST~,
:l~:'::A DELTAtnsr Y STX. A DELTADI:::rr to!- Y STX.

srx.

RET.

1.4: ....... )0

BU<::::
0: (

4

RC)UTINE

TO ESTABI.... ISH NEW BA!3E: PO!:HTIONS AND
1: ( FIRST A SION F(OUT [!\IE )

2:SUBR
~3 I SUBI=<

SGNA A ANA.
NEI,.JF'ATI-I

4 : NOl.Jr.::: Y D LDX,

0 A MVI.'

RP.

A

DF.'L.T?~S

)

DCR, RET.

NOI"JC Y E LDX,

5: SETBA=;::;EPOS CAL.L.. NOI;.JD Y A LDX. t1Pl.O ADt. A C MOV.
M A IvlCW', A MAXDrST Y STX. :3 D I_XI. D D?\D,

61 rH:,de····· CALL.,

71M A MOV. A DELTA X Y STX. SGNA CALL. A DELTA X 1~ Y STX.
SID bAD. M A HOV. A DELTAY YSTX. SGNA CALL, A DELTAY 1+ Y Srl,
';:; I HET •
1,01-",->

u.:
12:
1,:,,::: :
l41
1 ~;i 1
BL~<=

fJB,.JEC:T TO ARR I VE AT A NEIAI
1lSUDR ARRIVE 01.
21NOWR Y D LOX. NOWC Y E LDX, NOWD Y C LDX.
3lmove:node CALL. D NOWR Y STX. E NOWC V·8TX.
4 I SEtBAf::EPOS CAL.I... FREEZEBASE CALL. .'
SIRET.

() I ( Hf.JUT 1 Nt:: TO CAI•.I!;:;E

/:.. ; .......... :~.

::

91
1(11
111

1.2:
1 ~3 :
l,i+ :

:1.51

P()::::;:r. T ION

FIut= VH·
Bl.I<::::, .'.

. (;;.

o 1 ( D V::;T?\NCE PH(.1t!;::;E {H::(:UMl,ILP,TOF: ).
1: ( DI:3TANCE H('~$,; BOTH nEL.T~~ {~ND {~CCEI...EF~ATI0N
::::~ l ( I N A:: T I IvIEBPI~:;[ TO U:3E )
.'
3:SUBR DISTPA TBDEST TCHGSTAT Y BITX. RNl.
41DI$tANCE Y L LDX. DISTANCE 1+ Y H LDX.
5lDELTADIST Y E LDX. DELTADIST 1+ Y D lDX.
6:( ACCDIST Y C LDX. ACCDIST 1+ V B LDX. )
7IBECiIN, D D(.~ID. ( XCI·-lCi. D DAD. XCHCi. ) (.) DGF~, 0==. END.
8J ( IF BEYOND MAX DISTANCE, SET AT MAx DISTANCE AND FLAG
91MAXDIST Y A LDX, A ANA. 0<>. IF, H A MOV. MAXDIST Y CMPX •.
:l.O:CY~·'. ·IF. TDm::ST TC:HCiSTAT V :3ETX, t"l(')XDH:;T Y H LDX·, 0 L. I"IVI.
11ITHEN. THEN,E DELTADIST Y STX. D DELTADIST t+ Y STX.
121L DJ::rrf~NCE V !:;;TX·, H Dl:::::TANCE ·1-1.. Y :;:;TX.
:l :;~ : r~ET •
1.4: "........ :;:.
:L ~:i 1

BLf::::,,:

'7

DISTANCE VECTORING ROUTINE AND VGER VERBS .j
1:5 C~ TB-DVECT ( TVMROPT2 BIT TO ACTIVATE DISTANCE VECTORING)
2:SUBR DISTVECT PSW.PUSH. BPUSH.
3:B A MOV. DISTPA CALL,
41CALCXY CALL. B POP. PSW POP. RET.
!5 i !::;UBH NEl'J(·)EtT ·f'B··-DVECT TVi"IROPT2 ''1 BI TX, v{:! c t ..JZ·,
(::.IH F'I...ISH·. C:l,J!:;::VE::C Y L. LDX·, CUSVEC l+ Y H L.DX. XTHL·, HFf·,
"1 : XC'? NOT I FTI:;;:I..!E:
a:HEX NEWVECT 89D9
8956) U~ DECIMAL ( ******* STUFF IN I_INK)
'): IFEND .
IO:CODE DVECT-OFF Y PUSHX, vaddr LIVD, TB-DVECT TVMROPT2 V RESX.
lliV POPX, NEXT
12:CODE DVECT-ON Y PUSHX. vaddr LIVD,
131DISTVECT H LXI. I... CUSVEC V STX, H CUSVEC t+ Y STX.
14:TB-DVECT TVMROPT2 Y SETX. V POPX. NEXT
01 (

1. ~i:

.... -.. :>

CODE FOR TASKS TO INTERFACE TO NEW GOODJES
ESTPOS 01·, 1:3 F'I..l::;::!-h Y PI.,I:3HX, \f.;lddl"· Llyn.
:;::: I NOI,JC: Y r:: I...DX. NOhIF;: Y D L. DX,

Ol(

:!. : COI)[:::

:3 : !:::;E"rBI~::::,EPO::::; . t{~u . . 1 .

CALL.
'51Y ~OPX.B POP. NEXT
61( TRAVEL AWAY FROM NODE)
,7 I C: ()D I::: DEPf';jI:;;:T~NonE DI, t.1 PU:3H. Y PU:::;1,1X.
4IFR~EZEBASE

C: : NEWptnl.. ·t

9:V POPX. 8 pop, NEX'r
10: ( ARRIVE NODE)
11 :CODE ARRIVE=NODE 01; B PUSH. Y PUSHX.
12: {~F\RIVF
. j:3: Y PCIF' X ,

\lia.ddr-

LI

(-::r.~LL..

C(.·~Il...L,

B POP ,NEXT

vaddr L.JVD.

FILE :::: NR
BUo(:::::
9'
""
.',
o ( REVERSE DIRECTION ROUTiNE, )

1 ~jUBR REVERSE: DI REeT I ON
2 NOWR Y D LDX; NOWC Y E LDX. NOWDY, C LDX.
3 move=node CALL" C A MOV, CMA.' 7 ANI,
~ D NOWR Y STX,E NOWC Y STX. A NOWD Y STX,
5, NEWF'ATH CALL., . M{~XDr:::;T Y H L.DX·, I) L. MVI.·
6:DISTANCE Y E LDX.DISTANC~ 1+ Y D LDX.
71A ANA. D DSBC. L DISTANCE Y STX, H DISTANCE 1+ Y STX.
:::: I F~ET,
9:CODE RUSH=SOURCE DI. B PUSH, Y PUSHX. vaddr I_IYD~
,lb:nISTANCE Y A L.DX. DHHANCE 1+ Y ORAX.O·::::>. IF.
:I. j, I F
I

t:: I

...,1,

FlLE

BLK::: '
·OJ (

WR

==

,0
SLEZF~2A

VMI~

.)

1 :H(~~X

SLEZR2A' ( does, pat offset and relabs )
( in- BC::: magi~/exp • HL= y • DE~ x • IX= pattern addr

21SUBR

31
41
5 :

1.:.1

7:
81
.~) I
10:
11:

121

( ..:out- HL.~.::: nellJ, vscr'adr' • C= new. vmagj.c )
i. 1'1 ve r' bn-? CALL.. L SLAF< 7 H RALJ~. L ~:::;LAI:;:, "-1
j,nv~?r·t? CAL.!"',

ru~u~.

(

*4 i= 0 r'

H PUSH. XCHG. 0 X D LDX. 0 E MVI. ( x offset)
D SRAR. E RARR. 0' SRAR, E RARR. ( 14 for x offset
MRFLOP C BIT. (le:·. IF. D DAD. EL!3E ,A ORA. D DSBC> THEN.
XTHL.· ( F'I.Jsh X"I-off. HL<'-Y ) 1 X D LDX. ,0 E MVI, ( y offs~!t
MRFLIP C BIT" 0<>. IF. D DAD. H Dex.
ELSE. A ORA. D DSBC. THEN.
D POP.

1:;:: I
141-"->

eu-=:::::

:1.

0: ( VMF.: )
j, :

( y f::a.n not get h~H'e '1 ar·E!,?r· then 25(:, )
H A MOV, 0 H MV1. A L MOV. H DAD. H DAD,

H DAD.
H DAD. D PUSH. L E MOV. H D MOV. H DAD. 1·-1 [l{.)[I.
'11,64)
D DAD. ( *80 ) XCHO. H POP. ( x »
L A MOV.
(SAVE BIT CNT ) H ~ MOV. 0 H MVI.d DAD, ( x+y
RLC. RLC. 3· ANI.
MRFLOP C BIT. '0<:>·, IF. NEG·, 0:::. IF, H DCX, THEN. THEN.
3 ANI, A E MOV. invert? CALL. C A MOV. FC ANI. E OBA,
':ilIA C MOV.
(HI..:::: screen addr'ess ) RET,

21

I
4:
51
61
71,
81
~:::

1() : [II:::C: 11"IAL _.. _.).
UI
/12 :

1.:::: :
141
151
EIL)<::::

2

O!( MY OWN EASY TO, USE WRITE ROUTINE)
, 1: BV=

INTEF~STAT

21CODE WRITEP A XRA. INTERSTAT STA. INTCPT IN.
31X PUSHX, D POP. EXX. X POPX. B POP, H POP. yadJ CALL. XTHL.
41xadJ CALL.. XCHG, H POP, ( HL= Y DE~ X )
51SLEZR2A CALL. X lNXX. X INXX. 0 X E LDX.·X INXX, 0 X D LDX.
f::..IX I·NXX. write CALI . . ; EXX,
7JINTCPT'IN, INTERSTAT STA.
8: D PU~;H, X POPX-, NEXT
91 tIECIi"IAL ........ >
:1.01
111

14.:

l5':

Y

)

FILE : : - SC.
8LK=·0
Ol( SCORING GOODIES
.1 I

2lRAMMARK SLENGTH R= P1SV RAMLEN.C= P1SL~VARHERE C~ P1SS
~:: / RAI'1MARK SLENGTH R= P:2:3V HAMLEN! c= P2SL. VARHERE C::: P2SS
412 A= P1SCR 2 A~ P2SCR
5/9 SA= AP1SCR ~ SA:::: AP2SCR
6:: C: S: V 0 PlSS P1Sl_ FILL 0 P2!:::S P2SL FILL ;
7/= CLEAR:SCORES 0 P1SCR ZERO 1 PJSCR ZERO
:3: (> P2,SCR ZERO :I. P2SCR ZERO C: s: V ;
91-'-)
101

111
1:;2 :
1~: :
1.4'1
15:

ElLK::::

:1.

01 ( TA!::;« 'TO DISPU~Y PLAYER ONE!:; SCORE
11= DISPP1SCR ; TASK:
2: (> pl.!::;a:::R @ :1. P1SCR @ 1 AP1SCR 7 BTN->ASt:

318 0 AP1SCR B! 48 1 AP1SCR B!
410 AP1SCR OSUPR

5 : ·-160 X! 99 Y!
6 I PLOP-ON

717 XPAI'iID!
810 AP1SCR PATTERN!
91 STRING ;
101

11/: BUMPP1~CR 0 P1SCR.~
121P1SV DISPP1SCR ;

j

P1SCR

@

ROT

0 D~

1 P1SCR

o P1.SCR

14: ....._>

BUo(:::
01 (
1::

TASK to DISPLAY PLA¥ER TWOS SCORE )

210 P2SCR'@ 1. P2SCR @ 1 AP2SCR 7 'riI~->ASC
318 0 AP2SCR B! 48 t n~2SCR B!
410 AP2SC~ OSUPR
5 : 96 X!' 99 Y!
61 PLOP-ON

7/7 XPA.ND!
810 AP2SCR PAT1ERN!
iii I STRING ,,;
1.01= BUMPP2SCR 0 P2SCR @ 1 P2SCR @ ROT 0 D+ 1 P2SCR ! 0 R2SCR
I1IP2$V D1SPP2SCR ;
121: INCSCORE PLAYERUP. @ IF BUMPP2SCR ELSE BUMPP1SCR THEN

)

·1~31·-->

. :1.4:
151

F:I LIS: :::::, ,:3C

BI-J<:::::

,:~:

'6.: (

TOGGLE: LIFE, DISPLAV REIVIAINJNG LIVES"
1:= ~HIS:LIFE REMAINING-LIVES B@ 1- ;
2:: ROTOPOS 16 * -148 + RP-Y
3:= TOGGLE:LI~E ROTOPOS
4:32 ROTY1 WRITEP
5:

j

'

7lREMAiNING-LIVES @ CUP IF
a/o DO I TOGGLE;LIFE LOOP
9lELSE DROP "HEN ;
10:

11:
'14:
1.!;:i:

AND BrrE [lU:::;;''!'" )

FILE : :;: NGM
. BL.I<"=
0
()., II ( N.EW
I"'CINI:~I.....,.~ ('-1"
!"'.!
II:::·!""I('t7F··
,..
"-....
....
•... ...,t;".
r .. t.:. \,

IN: DE=R.C B=O aUl: A= FLAG
1:0ATA CONCM 1 B. 0 B. 1 B. 0 B, 0 B, 6 e. 0 B. 6 e. '
H ••

2: ~3 B; 0 ·B·,

7" I). 0 B.

0 B·.

0 B.

0 H,

::2 B.

31SUBR CONFLICT? B PUSH. 0 B MVI. CONCM H LXI, B DAD.
4lM A MOV. A ANA. 0=. IF. B POP. RET. THEN.
.
S:D PU~H. H PUSH. A C MOV. move=node CA~L.
6/H POP. 8 B LXI, B DAD. M A MOV. MPLO ADI. A C MOV.
71node A CALL. M A MOV. D POP. B POP. RET.
S/CODE CONFLICT:CHECK EXX. B POP. H POP. D POP. L 0 MOV.
'::J/CONFL.ICT·'? C('~LL.. (.~ L. MOl..), 0 H M!JI. H PtJ:3H. EXX·, NEXT
lO:
11 / ( CHECK F'OF~ L.E~::;AL NODE )
12/ ( 0= ROW. E= COL. RETURNS CY SET IF LEGAL COMBO)
l3lSUBR movecheck
. l4:0 A MOV. NROWS CPl. RNC. E A MOV. NCOLS CPl. RET. -->
1 ~::j

:

BLI<:'"
0: (

1-

VARIABLES FOR MATRIX GENERATOR
11V= GMRC V= GMD V= GMNRC
2/V= RCX V= RCY V= NRCX V= NRCY
.~

:

II:::' I
.... £ I

7:
:1.0:

u:
:1.2:

14:
1 !Sl
131...1<::

2

0: ( AOD PA'fH ROUTINE)
:I. : :3UBI::;:

0i..ddp;;:d:h

CWiRl.:.:: !::;;DED·,

2lMPLO ADI. A CMOV.

C

n~deA

1. . [1(:1, Pi. C l"lO'!, move:
41mdvecheck CALL. RNC,

::::IGI"lD

(.~ t~!ov.
miD STA. ( !:rn.!FF !:~;'lUFF
CALL. M A MOV. A ANA. RNZ.

nodE'

C:~:)L.. I.~,!

OI"INI:~:C

SDE:'[I·!

!5 I Ol'inC L.Df:::D '.' CONFL I CT'"? C?~L.. L.. ?~ {-:1!\IA, HI\! '2: •
(:. : TOT{iL. ....·r:·A·rH!::; L.HLD. H ll'-.IX. TO·rAL. ....·!~·ATH~::; ::::HU).
7" 1 ( C'()I"IPIJTE DHrr("\NCE:~::; (.~ND DEL.T?-)!::; )
81NODX C MVI. GMRC LDED. norle A CALL.
9:t~1 E: !"lO~)·,
~'I It-.IX·, 1'1 D MOV·.,
H INX •.. I::':C:X :3DED.

10:M EMOV, H INX. M D MOV. RCY SDED,
j,

1 iGt1NnC LDED.

nod,?····· C:A!... L.•

t'IOV, [',1 INX, 1"1 D I"IOV. H INX. I\II:~CX
131M E MOV. HINX. M D MOV. NRCY SDED.
121t'1 E

:1.4: -_ ......>

!:::DED.

.(

!3E:T NFl.J

( 'ElUI"IF' F'P, TH::::;

f~.

C:

FILE>::: NOti,

BLK::;:

.-,;.' 3'

, () I ( (,~~oMPI.irF.:. D I STANc;:r-:: ) ,
1 1RCY LHLD, A, ANA, D DSBC"

.

•

L A MOV, StltJARE CAL.L:', H PUSH.
:2:NRCX LDED. R'CX LHLD" A ~~N'~, D DSBC;.: L.'~' MOV.
: -: l ::;a:;l,UARE CAI..I..,. D POP. D DAD. ' sClr'tC?~LL." A B I"IOV·,. ( B= DIST )
4: GMRC LDED. GMD LDA, MPU) ADI. A C I"IOV. nr.I,:h?····· CI~LL. 'B M MOY.
~~ilt.i:,CON C MVI. nod~;.'···· CALL. MINH?
6lGMD LDA~ CMA. 7 ANI. MPLO ADI. A C MOV.
7: GMNRC LDED. nc'dE'····· CALL.
.
::3IB M MOV, 1*(:ON C MVI. 'nQd.~···' C~~L.l., M INR, 'HET·,

,

9/CODE ADD:PATH.EXX. B POP, H POP, D POP. L D

MOV.

10laddpath CALL. EXX. NEXT

1 j, : •.• _>

121

,

.", ,I
:I.'.:;0

8LI<==
Ol(

4
ASSM CONNECTIVITY

MARKER)

1.IBV"'" MAKCON

'2: F= MRPT F= MeLF' F= t'IDLP F= NOSH F':::: NXTF

5

Ole TRY THE NEXT DIRECTION)
1 I LABEL NOSH B I NR. H I NX ,

21 ( GOTO NEXT GROTTO )
.:::: I U~BEL NXTRC E I NR, . E A

B A MI)V. :::: CP r·,

i"IOV.

NCOLS

41D INR. D A MOV, NHOWS cPt. MCLP
5I (

KEEP

SCANN I NI:~

CF" I,

~~NZ.

UNT I L THANOE: ~3T AlE L. I ZED

61 MAKCON 'L.'l)A. A ANA. 'MRPT .JRNZ. EXX, NEXT
71

ASSEMDI. .E:>

91

lb:
11 I
12:

1.:;:: : "
14:
lpl

I"IDL!=, .JRNZ.

MCI...F· ..JRNZ.

(l

1:: t·"!v I,

p' I L.E ::." CWI

BL.K::'.:

0
CONNECTIVITY TESTING )
1:~
ZAM BKGV vaddr ! NeOLS 0 DO NROWS 0 DO J I
2: (:01"11:;': XY·"'! I NeiDY NODE! ....1 I NODX NO,m::! L.OCIP l...OOF~
3IST-X START-COL START-ROW NODX NODE!
41 ~::;T''''Y !:;;Tr.%F ENDDF!OP ;

ADI)~

F·(·YTl"t Dtll:::' TOT?.'!........·P~~TH::·:;

+

(~

6:= MAKE=MAZE CLEAR=NODEMAT lAM

~:\ TOTAL-CONNECTS!
::~ I ::;:;TAFrT' ..·...COL. :3'1" f..)Rr :,,·F:m..J 1\1 = C
Si : I',ICC)L:::; 0 DO NFWW:;::; 0 DO ....1 I

CRND

?~DD:

F'Pl'fH UJOP L.CiI)F'

1. 0: BE:OIN
:I. 1 ::1. ( I NIT

.) NCOL.::::; (1 DO NRC!I,Aj::;:; 0 DO .J I :t.f:C:C)N NODEB(JHIL.E

(U:ID: PATH H!:;:FFAf .. -.... :>

.... ,

.BLI<::::
0: ( KEEP COOKING
~

.~::.

UNTI~

EVERY ONES CONNECTED

1lBECiIN

21NCOLS 0 DO NROWS 0 DO J I T:C NOT IF
'31J I CRND ADD;PATH THEN LOOP LOOP
4 : !Vif~RI<: C'O!\!NECT I V I TY Tcn AI.. ""'C:OI\INECT::3 @: NNODES ...
~:i : END
61 4 G{~l"iE# B@ ,t{, 1"1 IN ..- t:! 'll' DIJP IF (l DO {4DD = i4NOTHEF: L.OOF'
71ELSE DROP THEN;

91( ARE WE IN THE Sl'ART CHAMBER
10:= START~CHAMBER?
:1.1 : 2DUP !:nART . ··HOhl =: IF' !::n·Pd::;:T ..··COL ..... IF ::;:: Dl;:1: cn:::' 0
121ELSE DROP 1 THEN

1 :~: : . . .,,.~. :>
1,4:
1::5 :

FL:~;E:

:1

Tl-·!E:N

.

"

" ,'.:',
~.,'

.

"

"

Ft~E ::i:i LO'~

BlK::::

, CI

**** LOCAL DISTANCE ****
11( lOCAL DISTANCE ROUTINE)
2: ( THIS ROUTINE COMPI...ITES THE DISTANCE BETWEEN TIrJCI 0I3 ..JECT!;::;
3: (,IN= I~= FOLLOWER IY= LEADER OUT: A=DIST. B= REV FLAG)
4IF=DIFB F= TRYM F= SAMD F= INFJN

Ol(

•~16LII~R
...tl •..•
::\,\

LI·JI~·'rAeeE=MDLI=
. . .;::.
.......' •..' ... , '" ....

f:.. I NOI.JC ,X E

LDX

7

NOWR

X D L.DX.

71< DOES CI=CO AND RI=RO ? )
t~:: I E A I"!I:W, NOWC" y eMP X7 TRYI"! .JRN Z •

91D A MOV. NOWR Y CMPX. TRYM JRNZ •.
101( ME AND HIM BOTH HAVE SAME ORIGIN
11 I ( Afi:E WE ON THE SAI"IE BRA!\ICH? )
121NOWD X A lDX. NOWD Y CMPX. DIFB JRNZ.
131( YES SIR - WE ~RE ON SAME BRANCH}
14/DJSTANCE 1+ Y A LDX. DISTANCE 1+ X SUBX. 0 B MVI. DABS JMP.
15 :._..._>

DU<:=-:

1

OJ ( WE ARE ON DIFERENT BRANCHES OF THE SAME ORIGIN
t IUmEL. lHFB n:u:rr('~NCE 1,+ Y A LDX.
21DISTANCE 1,+ X ADDX. 1 B MVJ. BABS JMP,
31L.ABEL TRYM Nown X C LDX. H PUSH. move:n0rl~ CALL. ( TO DEST
4:1-..1 P()P. MPEXDISI X A LDX,! Dl::::TANCE 1.+ X :~:;UBX, ( HEVER::::E DJ:~::T
S:A' B MOV. ( AND SAVE IT IN B )
6:D A MOV. NOWR Y,CMPX, INFJN JRNZ,
71E A MOV, NOWC Y CMPX. INFIN JRNZ.
81C A MOV. CMA. 7 ANI, MOWD Y CMPX. SAMD JRZ.
91 ( I AM ON A PATH LEADING ME TO OTHERS ORIGIN)
j,Cl : Ec A r-1t:)V. D:r ST ANCE j .~, Y ADD X,, (1 B I"IV:t:. ElAB~:; ...IMP,
1. 1 I ( I ('~I"I ON COI"IPLEI'1ENTARY PATH Tr'IAT OB ..JECT IS ON )

i; ;l(A~;~~jE~~~;i:D (.\~~:s;~~;:~E~< T~E~ ~~~x I::(~~ ~~~:[ L~ ~;E~~f~

BLJ(==
2
"01 ( DI~·:n'ANCE ROUTINE FOR LISTREFm~MEH TO USE)
11 ( IF 1T GETS INFINITY BACK IT WILL TRY'SWAPPING

X AND Y )

:::: I SUBR LF
10:

u.

I

12:

13:
141

1,5:

HOME )

)

,.FILE= LP ',,...
BL..~I<=
o I ("-

3

NEW, 'F I NDCLOSE FWUT I NE )

11 ~rECII"IAL
21F= SRCL F= FCLD
3:SUBR FINDCLOSE (ASSEMBLE
410 HOSTAB'H LXI, ~XX. 127 C MVI. EXX,:
,
51LABEL SRCL M E MOV. H tNX. M D MOV. H INx~ D A MOV. E
6lFCLD JRZ. D PUSH, X POPX. ASSMSV X A LDX. ASNOT CPl.
71SRCL JRNZ. HOSSV X ALDX; HSATP CPl. SROL JRNZ •.
alLDIST CALL. EXX. C CMP. CY1 IF. A C MOV.
91X PUSHX. H POp, EXX. B A MOV, EXX. A B MOV. THEN.
1. 0 I E: XX• SI;:C:I... .jMPR.
11 I LABEL FCLd EXX. RET.
12 1ASSEI'1BLE>

Of~('~ > .

:1.4:
15:
BU
/::.. I

I

F BJE: :::40T

BLK"'"

0

r::cm

01 (.CHECK
:l IF"'" ONTL.

ONTOF'

2:SUBR ONTOP? (ASSEMBLE
3:0 H06TAB H LX!, 0 C MVI.
,4ILABEL o~rL M E MOV. H INX, M D MOV. H INX.
SID A MOV. E ORA. RZ.
I [,""11''''11
~::' '~ .• ~~' ". "

f.

I ,H
Pl...l!:::a-"I.
•.:;.,
"', "'1 1.".'" Ivlu
J'
I" • .

X F' ", F"X
l..JW,[ !:';:
1'" '" IE'".. N,',

II'" •.•. ,.... , , X l' I .,.. X l.h""" "I"F'" .... ,.., J'
f" 1"1'1"1
!f"IIZ
'" ~!I ,..... ~..1 ," ' . "f':'::'{-; ~'. I:::,!':,~ ,', f:\~
':'"'I.:..: ", \: '.. •
'.,,:m. ,1....•, 13 F"'t. F'" I !..IN 1 UPLJv, r u . ' T., ".: I " ,r, F •
'" E'~ I'11...1
II '" V" •
'j .'"
''''1'''' I 'J 1."."
"'. 'I t,T'!'~"I.
..
,';:: "7" I,,,,"
..)-:,.......
...,

. ,... ': 1~.1 ..: .. " .,." 1..1.:.:,.;:, v..
'

:I.

l:~::

C i"IV I·,

TIj!::'N.0

.......... :>

1.4:

1 ~::i

:

'.ElL!<:::::

o:(

:I.

PI_I:) YFF::!::; I NTEHH!,.lPT I."E::VEL.
1 : !:':I...IBn F' TLOTF:

ONTC)P CI,"IECI:::EF{

2lASSMSV ~ A LDX. A ANA. 0<>. IF.
3:0NTOP? CALL, C A MOV. A ANA. RNZ~
.I]. :

PI:::;;COOL.

{1:::;::H"i:~:;;V

Y !'1V I X,

SI·fHEN. LOOKASS CALL.
.::.: F~ET.

(

CU:::fi!:;: Ot,ITCIF' !:::;Tt'Yn:::

( CHECK MY ASS)

to!
:1,1 :

1 ::;,::.:
1. ~~: :

14:
:~" ~i :

r:::.LJ<::::
:;;::
0:< PROPOGATE LEADERS DELTA DOWN THRU LIST
1: ( IY~ LEADERS VECTOR)
2: F""' CDLF' :31..JDF: C:IJF'YDEI".'r::)

'::::;:'):::;~:;:;EMEIL..E

·3IBEHIND Y E LDX. BEHIND 1+ Y D LOX.
4 : L.. {';i;;:EL. CDL.P
5:0 A MOV. E ORA. RZ. 0 PUSH. X POPX.
6 :'1... DEL, TAO I :3T X STX '.' II DE:LT(.~lDT !3"" 1-l' X STX"
7':BEHHJD ~ E [DX,. BEHIND 1+ X D L.DX·, C:DLJ::' ,.JtvlPF("

:::;: : t~::::;Sl::'i"!BLE>

:to:
:l.:l, I

1 ~:: ;
1. :::: ;
1 'l :
l~5 i

TI'''IE}.~ T~

FI LE ::::: CIT
£1LI<':::

:3;

Ol( MAKE ALL MY FRJENDS HALT RIGHT NOW
1,1. IF::":::::
I

I::"LIN
r.:;.f'

f:~::"' F~F.~~I
....... ,.,. F",

:. I :::;!,JBR ,_ H0L ~:NOW _ -->
~:Dl.

1:'::1 ... 1<:::::

4

0:< INTERFACES TO THE TERSE WORLD)
1:

21CODE PROPDELTAS 01. X PUSHX. V PUSHX. B PUSH.
31 V;;!L(l d 1'" Llyn.
4lDELTADIST Y L LDX. DELTADIST 1+ Y H LDX.
5:COPVDEL1~ CALL.
bIB POP. Y POPX. x POPX. NEXT
'7: ,......... >

lq:
1:1.:
1 :;~: i
:1. :::~ :

:l..f.!.l
t ~) :

FILf,;;··:::::
.,,'
BL-t<"':'

HF··
"

... (l

0\( iNTERFACES TO THE TERSE WORLD)
1 I CODE JOINtLINE DI, X PUSHX, Y PUSHX, B PUSH.
2:v"""ddr' LIYD·! H::::;ATP HOS:::;V Y I"IVIX, PL.YRV Y I_XIX.
::::: : HALTN()W CALL,·

4/B POP, Y POPX, X POPX, NEXT
51

6: ...._.>
7:
91

10:
1:1:1
1.21
:l3 :

1; I.~.: .
15:
BU<::::

:1.

0: ( nSSIMULnTED NODE ROUTINE
l1F= GOHM

F~

VIRG
2lSUBR HASSIM (ASSEMBLE 01, PSW PUSH.
31nISTVECT CALL,
4 : L.OOI,

IF" 0 VH;:OIN Y I"I\JJX·! VIRG ,.WiF'r:.:,

6:THEN,
7: ( AM I AT THE END OF THIS PATH? )
8{TBDEST TCHGSTAT Y eITX, GOHM JRZ, ( NO - KICKOUT ).
10:
1.11
1. :::~ :

19· :

1!5 :

BL.K=
01 (

:;;:~

I"IOr;:I:~

)

1 : L.('~Dr:::L. VI RG
21X PUSHX, H PUSH, D PUSH,· B PUSH. ( GRAB PARMS FROM LDR )
:::::NCi~-..jF(B LXI; Y PI...I:3HX, H POP"
B.DAD, XCHG,
4 I ?,HEAD ,t' L L.bX" AHEAD 1 "'" 'Ii H LDX, ( HL.:::: FL. )
5: H PUSH 1 X POPX •
.6: B DAD. POSLEN B LX I, . LDJR,., '
..
~
r"E'r 1.1 "'" [I I r:".·TAN
"'E'
- N, 11~iI·"'····'
L....E......
·•. ·· TI"·I~z..1
I_E.AI_'Ir<_r:;·
1" 1I ( '::)lLt..:;!
•.:'
~
1...
..... , T t.l~
_1".1. l·::;~
: •.:::,.;:.
1''''''If'
r.::r\ ).,

81DlSTANCE 1+ X A LDi, DISPF X SUBX, 0(, IF. A XRA; THEN •
•:;. : A D n:;;TANCE t + Y :3T X, . A XRA, ~~ Dt :':::TANCE Y STX,
10lTBDEST TCHGSTAT Y RESX, ( DON'T ALARM TERS~ ) .
l11e POP, D POP, H POP. X

1. :;:~ I I.... ABEL GOHI"I
1 ";:;' 1I
I

"_.

. 14:
:l.S:

PSW

P()P.

pn~X,

RET,

A::::SEMBI.... E> _00"_ ..>

F'IU:: .- ,HF
B'-I<::::
:3

(FOLLOW' MONSTEI~ ROI.JT I NE' ).
11SUBR MONF 01, B PUSH.
2:·Y PUSHX, H POP. NOWR B LXI. B DAD ., XCI'1(;,
~:: I'SNlnCHEF< Y L L.DX. SNATCHEr~ 1 + Y H LOX, B DAD.
4/SNATLEN ~ LXI. LDIR. A XRA. A DELTADIGT Y STX.

'0 I

~'3:

A

OELTAOI!~;T

I;,. : C.l~LC XY

"

-1+ Y STX,

C:ALL..

71e POP. psw POP. RET.
C} I
.' I

1.0/
11:
"

131

141
1~:3 1
Bl..r.~''''"

4

0: ( !;:;PECI{'\1.. MA!E;TEn VECTOF(ING ROUTINE F'OR

Ho!::n{~OE!=;

1:
2: SUeR H! V PS;W PUSH.
:::: : HOSSV Y t\ LD X. HSA TI~1 CP I"

~10NF

...IF< Z •

4:ASSMSV Y A LOX. A ANA.
5:0<>. IF. PSW pop, HASSIM JMP.
f:., :
7'
,
I

THEN. PSW POP.

D r ~-:nvr:TT ,..II'1P.

a/CODE MVECT-ON Y PUSHX. vaddr lIYD,
';:I: H! V H LX:r, L CUSVEC Y !3TX, H CUSVEC 1+ Y !:H-X,
1,0 I '1"R""DVECl' TVMF
l ....-,;:1
t

I

I

l4:
l~:i

I

I

)

.'

LFN
0
01 f ,L.OOl< FOH NE{~RBY THANOS )
1: ( HL= R.C IX= SUBJ RET Z IF NEAR. NZ IF NOT
2lSUBR NEAHBY? NOWR X D LDX. NOWC X E LDX.
3:D A MOV, H CMP. 0=, IF. E A MOV, L CMP.
4 I Fa·, THEN·,
5lDISTANCE 1~' X A LDX. A ANA. 0=. IF, A INR. RET. THEN.
6lNOWD X C LDX. H PUSH. move:no~e CALL. H POP.
7:0 A MOV. H CMP. RNZ. E A MOV. L CMP. RET.

FI,LJ;' ::-.::

[ILK":: .

c,

9: ( NEARBY LIST -- HL~= TARG HL= LIST RET Z= NONE
101SUBR NEARBYLIST M E MOV. H INX. M D MOV. H INX.
11:D A MOV, E ORA. RZ. D PUSH. X POPX. EXX.
121NEARBY? CALL. EXX. NEARBYLIST JRNZ.
1311 A MVJ. A ANA, RET.

1 11.

: ........

BLl<=

NZ~

FOUND

>

1

0: ( CODE ROUTINE TO DO NEARBY CHECK)
11 ( C R LIST M'rC? --- T )
2lCODE MTC? H POP. ( HL= LIST
:3 : E x X ,. D PC)P
H por::' • E ~ ,I I"IOV. E:: x x , (
4lX PU~:::;flX, NE::PIRBYL.I::H c:t:~u,. . , 0 H L.XI·,
SiX POPX. H PUSH, NEXT

F~

'J

., c:

():=:.,

JF,

H

INX·,fl·-lEN,.

7 : DAT("~ PC:CINFT I'~IONV 1 • t~IIJN'v!2 • 1'10N'v'::::
1"10I\I'v'4 ., HOS'v·:I. >
O:HOSV3 • HOSV4 , TRSVl • TRSV2 • TRSV3 , TRSV4 • TVl
'J

101= NOBODY~HOME:YET?
:t :!. : ."...... >

:J..~

:

:[ ~:i :

H(Y::;1)2

'J

O.

2DUP PCONFT MTC? IF 1 ELSE 2DROP 0 THEN;

FIt.E ;:-: T

B.LK=

. (;)

,

:,< PI_ACE TREASI..,IRt;;

IN !"IAZE )
lIBV= TRPOKE ( T~EASI..~ES GRABBED SO ~AR
2:TABLE TIM TRSV! , TRSV2 • TRSV3 , 'TRSV4 , 0"
8lTABLE Til THESTAR • THESYM , THEJEWEL • THEFLOWER

. (>

·41
5 I:

SPOTPOI

j , ,:;.
....f

I
I

141
1 ~:;:

8L.I-('::.'

:;;:

0: ( PLAC~ TREASURE IN MAZE)
1 / V"".;: THESPcrT .
2/= HIDE:PEICE THESPOT ~ BEGIN BEGIN
3/NCOLS RND NROWS RND START:CHAMBER? END
41 NOBODY:HOI"IE: YET? END
5/2DUP THESPOT @ NOWR OVB! THESPOT @ NOWC OVB!
6/THESPOT @ ROLL >TREASURE NODE! THESPOT @ TRS-T
71: HIDE:TREASURE TOTAL-JEWELS 0 DO
811 Til @ I TIM @·MYFACE OV!
9/1 TIM. HIDE:PEICE lOOP;
:L 0 :: TnEASURE: CHECI< PU:::;f-H ccn ::':rRE::A!3UF~E NODE(~ DUP IF
111 DUP IvIYTYPF.: (lVB@ T-TYF-' :::: IF
. 12: ( JEWELS-REVEALED 1+! ) THEN 1 SW~P MYFLAG·OVB!
1310 PUSH=CCR >TREASU~E' NODE~ ~LSE DRm~ THEN
.
·14: ~ s
1!'5 I .

(>

•

'

I\IOT IF· Ivl J: I\IU~::;; THEN

71--)
.:=i

•

"FILls" =;:~RS.
BU<=

0

0: ( ROI...iTE SEARCH ROUT I NE ).
1. 1 (' VI!::;tTED MATRl X GOODIE,S

) .
2!SUBR VIS? H PUSH, B PUSH. Y PUSHX. H pop, VISMAT B LXI. B DAD,
::::: 1E C JVIOV. B DAD 7 D A MOV. B I P" CALL.' M AN{~. B pop, H POP 1 HET.
4 :.!3UBR SETVIS H F'USH. B PU:::H, Y PUSHX. H POP. VI~~;MAT B I.,,:X},
51B DAD. E C MOV. B DAD. D A MOV. BlTA CALl~ M O~A. A M MOV,
61B POP. H POP, RET,
7: ( CLEAR OUT VI::!;' BT.TJVIATfUX )
:;;'SUBR ZAPVI8 B PUSH. ,H F'USH. VISMAT B L.XI. Y PUSHX. H POp,
9 B.DAD, NCOLS DO, 0 M MVI. H INX, LOOP. H POP. B POP, RET.

j, ()

_.....,.:>

11.

:1.2
1 :;:

14.
1,51
BLK:::::

1.

Ole GENERATE TREE ENTRYS FOR ONE ENTRY)
1 : F';:: m.JCiLP
2 : !:~~UBn GENTE

«('%S~-::EMBL.E I"IPLO C MV I.
n Q d Eo .<'. C:ALI..., H F'USH, :::l B MV r •
3!LDAR. 7 ANI, A C MOV.
4ISEGIN, H pop, H PUSH. B A MOV. 0 B MVI, B DAD. A B MOV.
SIM A MOV. A ANA. 0<>, IF. D PUSH. ffiove=node CALL,
I:,. :VI:~;? (:")I.•.L. 0=, IF, ( GENERATE NODE J
. 7 1SET VI:3 C{"iLL·,
'S:MYBOSS Y A LOX. A TPL X STX. MYBOSS 1+ Y A LOX. A TPL. 1.+ X STX.
91E TC X STX. D TR X.STX, C TD X STX •
. 10lTREECK Y L LDX. TAEECK 1.+ Y H LDX, FORKETH CALL, ( ENn CHECK? )
lilTEL D LXI. D DADX.
12 : TI-·IEN, D POP. TI·-lF.!.N, C (.~ I"IOV, A I NF~ '. 7 AN I, A C MOV.", LOOI::"", H POP,
1:::: I RE-~ ,

BLK:::

:2

'0 I ( ADVANCE THEJ':: ONI:'~ DEPTH DOWN )
11SUBR ADVT MY BOSS Y L LDX. MY~OSS 1,+ Y H LDX,
2lH INX·, '·. 1 INX, M E l"iOV. H INX'. M. D Mew •
.:::: 1GENTE C(·\LL. MYBO:=;.~:; . y. L LDX. JVIYBO:3:3 1~' Y H LDX,
~:TEL D LXI. D DAD~ M E MOV,H INX, M D MOV,
51D INX! D A MOV. E ORA. 0:::::. IF. H INX, EU~;E, H DCX.
611.. MYBO!:::~::::: Y::HX, H MYBOSS '1+ Y :~;TX, ADVT ....IRNZ.
71-1 X 0 MVIX, X lNXX, -1 X 0 MVIX. X INXX. RET.
91
1CH
11:
:1.2:
1:::: :
.141
151

THEN.

F H.f,:~ ::::: R:;:;
Eft...1<=

::::

0: ( FIND PATH ROUTINE)
1: ( BC~TARGET R.O DEr NOWR.NOWC HL= ENDCHK IV= TREE RAM
2:

com.:::

::HART~::a:::{')F~CH

X PIJSf"IX 7

D

pop,

Y PI.Y3.HX!

H, POP.

I:: X X"

3lH pop, vaddr LIYD. ZAPVIS CALL.'
'I,: () XHA.

5!A FNDPTR Y STX. A FNDPTR .1+ Y STX.
6lA MYBOSS V STX. A MYBOSS

7lNOWR Y D
8lL TREECK
91Y PUSHX.
101 X PU:3HX.

t~

Y STX.

LDX. NOWC Y E LDX.
Y STX. HTREECK 1+ V STX.
X POPX, TREES B lXI, B DADX1
13ENTE Cl:.)[J.... 1,1 POP.

11lL MYBOSS Y STX. H MYBOSS 1+ Y STX.
1.:;;:::,-1 x (> 1~IVIX. X INXX" .,"1. X 0 i"ll,nx. X INXX·,

131X PUSHX. D
:1.4IE:XX·,

:EILI<:::

PO~.

D PI...I::::;H,

E FRONTIER Y STX. D FRONTIER

X PIJPX,' H PU::::I-l"

Y F'OPX.

1~

NEXT ....,,">

Y STX.

4

0: ( MORE PATH FINDER)
11F= TREELP F= SCANEK F~ SCANl
2lSUBR BANG TREE (ASSEMBLE
3:FRONTIER Y E LDX. FRONTIER 1+ Y D LDX. D PUSH. X POPX.
4- : FNDPTH \{ L, I...fIX. FNDP'n:;: 1. + V H L.DX,
!::.~ I L' {) t1CJV·, 1,,1 ()Fa·). ::::;C:(:~N 1 ,..II:;:N2:. AD"."!T (:(.:'11..1-.
6:X rUSHX. D POP. E FRONTIER Y STX. D FRONTIER 1'~ Y STX.
-; : (.~

Xr::I~:'i.

r;:F::T>

10:

11:
t :;? :
:J. ::::~

~

:L4l
:l ~:5 :
I:::'
-.•.1

(J

1(

!"lOBE

l:LABEL SCAN1 0 B LXI.
2:LA8EL SCANBK M E MOV. C'M MOV, H
::::! : f'-1 D j"leN:, B 1'1 t"IOV, H DC X, 1,,1 B i"ifJ\) 1

INX.
L. C: i'"\(W,,

41E A MOV. DORA •
....)' t
I I

::;;: l C:()DE U::IIJt<{11-IE('~ID Y Pi.Y3HX. D pelF'" X r;'I.JSHX·, i··; F'CIP:,
9: v,::l.ddr' L 1YD, B(~l'·,ICiTm::E ct·)!...!..." O'~":: '/ IF>
:I. 0 : 0 H L X I:, FL..::;:;!::::. 1.. 1 PUSH '.' :I. 1",1 L X I. THEJ\l", H PU::;;!'''!,
t 1 : EX X, H F'I...!::::;r-J, ':< POF'X ',' D PU:::.:tL y r'opx, NEXr

:i [~ 1

1,:5 :

E::X X·,

J'

F'lLE ;+Tr.' RS'
"BLK::::: ., ,,6

ole ROUTINE TO FIND ~EST PAtH TOWARDS TARGET
~ I (. CHECK ROUT I NE .~. AF~E WE HOME' YET? )
2!SUBR ~UU.,SEVE:'-;:· INTI:;: VA I..DX, D CI"1P. HNZ,
8lINTC v A LDX,'E CMP.RNZ. X PUSHX, H-POP,
4:~ FNDPTR V STX" H FNDPTR 1+ Y STX, RET.
.
~:::j :: RECON
'

6 : BUL.LSEYE'? ~=;'rARTSE("\F(CH BEG I N SYNC' D I

71LOOKAHEAD END TRACKPTR V!COOO ;
8: CODE FOI...LOWTF -->
i ";' I
J.....' t

:1.41

151

FIL.F::"'" H·
I~lLK:::::

I) .

Ol( HOSTAGE TABLE. HOSTAGE INTERCEPT CHECKER)
1: ( CHECK HOSTAGE INTERCEPT WITH MONSTERS)
21 DATA l"lOI\!LI~3Tt~I(JNVl , l"IONV2 ., MOl\IV:;';·, I"ION'v'4
0
. :;::: HEX' 020:2 DECII'1AL c::::: XYHOST
41 ( HOSTAGES· INTERCEPT CHECKER. RUNS AS HOOK) .
~51 !;:;f.JBI::;: \··10::::;-1"101\1'-;:- r'T~EEZE:? C:(:iLI....·, RNZ .;. EX X,
f.:. : l"iONL:I :3T H I... XI·, XYHelST B I.. XI·, CHECI<: VECTCW~: L. I !~::T CtlL.L."
710<:.}. IF,
:::: I 1 !·1YFI...AI3 Y \"lV I X, ( ;::::ET r'IE EATEN ) FF. IF. INTCPT tN.
Jl.:
A ANA. 0<>. IF. 'rBINTCPT TCHGSTt4T Y SETX.
~"5:

6:

I,

'rI3NCIVEC:T "rVMRCrp"r Y !3El"X ~

THEN, "fl'"IEt"'''

ELSE. VBNOWRITE VlOGICSTAT Y RESX, THEN, RET. STK) -->

7:

10:
1:l:
1.2:
1:31
:1.4:

o : ( C:HECK: NEAR

l:DATA PC ON F~_YRV • MONVl • MONV2 • MONV3 •
21MONV4 , TV1 • TRSV1.
TRSV2 • TRSV3 • TRSV4 •
::.: : HOSV 1. • HOSV2 • HO~::V::~, HO~::N4 • (I'.
I

91

101
1.1:
1:;~ :

, :f.~:t:

14:
j. ~5 :

FILE "'" R

BL 1<::=

.~:: .

01 t SPECIAL WRITE ROUTINE FOR REVEALS
1lHEX OCOC C~ XVZONE DECIMAL
21F= REML F~ RESL F= LISTEND
.
3 : ::::UBH

REVE(':~LWr~

I TE

4: ( V PUSHX. H POP.
~:::i:

r.:~.

!Vi{)HI< !::nACI< .) .
.

(

L.X J: ./

F'CON H

: LABEL

0 ld L X I, H f:'U:~a'l,
CONFTAB D LXI, D DAD, )

(?~::'::;:~::EI"IBLE

F~EI"IL

1'1 E IViI)V. H I NX• 1'' 1 D 1'10V. \·..f I NX·/ D

{~

IviOV,

E:

()f';;:(,"~,

7lLISTEND JRZ. D PUSH. X POPX •
. 8:
V~~OEHASE VLOGICSTAT X BITX. REML. JRNZ.
9: VOPATH X A LDX. VOPAT X ORAX. REML JRZ,

:to:

11 1-· . ···>
12:
1 :::: :
14:

BLK::::'

4

0: ( MORE OF SPECIAL WRITE ROUTINE FOR REVEALS)
1 I XYlOI'.IE B LX I.
2IPROXIMJTV-CHECK CAL.L. REML JRZ.
3:X PUSHX. H PUSH, Y PUSHX. X PUSHX. Y POPX, XOR-FLIPCALL.
4:V POPX. H POP. REML. JMPR.
SILABEL LISTEND WRITE-LINK CALL.
,~.:L(')BEL HE:::;:L D pelP. D A 1~10V·, E:: ()RA.
tr·;:Ci.rls:ition ...12: . •
71V PUSHX, D PUSH. Y POPX.
:?:: : X()R..FL I F' C:(.~LI .. ·, V F'OPX. F~E:3L. JI"IPF;:,

10:
INITI(.:)U:!:L.EAF'
121100 C= REVVEL 4 C= SHORTGOAL DECIMAL -->

1l. : HEX 400 C==

:1.4:
1 ~~i I

E{U::>=
oi (

~5

{'~F;:HOi'JS Tel nE . ..H:::j~1... OF'T I ON~::;
llHEX SUBR DRAWARROWS 01. B PUSH. X PUSHX.
210 B MVI. BEGIN.
~:B C MOV. noded A CALL. M A MOV, A ANA. 0<>.
IF.
4:DRAWMSK CMVI. node A CALL. M C .MOV. B A MOV.
DH{'~!tJ

!:; 1.B I ·r····· C:P!LL.

C:

t~Nrl'

0:::::"

IF"

B PI...I::;;H. D PU!::;f-I.

61B C MOV. 0 B MVI. QUIVER H LXI. B DAD. B DAD.
71M C MOV. H IN~.M B MOV. B PUSH. X POPX,
:;::::NBX C t'IVI. rll)(k~"" em.. L. M E jvlfW, ,.., INX, ,l'l D MOV, 1-1 INX,
91M A MOV. H INX. M H MOV. A L MOV. 20 B LXI.
10:SLEZR2A CALL, x INXX. X INXX. 0 X E LDX, X INXX.
11~O X D LOX.
X INXX. write CAL.L..
121D POP. B POP. THEN. THEN. B INR, B A MOV. 8 CPl. CY~. END.
131X PDPX, B POP. RET.
14 L:DEC I M{iL ........ :::-

FILE ::: R
Bt..K:::

. c.

0:( MORE ARROWHEADED ACTIVITY)
I/BV= ARROWFLG V= ARROWRC
21 CODE ONARROWS REVEAL -·ACT r VE L.DA. A ANA> ' 0'.::, IF,
3:ARROWFLG LDA, A ANA. 0=, IF,
4lY PUSHX. vaddr LIYD,
51NOWR Y.D LDX, NOWC Y ~ LOX, Y POPX.
Co I ARROWRC SDED. m~AWARROW!~~ CALI...
711 A MVI. ARROWFLG STA. THEN, THEN, NEXT.
-::.1I

1... _

91CODE OFFARROWS ARROWFLG LDA, A ANA, 0<>. IF.
10lARROWRC LDED. DRAWARRbws·~ALL.
111 A XI:~A. ARROWFl...G !::::TA·, THEN, NEXT
,
I .....
,.:;.,

14:
i51
·f.tLl<==
7
0: ( HEADLIGHT REVEALER )
:l. I HEX = HE('~DI.. I Of-rr: r:;:EVE{\L ; 'H:~::::;.<: D I m~VEAI... ·,·ACT I VE BONE
:~: I NOl~C PLYRV ClVB@ NOWC VB! NOW::: PLYRV OVB@ NJ)"JF: VB!

31NOWD

F~YRV

OV81 NOWD VB! ESTPOS DEPART=NODE

4lMAXDIST VB@ SHORTGOAL - MAXDIST VB!

ANI!"I! oe XPAND!···ON OF~-··ON lSTWRITE PRTE:M i'IMEEWif:lX!
1:.:.lINITIAL#LEAP DISTANCE V! HEVVEL DE1.TAInST V! DVEC,-.. ·bl'J
7/REVEAl...WRITE ZOO DJ
~iIREVEAL.PAT

:~::

.. .. _.. ) .
,

,

.-::, I

.'

101

U/
t :;~ ~
:I. ~:::

:1.41

l"iOI~E HE:ADI ... J GUT REVE{)LEF~ )
lIPUSH=CCRD TEST=DRAWN NOT IF
2/ HEVE{:)LED,"'"PATHS 1+.! ( INCHE::IYIENT

0: (

=1=1:

Of:' ,PATHS m::VEP,I...FP

3 THEN

4

SET:DHAWN
{)F(H I VE:.= NODE F'!J~3I'1 = CCF~D CO!"! '7 AND~:;ET: Dfi:(.iWN
PUS~i:CCR TEST:GROTTO=DRAWN NOT IF 2REVEAL-AGTIVE B!
7 GROTTOPAT ANIM! lSTWHITE be XPAND!-ON.
8 TOTAL-REVEALED-GROTTOS 1+!
9 1 TIMER!:ON REVEALWHITE zoo 01
10,PUS.i=ceR SET=OROTTO=DRAWN THEN REVEAl...~ACTIVE BZERO
PUSH~CCRD

!:5
Co

1 :I. : ('£::(: I l"t("')L. ,-~"' .. :>
1.2/
1. ~::::
141
1.5:

FILE:

=:

R

BI.~:~<;"
9
Ole R~VEAL FIRST CHAMBER)

1lHEX BV= UNROLL
IN rr:r I~I._ ::f~E:VEJ"~L ~ T ('·~:31·n
3:PLYRVNOWR OVB@ NOWR .VB~
41PLYRV Nowe OVB@ Nowe VB! ESTPOS DVEtT-ON
SIOROTTOPAT ANIM~ lSTWRITE OC XPAND! XPAND-ON OR-ON
611 -TIMER!-ON REVEALWRITE ZOO
7IPUSH=CCR SET:OROTTO:DRAWN
::: : 01. c:: UNF~OL_L n I
9 I BEG I N j T I /"iI::~n ! -.. ON I.JPI I T UNF:OLI... B@ [l1...!P VERB!... OUTP 4:1- DI..IP.
101UNROll B! 000 = END;
:2 :::

j 1. I
:1.2: D1:::: C:I t"IAL

1.4:
1. ~:i I

--_.>

···FlLE=: ..K
BL.I'-'~=

<)

~ ,( KEY 1'1 ON I T()H .- WA) T FOI:~ 1\1 CHAI'1BE:H:::': 1"0 ,BE: HE~jE~~LE:D )
:I. :  .
2 I «(4NH1-·TBL. FLA:;:::HI

(l

,::~:

:

4:=

~EVMAN

;TASK=

01

~5 : r)£~Ci I N BECi I N
6lNCOLS .~~D ~~)WS 2- RND START:CHAMBER? END

71NOBODV=HOHE:VET? END
SINOWR VB! Nowe VB!

91SEL.F PUSH:CCR

>TR~ASURE

101KVSHOW KEY-STATUS S!

NODE!

l:tl-·····>
14':
151

flU<::::

:I

.

F~EVE::AL EJ~

(ll ( KEY

:l : E.STPO!:::

21FL.ASHKEV ANIM! XOR-ON XPAND-OFF
a I l"IV1:::'U~G V"'" Fl.?)O! '''ON DVECT . ,··ON GO [II
41KVOPEN KEV-STATU~ B!
51NULPAT ANIM! :I. TIMER!-ON GO
6 II.... UPD~.nT:
·11: XOE<'·"ON XF'AND'-'CiN ::;: XPtC%ND!· ::::1) TIMEF:! "'·ON GfJ DI
:I. ::~ : ..... "... ).
:I. L~ :
:l. ~3 :

Bl...I<>:= '

2

0: ( REVEAL THE EXIT CHAMBER)
l:PUS~OCCR

;:: : C3Ho"r-rOPfH'

TEST:GROTTO:DRAWN NOT IF
('~N

II"! :

:l S'Tl~H I orE

12

XP{':~ND!

31ESTPOS PUSH:CCR SET:GROTTO=DRAWN
4 ::i. T I l"iER ! -'-ON HE'v'El~LWR]: TE Z 130 D I
6lFLASHEXIT ANIM!
XPt:'iND--CI!\!

. "7: xmr-'ON

eXPAND!
81MVFLAG VA FLAG!-ON GO ;

10:
. :I. 11

14!

1 !51

'T HEN

XPt4ND ..-())'J

OF~"-'ON

I~I l".E .::::: .~::'

BU<:e:::
::::
0: (KEY MO~ITOR - WAIT FOR'N CHAMBERS TO BE REVEALED .)
1. :
I::

~;::

I(:EV"~"T{~!:::;I<

; 'I'{'::;;K:

k·,·:ryp t'IYTVF'E VB ~

1:::EY"'-:3T('~TUS

KYNONE

'31BEOIN 30 TIMER!-ON WAIT DI
ill TOTAL.-RE~/E:(.~LED-·CiF:OTTO!:; G~ I<:Ey·,,"TI·"lliF:;::;HOI... D @
~5 : 1. ::rr~·JF~:r. TE

:>

END

/:;:.:Kf.:::Y·"S,
'7 : TV 1. r
10:
111
121 "
:lll :
P51
ElL!:::::::

'('1,

0: ( ROUTINE TO END GAME)
ll~ END-GAME ;TASK:
210 BEliIND PLYRV OV@ BEGIN DUP WHILE SWAP 5000 + SWAP
:::: I BEI·-! I Nn ()!.)(~ f:;:[PE{~ T DFoJP I Nc:sconr:: 60 T I j"1EH ! ..··ON \...1(.::\ IT
41STOPme l+B! NOBREAK BZERO ;
"71
,. 1

10:
tl :

:t ~~~ ;
:l :::: :

:ttl I
:I. ~5 :

B~

FILE :::: P
ElLI<::::

'0

0:( JOYSTICK ROUtINES)
1 : HEX ( BV= ,JOYCCIDE BV::::: ,_ilJYL?~~::;T J ( D::::OO DF' ! ·**·l!'*·*'ll-*.v.·**{HH~*'*·li'*
2lDATA JOYTBL -1 B.-I B. -1 D, -lB. ,-1 B, 0 B. 5 B. -1 B.
31-1 B. 2 B. 7 B. -1 B. -1 B. -1 B. -1 B. -,1 B.
D~

41-1
!:::ill.~

B'I

1 B. 6 B. -1 B. 3 B. 0 B. 5 B. -1 B.
'7 D. "-1 B. ,,,,,1 B·, ""j B·, "..,j B·, ..,1 '£1,

:7:: B,.

6f(SUDR MYINTR PSW PUSH.
'71.JOYtJi:;:n- H LXI. 1"1 CrIP. A
8:JOYCODE STA. H POP. PSW
9lSUBR get=J~ycode 12 IN.
:l 0 I ,...10\'1"81.. f"" L. X I·,

l){~D.

D

H

Pl~3H,

12 IN. CMA, iF ANI.
(~) ""IVI. THE!',I.

1'1 MOV. O<~>"
~F.
n=
pop, SUI1 JMP. )

CMA.
t10V"

1"1 A

1F ANI.
t) !!.)Nt·),

A E MOV. Q

D

MVI.

F:ET,

11lCODE rn~Tg.JOYCODE
12112 IN. CMA, 1F ANI. A E MOV,O D MVI. JOYTBL H LXI.,
131D DAD, M A MOV, A ANA. 0<. IF. 0 HLXI, ELSE.
141~ E MOV. D PUSH., 1H LXI. THEN. H PUSH, NEXT
15 l [lEe: 1 t'1f..'1L.

nu<:o:

--:>

:1.

o : ( NEV.! !::;C('~N ('~D .. IIJ:::nF:::F~ )
IIDATA CCWTBL 3 e. 0 B. :l D, 5 B. 2 D, 6 e. 7 e, 4 B.
21DATA CWTBL. :l e. 2 B. 4 B. a B. 7 B, 3 B. 5 B. 6 B.
3:F= 5canr F= nODO
41SUDR adJ-scan  : CItJTBL. H L" XI, B Dim. C: A I"IOV", 1"1 C ~10\}, H POp"
B D('.m,
talA B MOV. M A MOV.
11:A ANA. 0<>. IF. D A MOV. A ANA. noso JRNZ~
12:C A MOV, RET. THEN. DORA. nOBO JRZ. E A MOV~ RET.
:/'::::IL..(:&3EL nO~80 El (::, I"I(N. I~~:E:T.
:I. /I. : A:::;;:3Er·'H::n.J::>
:i. ~\ 1 -- _.. :::.

BL1< ::::

:;;;~

INTERRUPT LEVEL JOY MONITOR)
l:CODE ADJ-SCAN EXX. B POP. H POP.

Ol(

?l.,':I,d.j·"'sc'ln

C':~LL"

(..~I

L. 1'10'"),, 0 H l-'IVI,· H F'I,JSI'!"

r-::XX,

NEXT

3IBV= OBJECT-MOVING
.

4- I F:::: f~VR:::;
~5 : :;::;I.JBF~ ,)(NCI"'IECI< <2(.:,::;:;:::;a::I"IBLE OB,.JECT --I"IOV:r NO LO(i ,. (~
6lTBDEST TCHGSTAT Y BITX. RNZ. DISTANCE 1+ Y A
'1:Be~:Joycode

AN(~.

Rl"

LOX. A ANA. RZ.

CALL.

r~s::::;I'1SV + L.I){). J71!:;;CO()L. CP I"
0<:>. J F ,
9lPLYRV MAXDIST + L.OA. DISTANCE 1+ Y suex. COAST ZONE CPl.

:;;;: 10< ,

IF.

10:Cyr~.,
IF-..
:1.1.10 H LXI.

F'L \l I==< V

PL,YFN DELT(,,)DI:::rr + :::;:I"II .. D. 'T'!-'II::N. TI-U::'N, I:;:ET'I
12ITHEN. PLAYERVEL.O LHLO. F~YRV DElTADIST + SHLD •

. jij,

I

':l5;

'''::'F''
r. . . ILf...i. :;*:-',

'''<
1
'4

BLJ<:::::,
: .:;:"
(): ( ,CHECI< F()F~ F~e:VJ;HSAL
l:tMA. 7 ANI, NOWD Y E LDX. E CMP. RVRS JRZ.
210 D MVI. CWTBL H L*r. '0 DAD. M CMP. RVRS JRZ,
31CCWTBL H LXI~ D DAD. MCMP, RNZ.
4lLABEL RVRS
5:REVERSE:DIRECTION CALL; HALT NOW CALL.
61Nowb Y A LOX. R~C, RRC. RRC, A VANGLE Y STX; RET,
'7 I AS8EMBLE>
alSUBR PL-M JOYCHECK CALL. PILOTC CALL. RET.
9: _._).

10:
, 11:
1. ..:").. II
1.4 :
151,

BU(:::::

4-

0: ( CHECK FOR PLAYER ESCAPING INTO EXIT CHAMBER)

l:COOE ESCAPE? KEY-STATUS LDA, KYOPEN cpr. 0=. IF,
2lB PUSH, Y PUSHX, vaddr LIYD.
:~~ I NOWC Y A LDX. !:::TCIP--COI... CPT.. 0==,
IF,
41 NOWF~ Y (.~ LDX. !:n('~Fn"-HOW CPI,
0==.
IF.
.
5: ( WE WIN! - SHAZAM! )
6: PLESC A MV!. PLAYEF6TATE !;::TA.
7 I THEN " THEN
81Y POPX. B POF', 'THEN. NEXT
,

1

9:-···. .·)·
:l,0!
HI,

:J,'4:
1.:':: :

:1.41
151

BU<::::;

!:i
() I ( PLAYEH HfJSTAGE I NTEr~Fj~CE .JUNI::: )
11F= DISH
,
21 SUBl:;: d i shc.s (/.\!:.::!:a:::MBLE' (i HOSTAB H L,X I.
31LABEL DISH.M E MOV. ~f I~X, M D MOV. H

INX. 0 A MOV, E ORA. RZ.
4:XCHG. HOSSV B LXI. B DAD. M A MOV. HSATP CPl. 0:::::, IF.
5: HSFREE 1"1 MV I" MYFLt:)G HO~;!3V ':- B LXI, B DAD '., 1, M ~IV:r. THEN
6IXCHG~ DISH JMPR, ASSEMBLE>
7ICOD~ DISHOS B PUSH, dishos CALL, ~ POP. NEXT
:31, CODE HALTER HAL TNmJ CALL, NEXT
1

.'"

9,:--")
:1.01
:11 :
121
. 131
14: .

I~JL.E

== P

EIU::>::::·

(.:,

.

(il (. C::HECI< VEC:TOR FOr::: INTERCEPTt.JITH OTI::n::R VECTOr~~::;
:I. : ( F
'J

li.f.:
1 !:;i 1
E:. L 1(::::

o : ( CHE:Cf::: PL.PI VER I NTEI=, IF. 1 A MVI. MYFLAG PLVRV + STA. FREEZE CALL.
8:PLDOA A MVI. PLAYERSTATE STA.
9:EATEN FLAGCODE x MVIX. A MYFLAG X STX. ( SET EATEN FLAG)
10: ( ANY HOSTAGE ADQUT? )
11lELSE. 0 HOSTAB H LXI, XYBOUNO~ B LXI, C:U:H CALL.
12:0<>. IF. 1 MYFLAG X MVIX. HSATP HOSSV X MVIX. THEN.
13lTHEN. EXX. RET.
'J

1.4 :
j ~5

:

BU<:::::

o:(

:::::

C:!":ECK
1. : l--IEX

VIv! {'1 X

!=;~;j

I TeH

2:CODE VMAX? 0 H LXI. 12 IN. 5 A BIT.
::::: H PI...I:3H·, NI::::XT

o~.

IF. H INX. THEN.

SICODE SETVEL EXX. H POP. Y PUSHX. vaddr LIYD.
6:L DELTADIST v STX; H DELTADIST 1+ Y STX,PLAYERVELO SHLD.
" ·7: YPOPX. E:XX" NEXT
:~: : DEC I !1I1(.;L ,-"'-,)
I·....

1

:::

I

:1.0:
U.:
:l ::~: :

1.4:
1.!::1 :

FILE : :;: F'
BU<=

9

F:OrO I PLAYEF: TA::::t<
ROTOBRAIN ;TASK= BEGIN Dl.
2tPlAYERSTATE B@ PLEM CASE
3:( ,SPOT PLAYER OVER SCORE INDICATOR
4IDVECT-OFF 0 TIMEBMAX!
5:THIS=lIFE TOGGlE=lIFE
61THIS=lIFE ROTOPOS DUP Y! DESTY! X! 0 DESTX!

01 (
11=

7:

ZEf~ODXDY{-~XAY

8./ROTYl ANIM! XOR-ON
91120 TIMER!-ON A->DEST/TIME GO
10IST-X DESTX! ST-Y DESTY! 20 TIMER!-ON A-)DEST/TIME GO
11 I PLEASE-UPDATE ZERODXDYAXAY ROTROTY ANIM!
12:H-P-D DISPF VB! ESTPOS
18lPRTBM TIMEBMAX!
14lPLIC PlAYERSTATE B!
1. ~3 I -- .._>

ELK:::::

o : EI...:;:;I::

1.0

PI. I C (:(,:,:;::;E ( IN {i C::I':'IAJvIBEF~ C:ASE )
ONARROWS ( CHECK JOYSTICK TO SEE IF WE CAN lEAVE)
2IPUSH=CCR TEST:GROTTO~DRAWN IF GET~JOYCODE ELSE 0 THEN
3lIF PUSH~CCR MPLO NODE A SWAP ADJ-SCAN
4lDUP NOWD VB@ COM 7 'AND = IF HALTER THEN CUP NOWD VB!
S:DUP 32 * VANGLE VB!
1/01

6:PUSH~CCRROT

TEST~REL

7:< CHANGE STATE)
8:IF PLMV PlAYERSTATE' B!

to:
Ul

:t ~~ :
1:::;: I
j41

1:5:

u.
0:( GO FROM INCHAM TO MOVEABOifr
1. : Pt.!:3H ~ CCFW
2 I TEST:l DF~AI-JN IF
3IVMAX? IF 512 ELSE 384
4: THEN EL.Sa:: ~::~::it, THEN !::;:r::TVEL
5 :'C!FF(~RHOW!:::;
6 : OB,JECT .-Mdv I NO f~ONE:
7: DEP(.:lFH: NODE

)

$IPUSH=CCRD TEST=DRAWN NOT IF.DIG-S
':i'i : tOO I NCSC!:IHE
10IREVEAL-ACTIVE B@ 2
IF BEGIN
1. 1. : F;':E~VV, HEADL I Gil·-IT: REVE(~L !::::YNC D I
1.2:THEN THEN

=

SYNG HEVEAL-ACTIVE B@ O~ END THEN
'HOTDHOT 1".\1\11: i"1! E::t.• !3E WP,LK'··':::;; THEN

,FILE;:::: P
'BU<':::
12
o t ( ·WE AnE nE::t:m !::nAfE
1 I EL.!::;E." F-LnOfi C:t~~;E

MELT""'S ,

h\
' r'o\,
l;'·f::~'l_.C;"I~
r, 'r,,",-=vYI"':,!'t'f:··::
_. 1
....' t',
" . ....' "E'll:>.
~;:
roo,
...."r·....... 1',

.,~: I
....

)'

H

...-

T'':'

.." f

4IZERO~lMEB DEATHACT ANIM!
5:0 S~TVEL HALTER DISHOS

TV jl : 5T {~fn ··.. COL NRO'WS j, ..". !~;ET: NEW: I'1CCH i::!:::TF'O!;::;
. l :1. : NUL.Pt:~ T AI'.I'[ tv! !
12lPLEM PL.AYERSTATE B!

!',IOT

j.l.l· :

15l

ElL. 1<'''''

1 :::;:

LEAVE WITH HOSTAGES
lIEL.SE PLESC CASE
2IDVECT-OFF 0 T1MEBMAX! ZERODXDYAXAY
3IST-X DESTX! RP-Y DESTY~ 20 TIMER!-ON
41A->DEST/T1ME GO
5ITHIS=LIFE ROTOPOS DESTY! DESTX!
6190 TIMER!-ON A->DEST/TIME GO
71STOPme I.B! NOBREAKBZERO

01 (

10:
Ul

141
:I. !:i :

DLl<:::::

14

MOVING AROUND STATE)
11EL.SE PlMV CASE ( MOVING AROUND - DO NotH1N YET
2: ELSE: XDI • 1\ FLJ~! IF:::: T H'![F( ! ..··ON I) ::;:;ETV E 1...:

01 (

5:P:I~C

THf,~N

HOOK~-ON

61PROPDELTAS MYFLAG VA FLAG!-ON DVECT~ON maste~sur IGD DI
710BJECT-MOVING BZERO
!:::-':
.:;.: ( "'1"£::1" MOHF.: PL{. WER C:ONTROLLER )
10lDEST? IF ARRIVE:NODE PROPDELTAS
1,ilPLIC PLAYERSTATE B!
12:ESCA~F? TREASURE=CHECK D1 ROTROTY ANIM! THEN
13:0 END; DECIMAL -->
'1.41
15:

. r::J.L.E= IF'
, ..
. ElU<= .
(>
0:( PROCESS A HOT ROD-MISSLE
1. : BV:== HCrrFL I P
2 : :3UBF< HOTRCJD
:3:
..fBMI!::;!;:;I.... t:. l"S'TA'r Y EI1"X, .< ~,f'.,,?' \.oEt r·~~~-3,d·y·
4: RZ 1 ( NOT A MISSL.E )
!:3:( A= tirrl\?b;;H.'~ ) m.3,!;t·. IF. TSUR Y L LDX. TSUR
9: THEN·, ' RET.
1.(l : ,--.-

1~

tim~

to

r~r·ot:eS5

t(l

writ~

Y H LOX.

? )

FORKETH

CALL.

>

1il
1• ··..· fI
~:.

:1. :;::

14:
j!5 :

, 13U<""

o : <::::::T:. 1Ft iF ~ MVI. THEN.
6: ..JCWCCtDE Sl~~, ) ( I'KIT HOD THE PU~YEF~:?:; VFCTOF~ )
7:HOTFI~IP H L.XI·; 1'1 (::ttI"IOV·, n INR, :::;: C:.PI:,
C:YN:,IF·':
:::;: U~ XF~A. THEN. . A f'l MOV, A i::'NA"
9: PLYFN Y L.X I X'.' O=: ',' IF. PL.···t1 C:('·)I...L.
1. 0 : ELSE. A DCI~·, 0'-"'·, IF 1 :::: PI t1V I, HOTHOD CALL, THEN.

llITHEN,
12:
SUI2-NP JMP.
131= MYPUP MYPUP MIS-INT SUIIV
1 ill
15:

-1. HOReB OUlP

STK> -->

FILE

:=:

M

BLK=

0

.

0: ( INDEXER AND YISABLE MONSTER WRITE~

..

11=
.-

I=M MONVBYTES * MONVl SWAP - ;

~t;.:. I

:~::

: :;:::l...tBF: V I SI"IONWR I TE ( VI S{:~BLE ;MON!:::TEH

WF~

I TEF{

VBNOERASE VLOGICSTAT Y BlTX. 0=, IF.
VOPATH Y {~ LOX, VOF'{H Y OI:;:AX, OC:'" IF.
VERA:::;E C:ALL, THEN. (d(.jy··t ,"!r·;;:t.s •.'.? ii= r,,) I"'.:l.tter-·n )
E'I:'" .... .... r:-r-.:. 'V 1::1
r\.··· E'· Vl
T Y R·E.....··"
TueN
K:: !d
'\I nj-R
,.,:.
, ....nr'x'r,,.,.··,·'A·
.,
.......
f'1
VBNC)l~JRITE. VLOOICSTt~T YBITX. O:~·, IF. INTCPT IN. yt4RITE CALL.
TBINTCPT-CHKTVMROPTY BITX. 0<>. IF. INTCPT IN.
() {'~N(-4. 0=, IF, TBINTCPT TCHG:;:::TAT Y'SETX,
TBNOVECT TVt"lROPT Y SETX. THEN. THE'~N.
ELSE, VBNOWRITE ~LOGIC~TAT Y RESX. THEN,
tr·;:,i.nsiti(.n ....IMP •.---->

4:
~'5:

6:

"r
! I•

~:-.:~

:::::
9:
10:
11. :

12:
'1~:::

'1

j"'t .:~I .~,

.~1

,~::f- J

.:, .::. J\ ~,

•

~:;,"

'J

14:
:1.5:
I:n..l<:::::
1
0: ( MONSTER STUFF)
1 I DECIl'-1AL
2:: BANlSH:MONSTER BEGIN

BEGI~ NCOLS RND DUP INTC' VB!
PLYHV OVB(~
'~B!::; 2 )- END BEGIN NROWS F:ND DUP INTR VB!
4lNOWR PLYRV OVB@ - ABS 1 > END INTC VB@ INTRVB@ NOBODY:HOME=YET?
5: f':;ND' 2Df~C)P :;
61: MONGO INTERCEPT-ON DVECT-ON
7lVISFLAG VB@ IF MYFACE V@ ANIM! VISMONWRITE ZGO DI
::;: : I NTERCEF'T? 'I F o· VI SFLAG VB! THEN
9lELSE EYEBALLS-PAT ANIM! GO DI INTERCEPT? IF 1 VISFLAG VB! THEN
lO : THE:N (:0130 ;
1 :l :: FHEE::;;L_.f.WE D I MV::;:LAVE V(

FILE' =:'M",
Bl.K='
"",,3
OIJ,MONSTER TAiK
1 :, HE X T(-%BLE' MONVEl. (:,0, 7 ' '80 ' 7 AO 7 CO 7 100 ., DEC I MAL
2:XC? IFTRUE : RODAN? MYFACE V@ THEWARODI = ; OTHERWISE
3 : RODAN? 0 ; IFEND
4 DECIMAL'
S : MONSTER-·Tp!SI< ~ TASK: DI
(:. RETURN:INITIAL:POSITION •
,7 ESTPOS
8 MYFACE V@ ANJM! XOR-ON 1STWRITE BEGIN DI
9 ON:TARGET? IF RODAN? IF
j (> 1 ELSE, SMARTS B@ F~Ntt THEN IF CHASEPI..AYER
11 ON:TARGET? IF VAMOOSE"THEN ELSE VAMOOSE THEN
12f' RECON SETCO eOGO DI ZEROTIMEB

18.1--)
14:
15:

BLI<::::

.

4

O/THEN FOLLOWTRACK NOWD VB!
,1:GAME# @ RODAN? +
214 MIN MONVEL @ DELTAOIST V! DEPART=NODE
3: ( HAVE MONSTER CRAWL ABOUT)
4lBEGIN MYFLAG VA FLAG!-ON
, ,'5: "', MONGO SETC!) (:OGO ,DI

61-->

7:
8:
~~')

:

1.0:
l 1I
121
, :1.:31
l:41
15:

BU<:::::

. 5

'o~

( BANISHMENT STUFF )
l:FLAG? IF 0 DELTADIST V!
2ISANISH:MONSTER INTC VB@ BANe B!
,.,
~3: I NTR VB@,B,ANR' 13 !
'
,
,
4:'" RECON SETeo COGO D I
5 :.Q I'1YFLAG VB! FU\C';-,-OFF
l')"l' ( WAN(IER l~~t::K TO' WHEREt'ION$TER LAST CAME FF;:I)M ),
7 I BEG I N ESTP{)S" ZE:ROT lMEB',
81 ON: TARGET'? NOT IF' FOLLOW TRACK NOWD VB!
,
'"
'
9lDEPARnNODE EXITVELOELTADIST; V!' '
"
'
10 I BEG'IN ..' MONGO:, SEreO C-OOO Dt;::ST"'? END ARRIVE: NODE 0'
11. I EL$E' '1 r,Hf,:N ENP
12 : FREESl.AVE:
.
l:;:::l.INFREEZE,t ELSE 0 (lEST? IF ARRJ.VE:NODE DROP 1 THE'N THEN
14: END 'Q 1::ND, ;'
:I. 5 ~ [lEe: I MAL~, ..- ..... )~
'

,

,

.';"n'

FILE = M
ElLt(::::::
(:.

o I ( !'1m-f:::nERt'IA:;::H')
llnTABlE MRTBl"O B. 0 B. 2 B. 2 B.
2IBTABlEMCTBl,O B. NCOlS 1- B. 0 B.
:3 ::

1'10NSTERt'IA::'~H

MON!;::TE:}-:;:COUNT

(~

0

DO I

NCC~S

1~

I'1CTBL. B@

B, ,
I

,

j'''lnTBL.

4:1 I:M SET:INITIAl:MCCR I 0= IF THEWARODl ,ELSE THESPDR
51 THEN 111M
/::..: LO()F:'

"1: ."._.)

tO.l
1:1

~'

1:? :
:t:~: :

1.4:
:t~;:

,

MYFACE OV! I I:M MONSTER-TASK

B(;~_

PILE
BLK:::::

=

.0

Ol( PRE VGER ACTIVITY) HEX
:I. : XC? I1:::"TT.:'(UE: : CLMU~::; 0 BOt1V JI....EI\IGTH PILL ~
2:CODE CI::::AI'1IT 0[1:::00 "-1 L.XI, BEI311\I, 0 11l"IV1, H INX, 11?\ IvIOV,

3:0FO CPl. 0=. END,··NEXT
4:0THERWISE = CRAMIT ; : CLMUS ; 1FEND
6:
.... I
I I

1.0:

11:
12:
:1.4 :
:I.~:I :
BU<'''''
0: (

1

GAME PLAYER) HEX
11= VG MYPUP DI CRAMIT SPARKLES-OFF CLEAR:SCORES ZAP:VECT
218 0 DO 8 t OUTP LOOP
3:4 DUP REMAINING-LIVES! INITIAL-LIVES!
~:GAME-OVER ZERO
~31 G(~WiE~* ZERO
6:BEGIN TOTAL-PATHS ZERO REVEAI_-ACTIVE BZERO ARROWFLG BZERO
71CHEAPRND 0 RND#
: ;: : 1'1 {~I<};:~ ~ 1'1 ~~ ZE rID
9 : ::;:a::::PERA::::E
..... :1.
1.1000 ::;:CO F I L..L
10:( BLUEFIL.L

14:
:I.;:; :

Bl...K=

2

0: ( MORE EXPLORE)
1101 CLMUS MYPUP AMUSE
211C VERBI... OUTP -1 HOReB OUTP
31NOBREAK BONE ZAP~VECT
5:HIDEfTREASURE ~AIL=HOS
6': !\!PLAYERS ZERCI PLiWERUP ZEF;:Ci TfiF't!l
1,51

BLK:'

oI (

1.).

YET !"IORE
:L: TT GAME~* 1+!
2 1TV 1 E,:.ND"··GAME
:3 I GAME-OVEF~ B@

5 it-lEX

BREAI<
NOBREAK B@ DUP 0""; l:F til: MYPUP 0 TVVS TVVL. FIL.l...
TT THEN
OR Elvll...lS 1: C END ;

61: GAMELP BEGIN C~AMIT VG BEGl:~ 10 INP OFF
7 I DEC I MAL. .... ,-:>

,

.

:::::

9
" 'I

101
11.1

1,21
:1.:::: :
:1..41
1!:i j

OK

<>

END 0 END



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.6
Linearized                      : No
Create Date                     : 2018:08:17 10:38:47-08:00
Modify Date                     : 2018:08:17 10:46:40-07:00
XMP Toolkit                     : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19
Metadata Date                   : 2018:08:17 10:46:40-07:00
Producer                        : Adobe Acrobat 9.0 Paper Capture Plug-in
Format                          : application/pdf
Document ID                     : uuid:a6ab7156-6a2f-5848-9e97-b11d0329aa49
Instance ID                     : uuid:fd3475fc-c599-4340-83d9-ccfee2c93af7
Page Layout                     : SinglePage
Page Mode                       : UseOutlines
Page Count                      : 55
EXIF Metadata provided by EXIF.tools

Navigation menu