Mon, 06 Mar 2017 00:23:35 -0800 |
Michael Pavone |
Initial stab at horizontal border emulation. Only works for H40 and still has a few minor holes to fill
|
Tue, 24 Jan 2017 00:02:03 -0800 |
Michael Pavone |
Remove accidentally committed debug logging
|
Sun, 22 Jan 2017 19:40:32 -0800 |
Michael Pavone |
Force IPV4 for GDB remote debugging on Windows. Bind to localhost instead of unspecified address since listening on external ports probably isn't a good idea in the general case
|
Thu, 19 Jan 2017 09:32:34 -0800 |
Michael Pavone |
Fix border rendering at end of line 1FE. vdp_inactive will probably need a small fixup for the edge case when we start between when the vcounter is incremented and the line is truly finished.
|
Wed, 18 Jan 2017 21:30:20 -0800 |
Michael Pavone |
CRAM contention artifact emulation
|
Tue, 17 Jan 2017 19:01:04 -0800 |
Michael Pavone |
Undo poorly thought out minor optimization that screwed up rendering
|
Tue, 17 Jan 2017 09:27:05 -0800 |
Michael Pavone |
Fix vdp_run_to_vblank
|
Tue, 17 Jan 2017 09:18:35 -0800 |
Michael Pavone |
Disable timing debug
|
Tue, 17 Jan 2017 09:18:16 -0800 |
Michael Pavone |
Fix line advancement in Mode 4 during inactive display. Fix a Mode 4 VInt timing discrepency
|
Tue, 17 Jan 2017 09:02:36 -0800 |
Michael Pavone |
Fix H40 VInt inconsistency
|
Mon, 16 Jan 2017 23:34:30 -0800 |
Michael Pavone |
Fix H32 VInt timing inconsistency
|
Mon, 16 Jan 2017 22:30:21 -0800 |
Michael Pavone |
Fix H32 inconsistency
|
Mon, 16 Jan 2017 21:38:49 -0800 |
Michael Pavone |
Added synthetic test for tracking down interrupt timing issues
|
Mon, 16 Jan 2017 09:31:33 -0800 |
Michael Pavone |
Fix some timing inconsistencies in H40 mode. Added some ifdefed timing debug code.
|
Sun, 15 Jan 2017 22:54:01 -0800 |
Michael Pavone |
Don't adjust cycles every frame. Only when we start getting close to UINT_MAX. Don't adjust all the way down to zero when we do adjust. Shouldn't fix anything, but may make debugging current issues easier.
|
Sun, 15 Jan 2017 22:38:31 -0800 |
Michael Pavone |
Rework how inactive lines are handled. Fix H40 cycle increment in slot 182
|
Sun, 15 Jan 2017 15:29:32 -0800 |
Michael Pavone |
Fix benchmark mode
|
Sun, 15 Jan 2017 15:07:24 -0800 |
Michael Pavone |
Initial work on emulating top and bottom border area
|
Mon, 09 Jan 2017 19:24:11 -0800 |
Michael Pavone |
Fix disagreement on line change location between vdp_h32_mode4 and vdp_run_context that was causing the first line to be garbage in some cases
|
Sun, 08 Jan 2017 13:39:44 -0800 |
Michael Pavone |
A bunch of Mode 4 fixes
|
Sun, 08 Jan 2017 10:46:32 -0800 |
Michael Pavone |
Update H32 and Mode 4 mappings based on latest tests
|
Fri, 06 Jan 2017 19:25:04 -0800 |
Michael Pavone |
Fix H40 slot mapping to better match old VRAM bus captures and adjust for recent VCounter measurements
|
Thu, 05 Jan 2017 19:15:53 -0800 |
Michael Pavone |
Clear sprite overflow flag when control port read. Fix vcounter progression in Mode 4
|
Thu, 05 Jan 2017 00:42:11 -0800 |
Michael Pavone |
Fix Mode 4 sprite collision flag
|
Thu, 05 Jan 2017 00:36:23 -0800 |
Michael Pavone |
Implemented Mode 4 H conter latching
|
Thu, 05 Jan 2017 00:08:28 -0800 |
Michael Pavone |
BlastEm now passes all of the tests on the first page of "Megadrive VDP Test" in VDPTEST.sms
|
Wed, 04 Jan 2017 23:01:58 -0800 |
Michael Pavone |
Fix to pass a couple more tests in VDPTEST.sms
|
Wed, 04 Jan 2017 22:48:00 -0800 |
Michael Pavone |
Fix some issues with VDP interface in Mode 4/PBC mode
|
Wed, 04 Jan 2017 21:23:59 -0800 |
Michael Pavone |
Display both byte and word pending values to better reflect VDP pending state in PBC mode
|
Wed, 04 Jan 2017 20:43:22 -0800 |
Michael Pavone |
Don't lock up CPU if performing a read with writes configured when in PBC mode. Allow access to VDP debug commands from Z80 debugger in PBC mode. Handle Mode 4 in VDP debug print functions
|
Mon, 02 Jan 2017 16:25:13 -0800 |
Michael Pavone |
Fix Mode 4 sprite table Y scan to account for VRAM byte swapping
|
Sun, 01 Jan 2017 23:00:28 -0800 |
Michael Pavone |
Fix slot tracking screwup
|
Sun, 01 Jan 2017 22:47:23 -0800 |
Michael Pavone |
Fix horizontal scrolling in Mode 4
|
Sun, 01 Jan 2017 21:06:32 -0800 |
Michael Pavone |
Update Mode 4 rendering to match logic analyzer captures
|
Sun, 01 Jan 2017 02:33:06 -0800 |
Michael Pavone |
Fix a bug in hslot advancement in Mode 4. Fix some of the "inactive_start" calculations that did not take into account Mode 4.
|
Sun, 01 Jan 2017 01:23:26 -0800 |
Michael Pavone |
Make Mode 4 sprite rendering a little less broken
|
Sun, 01 Jan 2017 01:16:43 -0800 |
Michael Pavone |
Fix rendering of BG color index 0 in Mode 4. Only transparent with respect to sprites and not the backdrop like in Mode 5
|
Tue, 27 Dec 2016 14:31:27 -0800 |
Michael Pavone |
Fix Mode 4 color mapping
|
Tue, 27 Dec 2016 13:46:06 -0800 |
Michael Pavone |
Brighten up Mode 4 colors
|
Tue, 27 Dec 2016 13:38:58 -0800 |
Michael Pavone |
The function of the HVC Latch enable bit in mode register 1 is different when not in mode 5
|
Tue, 27 Dec 2016 13:26:14 -0800 |
Michael Pavone |
Fix inactive start line for Mode 4 in vdp_next_hint. Fix an off by one error in the range of registers allowed to be written in Mode 4
|
Tue, 27 Dec 2016 13:11:07 -0800 |
Michael Pavone |
Implemented Mode 4 sprite list termination
|
Tue, 27 Dec 2016 12:43:37 -0800 |
Michael Pavone |
Less broken Mode 4 implementation
|
Tue, 27 Dec 2016 11:31:17 -0800 |
Michael Pavone |
Somewhat broken implementation of Mode 4
|
Thu, 22 Dec 2016 19:51:25 -0800 |
Michael Pavone |
Initial support for Genesis/Megadrive PBC mode. VDP still needs Mode 4 to be useful.
|
Mon, 12 Dec 2016 09:50:33 -0800 |
Michael Pavone |
Fix field flag handling bug introduced with VDP/render interface cleanup
|
Fri, 09 Dec 2016 09:48:48 -0800 |
Michael Pavone |
WIP split of ROM loading/argument parsing from Genesis emulation code. Compiles and doesn't crash, but nothing works. Still a few too many globals as well.
|
Mon, 28 Nov 2016 22:45:46 -0800 |
Michael Pavone |
Clean up symbol visiblity and delete a ltitle bit of dead code
|
Mon, 22 Aug 2016 09:46:18 -0700 |
Michael Pavone |
Cleanup the separation of render backend and VDP code in preparation for having extra debug windows. Make determination of H40/H32 based on number of lines in each mode.
|
Fri, 12 Aug 2016 09:39:39 -0700 |
Michael Pavone |
Removed obsolete TOOD
|
Sun, 15 May 2016 16:22:45 -0700 |
Michael Pavone |
Fix bug in vflip implementation when in double resolution interlace mode
|
Wed, 11 May 2016 22:43:18 -0700 |
Michael Pavone |
Fix implementation of sprite collision flag. Old implementation did not make sense.
|
Mon, 02 May 2016 23:08:20 -0700 |
Michael Pavone |
Fix GST savestate loading to deal with SAT cache to fix sprite corruption on 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
|
Sat, 30 Apr 2016 20:57:29 -0700 |
Michael Pavone |
Fix bug in SAT cache address calculation that caused a crash in Strider II
|
Sat, 30 Apr 2016 16:19:57 -0700 |
Michael Pavone |
Added TODO for hardware checking
|
Sat, 30 Apr 2016 16:19:19 -0700 |
Michael Pavone |
Set sprite overflow flag if we completely consume sprite rendering capacity for the line even if there is nothing left to draw. This graphical corruption in the vertical stretching scroll section. Needs hardware confirmation.
|
Sat, 30 Apr 2016 15:31:48 -0700 |
Michael Pavone |
Implement SAT cache. Causes some graphical corruption in Overdrive due to an unrelated bug.
|
Sat, 30 Apr 2016 08:37:55 -0700 |
Michael Pavone |
Fix some stuff with interrupt timing. The change in adjust_int_cycle gets 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.
|
Wed, 27 Apr 2016 23:57:00 -0700 |
Michael Pavone |
Properly emulate machine freeze when reading from VDP while configured for writes
|
Sun, 24 Apr 2016 14:30:15 -0700 |
Michael Pavone |
FIFO should show as empty during a DMA fill after the initial write is done. BlastEm now gets a perfect score in VDP FIFO Testing
|
Sun, 24 Apr 2016 11:53:59 -0700 |
Michael Pavone |
Fixes to the DMA busy flag and DMA fill. Now up to 120/122 on VDP FIFO Testing.
|
Sun, 24 Apr 2016 02:19:48 -0700 |
Michael Pavone |
Half assed, prefetch based open bus value emulation. Gets BlastEm up to 119/122 in VDP FIFO Testing
|
Sun, 24 Apr 2016 01:24:38 -0700 |
Michael Pavone |
Implemented VDP read prefetch and made DMA copy not use the FIFO any more. Now up to 114 out of 122 passing on VDP FIFO Test ROM
|
Tue, 12 Apr 2016 21:38:24 -0700 |
Michael Pavone |
Remove the int number argument to vdp_int_ack since it is no longer used
|
Tue, 12 Apr 2016 08:35:44 -0700 |
Michael Pavone |
Fix VDP interrupt ack. Big thanks to Eke-Eke or whoever left that helpful comment in Genesis Plus GX. Fixes Fatal Rewind
|
Tue, 02 Feb 2016 18:33:00 -0800 |
Michael Pavone |
Change the sentinel value for the hslot parameter of run_dma_src to something that is not a valid slot number and actually use it for calls during the active display period
|
Tue, 02 Feb 2016 18:24:15 -0800 |
Michael Pavone |
Perform the same slot mapping shift for H32 mode as I did for H40
|
Thu, 28 Jan 2016 09:10:14 -0800 |
Michael Pavone |
Shift slot number to slot behavior mapping by six slots in H40 mode. This 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
|
Tue, 26 Jan 2016 19:23:10 -0800 |
Michael Pavone |
After reviewing the results of my test ROM again it seems pretty clear that the VBlank flag gets set at the same time as the vcounter changes
|
Sun, 17 Jan 2016 14:46:12 -0800 |
Michael Pavone |
Fix calculation of window start column when it's on the right side. This removes graphical glitches in Afterburner 2, Fireshark and Dungeons and Dragons: Warriors of the Eternal Sun and probably others
|
Fri, 13 Nov 2015 22:56:59 -0800 |
Michael Pavone |
Selecting a second game from the menu now works
|
Mon, 03 Aug 2015 20:06:56 -0700 |
Michael Pavone |
Pretty decent optimization of vdp_h40 and vdp_h32. Gets reasonably close to the speed of 0.2.0 in the worst case and is faster than 0.2.0 in others
|
Fri, 17 Jul 2015 08:49:23 -0700 |
Michael Pavone |
Add ability to change start address for VRAM viewer. Fix handling of DMA enable flag when it comes to DMA fills. This fixes a bug in James Pond 3
|
Sun, 28 Jun 2015 09:53:17 -0700 |
Michael Pavone |
More clang warning cleanup
|
Sat, 30 May 2015 15:53:59 -0700 |
Michael Pavone |
Fixed shadow/highlight mode
|
Fri, 22 May 2015 18:38:44 -0700 |
Michael Pavone |
Fix bug in vdp_next_hint that was causing HINTs to fire repeatedly when they should not have fired at all based on an HINT interval that was larger than the number of active lines in the display
|
Thu, 21 May 2015 00:55:46 -0700 |
Michael Pavone |
Restore the other 2 debug display modes
|
Wed, 20 May 2015 22:27:51 -0700 |
Michael Pavone |
Add some tests for hint timing and fix it properly this time.
|
Wed, 20 May 2015 19:05:11 -0700 |
Michael Pavone |
Upgrade to SDL 2.0 and drop support for the non-OpenGL render path
|
Wed, 20 May 2015 10:35:03 -0700 |
Michael Pavone |
Update vscroll latch implementation to be more in line with what Eke-Eke has 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.
|
Tue, 19 May 2015 23:23:53 -0700 |
Michael Pavone |
Small correction to VBLANK flag timing. Fixed some inconsistencies in interrupt timing calculation.
|
Sun, 17 May 2015 15:43:20 -0700 |
Michael Pavone |
Fix VDP status register PAL bit based on observations of the Titan Overdrive demo
|
Sat, 16 May 2015 23:08:07 -0700 |
Michael Pavone |
Adjust H32 vint slot in response to latest test ROM data
|
Sat, 16 May 2015 23:04:57 -0700 |
Michael Pavone |
First pass at emulating a vscroll latch. Titan's Overdrive demo seems to depend on the scroll value being latched early in the line before the HINT gets a chance to change it
|
Thu, 14 May 2015 23:17:55 -0700 |
Michael Pavone |
Small horizontal interrupt fixes
|
Wed, 13 May 2015 19:19:43 -0700 |
Michael Pavone |
Add description of cd register value to vr debugger command
|
Mon, 11 May 2015 20:30:35 -0700 |
Michael Pavone |
Fix frame counter increment and VINT cycle time calculation
|
Mon, 11 May 2015 00:28:47 -0700 |
Michael Pavone |
Sync fixes and logging to fix more sync issues
|
Sun, 04 Jan 2015 23:05:37 -0800 |
Michael Pavone |
Some small synchronization improvements that do not seem to fix anything
|
Sun, 04 Jan 2015 12:24:34 -0800 |
Michael Pavone |
Adjusted h40_hsync_cycles so that lines actually take 3420 mclks. Fixed vdp_cycles_next_line to take h40_sync_cycles into account
|
Sun, 14 Dec 2014 18:14:50 -0800 |
Michael Pavone |
Fix the HV counter and adjust the slots of certain VDP events
|
Thu, 14 Aug 2014 09:38:32 -0700 |
Michael Pavone |
Small fix to display of DMA source address in vr debug command
|
Wed, 18 Jun 2014 16:39:42 -0700 |
Michael Pavone |
Remove debug printf that escaped into my previous commit
|
Wed, 18 Jun 2014 16:30:19 -0700 |
Michael Pavone |
Fix most of the breakage caused by the vcounter/hcounter changes
|
Tue, 17 Jun 2014 19:01:01 -0700 |
Michael Pavone |
Partially working switch to having a vcounter and hslot counter in the context rather than trying to derive them from the cycle count. This should allow for more accurate handling of mid screen mode switches. Interrupt timing is broken currently though
|
Mon, 16 Jun 2014 19:13:28 -0700 |
Michael Pavone |
Fix a few values reported by the vr debugger command. Add DMA registers to vr debugger command. Fix horizontal interrupt bug. Slightly more accurate (but still broken) handling of switches between H32 and H40 modes.
|
Sat, 08 Feb 2014 23:37:09 -0800 |
Mike Pavone |
Initial GDB remote debugging support. Lacks some features, but breakpoints and basic inspection of registers and memory work.
|
Mon, 06 Jan 2014 22:54:05 -0800 |
Michael Pavone |
The local clone on my laptop got messed up and some changes had not been pushed. This commit represents the status of the working copy from that clone. It unfortunately contains some changes that I did not intend to commit yet, but this seems like the best option at the moment.
|
Thu, 31 Oct 2013 00:28:27 -0700 |
Mike Pavone |
Small optimization for H40 mode
|
Tue, 29 Oct 2013 00:03:11 -0700 |
Mike Pavone |
Merge
|
Mon, 07 Oct 2013 10:02:08 -0700 |
Mike Pavone |
Initial implementation of sprite overflow and sprite collision status register flags
|
Sun, 27 Oct 2013 01:29:50 -0700 |
Mike Pavone |
Basic OpenGL rendering is working
opengl
|
Tue, 17 Sep 2013 19:10:00 -0700 |
Mike Pavone |
Set VBLANK flag in status register when display is disabled
|
Tue, 17 Sep 2013 09:45:14 -0700 |
Mike Pavone |
Implement HV counter latch
|
Tue, 17 Sep 2013 00:42:49 -0700 |
Mike Pavone |
Implement funny behavior for DMA fill to CRAM and VSRAM. Return VSRAM address 0 for reads to VSRAM at >= 40
|
Tue, 17 Sep 2013 00:11:45 -0700 |
Mike Pavone |
Fix DMA fill so that it does not cause observable changes to the FIFO. Get DMA copy mostly correct from an observable ffect perspective. DMA copy probably does not reflect internal implementation still given that evidence seems to suggest no FIFO usage at all.
|
Mon, 16 Sep 2013 09:44:22 -0700 |
Mike Pavone |
Partial fix for DMA copy
|
Sun, 15 Sep 2013 23:49:09 -0700 |
Mike Pavone |
Clear the low 2 bits of CD when a register is written to
|
Sun, 15 Sep 2013 23:40:18 -0700 |
Mike Pavone |
Don't allow register writes to regs above when in Mode 4
|
Sun, 15 Sep 2013 23:33:24 -0700 |
Mike Pavone |
Remove read pending stuff, that had been added in an attempt to fix CRAM/VSRAM undefined bit results. Set number of bits actually saved in VSRAM to 11
|
Sun, 15 Sep 2013 23:00:17 -0700 |
Mike Pavone |
Implement undocumented 8-bit VRAM read
|
Sun, 15 Sep 2013 22:43:01 -0700 |
Mike Pavone |
Fix VSRAM reads
|
Sun, 15 Sep 2013 22:20:43 -0700 |
Mike Pavone |
Implement FIFO as a ring buffer so the behavior of reads from invalid CRAM and VSRAM bits can be implemented properly
|
Fri, 13 Sep 2013 19:22:46 -0700 |
Mike Pavone |
Properly delay 68K on VDP reads. Dummy VDP test port implementation. Initial stab at handling undefined bits of VSRAM and CRAM.
|
Tue, 10 Sep 2013 23:31:08 -0700 |
Mike Pavone |
Added copyright notice to source files and added GPL license text in COPYING
|
Tue, 10 Sep 2013 09:55:12 -0700 |
Mike Pavone |
Fix timing of backdrop rendering when the display is turned off
|
Tue, 10 Sep 2013 00:30:39 -0700 |
Mike Pavone |
Merge
|
Tue, 10 Sep 2013 00:29:46 -0700 |
Mike Pavone |
Implement FIFO latency and improve DMA accuracy
|
Sun, 08 Sep 2013 20:48:33 -0700 |
Mike Pavone |
Revert change to VBLANK flag timing based on new direct color DMA test
|
Mon, 02 Sep 2013 01:02:18 -0700 |
Mike Pavone |
Fix per-column scrolling bug
|