X-Git-Url: http://git.joshuawise.com/fpgaboy.git/blobdiff_plain/ec7274034775dc5e053ff3c96bd141ac50b4fc81..6d070aeeba66499d17bd9abb9c5dfbb1317bf1c5:/diag.asm diff --git a/diag.asm b/diag.asm index c832ff2..3a3d665 100644 --- a/diag.asm +++ b/diag.asm @@ -1,9 +1,8 @@ - section "end",HOME[1024] - nop - SECTION "a",HOME[$00] -start: jp main +start: ld a, $AA + ld [$FF51], a + jr start section "vbl",HOME[$40] jp vbl @@ -14,6 +13,19 @@ start: jp main section "tmro",HOME[$50] jp tmro + SECTION "b",HOME[$100] +boot: jr main ; $0100 + nop ; $0102 + nop ; $0103 + ;Nintendo Logo ; $0104 + DB $CE,$ED,$66,$66,$CC,$0D,$00,$0B,$03,$73,$00,$83,$00,$0C,$00,$0D + DB $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99 + DB $BB,$BB,$67,$63,$6E,$0E,$EC,$CC,$DD,$DC,$99,$9F,$BB,$B9,$33,$3E + ;$0134 + DB $00,$E7,$00,$00,$00,$00,$00,$00, $00,$00,$00,$00,$00,$00,$00,$00 + ;$0144 + DB $00,$00,$00,$00,$00,$00,$00,$00, $00,$00,$00,$00,$00,$00,$00,$00 + main: ld a, $FF ld c, $51 @@ -33,6 +45,9 @@ main: ld hl, signon call puts + ld a, $91 + ld [$FF40], a + call putscreen ei @@ -69,19 +84,36 @@ tiles: 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: + LD A,$fc ; $001d Setup BG palette + LD [$FF47],A ; $001f + ; Wait for vblank call .vblwait ld hl, $8000 ; Copy two tiles. ld de, tiles - ld c, $10 -.cloop: push hl - ld h, d - ld l, e - ld a, [hl] + ld c, $20 +.cloop: ld a, [de] inc de - pop hl ld [hli], a ld [hli], a dec c @@ -93,9 +125,9 @@ putscreen: .vloop: call .vblwait ld c, $40 ld b, 0 -.loop: inc b - ld a, b - and $01 +.loop: ld a, b + inc b + and $03 ld [hli], a ld a, h cp $9C @@ -127,30 +159,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: @@ -312,8 +333,8 @@ waitsw: ld a,[c] cp $0 jr z,.loop1 -.loop2: - ld a,[c] + +.loop2: ld a,[c] cp $0 jr nz,.loop2 ret @@ -456,14 +477,14 @@ insntest: ; Serial port manipulation functions. putc: - ld c, $50 + ld c, $53 push af .waitport: ld a,[c] - cp $00 + and $01 jr nz,.waitport pop af - ld [c],a + ld [$FF52],a ret puts: