; ADVENTURE Z80 DATABASE SYSTEM
; Released into the public domain 1981 P. Scargill
; --modification by Bill Soon, Nov. 1981
; This file is called B:SAMPADV.MAC
; for the Microsoft Mac80 assembler using /Z switch
    .Z80
     DSEG
 PUBLIC OBJLOC
 PUBLIC OBJDES
 PUBLIC MATCHW
 PUBLIC OBPROP
 PUBLIC OBJDSK
 PUBLIC TITL1
 PUBLIC MSG
 PUBLIC UMESS
 PUBLIC LOC
 PUBLIC TABKEY
 PUBLIC FLAG
 PUBLIC FL14
 PUBLIC FL20
 PUBLIC FL21
RTN DEFL 249
ANY DEFL 255
INP DEFL 00
NULL DEFL 00
NORMAL DEFL 255
NOEXIT DEFL 254
DARK DEFL 253
DARKNO DEFL 252
CL DEFL 1
NCL DEFL 2
OP DEFL 3
OC DEFL 4
OW DEFL 5
OWC DEFL 6
OH DEFL 7
ONP DEFL 8
ONC DEFL 9
ONW DEFL 10
NWC DEFL 11
ONH DEFL 12
OE DEFL 13
ONE DEFL 14
ZL DEFL 15
NZL DEFL 16
RND DEFL 17
TF DEFL 18
NTF DEFL 19
GES DEFL 20
LTS DEFL 21
C2 DEFL 22
C3 DEFL 23
NC2 DEFL 24
NC3 DEFL 25
INV DEFL 1
TKE DEFL 2
WR DEFL 3
DR DEFL 4
PR DEFL 5
PRM DEFL 6
DL DEFL 7
SF DEFL 8
DSCOB DEFL 9
SWP DEFL 10
MV DEFL 11
OK DEFL 12
QT DEFL 13
INF DEFL 14
DEF DEFL 15
EXTB DEFL 16
SC DEFL 17
PU DEFL 18
CR DEFL 19
DES DEFL 20
FLIP DEFL 21
LA DEFL 22
SMA DEFL 23
SMB DEFL 24
WT DEFL 25
PF DEFL 26
ATF DEFL 27
SFF DEFL 28
GRUN DEFL 29
OBJLOC: DEFB STATUE, 4
 DEFB KEY, 8
 DEFB MATCH, 5
 DEFB LAMP, 252
 DEFB ULAMP, 11
 DEFB 00,00
OBJDES: DEFB KEY, 1
 DEFB MATCH, 2
 DEFB LAMP, 3
 DEFB ULAMP, 4
 DEFB STATUE, 6
 DEFB 00,00
OBPROP: DEFB 00
 DEFB STATUE,LOOK,LICK
 DEFB 00
 DEFB 00,00
OBJDSK: DEFB 00
 DEFB KEY,'It`s a shiny brass key%'
 DEFB 00
 DEFB MATCH,'an ordinary match&'
 DEFB 00
 DEFB LAMP,'looks like a kerosene lamp to me%'
 DEFB 00
 DEFB STATUE,'this is a statue of Venus%'
 DEFB 00
 DEFB 00,00
