Add DI/EI delay test. Add LD M, A.
[fpgaboy.git] / rom.asm
1         SECTION "a",HOME
2
3 main:
4         ld c, $51       ; Note that we are alive.
5         ld a, $FF
6         ld [c],a
7         
8         ld sp, $DFF0
9         
10         ld hl, $DF81
11         ld a, $80
12         ld [hl], a
13
14         ld c, $07
15         ld a, $04       ;start timer, 4.096KHz
16         ld [c], a
17 ;diqs:  ei
18 ;       ld a, $80
19 ;       ld c, $51
20 ;       ld [c], a
21 ;       jr diqs
22         call irqhand
23         ei
24 coqs: jr coqs
25
26         section "Diq", HOME[$38]
27 fuqed:
28         di
29         jr fuqed
30
31         section "fuq",HOME[$100]
32 irqhand:
33         PUSH AF
34         PUSH BC
35         PUSH DE
36         PUSH HL
37         
38         xor a
39         ld c, $0F       ; ack the irq
40         ld [c], a
41         
42         ld a, $41       ; print A
43         call putc
44         
45         ld hl, $DF81
46         inc [hl]
47         ld a, [hl]
48         ld c, $51
49         ld [c], a
50
51
52         POP HL
53         POP DE
54         POP BC
55         POP AF
56         RETI
57         db $18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE
58         db $18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE
59         db $18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE
60
61 putc:
62         ld b, 0
63         ld c, $50
64         push af
65 .waitport:
66         ld a,[c]
67         cp b
68         jr nz,.waitport
69         pop af
70         ld [c],a
71         ret
This page took 0.020207 seconds and 4 git commands to generate.