palette test
authorJohn Tsiombikas <nuclear@member.fsf.org>
Wed, 14 Sep 2022 20:04:19 +0000 (23:04 +0300)
committerJohn Tsiombikas <nuclear@member.fsf.org>
Wed, 14 Sep 2022 20:04:19 +0000 (23:04 +0300)
.gitignore [new file with mode: 0644]
Makefile [new file with mode: 0644]
emu.cfg [new file with mode: 0644]
xortest.s [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..23fdac7
--- /dev/null
@@ -0,0 +1,5 @@
+*.swp
+*.rom
+*.txt
+*.dsk
+xortest
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..141e773
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,11 @@
+xortest.dsk: xortest
+       c2d xortest,800 $@
+
+xortest: xortest.s
+       merlin32 -v . $<
+
+clean:
+       rm -f xortest.dsk xortest
+
+run:
+       gsplus -config emu.cfg
diff --git a/emu.cfg b/emu.cfg
new file mode 100644 (file)
index 0000000..df0e4cb
--- /dev/null
+++ b/emu.cfg
@@ -0,0 +1,46 @@
+# GSplus configuration file version 0.14
+
+s5d1 = 
+s5d2 = 
+
+s6d1 = xortest.dsk
+s6d2 = 
+
+s7d1 = 
+
+g_cfg_rom_path = apple2gs.rom
+
+
+bram1[00] = 00 00 00 01 00 00 0d 06 02 01 01 00 01 00 00 00
+bram1[10] = 00 00 07 06 02 01 01 00 00 00 0f 06 06 00 05 06
+bram1[20] = 01 00 00 00 00 00 00 01 06 00 00 00 03 02 02 02
+bram1[30] = 00 00 00 00 01 01 00 00 00 00 01 02 03 04 05 06
+bram1[40] = 07 00 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d
+bram1[50] = 0e 0f ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[60] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[70] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[80] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[90] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[a0] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[b0] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[c0] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[d0] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[e0] = ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
+bram1[f0] = ff ff ff ff ff ff ff ff ff ff ff ff 2e 30 84 9a
+
+bram3[00] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[10] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[20] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[30] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[40] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[50] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[60] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[70] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[80] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[90] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[a0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[b0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[c0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[d0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[e0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+bram3[f0] = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
diff --git a/xortest.s b/xortest.s
new file mode 100644 (file)
index 0000000..b876059
--- /dev/null
+++ b/xortest.s
@@ -0,0 +1,66 @@
+       org $800
+
+REG_NEWVID = $c029
+FB_BASE        = $e12000
+
+       clc
+       xce
+
+       lda #$c1
+       sta REG_NEWVID
+
+       rep #$30        ; accum/index 16bit
+       lda #$0000
+       ldx #$0000
+fillrest
+       stal $e19d00,x
+       inx
+       inx
+       cpx #$300
+       bne fillrest
+       
+       lda #$0000
+cmap   pha
+       sta 0
+       asl
+       tax     ; offset = i * 2
+       asl
+       asl
+       asl
+       ora 0
+       sta 0
+       xba
+       ora 0
+       stal $e19e00,x
+       pla
+       inc
+       cmp #$000f
+       bne cmap
+
+YVAL   = 0
+COLIDX = 1
+
+       sep #$20        ; accum 8bit
+       ldx #0          ; fb index
+       stz YVAL
+yloop  lda YVAL
+       and #$f
+       sta COLIDX
+       asl
+       asl
+       asl
+       asl
+       ora COLIDX
+       ldy #160        ; 160 bytes across
+xloop  stal FB_BASE,x
+       inx
+       dey
+       bne xloop
+       inc YVAL
+       lda YVAL
+       cmp #200
+       bne yloop
+
+infloop        bra infloop
+
+       ; vi:ft=asm_ca65