MATCHW: DEFB GET,ANY
 DEFB OH,INP
 DEFB 255,TKE,INP,OK,255
 DEFB GET,NULL
 DEFB 255,PRM,39,EXTB,255
 DEFB GET,ANY
 DEFB OWC,INP
 DEFB 255,PRM,44,EXTB,255
 DEFB INVEN,NULL
 DEFB 255,INV,EXTB,255
 DEFB LOOK,AROUND
 DEFB 255,GRUN,255
 DEFB DROP,ANY
 DEFB OWC,INP
 DEFB 255,DR,INP,OK,255
 DEFB DROP,ANY
 DEFB 255,PRM,35,EXTB,255
 DEFB LOOK,NULL
 DEFB 255,LA,EXTB,255
 DEFB LOOK,ANY
 DEFB OP,INP
 DEFB 255,DSCOB,INP,EXTB,255
 DEFB QUIT,ANY
 DEFB 255,QT,255
 DEFB HELP,ANY
 DEFB 255,PRM,40,EXTB,255
 DEFB WHO,ANY
 DEFB 255,PRM,41,EXTB,255
 DEFB ON,LAMP
 DEFB OC,ULAMP,OC,MATCH
 DEFB 255,SWP,LAMP,FLIP,17,OK,255
 DEFB ON,LAMP
 DEFB OC,ULAMP
 DEFB 255,PR,05,EXTB,255
 DEFB OFF,LAMP
 DEFB OC,LAMP
 DEFB 255,SWP,LAMP,FLIP,17,OK,255
 DEFB ON,LAMP
 DEFB OC,LAMP
 DEFB 255,PRM,42,EXTB,255
 DEFB OFF,LAMP
 DEFB OC,ULAMP
 DEFB 255,PRM,42,EXTB,255
 DEFB UNLOCK,ANY
 DEFB TF,23,01,OC,KEY,CL,9
 DEFB 255,SF,23,00,OK,255
 DEFB LOCK,ANY
 DEFB TF,23,00,OC,KEY,CL,9
 DEFB 255,SF,23,01,OK,255
 DEFB INTO,ANY
 DEFB TF,23,00,CL,9
 DEFB 255,MV,11,255
 DEFB YES,ANY
 DEFB 255,PRM,43,255
 DEFB SCORE,ANY
 DEFB 255,SC,EXTB,255
 DEFB 255,255
 DEFB 255,PRM,37,255
 DEFB 00,00
MSG: DEFB 00
 DEFB  '>That means nothing to me{@, I`m afraid}{?.} !!%'
 DEFB 00
 DEFB ' North'
 DEFB 00
 DEFB ' South'
 DEFB 00
 DEFB ' East'
 DEFB 00
 DEFB ' West'
 DEFB 00
 DEFB ' Northeast'
 DEFB 00
 DEFB ' Northwest'
 DEFB 00
 DEFB ' Southeast'
 DEFB 00
 DEFB ' Southwest'
 DEFB 00
 DEFB ' Up'
 DEFB 00
 DEFB ' Down'
 DEFB 00
 DEFB ' In'
 DEFB 00
 DEFB ' Out'
 DEFB 00
 DEFB 'Visible exits are '
 DEFB 00
 DEFB '>It`s dark, I can`t see anything{? at all}.'
 DEFB ' It is {@very }dangerous to move in the dark.%'
 DEFB 00
 DEFB 'I am {@presently }carrying '
 DEFB 00
 DEFB 'I am wearing '
 DEFB 00
 DEFB 'I can see '
 DEFB 00
 DEFB 'nothing special'
 DEFB 00
 DEFB '>I don`t {@quite }follow you. Could you try '
 DEFB 're-phraseing that....%'
 DEFB 00
 DEFB '>I can{@no}{?`}t go {@in that direction.}{?there.}%'
 DEFB 00
 DEFB ' right'
 DEFB 00
 DEFB ' left'
 DEFB 00
 DEFB '>{Ehh!! }That doesn`t make sense{@, buddy} !%'
 DEFB 00
 DEFB '>{@I`m sorry, but }I can see no such object here.%'
 DEFB 00
 DEFB '>PROGRAM ERROR :-INVALID CONDITION ;;;; %'
 DEFB 00
 DEFB '>Quitting with '
 DEFB 00
 DEFB ' points.%'
 DEFB 00
 DEFB 'Ok.%'
 DEFB 00
 DEFB 'Your{@ present } score is '
 DEFB 00
 DEFB '>PROGRAM ERROR :-CANT FIND OBJECT FOR ACTION ;;;; %'
 DEFB 00
 DEFB '>PROGRAM ERROR :-INVALID CONDITION %'
 DEFB 00
 DEFB '>Try again...I`m not sure which object you mean.%'
 DEFB 00
 DEFB '>I am not wearing this item.%'
 DEFB 00
 DEFB '>This is not among the items I am carrying.%'
 DEFB 00
 DEFB '>I can`t see the object {@you mean }here...%'
 DEFB 00
 DEFB '>{?Huh}{@Ehh} !%'
 DEFB 00
 DEFB '>Sorry, I can`t {@possibly } carry anything else.%'
 DEFB 00
 DEFB '>{?Sorry, I`m not sure from that what '
 DEFB 'you want me to get}{@You want what} !%'
 DEFB 00
 DEFB 'I can`t help you {?at this time}{@I`m afraid}%'
 DEFB 00
 DEFB '>Don`t ask silly questions{@, please} !&'
 DEFB 00
 DEFB '>{@I believe I already did that !!%}'
 DEFB '{?It is already !!!!%}'
 DEFB 00
 DEFB '>Sorry, no chance!%'
 DEFB 00
 DEFB 'But this is something I`m already carrying!%'
 DEFB 00
 DEFB 'Looks {@distinctly }ordinary to me!%'
 DEFB 00
 DEFB '{?Sorry, that`s quite impossible.}'
 DEFB '{@I`m sorry but I can`t do that.}%'
 DEFB 00,00
