+ section "end",HOME[1024]
+ nop
+
SECTION "a",HOME[$00]
start: jp main
main:
ld a, $FF
- ld [$FF51],a
+ ld c, $51
+ ld [c], a
-; ld a, $04
-; ld [$FFFF], a
-
ld sp, $DFF0
ld a, $04 ;start timer, 4.096KHz
ld c, $07
ld [c], a
-
+
ld hl, $DF81
xor a
ld [hli], a
db $0D,$0A,$1B,"[1mFPGABoy Diagnostic ROM",$1B,"[0m",$0D,$0A,0
vbl:
+ PUSH AF
+ PUSH BC
+ PUSH DE
+ PUSH HL
+
+ xor a
+ ld c, $0F
+ ld [c], a
+
+ ld c, $42 ; SCY
+ ld a, [c]
+ inc a
+ ld [c], a
+
+ POP HL
+ POP DE
+ POP BC
+ POP AF
+
+ RETI
+
lcdc:
PUSH AF
+ PUSH BC
xor a
ld c, $0F
ld [c], a
+ POP BC
POP AF
reti
ld c, $0F
ld [c], a
+ ld c, $45 ; LYC
+ ld a, [c]
+ inc a
+ ld [c], a
+
ld hl, $DF82
ld a, [hld]
cp 0
ld a, $41 ; print A
call putc
.noprint:
- ld hl, $DF81
+ inc [hl]
ld a, [hl]
- add 1
- ld [hl], a
ld c, $51
ld [c], a
ret z
call putc
jr puts
+