OSDN Git Service

- vram address increment size 32 is supported.
[motonesfpga/motonesfpga.git] / tools / test-image / sample1.asm
index 4e001cb..e9cfa48 100644 (file)
        sta     $2006\r
        lda     #$00\r
        sta     $2006\r
-       ldx     #$00\r
-       ldy     #$10\r
+\r
+    ;;dma test data.\r
+    ldy #$00\r
+    ldx #$41\r
+    stx $00\r
+    ldx #$00\r
+dma_set:\r
+    ;;y pos\r
+    txa\r
+    sta $0200, y\r
+    iny\r
+    ;;tile index\r
+    lda $00\r
+    cmp #$5b\r
+    bne inc_tile\r
+    lda #$41\r
+    sta $00\r
+inc_tile:\r
+    inc $00\r
+    sta $0200, y\r
+    iny\r
+    ;;attribute\r
+    lda #$01\r
+    sta $0200, y\r
+    iny\r
+    ;;x pos\r
+    txa\r
+    adc #$03\r
+    tax\r
+    rol\r
+    sta $0200, y\r
+    iny\r
+    bne dma_set\r
+\r
+    ;;dma start.\r
+    lda #$02\r
+    sta $4014\r
 \r
     ;;load palette.\r
+       ldx     #$00\r
+       ldy     #$20\r
 copypal:\r
        lda     palettes, x\r
        sta     $2007\r
@@ -38,9 +75,9 @@ copypal:
        dey\r
        bne     copypal\r
 \r
-       lda     #$21\r
+       lda     #$20\r
        sta     $2006\r
-       lda     #$c9\r
+       lda     #$ab\r
        sta     $2006\r
        ldx     #$00\r
        ldy     #$0d\r
@@ -53,527 +90,737 @@ copymap:
        dey\r
        bne     copymap\r
 \r
+    ;;;vertical show test.\r
+       lda     #$04\r
+       sta     $2000\r
+\r
+       lda     #$20\r
+       sta     $2006\r
+       lda     #$cb\r
+       sta     $2006\r
+       ldx     #$00\r
+       ldy     #$0d\r
+\r
+    ;;load name table.\r
+copymap2:\r
+       lda     string, x\r
+       sta     $2007\r
+       inx\r
+       dey\r
+       bne     copymap2\r
+\r
+    ;;scroll reg set.\r
        lda     #$00\r
        sta     $2005\r
        sta     $2005\r
 \r
     ;;show test msg.\r
-       lda     #$08\r
-       sta     $2000\r
        lda     #$1e\r
        sta     $2001\r
 \r
