27512EP.asm


1
;*************************
2
;
3
; Eprommer 2716-27256
4
;
5
;*************************
6
;
7
         ORG    01900
8
;
9
         db   "1   2716   *   2   2732   "
10
         db   "*   3   2764   *   4   271"
11
         db   "28   *   5   -256   *   6   -512"
12
;
13
         db   0,9,18,27,36,45
14
;
15
L1931    ld      A,08F
16
         OUT    (P0A),A
17
L1939    ld      si,01900
18
         call    PRINT
19
         db   00C,00E
20
         db   "0101*   Epromm"
21
         db   "er   2716-27512   V."
22
         db   "1.4   *   [c]87/89    E."
23
         db   "Ludwig/J.Beisler   *"
24
         db   00E
25
         db   "0308MENš:   [Korr."
26
         db   ""
27
         db   "DEL"
28
         db   ""
29
         db   ",   Zurck   Anf."
30
         db   ""
31
         db   "Z"
32
         db   ""
33
         db   ",   Abbruch   "
34
         db   ""
35
         db   "Q"
36
         db   ""
37
         db   "]"
38
         db   00E
39
         db   "061"
40
         db   "2+080
41
         CALL   L1CC5
42
         call    PRINT
43
         db   "*"
44
         db   "   +080
45
         CALL   L1CD7
46
         call    PRINT
47
         db   00E
48
         db   "080"
49
         db   "8+080
50
         CALL   L1CE1
51
         ld      (si-001),A
52
         SUB    031
53
         CALL   Z,L1CC5
54
         jmp     Z,L19DA
55
         DEC    A
56
         jmp     NZ,L1939
57
         CALL   L1CD7
58
L19DA    call    PRINT
59
         db   00E
60
         db   "1004"
61
         db   002+080
62
         ld      HL,01900
63
         ld      B,034
64
L19E6    ld      A,(HL)
65
         INC    HL
66
         call    10H
67
         DJNZ   L19E6
68
         call    PRINT
69
         db   00E
70
         db   "1208"
71
         db   002+080
72
         CALL   L1CE1
73
         jmp     Z,L1939
74
         SUB    030
75
         ld      (si-002),A
76
         ld      HL,01934
77
         ld      B,6
78
L1A02    DEC    A
79
         jmp     Z,L1A0A
80
         INC    HL
81
         DJNZ   L1A02
82
         jmp     L19DA
83
;
84
L1A0A    ld      L,(HL)
85
         ld      B,007
86
L1A0D    ld      A,(HL)
87
         INC    HL
88
         call    10H
89
         DJNZ   L1A0D
90
         call    PRINT
91
         db   00E
92
         db   "1508EPROM-Adress"
93
         db   "en   [Ohne   Eingabe"
94
         db   "   gesamtes   Eprom]"
95
         db   "   +080
96
         CALL   L1CE1
97
         jmp     Z,L19DA
98
L1A4A    call    PRINT
99
         db   00E
100
         db   "1712Anfang   :"
101
         db   002+080
102
         CALL   INLINE
103
         ld      HL,(D181A)
104
         EX     DE,HL
105
         CALL   INHEX
106
         ld      A,(si-002)
107
         EX     DE,HL
108
         ld      HL,00400
109
L1A6A    ADD    HL,HL
110
         DEC    A
111
         jmp     NZ,L1A6A
112
         EX     DE,HL
113
         ld      A,(si-2)
114
         cmp     6
115
         jmp     Z,X1
116
;
117
         PUSH   HL
118
         XOR    A
119
         SBC    HL,DE
120
         POP    HL
121
         jmp     NC,L1A4A
122
;
123
X1       call    PRINT
124
         db   00E
125
         db   "1908A"
126
         db   ".+080
127
         CALL   L0589
128
         ld      (D18F6),HL
129
         CALL   L1CE1
130
         jmp     Z,L1A4A
131
L1A89    call    PRINT
132
         db   00E
133
         db   "2112Endadr.:"
134
         db   002+080
135
         CALL   INLINE
136
         ld      HL,(D181A)
137
         ld      A,(HL)
138
         cmp     020
139
         EX     DE,HL
140
         jmp     Z,L1ABF
141
         PUSH   HL
142
         CALL   INHEX
143
         POP    DE
144
;
145
         ld      A,(si-2)
146
         cmp     6
147
         jmp     Z,X2
148
;
149
         PUSH   HL
150
         XOR    A
151
         SBC    HL,DE
152
         POP    HL
153
         jmp     NC,L1A89
154
X2       PUSH   DE
155
         PUSH   HL
156
         ld      DE,(D18F6)
157
         XOR    A
158
         SBC    HL,DE
159
         POP    HL
160
         POP    DE
161
         jmp     C,L1A89
162
         jmp     L1AC2
163
;
164
L1ABF    ld      D,H
165
         ld      E,L
166
         DEC    HL
167
L1AC2    ld      (D18F8),HL
168
         call    PRINT
169
         db   00E
170
         db   "2308E"
171
         db   ".+080
172
         CALL   L0589
