aboutsummaryrefslogtreecommitdiff
path: root/devtools/tasmrecover/dreamweb/debug.asm
blob: f4321de7bf04d1e225bab36e9ca5d772b941e0ef (plain)
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
;Copyright (c) 1990-2012 by Neil Dodwell
;Released with permission from Neil Dodwell under GPLv2
;See LICENSE file for full license text

	if	debuglevel2


Debugkeys	proc	near

	ret

	endp



Debugstart	proc	near

	call	allpalette
	mov	reeltohold,-1
	mov	newlocation,23
	mov	dreamnumber,0
	mov	al,"W"
	mov	ah,"S"
	mov	cl,"H"
	mov	ch,"D"
	call	findexobject
	mov	byte ptr [es:bx+12],"S"-"A"
	mov	byte ptr [es:bx+13],"C"-"A"
	mov	byte ptr [es:bx+14],"R"-"A"
	mov	byte ptr [es:bx+15],"W"-"A"
	mov	al,"W"
	mov	ah,"E"
	mov	cl,"T"
	mov	ch,"A"
	call	findexobject
	mov	byte ptr [es:bx+12],"G"-"A"
	mov	byte ptr [es:bx+13],"U"-"A"
	mov	byte ptr [es:bx+14],"N"-"A"
	mov	byte ptr [es:bx+15],"A"-"A"
	mov	al,"W"
	mov	ah,"E"
	mov	cl,"T"
	mov	ch,"B"
	call	findexobject
	mov	byte ptr [es:bx+12],"S"-"A"
	mov	byte ptr [es:bx+13],"H"-"A"
	mov	byte ptr [es:bx+14],"L"-"A"
	mov	byte ptr [es:bx+15],"D"-"A"
	mov	card1money,12342

	ret

	endp





Debuggreen	proc	near

	push	ax dx
	mov	al,0
	mov	dx,3c8h
	out	dx,al
	mov	dx,3c9h
	mov	al,0
	out	dx,al
	mov	al,63
	out	dx,al
	mov	al,0
	out	dx,al
	pop	dx ax
	ret
	
	endp








Debugred	proc	near

	push	ax dx
	mov	al,0
	mov	dx,3c8h
	out	dx,al
	mov	dx,3c9h
	mov	al,63
	out	dx,al
	mov	al,0
	out	dx,al
	mov	al,0
	out	dx,al
	pop	dx ax
	ret
	
	endp




Debugblue	proc	near

	push	ax dx
	mov	al,0
	mov	dx,3c8h
	out	dx,al
	mov	dx,3c9h
	mov	al,0
	out	dx,al
	mov	al,0
	out	dx,al
	mov	al,63
	out	dx,al
	pop	dx ax
	ret
	
	endp





Debugblack	proc	near

	push	dx ax
	mov	al,0
	mov	dx,3c8h
	out	dx,al
	mov	dx,3c9h
	mov	al,0
	out	dx,al
	mov	al,0
	out	dx,al
	mov	al,0
	out	dx,al
	pop	ax dx 
	ret
	
	endp











Debug	proc	near

	push	ds dx cx
	mov	ah,3ch
	mov	cx,0
	mov	dx,seg filenamed
	mov	ds,dx
	mov	dx,offset filenamed
	int	21h
	mov	bx,ax
	pop	cx dx ds
	push	bx
	mov	ah,40h
	int	21h
	pop	bx
	mov	ah,3eh
	int	21h
	ret

filenamed	db	"DREAMWEB.TXT",0

	endp








Shout	proc	near

	push	ax bx cx dx si di es ds
	call	debugblue
	mov	cx,50
	call	hangon
	call	debugblack
	mov	cx,10
	call	hangon
	pop	ds es di si dx cx bx ax
	ret

	endp


Shoutred	proc	near

	push	ax bx cx dx si di es ds
	call	debugred
	mov	cx,4
	call	hangon
	call	debugblack
	mov	cx,40
	call	hangon
	pop	ds es di si dx cx bx ax
	ret

	endp



Shoutgreen	proc	near

	push	ax bx cx dx si di es ds
	call	debuggreen
	mov	cx,4
	call	hangon
	call	debugblack
	mov	cx,40
	call	hangon
	pop	ds es di si dx cx bx ax
	ret

	endp









;Checkmemingame	proc	near

;	cmp	charset1,0
;	jz	nodebug
;	mov	bx,60000
;	mov	ah,48h
;	int	21h
;	mov	ax,bx
;	mov	cl,6
;	shr	ax,cl
;	mov	di,offset cs:debugtextig
;	call	showword

;	mov	ax,soundbufferwrite
;	;mov	ax,exframepos
;	mov	di,offset cs:debugtextex
;	call	showword

;	;mov	ax,extextpos
;	;mov	di,offset cs:debugtextex2
;	;call	showword

;	push	cs
;	pop	es
;	mov	si,offset cs:debugtextig
;	mov	al,0
;	mov	ah,0
;	mov	dl,100
;	mov	di,204
;	mov	bx,14
;	call	printdirect
;	push	cs
;	pop	es
;	mov	si,offset cs:debugtextex
;	mov	al,0
;	mov	ah,0
;	mov	dl,100
;	mov	di,204
;	mov	bx,22
;	call	printdirect
;	push	cs
;	pop	es
;	mov	si,offset cs:debugtextex2
;	mov	al,0
;	mov	ah,0
;	mov	dl,100
;	mov	di,204
;	mov	bx,30
;	call	printdirect
;	mov	di,204
;	mov	bx,14
;	mov	cl,40
;	mov	ch,24
;	call	multidump
;nodebug:	ret

	endp

debugtextig:	db	"00000K",0

debugtextex:	db	"00000b",0

debugtextex2:	db	"00000b",0

	




	if	recording

	mov	ax,recordpos
	mov	di,offset cs:debugtextr
	call	showword

	mov	al,0
	call	print
	dw	4,4,100
debugtextr:	db	"00000",0

	mov	si,0
	mov	di,0
	mov	cl,40
	mov	ch,12
	call	multidump

	endif

	ret

	endp


















;Debugax	proc	near
;
;	push	ax
;	call	showpanel
;	pop	ax
;	mov	di,offset cs:debugaxtext
;	call	showword
;	
;	mov	di,204
;	mov	bx,14
;	mov	al,0
;	mov	ah,0
;	mov	dl,100
;	push	cs
;	pop	es
;	mov	si,offset cs:debugaxtext
;	call	printdirect
;	mov	di,204
;	mov	bx,14
;	mov	cl,40
;	mov	ch,24
;	call	multidump
;	ret
;
;debugaxtext	db	"00000  ",0
;	
;	endp







	endif