OSDN Git Service

addr test variations added
authorastoria-d <astoria-d@mail.goo.ne.jp>
Sat, 20 Feb 2016 11:22:25 +0000 (20:22 +0900)
committerastoria-d <astoria-d@mail.goo.ne.jp>
Sat, 20 Feb 2016 11:22:25 +0000 (20:22 +0900)
tools/regression-test/regression.asm

index 84a9d2a..05613f3 100644 (file)
@@ -29,7 +29,9 @@
     jsr init_global\r
     jsr init_ppu\r
 \r
+;;address specific test comes first...\r
     jsr addr_test\r
+\r
     lda ad_start_msg\r
     sta $00\r
     lda ad_start_msg+1\r
@@ -117,22 +119,22 @@ nmi_test:
     nop\r
     nop\r
     jmp @jmp_test1\r
-    .byte   "**********"\r
     .byte   "0***************"\r
-    .byte   "1***************"\r
-    .byte   "2************"\r
     .byte   "****************"\r
     .byte   "****************"\r
     .byte   "****************"\r
     .byte   "****************"\r
-    .byte   "***"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "**********"\r
 \r
 @jmp_ret1:\r
     nop\r
-    ;;page cross at cycle #0\r
+    ;;page cross at jmp cycle #0\r
     jmp @jmp_test2\r
-    .byte   "3*************"\r
-    .byte   "4***************"\r
+\r
+    .byte   "**************"\r
+    .byte   "1***************"\r
     .byte   "****************"\r
     .byte   "****************"\r
     .byte   "****************"\r
@@ -146,16 +148,34 @@ nmi_test:
     .byte   "****************"\r
     .byte   "****************"\r
     .byte   "****************"\r
+    .byte   "*************"\r
 \r
 @jmp_ret2:\r
-    ;;page cross at the cycle #2\r
+    ;;page cross at the jmp cycle #2\r
+    nop\r
     jmp @jmp_test3\r
-    .byte   "5*********"\r
+    .byte   "***************"\r
+    .byte   "2***********"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
 \r
 @jmp_ret3:\r
+    ;;page cross at the jmp cycle #1\r
     nop\r
     jmp @jmp_test4\r
-    .byte   "6***********"\r
+    .byte   "3***********"\r
     .byte   "****************"\r
     .byte   "****************"\r
     .byte   "****************"\r
@@ -172,17 +192,133 @@ nmi_test:
     .byte   "****************"\r
     .byte   "****************"\r
 \r
+    ;;a1 instruction\r
+    ;;page cross at cycle #0\r
 @jmp_ret4:\r
-    ;;page cross at the cycle #1\r
-    jmp @jmp_test5\r
-    .byte   "7*********"\r
+    ldx #$5f\r
+    nop\r
+    inx\r
+    cpx #$60\r
+    beq :+\r
+    jsr test_failure\r
+:\r
 \r
+    jmp @jmp_test5\r
+    .byte   "******"\r
+    .byte   "4***************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "***************"\r
 @jmp_ret5:\r
+    ;;a1 instruction\r
+    ;;page cross at cycle #0\r
     nop\r
-    jmp @jmp_test6\r
-    .byte   "8***************"\r
+    inx\r
+    cpx #$61\r
+    beq :+\r
+    jsr test_failure\r
+:\r
 \r
+    jmp @jmp_test6\r
+    .byte   "*****"\r
+    .byte   "5***********"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
 @jmp_ret6:\r
+    ;;a2 instruction\r
+    ;;page cross at cycle #0\r
+    sec\r
+    lda #$3b\r
+    nop\r
+    adc #$9b        ;;;3b+9b+1=d7\r
+    cmp #$d7\r
+    beq :+\r
+    jsr test_failure\r
+:\r
+    jmp @jmp_test7\r
+    .byte   "*****"\r
+    .byte   "6*********"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+@jmp_ret7:\r
+    ;;a2 instruction\r
+    ;;page cross at cycle #1\r
+    sec\r
+    lda #$77\r
+    nop\r
+    ora #$f0        ;;;3b+9b+1=d7\r
+    cmp #$f7\r
+    beq :+\r
+    jsr test_failure\r
+:\r
+    jmp @jmp_test8\r
+    .byte   "*****"\r
+    .byte   "7***"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+    .byte   "****************"\r
+@jmp_ret8:\r
+    ;;a2 instruction\r
+    ;;page cross at cycle #2\r
+    sec\r
+    lda #$c1\r
+    sta $0620       ;;@0620=c1\r
+    lda #$91\r
+    nop\r
+    sbc $0620        ;;;91-c1=d0\r
+    cmp #$d0\r
+    beq :+\r
+    jsr test_failure\r
+:\r
+\r
+\r
+\r
     jmp @jmp_test_done\r
 \r
 @jmp_test1:\r
@@ -197,6 +333,10 @@ nmi_test:
     jmp @jmp_ret5\r
 @jmp_test6:\r
     jmp @jmp_ret6\r
+@jmp_test7:\r
+    jmp @jmp_ret7\r
+@jmp_test8:\r
+    jmp @jmp_ret8\r
 \r
 @jmp_test_done:\r
     lda ad_addr_test\r