UMESS: DEFB 00
 DEFB 'a set of keys'
 DEFB 00
 DEFB 'some matches'
 DEFB 00
 DEFB 'an old kerosene lamp'
 DEFB 00
 DEFB 'old worn out lamp'
 DEFB 00
 DEFB 'What with..{@ my fingernails??}'
 DEFB '{? I`m not carrying any matches!}%'
 DEFB 00
 DEFB 'an old dirty statue'
 DEFB 00,00
LOC: DEFB 00
 DEFB NORMAL,2,N,2,3,S,10,255
 DEFB 'I am in the grounds of a mansion.%'
 DEFB 00
 DEFB NORMAL,12,INTO,3,3,S,1,5,W,9,255
 DEFB 'I am at the front of the mansion.%'
 DEFB 00
 DEFB NORMAL,22,RI,4,23,L,5,10,U,6,13,EXIT,2,255
 DEFB 'I am in a long Hallway. The light is dim here as there'
 DEFB ' has been no power here for a long time.%'
 DEFB 00
 DEFB NOEXIT,13,EXIT,RTN,255
 DEFB 'I am in an old study. There are cobwebs all around.%'
 DEFB 00
 DEFB NOEXIT,13,EXIT,RTN,255
 DEFB 'I`ve entered some sort of kitchen, by the looks of it. '
 DEFB 'There`s a cooker of some kind, and a sink, but everything '
 DEFB 'is broken and decayed.%'
 DEFB 00
 DEFB NORMAL,11,DO,3,3,S,8,22,RI,7,23,L,7,2,N,7,6,NOE,7,255
 DEFB 'I am on a wierd sort of landing, with exits in many '
 DEFB 'directions. The floor doesn`t look too safe to me!!%'
 DEFB 00
 DEFB NOEXIT,13,EXIT,RTN,255
 DEFB 'I am facing a boarded-up door.%'
 DEFB 00
 DEFB NOEXIT,13,EXIT,RTN,255
 DEFB 'I am in a pink bathroom. The bath has a big crack in it'
 DEFB ' and all the pipes are disconnected and rusted.%'
 DEFB 00
 DEFB NORMAL,4,EA,2,5,W,10,255
 DEFB 'I am standing outside an old {Alocked-up }wooden '
 DEFB 'shed. {AThe windows have been boarded-up.}%'
 DEFB 00
 DEFB NORMAL,2,N,1,4,EA,9,11,DO,12,255
 DEFB 'I am standing in front of an old well.  It looks like '
 DEFB 'I could go down there perhaps.%'
 DEFB 00
 DEFB NORMAL,13,EXIT,RTN,255
 DEFB 'I am inside an old wooden shed.%'
 DEFB 00
 DEFB DARK,4,W,13,5,EA,14,10,U,10,255
 DEFB 'I am standing in a low, damp passageway.%'
 DEFB 00
 DEFB DARK,5,EA,12,2,N,15,255
 DEFB 'I am in a narrow passage. To the North is a dead end.%'
 DEFB 00,00
TABKEY:
N EQU  1 
  DEFB  1 
  DEFM 'N   NOR'
  DEFB 'T'+80H
