diff --git a/src/corecpu/corecpu.c b/src/corecpu/corecpu.c index 48ef26b..89f49a4 100644 --- a/src/corecpu/corecpu.c +++ b/src/corecpu/corecpu.c @@ -150,9 +150,9 @@ unsigned short tmp = 0; unsigned char v = read; \ tmp = cpu->reg_A + v + (cpu->reg_P & Q6502_C_FLAG); \ cpu->reg_P = (cpu->reg_P & ~(Q6502_C_FLAG | Q6502_N_FLAG | Q6502_Z_FLAG | Q6502_V_FLAG)) | \ - (tmp & 0x80) | ((tmp&0xFF)?0:Q6502_Z_FLAG) | \ + (tmp & Q6502_N_FLAG) | ((tmp&0xFF)?0:Q6502_Z_FLAG) | \ ((tmp & 0xFF00)?Q6502_C_FLAG:0) | \ - ( (( ~(cpu->reg_A^v)&(cpu->reg_A^tmp) ))&0x80?Q6502_V_FLAG:0 ); \ + ( (( ~(cpu->reg_A^v)&(cpu->reg_A^tmp) )&0x80)?Q6502_V_FLAG:0 ); \ cpu->reg_A = tmp & 0xFF; \ } while(0) diff --git a/src/log.c b/src/log.c index 1658083..8ca525d 100644 --- a/src/log.c +++ b/src/log.c @@ -61,12 +61,11 @@ void time_stamp_line(void) void log_real(int level, char *user, char *fmt, ...) { - int i; - va_list va; - /* The LOG_PANIC must always be displayed */ if ((level <= MAX_DEBUG_LEVEL) || (level <= LOG_PANIC)) { + va_list va; + switch(level) { case LOG_PANIC: printf(BRED FWHITE); break; @@ -84,6 +83,7 @@ void log_real(int level, char *user, char *fmt, ...) if (user != NULL) { + int i; i = strlen(user); if (i < 12) { diff --git a/src/ppu/ppu.c b/src/ppu/ppu.c index 87e67bc..135f334 100755 --- a/src/ppu/ppu.c +++ b/src/ppu/ppu.c @@ -377,19 +377,10 @@ _AAA BCDD DDDE EEEE int ppu_hblank(uint16_t scanline) { - uint32_t i, j; - uint8_t pixelColor = 0; - uint8_t BgColor = 0; - uint8_t SpriteColor = 0; + uint32_t j; /* Sprite to display on current scanline */ spriteData scanSprites[8]; - - uint16_t addr; - uint8_t value; - uint16_t tmp_HHT = 0; - uint16_t tmp_VVTFV = 0; - uint8_t spriteCount = 0; ppu_scanlineSpriteOverflow = 0; if ( scanline == 0 ) @@ -400,6 +391,9 @@ int ppu_hblank(uint16_t scanline) if ( scanline < 240 ) { + int i; + uint8_t spriteCount = 0; + /* Search for sprites on current scanline */ for (i = 0 ; i < 8 ; i++) { @@ -434,6 +428,12 @@ int ppu_hblank(uint16_t scanline) /* For each PPU pixel of this scanline */ for ( i = 0 ; i < 256 ; i++ ) { + uint16_t addr; + uint8_t value; + + uint8_t pixelColor = 0; + uint8_t BgColor = 0; + /* Set the current pixel color to the bg color */ pixelColor = ppu_bgColor; BgColor = 0; @@ -475,6 +475,8 @@ int ppu_hblank(uint16_t scanline) if ( ( ( i + PPU_Reg_FH ) % 8 ) == 7 ) { + uint16_t tmp_HHT = 0; + tmp_HHT = ( ( PPU_Reg_Counter >> 5 ) & 0x0020 ) | ( PPU_Reg_Counter & 0x001F ); tmp_HHT = ( tmp_HHT + 1 ) & 0x003F; @@ -511,6 +513,8 @@ int ppu_hblank(uint16_t scanline) if ( ( spriteRelX >= 0 ) && ( spriteRelX < 8 ) ) { + uint8_t SpriteColor = 0; + /* Get sprite tile address */ if ( ppu_spriteSize == 8 ) { @@ -615,6 +619,7 @@ int ppu_hblank(uint16_t scanline) if ( ppu_backgroundVisibility == 1 ) { + uint16_t tmp_VVTFV = 0; tmp_VVTFV = ( ( PPU_Reg_Counter >> 3 ) & 0x0100 ) | /* V */ ( ( PPU_Reg_Counter >> 2 ) & 0x00F8 ) | /* VT */ diff --git a/src/ppu/ppu.memory.c b/src/ppu/ppu.memory.c index 70383ba..ce268a9 100644 --- a/src/ppu/ppu.memory.c +++ b/src/ppu/ppu.memory.c @@ -152,7 +152,6 @@ byte ppu_readMemory(byte page, byte addr) void ppu_writeMemory(byte page, byte addr, byte value) { - byte *ptr; if (page == 0x3F) { /* Here we will cheat with the palette miroring, since we didn't write @@ -168,6 +167,8 @@ void ppu_writeMemory(byte page, byte addr, byte value) } else { + byte *ptr; + ptr = ppu_memoryPages[page & 0x3F]; ptr[addr] = value; }