OpenCores
URL https://opencores.org/ocsvn/y80e/y80e/trunk

Subversion Repositories y80e

[/] [y80e/] [trunk/] [asm/] [int_ops.s] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 bsa
;**********************************************************************************
2
;*                                                                                *
3
;* checks interrupt options and conditions                                        *
4
;*                                                                                *
5
;**********************************************************************************
6
        aseg
7
 
8
        org     00h
9
        jp      (hl)
10
 
11
        org     38h
12
        inc     bc
13
        exx
14
        inc     hl
15
        ld      (hl), l ;write a marker
16
        exx
17
        jp      (hl)
18
 
19
        org     66h
20
        inc     bc
21
        inc     ix
22
        ld      (ix+0), c        ;write a marker
23
        jp      (hl)
24
 
25
        org     0c0h            ;pattern finish location
26
        nop
27
        jr      0c0h
28
 
29
        org     0100h
30
        ex      af,af'
31
        xor     a
32
        dec     a
33
        ex      af,af'
34
        exx
35
        ld      bc, 0edb7h
36
        ld      de, 08421h
37
        ld      hl, 03cc3h
38
        exx
39
        xor     a
40
        ld      bc, 00001h
41
        ld      de, 00100h
42
        ld      hl, 01000h
43
        ld      ix, 09669h
44
        ld      iy, 0bffeh
45
        jp      (hl)            ;1000h
46
 
47
        org     1000h
48
        push    bc              ;0001h @ fffeh
49
        add     hl, de
50
        add     iy, de
51
        jp      (iy)            ;c0feh
52
 
53
        org     1100h
54
        inc     bc              ;compensate for mode 0
55
        push    bc              ;0002h @ fffah
56
        im      2
57
        add     hl, de
58
        im      1               ;toggles back okay
59
        add     iy, de
60
        ei
61
        jp      (iy)            ;c1feh
62
 
63
        org     1200h
64
        push    bc              ;0003h @ fff6h
65
        add     hl, de
66
        add     iy, de
67
        ei
68
        jp      (iy)            ;c2feh
69
 
70
        org     1300h
71
        push    bc              ;0004h @ fff2h
72
        add     hl, de
73
        add     iy, de
74
        ei
75
        jp      (iy)            ;c3feh
76
 
77
        org     1400h
78
        push    bc              ;0005h @ ffeeh
79
        add     hl, de
80
        add     iy, de
81
        ei
82
        jp      (iy)            ;c4feh
83
 
84
        org     1500h
85
        push    bc              ;0006h @ ffeah
86
        add     hl, de
87
        add     iy, de
88
        ei
89
        jp      (iy)            ;c5feh
90
 
91
        org     1600h
92
        push    bc              ;0007h @ ffe6h
93
        add     hl, de
94
        add     iy, de
95
        ei
96
        jp      (iy)            ;c6feh
97
 
98
        org     1700h
99
        push    bc              ;0008h @ ffe2h
100
        add     hl, de
101
        add     iy, de
102
        ei
103
        jp      (iy)            ;c7feh
104
 
105
        org     1800h
106
        push    bc              ;0009h @ ffdeh
107
        add     hl, de
108
        add     iy, de
109
        ei
110
        jp      (iy)            ;c8feh
111
 
112
        org     1900h
113
        push    bc              ;000ah @ ffdah
114
        add     hl, de
115
        add     iy, de
116
        ei
117
        jp      (iy)            ;c9feh
118
 
119
        org     1a00h
120
        push    bc              ;000bh @ ffd6h
121
        add     hl, de
122
        add     iy, de
123
        ei
124
        jp      (iy)            ;cafeh
125
 
126
        org     1b00h
127
        push    bc              ;000ch @ ffd2h
128
        add     hl, de
129
        add     iy, de
130
        ei
131
        jp      (iy)            ;cbfeh
132
 
133
        org     1c00h
134
        push    bc              ;000dh @ ffceh
135
        inc     bc              ;compensate for cpir
136
        add     hl, de
137
        add     iy, de
138
        ei
139
        jp      (iy)            ;ccfeh
140
 
141
        org     1d00h
142
        db      0ffh            ;cpir no match data
143
        push    bc              ;000eh @ ffcah
144
        inc     bc              ;compensate for cpir
145
        dec     hl              ;compensate for cpir
146
        add     hl, de
147
        add     iy, de
148
        ei
149
        jp      (iy)            ;cdfeh
150
 
151
        org     1e00h
152
        db      00h             ;cpir match data
153
        push    bc              ;000fh @ ffc6h
154
        dec     hl              ;compensate for cpir
155
        add     hl, de
156
        add     iy, de
157
        jp      (iy)            ;cefeh
158
 
159
        org     1f00h
160
        push    bc              ;0010h @ ffc2h
161
        add     hl, de
162
        add     iy, de
163
        jp      (iy)            ;cffeh
164
 
165
        org     2000h
166
        push    bc              ;0011h @ ffbeh
167
        add     hl, de
168
        add     iy, de
169
        im      0                ;no effect
170
        ei
171
        jp      (iy)            ;d0feh
172
 
173
        org     2100h
174
        inc     bc              ;compensate for im 0 address
175
        push    bc              ;0012h @ ffbah
176
        add     hl, de
177
        add     iy, de
178
        ei
179
        jp      (iy)            ;d1feh
180
 
181
        org     2200h
182
        push    bc              ;0013h @ ffb6h
183
        add     hl, de
184
        add     iy, de
185
        ld      a, i
186
        push    af              ;0044h @ ffb4h
187
        ld      sp, 02250h
188
        retn                    ;2230h @ 2250h read
189
        halt                    ;not executed
190
 
191
        org     2230h
192
        ld      a, i
193
        ld      sp, 0ffb4h
194
        push    af              ;0044h @ ffb2h
195
        ld      a, 055h
196
        ld      i, a
197
        im      2
198
        jp      (iy)            ;d2feh
199
 
200
        org     2250h
201
        dw      02230h  ;data for retn
202
 
203
        org     2300h
204
        inc     bc
205
        push    bc              ;0014h @ ffaeh
206
        add     hl, de
207
        add     iy, de
208
        ld      a, i
209
        push    af              ;5500h @ ffach
210
        ld      sp, 02350h
211
        reti                    ;2330h @ 2350h read
212
        halt                    ;not executed
213
 
214
        org     2330h
215
        ld      a, i
216
        ld      sp, 0ffach
217
        im      0                ;no effect
218
        push    af              ;5500h @ ffaah
219
        ei
220
        ld      iy, 0d310h
221
        jp      (iy)            ;d310h
222
 
223
        org     2350h
224
        dw      02330h  ;data for reti
225
 
226
        org     2400h
227
        push    bc              ;0015h @ ffa6h
228
        add     hl, de
229
        add     iy, de
230
        ld      sp, 02450h
231
        retn                    ;2430h @ 2450h read
232
        halt                    ;not executed
233
 
234
        org     2430h
235
        ld      sp, 0ffa6h
236
        jp      (iy)            ;d410h
237
 
238
        org     2450h
239
        dw      02430h  ;data for retn
240
 
241
        org     2500h
242
        inc     bc              ;compensate for mode 0
243
        push    bc              ;0016h @ ffa2h
244
        add     hl, de
245
        add     iy, de
246
        ld      sp, 02550h
247
        retn                    ;2530h @ 2550h read
248
        halt                    ;not executed
249
 
250
        org     2530h
251
        ld      sp, 0ffa2h
252
        jp      (iy)            ;d510h
253
 
254
        org     2550h
255
        dw      02530h  ;data for retn
256
 
257
 
258
        org     2600h
259
        push    bc              ;0017h @ ff9eh
260
        push    de              ;0100h @ ff9eh
261
        push    hl              ;2600h @ ff9ch
262
        push    af              ;5500h @ ff98h
263
        im      1
264
        ld      hl, 2700h
265
        ld      iy, 0d6feh
266
        ei
267
        jp      (iy)            ;d6feh
268
 
269
        org     2700h
270
        push    bc              ;0018h @ ff94h
271
        push    de              ;0100h @ ff92h
272
        push    hl              ;2700h @ ff90h
273
        push    af              ;4204h @ ff8eh
274
        ld      hl, 2800h
275
        ld      iy, 0d7feh
276
        ei
277
        jp      (iy)            ;d7feh
278
 
279
        org     2800h
280
        push    bc              ;0019h @ ff8ah
281
        push    de              ;0100h @ ff88h
282
        push    hl              ;2800h @ ff86h
283
        push    af              ;6a04h @ ff84h
284
        ld      hl, 2900h
285
        ld      iy, 0d8feh
286
        ei
287
        jp      (iy)            ;d8feh
288
 
289
        org     2900h
