@Don_Adan, post #30
@teh_KaiN, post #31
@c64portal, post #11
for (int j = 1; j < 9; j++) { for (int i = 0; i < 32; i++) { nyb2 = 0x000; custom.bplcon3 = nyb1 | nyb2; UBYTE r = ((col[i] >> 16) & 0xFF) >>4 ; UBYTE g = ((col[i] >> 8) & 0xFF) >>4 ; UBYTE b = (col[i] & 0xFF) >>4 ; custom.color[i] = r<<8 | g<<4 | b; nyb2 = 0x200; custom.bplcon3 = nyb1 | nyb2; r = ((col[i] >> 16) & 0xFF) &0x0f ; g = ((col[i] >> 8) & 0xFF) &0x0f ; b = (col[i] & 0xFF) & 0x0f ; custom.color[i] = r<<8 | g<<4 | b; } nyb1 = 0x2000*j; }
static UWORD __chip coplist[] = { COP_MOVE(DIWSTRT, 0x2c81), COP_MOVE(DIWSTOP, 0x2cc1), COP_MOVE(BPLCON0, 0x210), COP_MOVE(FMODE, 0), COP_MOVE(DDFSTRT, 0x0038), COP_MOVE(DDFSTOP, 0x00d0), COP_MOVE(BPL1MOD, 0), COP_MOVE(BPL2MOD, 0), COP_MOVE(BPL1PTH, 0), COP_MOVE(BPL1PTL, 0), COP_MOVE(BPL2PTH, 0), COP_MOVE(BPL2PTL, 0), COP_MOVE(BPL3PTH, 0), COP_MOVE(BPL3PTL, 0), COP_MOVE(BPL4PTH, 0), COP_MOVE(BPL4PTL, 0), COP_MOVE(BPL5PTH, 0), COP_MOVE(BPL5PTL, 0), COP_MOVE(BPL6PTH, 0), COP_MOVE(BPL6PTL, 0), COP_MOVE(BPL7PTH, 0), COP_MOVE(BPL7PTL, 0), COP_MOVE(BPL8PTH, 0), COP_MOVE(BPL8PTL, 0), COP_WAIT_END, COP_WAIT_END };
ULONG addr; int cop__bpl1pth_start = COP__BPL1PTH_START; for (int i = 0; i < PLANES; i++) { addr = (ULONG)&(data[i * PLANE_SIZE]); coplist[cop__bpl1pth_start] = (addr >> 16) & 0xffff; coplist[cop__bpl1pth_start + 2] = addr & 0xffff; cop__bpl1pth_start += 4; // next bitplane }