+ SECTION "a",HOME
+
+main:
+ ld a, $FF ; Note that we are alive.
+ ld [$FF51],a
+
+ ld sp, $DFF0
+
+ ld hl, $DF81
+ ld a, $80
+ ld [hl], a
+
+ ld c, $07
+ ld a, $04 ;start timer, 4.096KHz
+ ld [c], a
+;diqs: ei
+; ld a, $80
+; ld c, $51
+; ld [c], a
+; jr diqs
+ call irqhand
+ ei
+coqs: jr coqs
+
+ section "Diq", HOME[$38]
+fuqed:
+ di
+ jr fuqed
+
+ section "fuq",HOME[$100]
+irqhand:
+ PUSH AF
+ PUSH BC
+ PUSH DE
+ PUSH HL
+
+ xor a
+ ld c, $0F ; ack the irq
+ ld [c], a
+
+ ld a, $41 ; print A
+ call putc
+
+ ld hl, $DF81
+ inc [hl]
+ ld a, [hl]
+ ld c, $51
+ ld [c], a
+
+
+ POP HL
+ POP DE
+ POP BC
+ POP AF
+ RETI
+ db $18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE
+ db $18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE
+ db $18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE,$18,$FE
+
+putc:
+ ld b, 0
+ ld c, $50
+ push af
+.waitport:
+ ld a,[c]
+ cp b
+ jr nz,.waitport
+ pop af
+ ld [c],a
+ ret