173
         CALL   L1CE1
174
         jmp     Z,L1A89
175
L1AD5    call    PRINT
176
         db   00E
177
         db   "2512Speicheradre"
178
         db   "sse   :"
179
         db   002+080
180
         CALL   INLINE
181
         ld      HL,(D181A)
182
         EX     DE,HL
183
         CALL   INHEX
184
         ld      (ARGU1),HL
185
         call    PRINT
186
         db   00E
187
         db   "2708R"
188
         db   ".+080
189
         CALL   L0589
190
         ld      A,(si-001)
191
         cmp     031
192
         jmp     NZ,L1B49
193
L1B0C    call    PRINT
194
         db   00E
195
         db   "2708Programm.NOR"
196
         db   "MAL/SCHNELL   [N/S"
197
         db   "]:   "
198
         db   002+080
199
         CALL   L1CE1
200
         jmp     Z,L1AD5
201
         ld      HL,00DD3
202
         cmp     04E
203
         jmp     Z,L1B45
204
         cmp     053
205
         jmp     NZ,L1B0C
206
         ld      HL,00047
207
L1B45    ld      (D18F4),HL
208
         call    10H
209
L1B49    call    PRINT
210
         db   00E
211
         db   "2908START   :"
212
         db   002,"   +080
213
         CALL   L1CE1
214
         jmp     Z,L1AD5
215
         ld      A,(si-002)
216
;
217
         cmp     6
218
         jmp     NZ,X3
219
         IN     A,(P05)
220
         jmp     X4
221
;
222
X3       cmp     005
223
         CCF
224
         jmp     C,L1B68
225
         cmp     003
226
L1B68    IN     A,(P05)
227
         SET    6,A
228
         jmp     NC,L1B70
229
X4       RES    6,A
230
L1B70    SET    4,A
231
         RES    5,A
232
         OUT    (P05),A
233
         ld      HL,(ARGU1)
234
         ld      DE,(D18F6)
235
L1B7D    ld      C,P09
236
         OUT    (C),D
237
         IN     A,(P05)
238
;
239
         ld      B,(si-2)
240
         DEC    B
241
         DEC    B
242
         DEC    B
243
         DEC    B
244
         DEC    B
245
         DEC    B
246
         jmp     NZ,X5
247
         SET    6,A
248
;
249
X5       RES    4,A
250
         OUT    (P05),A
251
         SET    4,A
252
         OUT    (P05),A
253
;
254
         DEC    B
255
         INC    B
256
         jmp     NZ,X6
257
         RES    6,A
258
         OUT    (P05),A
259
;
260
X6       OUT    (C),E
261
         IN     A,(P08)
262
         BIT    0,(si-001)
263
         jmp     NZ,L1B98
264
         ld      (HL),A
265
         jmp     L1B99
266
;
267
L1B98    AND    (HL)
268
L1B99    cmp     (HL)
269
         jmp     NZ,L1CA0
270
         CALL   L1CBA
271
         jmp     NC,L1B7D
272
         ld      HL,(D18F8)
273
         ld      DE,(D18F6)
274
         XOR    A
275
         SBC    HL,DE
276
         ld      (D18FC),HL
277
         PUSH   DE
278
         ld      DE,(ARGU1)
279
         ADD    HL,DE
280
         ld      (ARGU2),HL
281
         EX     DE,HL
282
         POP    DE
283
         BIT    0,(si-001)
284
         jmp     Z,L1C31
285
L1BC0    ld      B,00A
286
L1BC2    PUSH   BC
287
         ld      B,(si-002)
288
         IN     A,(P05)
289
         RES    4,A
290
         SET    5,A
291
         OUT    (C),D
292
         DEC    B
293
         jmp     Z,L1BD3
294
         SET    6,A
295
L1BD3    OUT    (P05),A
296
         OUT    (C),E
297
         ld      A,(HL)
298
         PUSH   HL
299
         OUT    (P08),A
300
         INC    A
301
         jmp     Z,L1BF2
302
         IN     A,(P05)
303
         XOR    040
304
         OUT    (P05),A
305
         ld      HL,(D18F4)
306
L1BE7    DEC    HL
307
         ld      A,H
308
         OR     L
309
         jmp     NZ,L1BE7
310
         IN     A,(P05)
311
         XOR    040
312
         OUT    (P05),A
313
L1BF2    call    PRINT
314
         db   00E
315
         db   "291"
316
         db   "6+080
317
         ld      HL,(D18FC)
318
         CALL   OUTHL
319
         SET    4,A
320
;
321
         ld      B,(si-2)
322
         DEC    B
323
         DEC    B
324
         DEC    B
325
         DEC    B
326
         DEC    B
327
         DEC    B
328
         jmp     Z,X7
329
;
330
         ld      B,(si-002)
331
         DEC    B
332
         DEC    B
333
         jmp     NZ,L1C09
334
X7       AND    09F
335
L1C09    OUT    (P05),A
336
         DEC    HL
337
         ld      (D18FC),HL
338
         POP    HL
339
         IN     A,(P08)
