-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTOURNEY.TXT
executable file
·323 lines (309 loc) · 3.36 KB
/
TOURNEY.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
* Tourney
*
* Tournament routines
*
* Programmed by Rick Adams
*
* (c) Copyright 1987 by Activision
*
*get name from keyboard
* X -> screen position
GETNAM
I@
LBSR KCHEK
BNE I@
LDA #20
CLRB
LDY #NAME
STY NAMPTR
L@
STB ,Y+
DECA
BNE L@
LDD #NAME
CLR NAMCNT
LDA #3
LDB #19
LBSR CPOS
LEAU PROMPT,PCR
LBSR MSG
LDA #8
LDB #20
LBSR CPOS
LEAX 2*160,X
LDB #'@
INC HFLAG
LBSR PUT
CLR HFLAG
LEAX -4,X
A@
LBSR INKEY
CMPB #'# don't allow weave
BEQ A@
CMPB #'@ don't allow cursor
BEQ A@
CMPB #'* don't allow copyright
BEQ A@
CMPB #$0D
BEQ Z@
CMPB #8
BNE B@
* backspace
TST NAMCNT
BEQ A@
DEC NAMCNT
LDD NAMPTR
SUBD #1
STD NAMPTR
LDB #' space
LBSR PUT
LEAX -8,X 2 backspaces
LDB #'@
INC HFLAG
LBSR PUT cursor
CLR HFLAG
LEAX -4,X 1 backspace
BRA A@
* Normal character
B@
LDA NAMCNT
CMPA #19
BHS A@
INC NAMCNT
LDY NAMPTR
STB ,Y+
STY NAMPTR
LBSR PUT
INC HFLAG
LDB #'@
LBSR PUT
CLR HFLAG
LEAX -4,X
BRA A@
Z@
TST NAMCNT
BNE EGN
LDB #'-
STB NAME
INC NAMCNT
EGN
RTS
PROMPT
FCC "Type your name, then"
FCC " press enter:",0
* POLL KEYBOARD, WAIT FOR KEY
* B = ASCII CHARACTER
*
INKEY
INC ROMSON
LBSR TASK1
STA $FFDE
A@
JSR [$A000]
BEQ A@
TFR A,B
LBSR TASK0
CLR ROMSON
STA $FFDF
RTS
* clear scoreboard
CLBORD
PSHS D,X
LDA #24*10+1
LDX #SCBORD
CLRB
A@
DECA
BEQ B@
STB ,X+
BRA A@
B@
PULS D,X,PC
*update tournament score display
UTSCOR
PSHS D,X,Y,U
TST TLIMIT
BEQ Z@
LDA #30
LDB #19
LBSR CPOS
LEAX 160*4,X
LEAU TSMSG,PCR
LBSR MSG
LDA #31
LDB #20
LBSR CPOS
LEAX 160*5,X
LDB TSCORE
CLRA
LBSR PRTNUM
Z@
PULS D,X,Y,U,PC
TSMSG
FCC "Score",0
* Put up tournament scoreboard
*
PTBORD
LBSR CLS
LDD #$0903
LBSR CPOS
LEAU SCHD1,PCR "Tournament Scoreboard"
LBSR MSG
* put up names and scores
LDU #SCBORD
LDA #10
PSHS A
A@
DEC ,S
BLT Z@
TST ,U
BEQ B@
* put up name and score
LDA #4
LDB #9
SUBB ,S
ADDB #6
ADDA #2
LBSR CPOS9
PSHS U
LBSR MSG name
LDA #4+26
LDB #9
SUBB 2,S
ADDB #6
ADDA #2
LBSR CPOS9
LDU ,S
LDB 20,U
LBSR PRTNUM score
PULS U
LEAU 24,U
BRA A@
* null scoreboard entry
B@
LDA #4
LDB #9
SUBB ,S
ADDB #6
ADDA #2
LBSR CPOS9
PSHS U
LEAU DASH,PCR
LBSR MSG
LDA #4+26
LDB #9
SUBB 2,S
ADDB #6
ADDA #2
LBSR CPOS9
LEAU DASH,PCR
LBSR MSG
PULS U
LEAU 24,U
BRA A@
Z@
PULS A
* do "continue tournament" menu
LDA #4
LDB #22
LBSR CPOS
LEAU SCHD2,PCR
LBSR MSG "Continue tournament?"
LEAU SCMENU,PCR
LBRA TMENU
*yes
SC1
LBSR CUROFF
LDU CURMNU
LBSR DMENU
LBSR GETNAM
LBSR CURON
LDA #1
TSTA
RTS
*no
SC2
CLRA
TSTA
RTS
DASH
FCC "-",0
SCHD1
FCC "Tournament Scoreboard",0
SCHD2
FCC "Continue tournament?",0
* Post tournament score to scoreboard
POST
LDU #SCBORD-24
LDA #10
PSHS A
A@ DEC ,S
BLT Z@
LEAU 24,U
LDA TSCORE
CMPA 20,U
BLO A@
BNE B@
CMPA #144
BNE B@
*tie breaker
LDA MINS
CMPA 21,U
BLO B@
LDA SECS
CMPA 22,U
BLO B@
LDA TICKS
CMPA 23,U
BHI A@
B@
LDA ,S
LBSR INS
LBSR PUTNAM
Z@
PULS A,PC
* insert line in scoreboard
INS
PSHS U,A
LDX #SCBORD+8*24
LDY #SCBORD+9*24
*for each line
PSHS A
A@
DEC ,S
BLT Z@
*for each character
LDA #24
PSHS X,Y
B@
LDB ,X+
STB ,Y+
DECA
BNE B@
PULS X,Y
LEAX -24,X
LEAY -24,Y
BRA A@
Z@
PULS A
PULS U,A,PC
* Put player into scoreboard
PUTNAM
PSHS U
LDX #NAME
LDA NAMCNT
CLR A,X
A@
LDA ,X+
STA ,U+
BNE A@
PULS U
LDA TSCORE
STA 20,U
LDA MINS
STA 21,U
LDA SECS
STA 22,U
LDA TICKS
STA 23,U
RTS