fixed pixel order, added LARGE option
authorJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 15 Sep 2022 09:06:41 +0000 (12:06 +0300)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Thu, 15 Sep 2022 09:06:41 +0000 (12:06 +0300)
xortest.s

index ce89274..9a32dc2 100644 (file)
--- a/xortest.s
+++ b/xortest.s
@@ -1,5 +1,7 @@
        org $800
 
+LARGE = 0
+
 REG_NEWVID = $c029
 FB_BASE        = $e12000
 
@@ -12,7 +14,7 @@ FB_BASE       = $e12000
        rep #$30        ; accum/index 16bit
        lda #$0000
        ldx #$0000
-fillrest
+fillrest               ; @30f
        stal $e19d00,x
        inx
        inx
@@ -20,7 +22,7 @@ fillrest
        bne fillrest
        
        lda #$0000
-cmap   pha
+cmap   pha             ; @31d
        sta 0
        asl
        tax     ; offset = i * 2
@@ -39,23 +41,41 @@ cmap        pha
 
 YVAL   = 0
 TMPVAL = 1
+YNIB   = 2
 
-       sep #$20        ; accum 8bit
-       ldx #0          ; fb index
+       sep #$20        ; accum 8bit  @337
+       ldx #0000       ; fb index
        stz YVAL
-yloop  ldy #0000       ; column/2 on Y reg
-xloop  tya
+yloop  ldy #0000       ; column/2 on Y reg  @33e
+xloop  lda YVAL        ; @341
+
+       DO LARGE
+       lsr
+       FIN
+
+       and #$0f
+       sta YNIB
+       tya
+
+       DO LARGE = 0
        asl
+       inc             ; increment X, next pixel on low nibble
+       FIN
+
        and #$0f
        sta TMPVAL      ; save first pixel X coordinate
-       inc             ; increment by 1 for the next pixel
-       eor YVAL
+
+       DO LARGE = 0
+       dec             ; decrement back for high nibble pixel
+       FIN
+
+       eor YNIB
        asl             ; move next pixel value to high nibble
        asl
        asl
        asl
        ora TMPVAL      ; first pixel X -> low nibble
-       eor YVAL
+       eor YNIB
 
        stal FB_BASE, x ; write the pixel pair
        inx
@@ -67,6 +87,6 @@ xloop tya
        cmp #200
        bne yloop
 
-infloop        bra infloop
+infloop        bra infloop     ; @36d
 
        ; vi:ft=asm_ca65