340
         cmp     (HL)
341
         POP    BC
342
         jmp     Z,L1C23
343
L1C16    PUSH   HL
344
         ld      HL,(D18FC)
345
         INC    HL
346
         ld      (D18FC),HL
347
         POP    HL
348
         DJNZ   L1BC2
349
         jmp     L1C58
350
;
351
L1C23    ld      A,B
352
         INC    B
353
         INC    B
354
         cmp     00A
355
         jmp     NZ,L1C16
356
         CALL   L1CBA
357
         jmp     NC,L1BC0
358
         call    PRINT
359
         db   007+080
360
L1C31    call    PRINT
361
         db   00E
362
         db   "290"
363
         db   "7+080
364
         CALL   L0404
365
         call    PRINT
366
         db   "      [Wdhlg."
367
         db   ""
368
         db   "CR"
369
         db   ""
370
         db   "]"
371
         db   "   +080
372
L1C4C    IN     A,(P05)
373
         AND    09F
374
         OUT    (P05),A
375
         CALL   L1CE1
376
         jmp     L1B49
377
;
378
L1C58    call    PRINT
379
         db   007+080
380
         CALL   L0268
381
L1C5D    call    PRINT
382
         db   "EPROM   "
383
         db   "!+080
384
L1C65    EX     DE,HL
385
         call    PRINT
386
         db   "    BREAK"
387
         db   00E
388
         db   "3108Adr."
389
         db   "   +080
390
         CALL   OUTHL
391
         call    PRINT
392
         db   "     Eprombyte"
393
         db   "   +080
394
         CALL   OUTHX
395
         call    PRINT
396
         db   "   ,Rambyte"
397
         db   "   +080
398
         ld      A,(DE)
399
         CALL   OUTHX
400
         call    PRINT
401
         db   "   "
402
         db   "   +080
403
         jmp     L1C4C
404
;
405
L1CA0    BIT    0,(si-001)
406
         jmp     NZ,L1CB1
407
         CALL   L0268
408
         call    PRINT
409
         db   "RA"
410
         db   "M+080
411
         ld      D,H
412
         ld      E,L
413
         jmp     L1C65
414
;
415
L1CB1    call    PRINT
416
         db   "Clear"
417
         db   "   +080
418
         jmp     L1C5D
419
;
420
L1CBA    INC    HL
421
         INC    DE
422
         ld      A,E
423
         OR     D
424
         SCF
425
         RET    Z
426
         PUSH   HL
427
         ld      HL,(D18F8)
428
         XOR    A
429
         SBC    HL,DE
430
         POP    HL
431
         RET
432
;
433
L1CC5    call    PRINT
434
         db   "1   Programmieren"
435
         db   "   +080
436
         RET
437
;
438
L1CD7    call    PRINT
439
         db   "2   Lesen"
440
         db   "   +080
441
         RET
442
;
443
L1CE1    call    08H
444
         cmp     05F
445
         RET    Z
446
         cmp     07F
447
         RET    Z
448
         cmp     05A
449
         jmp     Z,L1CF9
450
         cmp     051
451
         RET    NZ
452
         POP    HL
453
         RET
454
;
455
L1CF9    POP    HL
456
         jmp     L1939
457
;*********************
458
D1CFD    db   000
459
         db   009
460
         db   02A
461
D1D00    db   00D
462
;
463
         ld      A,0CF
464
         OUT    (P07),A
465
         OUT    (P0B),A
466
         ld      A,084
467
         OUT    (P07),A
468
         ld      A,7
469
         OUT    (P07),A
470
         ld      A,0DA
471
         OUT    (P05),A
472
         XOR    A
473
         OUT    (P0B),A
474
;
475
L1D01    ld      HL,01900          ;Test ob Programm ok
476
         ld      DE,ENDE
477
         XOR    A
478
L1D08    XOR    (HL)
479
         INC    HL
480
         SBC    HL,DE
481
         ADD    HL,DE
482
         jmp     NZ,L1D08
483
         XOR    (HL)
484
         jmp     L1931
485
;*******************
486
L0268    call    PRINT
487
         db   "    Error"
488
         db   0A0
489
         RET
490
;********************
491
L0589    CALL   OUTHL
492
         call    PRINT
493
         db   32,32,32,0A0
494
         RET
495
;*******************
496
;
497
ENDE     db   000               ;Pršfbyte
498
;
499
L0404    EQU    00404
500
OUTHX    EQU    007EE
501
OUTHL    EQU    007F1
502
INLINE   EQU    007F4
503
INHEX    EQU    007F7
504
D181A    EQU    0181A
505
ARGU1    EQU    0185B
506
ARGU2    EQU    0185D
507
D18F4    EQU    018F4
508
D18F6    EQU    018F6
509
D18F8    EQU    018F8
510
D18FC    EQU    018FC
511
;
512
P05      EQU    005
513
P08      EQU    008
514
P09      EQU    009
515
;
516
P07      EQU    007
517
P0A      EQU    00A
518
P0B      EQU    00B
519
;
520
PRINT    EQU    18H