cpu: get blarg CPU instruction test 6 passing

Its been too long since a checkin, but here's some of the
improvements:

- Support for diffing with other emulators
- Better disassmbed output
- New CPU instructions implemented
- Lots of CPU fixes
This commit is contained in:
2018-08-26 22:49:45 -07:00
parent 6f9ed73ef2
commit c4ded6d077
8 changed files with 639 additions and 138 deletions

View File

@@ -106,14 +106,19 @@ out:
void gb_video_cycle(struct gb_video *video, int cycles)
{
static int screenshot_count = 0;
video->line_counter += cycles;
if (video->line_counter >= CYCLES_PER_LINE) {
video->line_counter -= CYCLES_PER_LINE;
video->curline += 1;
if (video->curline > LCD_Y_MAX) {
video->curline = 0;
if (video->lcdcont & 1 << 7) {
gb_video_screenshot(video);
if (video->lcdcont & (1 << 7)) {
screenshot_count++;
if (screenshot_count % 30 == 0) {
gb_video_screenshot(video);
}
}
}
}
@@ -164,7 +169,7 @@ void gb_video_mem_write(struct gb_video *video, uint16_t addr, uint8_t val)
uint8_t *write_addr;
if (video->debug_logging) {
gb_log("Video[%x]=%x\n", addr, val);
gb_log("Write Video[%x]=%x\n", addr, val);
}
switch (addr) {