summaryrefslogtreecommitdiff
path: root/vdp.c
AgeCommit message (Collapse)Author
2016-12-27Brighten up Mode 4 colorsMichael Pavone
2016-12-27The function of the HVC Latch enable bit in mode register 1 is different ↵Michael Pavone
when not in mode 5
2016-12-27Fix inactive start line for Mode 4 in vdp_next_hint. Fix an off by one error ↵Michael Pavone
in the range of registers allowed to be written in Mode 4
2016-12-27Implemented Mode 4 sprite list terminationMichael Pavone
2016-12-27Less broken Mode 4 implementationMichael Pavone
2016-12-27Somewhat broken implementation of Mode 4Michael Pavone
2016-12-22Initial support for Genesis/Megadrive PBC mode. VDP still needs Mode 4 to be ↵Michael Pavone
useful.
2016-12-12Fix field flag handling bug introduced with VDP/render interface cleanupMichael Pavone
2016-12-09WIP split of ROM loading/argument parsing from Genesis emulation code. ↵Michael Pavone
Compiles and doesn't crash, but nothing works. Still a few too many globals as well.
2016-11-28Clean up symbol visiblity and delete a ltitle bit of dead codeMichael Pavone
2016-08-22Cleanup the separation of render backend and VDP code in preparation for ↵Michael Pavone
having extra debug windows. Make determination of H40/H32 based on number of lines in each mode.
2016-08-12Removed obsolete TOODMichael Pavone
2016-05-15Fix bug in vflip implementation when in double resolution interlace modeMichael Pavone
2016-05-11Fix implementation of sprite collision flag. Old implementation did not make ↵Michael Pavone
sense.
2016-05-02Fix GST savestate loading to deal with SAT cache to fix sprite corruption on ↵Michael Pavone
savestate load. Clear out Z80 native_pc so the Z80 state does not get hosed when loading a savestate while the emulator is already running
2016-04-30Fix bug in SAT cache address calculation that caused a crash in Strider IIMichael Pavone
2016-04-30Added TODO for hardware checkingMichael Pavone
2016-04-30Set sprite overflow flag if we completely consume sprite rendering capacity ↵Michael Pavone
for the line even if there is nothing left to draw. This graphical corruption in the vertical stretching scroll section. Needs hardware confirmation.
2016-04-30Implement SAT cache. Causes some graphical corruption in Overdrive due to an ↵Michael Pavone
unrelated bug.
2016-04-30Fix some stuff with interrupt timing. The change in adjust_int_cycle gets ↵Michael Pavone
Overdrive working again (vint was not being preferred over hint in some cases). One of the changes seems to have broken Fatal Rewind again, but no other regressions that I can see.
2016-04-27Properly emulate machine freeze when reading from VDP while configured for ↵Michael Pavone
writes
2016-04-24FIFO should show as empty during a DMA fill after the initial write is done. ↵Michael Pavone
BlastEm now gets a perfect score in VDP FIFO Testing
2016-04-24Fixes to the DMA busy flag and DMA fill. Now up to 120/122 on VDP FIFO Testing.Michael Pavone
2016-04-24Half assed, prefetch based open bus value emulation. Gets BlastEm up to ↵Michael Pavone
119/122 in VDP FIFO Testing
2016-04-24Implemented VDP read prefetch and made DMA copy not use the FIFO any more. ↵Michael Pavone
Now up to 114 out of 122 passing on VDP FIFO Test ROM
2016-04-12Remove the int number argument to vdp_int_ack since it is no longer usedMichael Pavone
2016-04-12Fix VDP interrupt ack. Big thanks to Eke-Eke or whoever left that helpful ↵Michael Pavone
comment in Genesis Plus GX. Fixes Fatal Rewind
2016-02-02Change the sentinel value for the hslot parameter of run_dma_src to ↵Michael Pavone
something that is not a valid slot number and actually use it for calls during the active display period
2016-02-02Perform the same slot mapping shift for H32 mode as I did for H40Michael Pavone
2016-01-28Shift slot number to slot behavior mapping by six slots in H40 mode. This ↵Michael Pavone
makes the line change slot align with the point at which the display turns on and off at the end of the active display area. Also fixed a regression in which an external slot got accidentally changed into a sprite draw slot
2016-01-26After reviewing the results of my test ROM again it seems pretty clear that ↵Michael Pavone
the VBlank flag gets set at the same time as the vcounter changes
2016-01-17Fix calculation of window start column when it's on the right side. This ↵Michael Pavone
removes graphical glitches in Afterburner 2, Fireshark and Dungeons and Dragons: Warriors of the Eternal Sun and probably others
2015-11-13Selecting a second game from the menu now worksMichael Pavone
2015-08-03Pretty decent optimization of vdp_h40 and vdp_h32. Gets reasonably close to ↵Michael Pavone
the speed of 0.2.0 in the worst case and is faster than 0.2.0 in others
2015-07-17Add ability to change start address for VRAM viewer. Fix handling of DMA ↵Michael Pavone
enable flag when it comes to DMA fills. This fixes a bug in James Pond 3
2015-06-28More clang warning cleanupMichael Pavone
2015-05-30Fixed shadow/highlight modeMichael Pavone
2015-05-22Fix bug in vdp_next_hint that was causing HINTs to fire repeatedly when they ↵Michael Pavone
should not have fired at all based on an HINT interval that was larger than the number of active lines in the display
2015-05-21Restore the other 2 debug display modesMichael Pavone
2015-05-20Add some tests for hint timing and fix it properly this time.Michael Pavone
2015-05-20Upgrade to SDL 2.0 and drop support for the non-OpenGL render pathMichael Pavone
2015-05-20Update vscroll latch implementation to be more in line with what Eke-Eke has ↵Michael Pavone
observed. Revert the change to vdp_cycles_to_line because it breaks hints on line 0. H-Int timing is still a little messed up, but the previous change made things worse.
2015-05-19Small correction to VBLANK flag timing. Fixed some inconsistencies in ↵Michael Pavone
interrupt timing calculation.
2015-05-17Fix VDP status register PAL bit based on observations of the Titan Overdrive ↵Michael Pavone
demo
2015-05-16Adjust H32 vint slot in response to latest test ROM dataMichael Pavone
2015-05-16First pass at emulating a vscroll latch. Titan's Overdrive demo seems to ↵Michael Pavone
depend on the scroll value being latched early in the line before the HINT gets a chance to change it
2015-05-14Small horizontal interrupt fixesMichael Pavone
2015-05-13Add description of cd register value to vr debugger commandMichael Pavone
2015-05-11Fix frame counter increment and VINT cycle time calculationMichael Pavone
2015-05-11Sync fixes and logging to fix more sync issuesMichael Pavone