X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/80ecd2fe23cfab4f410f8f760dea4b44d72a82c9..f356a7356f41bc0681ac3e3013d8cf335c9e8423:/diag.asm diff --git a/diag.asm b/diag.asm index 50cefe7..668452d 100644 --- a/diag.asm +++ b/diag.asm @@ -33,6 +33,9 @@ main: ld hl, signon call puts + ld a, $91 + ld [$FF40], a + call putscreen ei @@ -50,59 +53,66 @@ main: signon: db $0D,$0A,$1B,"[1mFPGABoy Diagnostic ROM",$1B,"[0m",$0D,$0A,0 +tiles: + db %01111100 + db %11000110 + db %11000110 + db %11111110 + db %11000110 + db %11000110 + db %11000110 + db %00000000 + + db %11111100 + db %11000110 + db %11000110 + db %11111100 + db %11000110 + db %11000110 + db %11111100 + db %00000000 + + db %01111100 + db %11000110 + db %11000010 + db %11000000 + db %11000010 + db %11000110 + db %01111100 + db %00000000 + + db %11111100 + db %11000110 + db %11000110 + db %11000110 + db %11000110 + db %11000110 + db %11111100 + db %00000000 + putscreen: ; Wait for vblank call .vblwait ld hl, $8000 ; Copy two tiles. - ld a, $AA - ld [hli], a - ld [hli], a - ld a, $55 - ld [hli], a - ld [hli], a - ld a, $AA - ld [hli], a - ld [hli], a - ld a, $55 - ld [hli], a - ld [hli], a - ld a, $AA - ld [hli], a - ld [hli], a - ld a, $55 - ld [hli], a - ld [hli], a - ld a, $AA - ld [hli], a - ld [hli], a - ld a, $55 + ld de, tiles + ld c, $20 +.cloop: ld a, [de] + inc de ld [hli], a ld [hli], a + dec c xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a + cp c + jr nz, .cloop ld hl, $9800 .vloop: call .vblwait ld c, $40 -.loop: ld a, $01 - ld [hli], a - xor a + ld b, 0 +.loop: ld a, b + inc b + and $03 ld [hli], a ld a, h cp $9C @@ -134,30 +144,19 @@ vbl: ld [$FF0F], a ld a, [$FF51] - ld b, a - and $80 - cp $80 - jr nz, .nothing - ld c, $0 + bit 7, a + jr z, .nothing - ld a, b - and $1 - cp c + bit 0, a call nz, .scyup - ld a, b - and $2 - cp c + bit 1, a call nz, .scydown - ld a, b - and $4 - cp c + bit 2, a call nz, .scxup - ld a, b - and $8 - cp c + bit 3, a call nz, .scxdown .nothing: