]> Joshua Wise's Git repositories - fpgaboy.git/blobdiff - diag.asm
impact.cmd fix again
[fpgaboy.git] / diag.asm
index 8d6aec83a8e18ffc8f5465bf746d278ff4feac09..8e09874baaf06cdb9b6472508f81a2cbff6a8dda 100644 (file)
--- a/diag.asm
+++ b/diag.asm
@@ -1,3 +1,6 @@
+       section "end",HOME[1024]
+       nop
+
        SECTION "a",HOME[$00]
 
 start: jp main
        SECTION "a",HOME[$00]
 
 start: jp main
@@ -13,17 +16,15 @@ start: jp main
 
 main:
        ld a, $FF
 
 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 sp, $DFF0
        
        ld a, $04       ;start timer, 4.096KHz
        ld c, $07
        ld [c], a
-
+       
        ld hl, $DF81
        xor a
        ld [hli], a
        ld hl, $DF81
        xor a
        ld [hli], a
@@ -48,13 +49,34 @@ signon:
        db $0D,$0A,$1B,"[1mFPGABoy Diagnostic ROM",$1B,"[0m",$0D,$0A,0
 
 vbl:
        db $0D,$0A,$1B,"[1mFPGABoy Diagnostic ROM",$1B,"[0m",$0D,$0A,0
 
 vbl:
-lcdc:
        PUSH AF
        PUSH AF
+       PUSH BC
+       PUSH DE
+       PUSH HL
        
        xor a
        
        xor a
-       ld c, $0F
+       ld [$FF0F], a
+
+       ld c, $42       ; SCY
+       ld a, [c]
+       inc a
        ld [c], a
        ld [c], a
+
+       POP HL
+       POP DE
+       POP BC
+       POP AF
+
+       RETI
+
+lcdc:
+       PUSH AF
+       PUSH BC
+       
+       xor a
+       ld [$FF0F], a
        
        
+       POP BC
        POP AF
        
        reti
        POP AF
        
        reti
@@ -66,22 +88,23 @@ tmro:
        PUSH HL
        
        xor a
        PUSH HL
        
        xor a
-       ld c, $0F
+       ld [$FF0F], a
+       
+       ld c, $45       ; LYC
+       ld a, [c]
+       inc a
        ld [c], a
        
        ld [c], a
        
-       ld hl, $DF82
-       ld a, [hld]
+       ld a, [$DF82]
        cp 0
        jr z, .noprint
        ld a, $41       ; print A
        call putc
 .noprint:
        cp 0
        jr z, .noprint
        ld a, $41       ; print A
        call putc
 .noprint:
-       ld hl, $DF81
-       ld a, [hl]
-       add 1
-       ld [hl], a
-       ld c, $51
-       ld [c], a
+       ld a, [$DF81]
+       inc a
+       ld [$DF81], a
+       ld [$FF51], a
 
        POP HL
        POP DE
 
        POP HL
        POP DE
@@ -94,7 +117,7 @@ memtest:
        ld hl,memteststr
        call puts
        
        ld hl,memteststr
        call puts
        
-       ld hl, $C001            ; Write loop
+       ld hl, $C000            ; Write loop
 .wr:
        ld a,h
        xor l
 .wr:
        ld a,h
        xor l
@@ -106,7 +129,7 @@ memtest:
        cp $80
        jr nz, .wr
 
        cp $80
        jr nz, .wr
 
-       ld hl, $C001            ; Read loop
+       ld hl, $C000            ; Read loop
 .rd:
        ld a,h
        xor l
 .rd:
        ld a,h
        xor l
@@ -127,7 +150,7 @@ memtest:
        ret
 .memfail:                      ; Say we failed (sadface)
        ; decrement hl the easy way
        ret
 .memfail:                      ; Say we failed (sadface)
        ; decrement hl the easy way
-       ld a,[hld]
+       dec [hl]
        push hl
        ld hl, failatstr
        call puts
        push hl
        ld hl, failatstr
        call puts
@@ -340,3 +363,4 @@ puts:
        ret z
        call putc
        jr puts
        ret z
        call putc
        jr puts
+
This page took 0.024731 seconds and 4 git commands to generate.