Test stlacenia NMI

Zdrojový kód


3      4000            *s
4      4000            ;==============================;
5      4000            ;NMI - oprava 6                ;
6      4000            ;==============================;
7      4000                   org  #8000
8      8000 3e02       p      ld   a,#02
9      8002 cd0116            call #1601
10     8005 f3                di
11     8006 31007e            ld   sp,#7e00
12     8009 cd5b80            call cls
13     800c 218980            ld   hl,qwe
14     800f 0614              ld   b,rty-qwe
15     8011 7e         uio    ld   a,(hl)
16     8012 d7                rst  #10
17     8013 23                inc  hl
18     8014 10fb              djnz uio
19     8016             
20     8016 f3         loop   di
21     8017 31013a            ld   sp,#3a01
22     801a 214880            ld   hl,ggg
23     801d 22b05c            ld   (23728),hl
24     8020 22f5ff            ld   (#fff5),hl
25     8023 3e18              ld   a,#18
26     8025 32ffff            ld   (#ffff),a
27     8028 3ec3              ld   a,#c3
28     802a 32f4ff            ld   (#fff4),a
29     802d             
30     802d            ;      ld   a,#7f
31     802d            ;      in   a,(#fe)
32     802d            ;      rra
33     802d            ;      jp   nc,#f4b3
34     802d             
35     802d 010000            ld   bc,#00
36     8030 0b         wait   dec  bc
37     8031 78                ld   a,b
38     8032 b1                or   c
39     8033 20fb              jr   nz,wait
40     8035 3e05              ld   a,#05
41     8037 210202            ld   hl,#0202
42     803a 10fe       djnz   djnz djnz
43     803c d3fe              out  (#fe),a
44     803e eef8              xor  #f8
45     8040 25                dec  h
46     8041 20f7              jr   nz,djnz
47     8043 2d                dec  l
48     8044 20f4              jr   nz,djnz
49     8046 18ce              jr   loop
50     8048             
51     8048 31007e     ggg    ld   sp,#7e00
52     804b cd5b80            call cls
53     804e 217080            ld   hl,text
54     8051 0619              ld   b,ee-zz
55     8053 7e         hhh    ld   a,(hl)
56     8054 23                inc  hl
57     8055 d7                rst  #10
58     8056 10fb              djnz hhh
59     8058 fb                ei
60     8059 cf                rst  #08
61     805a ff                db   #ff
62     805b             
63     805b 210040     cls    ld   hl,#4000
64     805e 110140            ld   de,#4001
65     8061 010018            ld   bc,#1800
66     8064 3600              ld   (hl),#00
67     8066 edb0              ldir
68     8068 010003            ld   bc,#0300
69     806b 3638              ld   (hl),#38
70     806d edb0              ldir
71     806f c9                ret
72     8070            text
73     8070 160101     zz     db   22,1,1
74     8073 53746c61          db   'Stlacili ste NMI'
            63696c69    
            20737465    
            204e4d49    
75     8083 20212121          db   ' !!!',6,6
            0606        
76     8089            ee
77     8089 160101     qwe    db   22,1,1
78     808c 53746c61          db   'Stlacte NMI'
            63746520    
            4e4d49      
79     8097 20212121          db   ' !!!',6,6
            0606        
80     809d 00         rty    nop

 cls    805b  *  djnz   803a  *  ee     8089  *  ggg    8048  *
 hhh    8053  *  loop   8016  *  p      8000  *  qwe    8089  *
 rty    809d  *  text   8070  *  uio    8011  *  wait   8030  *
 zz     8070  *                                                

Bytes:158  labels:13  errors:0   


Popis
Myslite si ze chyba v obsluznej rutinke NMI v povodnej romke je tak vazna ze je prakticke pouzitie NMI s touto chybou nemozne ? O tom, ze na Spektre nie je nic nemozne, vas snad presvedci tento programcek...

Poznámky
Program nemusi spravne pracovat na niektorych upravenych romkach.

Poslal
Busy