-
Notifications
You must be signed in to change notification settings - Fork 1
/
BIRTH.ONE.txt
386 lines (386 loc) · 8.47 KB
/
BIRTH.ONE.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
************************
* GET & TAKE CMMD. *
************************
TAKE LDA NOUNH
BEQ NOTAKE0
TAY
LDA OBJVAL,Y
BEQ NOTAKE1
STA HOLD
JSR LOCOBJ
CMP ROOM
BNE NOTAKE1
INY
LDA (POINT),Y
BNE NOTAKE2
DEY
LDA CARRY
CMP #10
BCS NOTAKE3
LDA HOLD
INC CARRY
LDA #$FF
STA (POINT),Y
TOK2 LDA #09
JMP SYSMSG
NOTAKE0 LDA #20
JMP SYSMSG
NOTAKE1 LDA NOUNH
CMP #98
BEQ NOTAKE2
LDA #21
JMP SYSMSG
NOTAKE2 LDA #22
JMP SYSMSG
NOTAKE3 LDA #25
JMP SYSMSG
***********************
* DROP COMMAND *
***********************
DROP LDA NOUNH
BEQ NODROP0
TAY
LDA OBJVAL,Y
BEQ NODROP1
STA HOLD
JSR LOCOBJ
CMP #$FF
BNE NODROP1
LDA ROOM
STA (POINT),Y
DEC CARRY
LDA HOLD
DROP2 LDA #09
JMP SYSMSG
NODROP0 LDA #23
JMP SYSMSG
NODROP1 LDA #24
JMP SYSMSG
********************
* INVENTORY COMMAND*
********************
INVEN LDA #>OBJECT
STA POINT
LDA #<OBJECT
STA POINT+1
LDA #00
STA CARRY
LDA #18
JSR SYSMSG
LDA #01
STA TEMP1
ILOP LDY #00
LDA (POINT),Y
CMP #$FF
BEQ IFND
ILOP1 JSR CREEP3
LDA TEMP1
YYYYY CMP #26
BCS IDONE
INC TEMP1
JMP ILOP
IDONE LDA CARRY
BNE IDON2
LDA #$8D
JSR COUT
LDA #19
JSR SYSMSG
IDON2 RTS
IFND LDA #>OBJNAM
STA CKLIN
LDA #<OBJNAM
STA CKLIN+1
LDA TEMP1
STA RMNEW
INC CARRY
LDA #10
STA CH
LDA #23
JSR VTABV
JSR LOOP
JMP ILOP1
***********************
* EXAMINE & LOOK CMD.*
***********************
LOOK LDA NOUNH
BNE LOOKOB
LOOKNT LDY ROOM
DEY
LDA DETAIL,Y
BEQ LOOK1
JMP SYSMSG
LOOK1 LDA #31
JMP SYSMSG
LOOKOB TAY
LDA OBJVAL,Y
BEQ LOOK2
STA HOLD
JSR LOCOBJ
CMP #$FF
BEQ LOK
CMP ROOM
BEQ LOOK4
LDA #21
JMP SYSMSG
LOK LDY HOLD
CPY #19
BNE LOK2
LDA OBJECT+36
BNE LOK2
LDA ROOM
STA OBJECT+36
STA OBJECT+39
STA OBJECT+42
STA OBJECT+45
STA OBJECT+48
STA OBJECT+51
LDA #125
JMP SYSMSG
LOK2 DEY
LDA OBDET,Y
BEQ LOOK3
JMP SYSMSG
LOOK2 LDA NOUNH
CMP #108
BCC LOOK2X
CMP #111
BCS LOOK2X
JMP READ
LOOK2X CMP #114
LOOK21 LDA #22
JMP SYSMSG
LOOK3 LDA #31
JMP SYSMSG
LOOK4 INY
LDA (POINT),Y
BNE LOK
LDA #24
JMP SYSMSG
***********************
* OPEN COMMAND *
***********************
OPEN LDA NOUNH
BEQ OPENZX
OPEN1 LDA NOUNH
TAY
LDA OBJVAL,Y
BEQ OPENZ1
STA HOLD
JSR LOCOBJ
CMP #$FF
BNE OPENZ2
LDA HOLD
CMP #12
BNE OPEN2
LDA #91
STA OBJECT+35
LDA #09
JMP SYSMSG
OPEN2 CMP #19
BNE OPENZ1
JMP LOOK
OPENZ2 LDA #24
JMP SYSMSG
OPENZ1 LDA #22
JMP SYSMSG
OPENZX LDA #26
JMP SYSMSG
***********************
* TAP,HIT,PRESS,PUSH *
* & MOVE COMMANDS *
* TURN & STRAIGHTEN *
***********************
PUSH LDA NOUNH
RTS
**********************
* JUMP & LEAP COMND. *
**********************
JUMP LDA ROOM
CMP #3
BEQ DEAD
CMP #4
BEQ DEAD
CMP #7
BEQ DEAD
CMP #22
BEQ DEAD
LDA #09
JMP SYSMSG
DEAD LDA #35
JSR SYSMSG
DEADY LDA #7
JSR SYSMSG
DEAD1 JSR GETLN
LDA $200
CMP #$D9
BNE DEAD2
JMP $C600
DEAD2 CMP #$CE
BNE DEAD1
JMP QUIT1
************************
* READ COMMAND *
************************
READ LDA NOUNH
BEQ NOREAD
TAY
LDA OBJVAL,Y
BEQ READIAL
STA HOLD
JSR LOCOBJ
CMP #$FF
BNE NOREAD3
LDA HOLD
CMP #12
BNE READ1
LDA OBJECT+35
JMP SYSMSG
READ1 NOP
LDA #37
JMP SYSMSG
READIAL LDA NOUNH
CMP #99
BEQ READWAL
READOK JMP LOOK
NOREAD LDA #36
JMP SYSMSG
NOREAD1 LDA #37
JMP SYSMSG
NOREAD2 LDA #22
JMP SYSMSG
NOREAD3 LDA #21
JMP SYSMSG
READWAL LDA ROOM
CMP #14
BNE NOREAD1
LDA #177
JMP SYSMSG
***********************
* SAY & UTTER COMMAND *
***********************
UTTER LDA NOUNH
BEQ NOSAY0
LDA #09
JSR SYSMSG
LDA #$A7
JSR COUT
LDY HOLD
SAY1 LDA $200,Y
CMP #$8D
BEQ SAY2
JSR COUT
INY
JMP SAY1
SAY2 LDA #$A7
JSR COUT
LDA #$8D
JSR COUT
LDA ROOM
CMP #04
BNE SAY3
LDA NOUNH
CMP #72
BEQ SAYOK
RTS
SAY3 LDA ROOM
CMP #07
BNE SAY4
LDA NOUNH
CMP #72
BNE SAY4
LDA #130
JSR SYSMSG
LDA #4
STA RMHOLD
JMP RMD1
SAY4 RTS
NOSAY0 LDA #38
JMP SYSMSG
SAYOK LDA #130
JSR SYSMSG
LDA #7
STA RMHOLD
JMP RMD1
**********************
* HELP AND HINT RTN *
**********************
HELP LDY ROOM
DEY
LDA HELPMS,Y
JMP SYSMSG
***********************
* LOCATE OBJECT SUB. *
***********************
LOCOBJ TAY
LDA #>OBJECT
STA POINT
LDA #<OBJECT
STA POINT+1
TGLOP DEY
BEQ TGOT
JSR CREEP3
JMP TGLOP
TGOT LDA (POINT),Y
RTS
*******************
* FUCK & SHIT *
*******************
FUCK LDA #39
JSR SYSMSG
JMP DEADY
***********************
* *
* INSTUCTIONS *
* *
***********************
*
INSTR LDA #>INST
STA CKLIN
LDA #<INST
STA CKLIN+1
LDY #00
INSTW3 LDA (CKLIN),Y
BEQ INSTLOP
JSR FOUND
CLC
LDA CKLIN
ADC #$01
STA CKLIN
BCC INSTW3
INC CKLIN+1
JMP INSTW3
*
INSTLOP LDA KEYBD
BPL INSTLOP
LDA #00
STA STROBE
JSR HOME
RTS
**********************
* INPUT ROUTINE *
**********************
GET LDA #24
STA WNDBTM
LDA SPLIT
STA WNDTOP
LDA #00
STA CH
LDA #23
JSR VTABV
LDA #$8D
JSR COUT
LDA FLAG2
BNE GET120
LDA #16
GETTY JSR SYSMSG
LDA #11
STA CH
LDA #22
JSR VTABV
JSR GETLN
LDA #$8D
JSR COUT
RTS
GET120 LDA FLAG2
JMP GETTY
CHN BIRTH.TWO