S EQU  2 
  DEFB  2 
  DEFM 'S   SOU'
  DEFB 'T'+80H
EA EQU  3 
  DEFB  3 
  DEFM 'E   EAS'
  DEFB 'T'+80H
W EQU  4 
  DEFB  4 
  DEFM 'W   WES'
  DEFB 'T'+80H
NOE EQU  5 
  DEFB  5 
  DEFM 'NE '
  DEFB ' '+80H
SE EQU  6 
  DEFB  6 
  DEFM 'SE '
  DEFB ' '+80H
NW EQU  7 
  DEFB  7 
  DEFM 'NW '
  DEFB ' '+80H
SW EQU  8 
  DEFB  8 
  DEFM 'SW '
  DEFB ' '+80H
U EQU  9 
  DEFB  9 
  DEFM 'U   UP '
  DEFB ' '+80H
DO EQU  10 
  DEFB  10 
  DEFM 'D   DOW'
  DEFB 'N'+80H
L EQU  11 
  DEFB  11 
  DEFM 'L   LEF'
  DEFB 'T'+80H
RI EQU  12 
  DEFB  12 
  DEFM 'R   RIG'
  DEFB 'H'+80H
INTO EQU  13 
  DEFB  13 
  DEFM 'IN  INTOENT'
  DEFB 'E'+80H
EXIT EQU  14 
  DEFB  14 
  DEFM 'EXITLEAVOUT'
  DEFB ' '+80H
LOOK EQU  15 
  DEFB  15 
  DEFM 'LOOKPERUEXA'
  DEFB 'M'+80H
INVEN EQU  16 
  DEFB  16 
  DEFM 'INV'
  DEFB 'E'+80H
QUIT EQU  17 
  DEFB  17 
  DEFM 'QUITEND STOPBYE ABO'
  DEFB 'R'+80H
GET EQU  18 
  DEFB  18 
  DEFM 'GET GRABTAKECARRPIC'
  DEFB 'K'+80H
DROP EQU  19 
  DEFB  19 
  DEFM 'DROPREM'
  DEFB 'O'+80H
OPEN EQU  20 
  DEFB  20 
  DEFM 'OPE'
  DEFB 'N'+80H
LAMP EQU  21 
  DEFB  21 
  DEFM 'LAM'
  DEFB 'P'+80H
ULAMP EQU  22 
WEAR EQU  23 
  DEFB  23 
  DEFM 'WEA'
  DEFB 'R'+80H
LIFT EQU  24 
  DEFB  24 
  DEFM 'LIFTPUSHMOVEPULLYAN'
  DEFB 'K'+80H
MATCH EQU  25 
  DEFB  25 
  DEFM 'MAT'
  DEFB 'C'+80H
SCORE EQU  26 
  DEFB  26 
  DEFM 'SCO'
  DEFB 'R'+80H
AROUND EQU  27 
  DEFB  27 
  DEFM 'AROUHER'
  DEFB 'E'+80H
SAY EQU  28 
  DEFB  28 
  DEFM 'SAY YELLSHOUCALLSCR'
  DEFB 'E'+80H
OFF EQU  29 
  DEFB  29 
  DEFM 'OFF UNL'
  DEFB 'I'+80H
ON EQU  30 
  DEFB  30 
  DEFM 'ON  LIGHSTRIBURNALIGFIR'
  DEFB 'E'+80H
HELP EQU  31 
  DEFB  31 
  DEFM 'HELPASS'
  DEFB 'I'+80H
BEGIN EQU  32 
  DEFB  32 
  DEFM 'BEGISTA'
  DEFB 'R'+80H
CLOSE EQU  33 
  DEFB  33 
  DEFM 'CLOSSHU'
  DEFB 'T'+80H
DOOR EQU  34 
  DEFB  34 
  DEFM 'DOO'
  DEFB 'R'+80H
READ EQU  35 
  DEFB  35 
  DEFM 'REA'
  DEFB 'D'+80H
THROW EQU  36 
  DEFB  36 
  DEFM 'THROHURLCHU'
  DEFB 'C'+80H