290
        push    bc              ;001ah @ ff80h
291
        push    de              ;0100h @ ff7eh
292
        push    hl              ;2900h @ ff7ch
293
        push    af              ;9394h @ ff7ah
294
        ld      hl, 2a00h
295
        ld      iy, 0d9feh
296
        ei
297
        jp      (iy)            ;d9feh
298
 
299
        org     2a00h
300
        push    bc              ;001bh @ ff76h
301
        push    de              ;0100h @ ff74h
302
        push    hl              ;2a00h @ ff72h
303
        push    af              ;6916h @ ff70h
304
        ld      hl, 1580h
305
        ld      iy, 0dafeh
306
        ei
307
        jp      (iy)            ;dafeh
308
 
309
        org     2b00h
310
        push    bc              ;001ch @ ff6ch
311
        push    de              ;0100h @ ff6ah
312
        push    hl              ;2b00h @ ff68h
313
        push    af              ;6900h @ ff66h
314
        ld      hl, 1600h
315
        ld      iy, 0dbfeh
316
        ei
317
        jp      (iy)            ;dbfeh
318
 
319
        org     2c00h
320
        push    bc              ;001dh @ ff62h
321
        push    de              ;0100h @ ff60h
322
        push    hl              ;2c00h @ ff5eh
323
        push    af              ;6900h @ ff5ch
324
        ld      hl, 2d01h
325
        ld      iy, 0dcfeh
326
        ei
327
        jp      (iy)            ;dcfeh
328
 
329
        org     2d00h
330
        push    bc              ;001eh @ ff58h
331
        push    de              ;0100h @ ff56h
332
        push    hl              ;2d00h @ ff54h
333
        push    af              ;6900h @ ff52h
334
        ld      hl, 2e01h
335
        ld      iy, 0ddfeh
336
        ei
337
        jp      (iy)            ;ddfeh
338
 
339
        org     2e00h
340
        push    bc              ;001fh @ ff4eh
341
        push    de              ;0100h @ ff4ch
342
        push    hl              ;2e00h @ ff4ah
343
        push    af              ;6900h @ ff48h
344
        ld      sp, 02e50h
345
        retn                    ;2e30h @ 2e50h read
346
        halt                    ;not executed
347
 
348
        org     2e30h
349
        ld      sp, 0ff48h
350
        ld      iy, 0d610h
351
        jp      (iy)            ;d610h
352
 
353
        org     2e50h
354
        dw      02e30h
355
 
356
        org     4ce3h
357
        db      05ah
358
 
359
        org     5564h
360
        dw      02300h
361
 
362
        org     0c0feh
363
        dec     hl              ;int next
364
        inc     hl
365
        ei
366
        nop                     ;c101h @ fffch with busreq
367
        jp      nc, 5000h       ;c102h @ fffch
368
        halt                    ;not executed
369
 
370
        org     0c1feh
371
        nop                     ;nmi next
372
        jp      c, 5000h        ;c202h @ fff8h
373
        halt                    ;not executed
374
 
375
        org     0c2feh
376
        nop                     ;int next
377
        jp      nc, 5000h       ;5000h @ fff4h
378
        halt                    ;not executed
379
 
380
        org     0c3feh
381
        nop                     ;nmi next
382
        jp      nc, 5000h       ;5000h @ fff0h
383
        halt                    ;not executed
384
 
385
        org     0c4feh
386
        nop                     ;int next
387
        jr      c, 0c4feh       ;c501h @ ffech
388
        halt                    ;not executed
389
 
390
        org     0c5feh
391
        nop                     ;nmi next
392
        jr      c, 0c5feh       ;c601h @ ffe8h
393
        halt                    ;not executed
394
 
395
        org     0c6feh
396
        nop                     ;int next
397
        jr      nc, 0c6feh      ;c6feh @ ffe4h
398
        halt                    ;not executed
399
 
400
        org     0c7feh
401
        nop                     ;nmi next
402
        jr      nc, 0c7feh      ;c7feh @ ffe0h
403
        halt                    ;not executed
404
 
405
        org     0c8feh
406
        halt                    ;int next
407
        rst     28h             ;c8ffh @ ffdch
408
 
409
        org     0c9feh
410
        halt                    ;nmi next
411
        rst     28h             ;c9ffh @ ffd8h
412
        jp      5000h           ;not executed
413
 
414
        org     0cafeh
415
        nop                     ;int next
416
        halt                    ;cb00h @ ffd4h
417
        jp      5000h           ;not executed
418
 
419
        org     0cbfeh
420
        nop                     ;nmi next
421
        halt                    ;cc00h @ ffd0h
422
        jp      5000h           ;not executed
423
 
424
        org     0ccfeh
425
        nop                     ;int next
426
        cpir                    ;ccffh @ ffcch
427
        rst     08h             ;not executed
428
 
429
        org     0cdfeh
430
        nop                     ;nmi next
431
        cpir                    ;ce01h @ ffc8h
432
        rst     10h             ;not executed
433
 
434
        org     0cefeh
435
        nop                     ;int next
436
        ei                      ;cf00h @ ffc4h with busreq
437
        nop                     ;cf01h @ ffc4h
438
        rst     18h             ;not executed
439
 
440
        org     0cffeh
441
        nop                     ;nmi next
442
        di                      ;d001h @ ffc0h
443
        nop
444
        rst     28h             ;not executed
445
 
446
        org     0d0feh
447
        nop                     ;int next
448
        di                      ;d101h @ ffbch
449
        dec     hl
450
        inc     hl
451
        ei
452
        nop                     ;d103h @ ffbch with busreq
453
        rst     30h             ;not executed
454
 
455
        org     0d1feh
456
        dec     hl              ;nmi next
457
        inc     hl              ;d200h @ ffb8h
458
        rst     28h             ;not executed
459
 
460
        org     0d2feh
461
        dec     hl              ;int next
462
        inc     hl              ;d300h @ ffb0h
463
        db      064h            ;2300h @ 5564h read - mode 2
464
 
465
        org     0d310h
466
        halt                    ;nmi next
467
        rst     30h             ;d311h @ ffa8h
468
 
469
        org     0d410h
470
        nop                     ;int next
471
        halt                    ;d412h @ ffa4h
472
        jp      5000h           ;not executed
473
 
474
        org     0d510h
475
        nop                     ;int next
476
        halt                    ;d512h @ ffa0h
477
        jp      5000h           ;not executed
478
 
479
        org     0d610h
480
        xor     a
481
        ld      a, 04ch
482
        in      a, (0e3h)       ;  5ah @ 4ce3h
483
        push    af              ;5a44h @ ff46h
484
        out     (3ch), a        ;  5ah @ 5a3ch
485
        push    af
486
        push    bc
487
        push    de
488
        push    hl
489
        push    ix
490
        push    iy
491
        ex      af,af'
492
        push    af
493
        ex      af,af'
494
        exx
495
        push    bc
496
        push    de
497
        push    hl
498
        exx
499 6 bsa
 
500
        di
501
        nop
502
        slp
503
        nop
504
 
505
        ld      hl,0d740h
506
        ei                      ;int next
507
        slp                     ;d633h @ ff30h
508
        rst     00h             ;not executed
509
 
510
        org     0d640h
511
        di
512 2 bsa
        ld      hl, 0100h
513
        jp 0c0h
514
 
515
        org     0d6feh
516
        nop                     ;int next
517
        xor     c               ;d700 @ ff96h
518
 
519 6 bsa
        org     0d740h
520
        di
521
        ld      hl,0d640h
522
        nop                     ;nmi next
523
        slp                     ;d747h @ ff2eh
524
        rst     00h
525
 
526 2 bsa
        org     0d7feh
527
        nop                     ;nmi next
528
        xor     h               ;d800 @ ff8ch
529
        nop
530
 
531
        org     0d8feh
532
        nop                     ;int next
533 6 bsa
        adc     a,h             ;d900 @ ff82h
534 2 bsa
        nop
535
 
536
        org     0d9feh
537
        nop                     ;nmi next
538 6 bsa
        sbc     a,h             ;da00 @ ff78h
539 2 bsa
        nop
540
 
541
        org     0dafeh
542
        nop                     ;int next
543
        adc     hl, hl  ;db00 @ ff6eh
544
        nop
545
 
546
        org     0dbfeh
547
        nop                     ;nmi next
548
        adc     hl, hl  ;dc00 @ ff64h
549
        nop
550
 
551
        org     0dcfeh
552
        nop                     ;int next
553
        dec     hl              ;dd00 @ ff5ah
554
        nop
555
 
556
        org     0ddfeh
557
        nop                     ;nmi next
558
        dec     hl              ;de00 @ ff50h
559
        nop
560 6 bsa
 
561
        end

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.