-    jmp boundary_1\r
-    ;;fill dummy data to test page boundary instruction.\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-    ;;;single byte instruction page boundary test.\r
-boundary_1:\r
-    lda #$01\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-    ror\r
-;;this is pch increment at T1 cycle. \r
-;;;@80ff\r
-    rol\r
-    lsr\r
-\r
-    jmp boundary_2_1\r
-\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-boundary_2_1:\r
-    ;;;two byte instruction page boundary test.\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-;;this is pch increment at T1 cycle. \r
-    ;;;@81ff\r
-       ldx     #$08\r
-\r
-\r
-    jmp boundary_2_2\r
-\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-boundary_2_2:\r
-    ;;;two byte instruction page boundary test.\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-    ror\r
-;;this is pch increment at next T0 cycle. \r
-    ;;;@82fe\r
-       ldx     #$0a\r
-\r
-    jmp boundary_2_3\r
-\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-boundary_2_3:\r
-    ;;;two byte instruction w/ 3 exec cycle page boundary test.\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-\r
-       ror\r
-       lda     #$01\r
-       lda     #$de\r
-       sta     $13\r
-\r
-\r
-;;this is pch increment at T1 cycle. \r
-    ;;;@83ff\r
-       ldy $09, x\r
-\r
-\r
-    jmp boundary_2_4\r
-\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-boundary_2_4:\r
-    ;;;two byte instruction w/ 3 exec cycle page boundary test.\r
-       lda     #$01\r
-       lda     #$01\r
-       ldy     #$05\r
-\r
-       ror\r
-       lda     #$01\r
-       lda     #$de\r
-;;this is pch increment at T2 cycle. \r
-    ;;;@84fe\r
-       sta     $13\r
-\r
-\r
-    jmp boundary_3_1\r
-\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-boundary_3_1:\r
-    ;;;three byte instruction w/ page boundary test.\r
-       lda     #$01\r
-       lda     #$01\r
-       ldy     #$05\r
-\r
-       ror\r
-       lda     #$01\r
-       lda     #$dd\r
-;;this is pch increment at T3 cycle. \r
-    ;;;@85fd\r
-       sta     $06fc, x\r
-\r
-    jmp boundary_3_2\r
-\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-boundary_3_2:\r
-    ;;;three byte instruction w/ page boundary test.\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-       ldy     #$05\r
-\r
-       lda     #$01\r
-       lda     #$dd\r
-;;this is pch increment at T2 cycle. \r
-    ;;;@86fe\r
-       sta     $06fc, x\r
-\r
-    jmp boundary_3_3\r
-\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-boundary_3_3:\r
-    ;;;three byte instruction w/ page boundary test.\r
-       lda     #$01\r
-       lda     #$01\r
-       lda     #$01\r
-       ldy     #$05\r
-\r
-       ldy     #$08\r
-       lda     #$dd\r
-;;this is pch increment at T1 cycle. \r
-    ;;;@87ff\r
-       sta     $06fc, x\r
-\r
-    jmp boundary_3_4\r
-\r
-    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
-\r
-boundary_3_4:\r
-    ;;;three byte instruction w/ page boundary test.\r
-       lda     #$01\r
-       lda     #$01\r
-    ror\r
-\r
-       ldy     #$08\r
-       lda     #$dd\r
-;;this is pch increment at T0 cycle. \r
-    ;;;@88fd\r
-       sta     $06fc, x\r
-\r
-    nop\r
-    nop\r
-    nop\r
-\r
-    ;;;instruction coverage test....\r
-    ;;adc abs, y\r
-    ldy #$10\r
-    ldx #$fa\r
-    stx $0790\r
-    lda #$b0\r
-    ;;fa+b0=aa\r
-    adc $0780, y\r
-\r
-    clc\r
-    ldy #$ab\r
-    ldx #$fa\r
-    stx $082b\r
-    lda #$dd\r
-    ;;fa+dd=d7\r
-    adc $0780, y\r
-\r
-    ;;bit zp\r
-    ldx #$15\r
-    stx $2b\r
-    bit $2b\r
-    lda #$8a\r
-    bit $2b\r
-\r
-    ;;sbc imm\r
-    ;;8a-5c=2e\r
-    sbc #$5c\r
-    ;;2e-3d=f1\r
-    sbc #$3d\r
-    ;;f1-e5=0c\r
-    sbc #$e5\r
-\r
-    ;;cli/clv\r
-    cli\r
-    ldx #$c0\r
-    stx $2b\r
-    bit $2b\r
-    clv\r
-\r
-    ;;adc zp, x/abs, x/indir, y\r
-    lda #$11\r
-    ldx #$e4\r
-    sta $a4\r
-    ;11+81=92\r
-    lda #$81\r
-    adc $c0, x\r
-\r
-    stx $0734\r
-    ;93+e4=177\r
-    adc $0650, x\r
-\r
-    ldx #$c9\r
-    stx $07e8\r
-    lda #$34\r
-    sta $07\r
-    lda #$07\r
-    sta $08\r
-    ldy #$b4\r
-    ;c9+07=d0\r
-    adc ($07), y\r
-\r
-    ;;and zp, x/abs/abs, x/indir, y\r
-    lda #$f5\r
-    ldx #$e4\r
-    sta $a4\r
-    ;f5&5e=54\r
-    lda #$5e\r
-    and $c0, x\r
-\r
-    stx $0734\r
-    ;e4&54=44\r
-    and $0650, x\r
-\r
-    ldx #$c9\r
-    stx $07e8\r
-    lda #$34\r
-    sta $07\r
-    lda #$07\r
-    sta $08\r
-    ldy #$b4\r
-    ;no page crossing\r
-    ;c9&07=01\r
-    and ($07), y\r
-\r
-    ldx #$c9\r
-    stx $0825\r
-    lda #$34\r
-    sta $07\r
-    lda #$07\r
-    sta $08\r
-    ldy #$f1\r
-    ;page crossing\r
-    ;c9&07=01\r
-    and ($07), y\r
-\r
-    ;;cmp zp, x/abs/abs, x/indir, y\r
-    lda #$de\r
-    ldx #$e4\r
-    sta $a4\r
-    ;c5-de=-19 > (e7)\r
-    lda #$c5\r
-    cmp $c0, x\r
-\r
-    sec\r
-    lda #$75\r
-    stx $0734\r
-    ;75-e4=-6f > 91\r
-    cmp $0650, x\r
-\r
-    ldx #$c9\r
-    stx $0825\r
-    lda #$34\r
-    sta $07\r
-    lda #$07\r
-    sta $08\r
-    ldy #$f1\r
-    lda #$c9\r
-    ;page crossing\r
-    ;c9-c9=0\r
-    cmp ($07), y\r
-\r
-    ;;rol zp/zp, x/abs/abs, x\r
-    lda #$de\r
-    ldx #$e4\r
-    sta $a4\r
-    ;de<1 =bc w/ carry\r
-    clc\r
-    rol $c0, x\r
-    ;bc<1 =78  w/ carry\r
-    rol $a4\r
-\r
-    ldx #$64\r
-    stx $0722\r
-    ;64<1 = c8 w/o carry\r
-    rol $06be, x\r
-\r
-    ldx #$80\r
-    stx $0734\r
-    ;80<1 = 00 w/ carry.\r
-    rol $0734\r
-\r
-    ;;cpx abs\r
-    ;;cpy zp/abs\r
-    lda #$de\r
-    sta $03a4\r
-    ;c5-de=-19 > (e7)\r
-    ldx #$c5\r
-    cpx $03a4\r
-\r
-    sec\r
-    ldy #$75\r
-    ldx #$e4\r
-    stx $34\r
-    ;75-e4=-6f > 91\r
-    cpy $34\r
-\r
-    ldx #$c9\r
-    stx $0825\r
-    ldy #$c9\r
-    ;c9-c9=0\r
-    cpy $0825\r
-\r
-    ;;lsr zp/zp, x/abs/abs, x\r
-    lda #$de\r
-    ldx #$e4\r
-    sta $a4\r
-    ;de>1 =6f w/o carry\r
-    clc\r
-    lsr $c0, x\r
-    ;6f>1 =37  w/ carry\r
-    lsr $a4\r
-\r
-    ldx #$64\r
-    stx $0722\r
-    ;64>1 = 32 w/o carry\r
-    lsr $06be, x\r
-\r
-    ldx #$01\r
-    stx $0734\r
-    ;01>1 = 00 w/ carry.\r
-    lsr $0734\r
-\r
-    ;;ldy abs, x\r
-    ;;ldx zp, y\r
-    ldx #$fa\r
-    stx $0820\r
-    ;;page cross\r
-    ldy $0726, x\r
-\r
-    ldx #$10\r
-    stx $0820\r
-    ;no page cross\r
-    ldy $0810, x\r
-\r
-    ldy #$10\r
-    sty $e0\r
-    ldx #$55\r
-    ldx $d0, y\r
-\r
-    ;;dec zp, x/abs, x\r
-    ;;inc zp, x/abs, x\r
-    lda #$00\r
-    ldx #$e4\r
-    sta $88\r
-    ldy #$00\r
-    dec $a4, x\r
-\r
-    ldx #$64\r
-    stx $0722\r
-    dec $06be, x\r
-\r
-    lda #$fe\r
-    ldx #$e4\r
-    sta $88\r
-    inc $a4, x\r
-    inc $a4, x\r
-    inc $a4, x\r
-\r
-    ldx #$64\r
-    stx $0722\r
-    inc $06be, x\r
+;;    jmp boundary_1\r
+;;    ;;fill dummy data to test page boundary instruction.\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;    ;;;single byte instruction page boundary test.\r
+;;boundary_1:\r
+;;    lda #$01\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;    ror\r
+;;;;this is pch increment at T1 cycle. \r
+;;;;;@80ff\r
+;;    rol\r
+;;    lsr\r
+;;\r
+;;    jmp boundary_2_1\r
+;;\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;boundary_2_1:\r
+;;    ;;;two byte instruction page boundary test.\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;;;this is pch increment at T1 cycle. \r
+;;    ;;;@81ff\r
+;;     ldx     #$08\r
+;;\r
+;;\r
+;;    jmp boundary_2_2\r
+;;\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;boundary_2_2:\r
+;;    ;;;two byte instruction page boundary test.\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;    ror\r
+;;;;this is pch increment at next T0 cycle. \r
+;;    ;;;@82fe\r
+;;     ldx     #$0a\r
+;;\r
+;;    jmp boundary_2_3\r
+;;\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;boundary_2_3:\r
+;;    ;;;two byte instruction w/ 3 exec cycle page boundary test.\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;\r
+;;     ror\r
+;;     lda     #$01\r
+;;     lda     #$de\r
+;;     sta     $13\r
+;;\r
+;;\r
+;;;;this is pch increment at T1 cycle. \r
+;;    ;;;@83ff\r
+;;     ldy $09, x\r
+;;\r
+;;\r
+;;    jmp boundary_2_4\r
+;;\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;boundary_2_4:\r
+;;    ;;;two byte instruction w/ 3 exec cycle page boundary test.\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     ldy     #$05\r
+;;\r
+;;     ror\r
+;;     lda     #$01\r
+;;     lda     #$de\r
+;;;;this is pch increment at T2 cycle. \r
+;;    ;;;@84fe\r
+;;     sta     $13\r
+;;\r
+;;\r
+;;    jmp boundary_3_1\r
+;;\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;boundary_3_1:\r
+;;    ;;;three byte instruction w/ page boundary test.\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     ldy     #$05\r
+;;\r
+;;     ror\r
+;;     lda     #$01\r
+;;     lda     #$dd\r
+;;;;this is pch increment at T3 cycle. \r
+;;    ;;;@85fd\r
+;;     sta     $06fc, x\r
+;;\r
+;;    jmp boundary_3_2\r
+;;\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;boundary_3_2:\r
+;;    ;;;three byte instruction w/ page boundary test.\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     ldy     #$05\r
+;;\r
+;;     lda     #$01\r
+;;     lda     #$dd\r
+;;;;this is pch increment at T2 cycle. \r
+;;    ;;;@86fe\r
+;;     sta     $06fc, x\r
+;;\r
+;;    jmp boundary_3_3\r
+;;\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;boundary_3_3:\r
+;;    ;;;three byte instruction w/ page boundary test.\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;     ldy     #$05\r
+;;\r
+;;     ldy     #$08\r
+;;     lda     #$dd\r
+;;;;this is pch increment at T1 cycle. \r
+;;    ;;;@87ff\r
+;;     sta     $06fc, x\r
+;;\r
+;;    jmp boundary_3_4\r
+;;\r
+;;    .byte      $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;boundary_3_4:\r
+;;    ;;;three byte instruction w/ page boundary test.\r
+;;     lda     #$01\r
+;;     lda     #$01\r
+;;    ror\r
+;;\r
+;;     ldy     #$08\r
+;;     lda     #$dd\r
+;;;;this is pch increment at T0 cycle. \r
+;;    ;;;@88fd\r
+;;     sta     $06fc, x\r
+;;\r
+;;    nop\r
+;;    nop\r
+;;    nop\r
+;;\r
+;;    ;;;instruction coverage test....\r
+;;    ;;adc abs, y\r
+;;    ldy #$10\r
+;;    ldx #$fa\r
+;;    stx $0790\r
+;;    lda #$b0\r
+;;    ;;fa+b0=aa\r
+;;    adc $0780, y\r
+;;\r
+;;    clc\r
+;;    ldy #$ab\r
+;;    ldx #$fa\r
+;;    stx $082b\r
+;;    lda #$dd\r
+;;    ;;fa+dd=d7\r
+;;    adc $0780, y\r
+;;\r
+;;    ;;bit zp\r
+;;    ldx #$15\r
+;;    stx $2b\r
+;;    bit $2b\r
+;;    lda #$8a\r
+;;    bit $2b\r
+;;\r
+;;    ;;sbc imm\r
+;;    ;;8a-5c=2e\r
+;;    sbc #$5c\r
+;;    ;;2e-3d=f1\r
+;;    sbc #$3d\r
+;;    ;;f1-e5=0c\r
+;;    sbc #$e5\r
+;;\r
+;;    ;;cli/clv\r
+;;    cli\r
+;;    ldx #$c0\r
+;;    stx $2b\r
+;;    bit $2b\r
+;;    clv\r
+;;\r
+;;    ;;adc zp, x/abs, x/indir, y\r
+;;    lda #$11\r
+;;    ldx #$e4\r
+;;    sta $a4\r
+;;    ;11+81=92\r
+;;    lda #$81\r
+;;    adc $c0, x\r
+;;\r
+;;    stx $0734\r
+;;    ;93+e4=177\r
+;;    adc $0650, x\r
+;;\r
+;;    ldx #$c9\r
+;;    stx $07e8\r
+;;    lda #$34\r
+;;    sta $07\r
+;;    lda #$07\r
+;;    sta $08\r
+;;    ldy #$b4\r
+;;    ;c9+07=d0\r
+;;    adc ($07), y\r
+;;\r
+;;    ;;and zp, x/abs/abs, x/indir, y\r
+;;    lda #$f5\r
+;;    ldx #$e4\r
+;;    sta $a4\r
+;;    ;f5&5e=54\r
+;;    lda #$5e\r
+;;    and $c0, x\r
+;;\r
+;;    stx $0734\r
+;;    ;e4&54=44\r
+;;    and $0650, x\r
+;;\r
+;;    ldx #$c9\r
+;;    stx $07e8\r
+;;    lda #$34\r
+;;    sta $07\r
+;;    lda #$07\r
+;;    sta $08\r
+;;    ldy #$b4\r
+;;    ;no page crossing\r
+;;    ;c9&07=01\r
+;;    and ($07), y\r
+;;\r
+;;    ldx #$c9\r
+;;    stx $0825\r
+;;    lda #$34\r
+;;    sta $07\r
+;;    lda #$07\r
+;;    sta $08\r
+;;    ldy #$f1\r
+;;    ;page crossing\r
+;;    ;c9&07=01\r
+;;    and ($07), y\r
+;;\r
+;;    ;;cmp zp, x/abs/abs, x/indir, y\r
+;;    lda #$de\r
+;;    ldx #$e4\r
+;;    sta $a4\r
+;;    ;c5-de=-19 > (e7)\r
+;;    lda #$c5\r
+;;    cmp $c0, x\r
+;;\r
+;;    sec\r
+;;    lda #$75\r
+;;    stx $0734\r
+;;    ;75-e4=-6f > 91\r
+;;    cmp $0650, x\r
+;;\r
+;;    ldx #$c9\r
+;;    stx $0825\r
+;;    lda #$34\r
+;;    sta $07\r
+;;    lda #$07\r
+;;    sta $08\r
+;;    ldy #$f1\r
+;;    lda #$c9\r
+;;    ;page crossing\r
+;;    ;c9-c9=0\r
+;;    cmp ($07), y\r
+;;\r
+;;    ;;rol zp/zp, x/abs/abs, x\r
+;;    lda #$de\r
+;;    ldx #$e4\r
+;;    sta $a4\r
+;;    ;de<1 =bc w/ carry\r
+;;    clc\r
+;;    rol $c0, x\r
+;;    ;bc<1 =78  w/ carry\r
+;;    rol $a4\r
+;;\r
+;;    ldx #$64\r
+;;    stx $0722\r
+;;    ;64<1 = c8 w/o carry\r
+;;    rol $06be, x\r
+;;\r
+;;    ldx #$80\r
+;;    stx $0734\r
+;;    ;80<1 = 00 w/ carry.\r
+;;    rol $0734\r
+;;\r
+;;    ;;cpx abs\r
+;;    ;;cpy zp/abs\r
+;;    lda #$de\r
+;;    sta $03a4\r
+;;    ;c5-de=-19 > (e7)\r
+;;    ldx #$c5\r
+;;    cpx $03a4\r
+;;\r
+;;    sec\r
+;;    ldy #$75\r
+;;    ldx #$e4\r
+;;    stx $34\r
+;;    ;75-e4=-6f > 91\r
+;;    cpy $34\r
+;;\r
+;;    ldx #$c9\r
+;;    stx $0825\r
+;;    ldy #$c9\r
+;;    ;c9-c9=0\r
+;;    cpy $0825\r
+;;\r
+;;    ;;lsr zp/zp, x/abs/abs, x\r
+;;    lda #$de\r
+;;    ldx #$e4\r
+;;    sta $a4\r
+;;    ;de>1 =6f w/o carry\r
+;;    clc\r
+;;    lsr $c0, x\r
+;;    ;6f>1 =37  w/ carry\r
+;;    lsr $a4\r
+;;\r
+;;    ldx #$64\r
+;;    stx $0722\r
+;;    ;64>1 = 32 w/o carry\r
+;;    lsr $06be, x\r
+;;\r
+;;    ldx #$01\r
+;;    stx $0734\r
+;;    ;01>1 = 00 w/ carry.\r
+;;    lsr $0734\r
+;;\r
+;;    ;;ldy abs, x\r
+;;    ;;ldx zp, y\r
+;;    ldx #$fa\r
+;;    stx $0820\r
+;;    ;;page cross\r
+;;    ldy $0726, x\r
+;;\r
+;;    ldx #$10\r
+;;    stx $0820\r
+;;    ;no page cross\r
+;;    ldy $0810, x\r
+;;\r
+;;    ldy #$10\r
+;;    sty $e0\r
+;;    ldx #$55\r
+;;    ldx $d0, y\r
+;;\r
+;;    ;;dec zp, x/abs, x\r
+;;    ;;inc zp, x/abs, x\r
+;;    lda #$00\r
+;;    ldx #$e4\r
+;;    sta $88\r
+;;    ldy #$00\r
+;;    dec $a4, x\r
+;;\r
+;;    ldx #$64\r
+;;    stx $0722\r
+;;    dec $06be, x\r
+;;\r
+;;    lda #$fe\r
+;;    ldx #$e4\r
+;;    sta $88\r
+;;    inc $a4, x\r
+;;    inc $a4, x\r
+;;    inc $a4, x\r
+;;\r
+;;    ldx #$64\r
+;;    stx $0722\r
+;;    inc $06be, x\r
+;;\r
+;;    ;;ror zp/zp,x/abs\r
+;;    lda #$02\r
+;;    ldx #$e4\r
+;;    sta $88\r
+;;    ror $a4, x\r
+;;    ror $a4, x\r
+;;    ror $a4, x\r
+;;\r
+;;    ldx #$64\r
+;;    stx $0722\r
+;;    ror $0722\r
+;;\r
+;;    ;;asl zp/zp,x/abs/abs,x\r
+;;    lda #$40\r
+;;    ldx #$e4\r
+;;    sta $88\r
+;;    asl $88\r
+;;    asl $a4, x\r
+;;    asl $a4, x\r
+;;\r
+;;    ldx #$64\r
+;;    stx $0722\r
+;;    asl $06be,x\r
+;;\r
+;;    ;;sta zp,x\r
+;;    ;;stx zp,y\r
+;;    ;;sty zp,x\r
+;;    lda #$40\r
+;;    ldx #$e4\r
+;;    ldy #$c5\r
+;;    sta $a4, x\r
+;;    stx $a4, y\r
+;;    sty $a4, x\r
+;;\r
+;;    ;;branch page cross test.\r
+;;    jmp bl_test0\r
+;;\r
+;;bl_test0:\r
+;;    ldx #5\r
+;;bl_test1:\r
+;;    dex\r
+;;    ;;forward branch\r
+;;    bpl bl_test2\r
+;;\r
+;;    jmp bl_test2\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;bl_test2:\r
+;;    dex\r
+;;    ;;backward branch\r
+;;    bpl bl_test1\r
+;;\r
+;;    ;;test2\r
+;;    ldx #5\r
+;;bl_test3:\r
+;;    dex\r
+;;    bpl bl_test4\r
+;;\r
+;;    jmp bl_test4\r
+;;\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;    .byte $00, $01, $02, $03, $04, $05, $06, $07, $08, $09, $0a, $0b, $0c, $0d, $0e, $0f\r
+;;\r
+;;bl_test4:\r
+;;    dex\r
+;;    bpl bl_test3\r
+;;\r
+;;    ;;ora zp, x/abs, x/indir, y\r
+;;    lda #$de\r
+;;    ldx #$e4\r
+;;    sta $a4\r
+;;    ;c5|de=df\r
+;;    lda #$c5\r
+;;    ora $c0, x\r
+;;\r
+;;    lda #$75\r
+;;    stx $0734\r
+;;    ;75|e4=f5\r
+;;    ora $0650, x\r
+;;\r
+;;    ldx #$c9\r
+;;    stx $0825\r
+;;    lda #$34\r
+;;    sta $07\r
+;;    lda #$07\r
+;;    sta $08\r
+;;    ldy #$f1\r
+;;    ;page crossing\r
+;;    ;07|c9=cf\r
+;;    ora ($07), y\r
+;;\r
+;;    ;;php/plp test\r
+;;    sec\r
+;;    sei\r
+;;    php\r
+;;\r
+;;    clc\r
+;;    cli\r
+;;    plp\r
+;;\r
+;;    ;;eor zp, x/abs, x/indir, y\r
+;;    lda #$de\r
+;;    ldx #$e4\r
+;;    sta $a4\r
+;;    ;c5^de=1b\r
+;;    lda #$c5\r
+;;    eor $c0, x\r
+;;\r
+;;    lda #$75\r
+;;    stx $0734\r
+;;    ;75^e4=91\r
+;;    eor $0650, x\r
+;;\r
+;;    ldx #$07\r
+;;    stx $0825\r
+;;    lda #$34\r
+;;    sta $07\r
+;;    lda #$07\r
+;;    sta $08\r
+;;    ldy #$f1\r
+;;    ;page crossing\r
+;;    ;07^07=00\r
+;;    eor ($07), y\r
+;;\r
+;;    ;;sbc zp, x/abs, x/indir, y\r
+;;    lda #$de\r
+;;    ldx #$e4\r
+;;    sta $a4\r
+;;    ;c5-de=-19 > e7\r
+;;    lda #$c5\r
+;;    sbc $c0, x\r
+;;\r
+;;    lda #$75\r
+;;    stx $0734\r
+;;    ;75-e4=-6f > 91\r
+;;    sbc $0650, x\r
+;;\r
+;;    ldx #$07\r
+;;    stx $07ef\r
+;;    lda #$34\r
+;;    sta $07\r
+;;    lda #$07\r
+;;    sta $08\r
+;;    ldy #$bb\r
+;;    ;07-07=00\r
+;;    sbc ($07), y\r
+;;\r
+;;    ;;bvs/bvc test\r
+;;    ;;-120=0x88\r
+;;    lda #$88\r
+;;bvs_test:\r
+;;    sbc #$10\r
+;;    bvs bvs_test\r
+;;    \r
+;;    lda #$5\r
+;;bvc_test:\r
+;;    sbc #$a\r
+;;    bvc bvc_test\r
+;;\r
+;;    ;;;;vram access test...\r
+;;     lda     #$00\r
+;;     sta     $2001       ;;disable bg\r
+;;\r
+;;    LDA   #$1e\r
+;;    STA   $2006\r
+;;    LDA   #$c0\r
+;;    STA   $2006       ;;;ppuaddr=1ec0\r
+;;    LDA   #$03\r
+;;    STA   $01\r
+;;    LDY   #$00\r
+;;    STY   $00\r
+;;    LDA   $2007       ;;;;from here acc broke...\r
+;;    LDA   $2007\r
+\r
+    ;;show bg...\r
+       lda     #$1e\r
+       sta     $2001\r
 \r
+    ;;;enable nmi\r
+       lda     #$80\r
+       sta     $2000\r
 \r
     ;;done...\r
     ;;infinite loop.\r
@@ -703,6 +950,10 @@ palettes:
        .byte   $0f, $06, $16, $26\r
        .byte   $0f, $08, $18, $28\r
        .byte   $0f, $0a, $1a, $2a\r
+       .byte   $0f, $00, $10, $20\r
+       .byte   $0f, $06, $16, $26\r
+       .byte   $0f, $08, $18, $28\r
+       .byte   $0f, $0a, $1a, $2a\r
 \r
 string:\r
        .byte   "test2!"\r