LOCK EQU  37 
  DEFB  37 
  DEFM 'LOC'
  DEFB 'K'+80H
UNLOCK EQU  38 
  DEFB  38 
  DEFM 'UNL'
  DEFB 'O'+80H
JUMP EQU  39 
  DEFB  39 
  DEFM 'JUM'
  DEFB 'P'+80H
FORWARD EQU  40 
  DEFB  40 
  DEFM 'FOR'
  DEFB 'W'+80H
BACKWARD EQU  41 
  DEFB  41 
  DEFM 'BAC'
  DEFB 'K'+80H
BOARD EQU  42 
  DEFB  42 
  DEFM 'NOTIBOARSIG'
  DEFB 'N'+80H
WHO EQU  43 
  DEFB  43 
  DEFM 'WHO WHENWHATIS  WHERHOW WHY'
  DEFB ' '+80H
LISTEN EQU  44 
  DEFB  44 
  DEFM 'LISTHEA'
  DEFB 'R'+80H
NOTE EQU  45 
  DEFB  45 
  DEFM 'NOT'
  DEFB 'E'+80H
STUDY EQU  46 
  DEFB  46 
  DEFM 'STU'
  DEFB 'D'+80H
KITCHEN EQU  47 
  DEFB  47 
  DEFM 'KIT'
  DEFB 'C'+80H
STAIRS EQU  48 
  DEFB  48 
  DEFM 'UPSTSTA'
  DEFB 'I'+80H
ROOM EQU  49 
  DEFB  49 
  DEFM 'ROO'
  DEFB 'M'+80H
BATH EQU  50 
  DEFB  50 
  DEFM 'BAT'
  DEFB 'H'+80H
KEY EQU  51 
  DEFB  51 
  DEFM 'KEY KEY'
  DEFB 'S'+80H
SHED EQU  52 
  DEFB  52 
  DEFM 'HUT SHE'
  DEFB 'D'+80H
FRONT EQU  53 
  DEFB  53 
  DEFM 'FRO'
  DEFB 'N'+80H
GROUNDS EQU  54 
  DEFB  54 
  DEFM 'GRO'
  DEFB 'U'+80H
WELL EQU  55 
  DEFB  55 
  DEFM 'WEL'
  DEFB 'L'+80H
YES EQU  56 
  DEFB  56 
  DEFM 'YES'
  DEFB ' '+80H
CARE EQU  57 
  DEFB  57 
  DEFM 'CAREQUIECLO'
  DEFB 'S'+80H
STATUE EQU  58 
  DEFB  58 
  DEFM 'STATFIG'
  DEFB 'U'+80H
THEN DEFL 250
 DEFB 250
 DEFM 'THENAND ALS'
 DEFB 'O'+80H
IT DEFL 251
 DEFB 251
 DEFM 'IT  THE'
 DEFB 'M'+80H
AGAIN DEFL 252
 DEFB 252
 DEFM 'AGAIREP'
 DEFB 'E'+80H
 DEFB 00,00
TITL1: DEFB 26
 DEFB 'Welcome to ADVEN-80, a new type of Adventure%'
 DEFB 'game. I will be your eyes and ears in this game as we travel together%'
 DEFB 'through this journey. If you have problems, please re-phrase%'
 DEFB 'your sentence. Try asking for help if you like.%'
 DEFB ' %'
 DEFB 'Use the RUBOUT or DEL key to backspace over mistakes%'
 DEFB 'or use Control-U to delete your entire input line%'
 DEFB 'Hit any key to begin... good luck!'
 DEFB 00,00
FLAG: DEFB 00
 DEFB      01
 DEFB      00
 DEFB      02
 DEFB      00
 DEFB      00
 DEFB      00
 DEFB      00
 DEFB      00
 DEFB      00
 DEFB     80
 DEFB     00
 DEFB     00
 DEFB     00
FL14: DEFB     01
 DEFB     00
 DEFB     00
 DEFB     01
 DEFB     00
 DEFB     00
FL20: DEFB     01
FL21: DEFB     00
 DEFB     00
 DEFB     01
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB 00,00
    END
   00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     00
 DEFB     0