Now 'vbgame' is included inside this project. Some fixes.

This commit is contained in:
2017-01-30 14:57:38 +01:00
parent 0135efd688
commit 415688d5c5
13 changed files with 1207 additions and 21 deletions

28
vdp.cpp
View File

@@ -126,21 +126,17 @@ static void flip() {
Uint8 col = sprites[i].col;
Uint8* sbt = &screen_buffer[((x - 8) * 4) + ((y - 8) * 128 * 4)];
for (int l = 0; l < 8; l++) {
if (y >= 8) {
if (((x+0) >= 8) && (*cm & 128)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 1) >= 8) && (*cm & 64)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 2) >= 8) && (*cm & 32)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 3) >= 8) && (*cm & 16)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 4) >= 8) && (*cm & 8)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x+5) >= 8) && (*cm & 4))
memcpy(sbt, palette[col & 0x0F], 4);
sbt += 4;
if (((x+6) >= 8) && (*cm & 2))
memcpy(sbt, palette[col & 0x0F], 4);
sbt += 4;
if (((x+7) >= 8) && (*cm & 1))
memcpy(sbt, palette[col & 0x0F], 4);
sbt += (512 - 32 + 4);
if (y >= 8 && y < 104) {
if (((x + 0) >= 8) && ((x + 0) < 136) && (*cm & 128)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 1) >= 8) && ((x + 1) < 136) && (*cm & 64)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 2) >= 8) && ((x + 2) < 136) && (*cm & 32)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 3) >= 8) && ((x + 3) < 136) && (*cm & 16)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 4) >= 8) && ((x + 4) < 136) && (*cm & 8)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 5) >= 8) && ((x + 5) < 136) && (*cm & 4)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 6) >= 8) && ((x + 6) < 136) && (*cm & 2)) memcpy(sbt, palette[col & 0x0F], 4); sbt += 4;
if (((x + 7) >= 8) && ((x + 7) < 136) && (*cm & 1)) memcpy(sbt, palette[col & 0x0F], 4); sbt += (512 - 32 + 4);
} else {
sbt += 512;
}
cm++; y++;
}
@@ -201,7 +197,7 @@ void vdp_cmd_out(const unsigned char& value) {
break;
case VDP_CMD_BORDER:
border = data_stack[0] & 0xF;
SDL_SetRenderDrawColor(sdlRenderer, palette[border][3], palette[border][2], palette[border][1], palette[border][0]);
SDL_SetRenderDrawColor(sdlRenderer, palette[border][0], palette[border][1], palette[border][2], palette[border][3]);
break;
}
data_stack_pos = 0;