rendered paste body*
* Control bits F0 - F6 (Starting Address)
* Display mode V0 - V2 (SAM Control)
* VDG Mode V3 - V6 (VDG Control)
*
*
*I want G2C - (128 x 64 x 4)
*VDG 7 6 5 4 3
* 1 0 1 0 c
*
*SAM 2 1 0
* 0 1 0
*
*Addr 6 5 4 3 2 1 0 x x x x x x x x x
* 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 = $1000
*
*
*
*Addr Set Clear
*F6 $FFD3 $FFD2
*F5 $FFD1 $FFD0
*F4 $FFCF $FFCE
*F3 $FFCD $FFCC
*F2 $FFCB $FFCA
*F1 $FFC9 $FFC8
*F0 $FFC7 $FFC6
*
*SAM Set Clear
*V2 $FFC5 $FFC4
*V1 $FFC3 $FFC2
*V0 $FFC1 $FFC0
*
*VDG Set Clear
*
*V3-V7 $FF22 - Bits 3 - 7 (Auto-set by Basic)
*
* First, set Starting Address
ORG $8B00
*set_video_mode STA $FFD2 * Clear F6
* STA $FFD0 * Clear F5
* STA $FFCE * Clear F4
* STA $FFCD * SET F3
* STA $FFCA * Clear F2
* STA $FFC8 * Clear F1
* STA $FFC6 * Clear F0
* Effect - set starting address of video to 0001 0000 0000 0000 = $1000
LDA #%1010 1000 * G2C
STA $FF22 * Write
STA $FFC4 * Clear V2
STA $FFC3 * SET V1
STA $FFC0 * Clear V0
*set_some_pix LDX #$1000 * Start of VidRam
* LDY #$200 * 512 out of 2048= 1/4 of the page
* LDA #%0101 0101 * Solid Magenta
*
*set_pix_loop STA ,X+ * Write pixel and increase address
* LEAY -1,Y * Decrease Counter by One
* BNE set_pix_loop * Not zero? Repeat
loopy_loop JMP loopy_loop
END $8B00