#ifdef LC_DEBUGGING
{
#endif
- b = ram[addr - 0x1000];
-// b = (ramrd ? ram2[addr - 0x1000] : ram[addr - 0x1000]);
+// b = ram[addr - 0x1000];
+ b = (altzp ? ram2[addr - 0x1000] : ram[addr - 0x1000]);
#ifdef LC_DEBUGGING
if (showpath)
WriteLog("b is from LC bank #1 (ram[addr - 0x1000])...\n");
#ifdef LC_DEBUGGING
{
#endif
- b = ram[addr];
-// b = (ramrd ? ram2[addr] : ram[addr]);
+// b = ram[addr];
+ b = (altzp ? ram2[addr] : ram[addr]);
#ifdef LC_DEBUGGING
if (showpath)
WriteLog("b is from LC bank #2 (ram[addr])...\n");
}
else
{
-#if 1
// Check for 80STORE mode (STORE80 takes precedence over RAMRD/WRT)...
if ((((addr >= 0x0400) && (addr <= 0x07FF)) || ((addr >= 0x2000) && (addr <= 0x3FFF))) && store80Mode)
{
}
// Finally, check for auxillary/altzp write switches
-#endif
if (addr < 0x0200)
b = (altzp ? ram2[addr] : ram[addr]);
else
b = (ramrd ? ram2[addr] : ram[addr]);
-// if (ramrd)
-// b = ram2[addr];
-// else
-// {
-// if (altzp)
-// b = ram2[addr];
-// else
-// b = ram[addr];
-// }
#ifdef LC_DEBUGGING
if (showpath)
WriteLog("b is from ram[addr]...\n");
{
if (writeRAM)
{
-#if 1
+#if 0
if (addr <= 0xDFFF && visibleBank == LC_BANK_1)
ram[addr - 0x1000] = b;
else
#else
if (addr <= 0xDFFF && visibleBank == LC_BANK_1)
{
- if (ramwrt)
+ if (altzp)
ram2[addr - 0x1000] = b;
else
ram[addr - 0x1000] = b;
}
else
{
- if (ramwrt)
+ if (altzp)
ram2[addr] = b;
else
ram[addr] = b;
}
#else
if (addr < 0x0200)
+// if (addr < 0x0200 || addr >= 0xD000)
{
if (altzp)
ram2[addr] = b;
static void RenderDHiRes(uint16_t toLine/*= 192*/)
{
-// NOTE: Not endian safe. !!! FIX !!! [DONE]
-#if 0
- uint32_t pixelOn = (screenType == ST_WHITE_MONO ? 0xFFFFFFFF : 0xFF61FF61);
-#else
// Now it is. Now roll this fix into all the other places... !!! FIX !!!
// The colors are set in the 8-bit array as R G B A
uint8_t monoColors[8] = { 0xFF, 0xFF, 0xFF, 0xFF, 0x61, 0xFF, 0x61, 0xFF };
uint32_t * colorPtr = (uint32_t *)monoColors;
uint32_t pixelOn = (screenType == ST_WHITE_MONO ? colorPtr[0] : colorPtr[1]);
-#endif
for(uint16_t y=0; y<toLine; y++)
{
- uint16_t previousLoPixel = 0;
- uint32_t previous3bits = 0;
+ uint32_t previous4bits = 0;
for(uint16_t x=0; x<40; x+=2)
{
pixels = pixels | ((mirrorTable[screenByte & 0x7F]) << 21);
screenByte = ram2[lineAddrHiRes[y] + (displayPage2 ? 0x2000 : 0x0000) + x + 1];
pixels = pixels | ((mirrorTable[screenByte & 0x7F]) << 7);
- pixels = previous3bits | (pixels >> 1);
+ pixels = previous4bits | (pixels >> 1);
// We now have 28 pixels (expanded from 14) in word: mask is $0F FF FF FF
// 0ppp 1111 1111 1111 1111 1111 1111 1111
{
for(uint8_t i=0; i<7; i++)
{
- uint8_t bitPat = (pixels & 0x7F000000) >> 24;
+ uint8_t bitPat = (pixels & 0xFE000000) >> 25;
pixels <<= 4;
for(uint8_t j=0; j<4; j++)
{
- uint8_t color = blurTable[bitPat][j];
- scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = palette[color];
- scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = palette[color];
+ uint32_t color = palette[blurTable[bitPat][j]];
+ scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 0) * VIRTUAL_SCREEN_WIDTH)] = color;
+ scrBuffer[(x * 14) + (i * 4) + j + (((y * 2) + 1) * VIRTUAL_SCREEN_WIDTH)] = color;
}
}
- previous3bits = pixels & 0x70000000;
+ previous4bits = pixels & 0xF0000000;
}
else
{