log vdp.c @ 989:d70000fdff0b

age author description
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
Mon, 02 Sep 2013 00:20:56 -0700 Mike Pavone Adjust VBLANK flag and refresh timing to be in line with logic analyzer and visual observations of direct color DMA demos. Remove debug print statements.
Sun, 01 Sep 2013 14:27:17 -0700 Mike Pavone Merge
Fri, 26 Jul 2013 19:55:04 -0700 Mike Pavone Added support for saving savestates. Added gst savestate format test harness
Sun, 01 Sep 2013 12:11:28 -0700 Mike Pavone Fix bug that caused a DMA fill to start after another DMA operation completed if the FIFO is not empty
Tue, 16 Jul 2013 23:16:14 -0700 Mike Pavone Add address/cd registers to VDP debug message
Mon, 15 Jul 2013 23:07:45 -0700 Mike Pavone Restore one of the VDP debugging modes
Fri, 12 Jul 2013 19:11:55 -0700 Mike Pavone Implement the scroll ring buffer properly without memcpy
Sun, 30 Jun 2013 21:45:23 -0700 Mike Pavone Refactor duplicated CRAM writing code and fix a bug in the process
Sun, 30 Jun 2013 11:45:58 -0700 Mike Pavone Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
Sat, 29 Jun 2013 17:15:08 -0700 Mike Pavone Add support for loading GST format savestates
Sun, 23 Jun 2013 12:27:11 -0700 Mike Pavone Fix window layer in double res interlace mode
Sun, 23 Jun 2013 10:17:40 -0700 Mike Pavone Fix sprite y mask in interlace mode. Fix framebuffer selection when switching out of interlace mode.
Sun, 23 Jun 2013 09:17:19 -0700 Mike Pavone Fix vscroll calculation in double resultion interlace mode
Sat, 22 Jun 2013 21:19:43 -0700 Mike Pavone Initial work on interlace
Wed, 15 May 2013 22:37:04 -0700 Mike Pavone Fix background color regsiter number
Tue, 14 May 2013 00:46:34 -0700 Mike Pavone Only latch video mode at the very beginning of the frame to avoid problems with the cycle count getting out of sync with what I expect
Tue, 14 May 2013 00:40:10 -0700 Mike Pavone Update Z80 vint timing
Tue, 14 May 2013 00:28:45 -0700 Mike Pavone Update hv counter calculation for clock wonkiness
Tue, 14 May 2013 00:03:26 -0700 Mike Pavone Fixup VINT cycle and HBLANK flag for the previous timing fixes
Mon, 13 May 2013 23:42:52 -0700 Mike Pavone Initial stab at implementing funky clock adjustments during HSYNC for H40 mode
Mon, 13 May 2013 21:52:33 -0700 Mike Pavone Implement first line/last line weirdness in VDP
Mon, 13 May 2013 21:36:33 -0700 Mike Pavone Fewer magic numbers in the VDP core for the win
Mon, 13 May 2013 21:06:08 -0700 Mike Pavone Added some basic VDP debugging features to debugger. Fixed DMA enable bug
Sat, 11 May 2013 23:59:20 -0700 Mike Pavone Properly mask sprite X and Y coordinates
Sat, 11 May 2013 22:45:05 -0700 Mike Pavone Remove z80_ram reference in SDL renderer to get stateview compiling again. Print out the sprite list in stateview.
Fri, 10 May 2013 23:16:06 -0700 Mike Pavone Implement hblank flag in status register
Fri, 10 May 2013 22:57:56 -0700 Mike Pavone Initial stab at horizontal interrupts and improving accuracy of vertical interrupts. Also added the VINT pending flag to status port.
Mon, 06 May 2013 00:57:56 -0700 Mike Pavone Make sure all rendering operations mask CRAM with 0xEEE before using it
Mon, 22 Apr 2013 23:34:39 -0700 Mike Pavone Less broken implementation of shadow/highlight
Mon, 22 Apr 2013 21:24:50 -0700 Mike Pavone Shadow and higlight operators were switched
Mon, 22 Apr 2013 19:39:38 -0700 Mike Pavone Implemented shadow hilight mode.
Mon, 14 Jan 2013 20:23:17 -0800 Mike Pavone Fixes for direct color dma stuff
Mon, 14 Jan 2013 02:13:14 -0800 Mike Pavone Small fix to bg drawing that yields the proper res for direct color DMA
Mon, 14 Jan 2013 02:03:35 -0800 Mike Pavone Fix background rendering when display is off and improve refresh cycle emulation so that direct color DMA demos work
Tue, 08 Jan 2013 09:34:46 -0800 Mike Pavone Fix rendering of sprites at the top edge of screen
Thu, 03 Jan 2013 22:07:40 -0800 Mike Pavone Implement MULU/MULS and DIVU/DIVS
Tue, 01 Jan 2013 07:06:57 -0800 Mike Pavone Make writes to control and data port block when DMA is in progress
Mon, 31 Dec 2012 18:36:16 -0800 Mike Pavone Fix infinite loop bug in sprite rendering
Mon, 31 Dec 2012 18:22:25 -0800 Mike Pavone Fix DMA fills to VRAM
Mon, 31 Dec 2012 18:12:08 -0800 Mike Pavone Fix DMA in progress flag in VDP status register
Mon, 31 Dec 2012 11:26:57 -0800 Mike Pavone Fix VDP reads
Sun, 30 Dec 2012 22:39:41 -0800 Mike Pavone Implemented HV counter
Sun, 30 Dec 2012 11:54:25 -0800 Mike Pavone Fix 68K->VDP DMA
Sun, 30 Dec 2012 01:15:16 -0800 Mike Pavone Fix bug that was causing DMA fills to lock up under certain circumstances
Fri, 28 Dec 2012 15:04:22 -0800 Mike Pavone COmment out fifo full debug printf
Fri, 28 Dec 2012 15:03:00 -0800 Mike Pavone Fix horizontal mask values for scroll plane map address calculation
Wed, 26 Dec 2012 20:18:58 -0800 Mike Pavone vertical interrupts now work
Wed, 26 Dec 2012 17:34:59 -0800 Mike Pavone Fix long reads from IO ports or long reads that trigger sync cycles by saving rdi. Possibly fix word wide IO reads.
Wed, 26 Dec 2012 17:06:34 -0800 Mike Pavone Implement Z80 reset and bus request registers.
Fri, 21 Dec 2012 20:56:32 -0800 Mike Pavone Implement DMA (untested)
Wed, 19 Dec 2012 22:15:16 -0800 Mike Pavone Fix issue in which VDP would have trouble emptying FIFO because the VDP cycle count got reset at end of frame.
Wed, 19 Dec 2012 20:53:59 -0800 Mike Pavone Add FPS counter to console output
Tue, 18 Dec 2012 22:20:25 -0800 Mike Pavone Properly zero-init all VDP buffers. Comment out some debug printfs.
Tue, 18 Dec 2012 19:51:33 -0800 Mike Pavone Fix CRAM and possibly VSRAM writes
Tue, 18 Dec 2012 02:16:42 -0800 Mike Pavone Get Flavio's color bar demo kind of sort of working
Sun, 09 Dec 2012 18:40:45 -0800 Mike Pavone Add debug render mode and fix vertical flip bit for bg tiles
Sun, 09 Dec 2012 17:26:36 -0800 Mike Pavone Fix bug in tile address masking. Remove some debug code from window plane.
Sun, 09 Dec 2012 17:10:08 -0800 Mike Pavone More correct window support, maybe
Sun, 09 Dec 2012 17:05:13 -0800 Mike Pavone Broken window support