log vdp.c @ 1785:8f2e78db0872

age author description
Thu, 14 Mar 2019 23:23:02 -0700 Michael Pavone Handle interlaced mode in fbdev backend
Sun, 30 Dec 2018 14:43:30 -0800 Michael Pavone Fix some rendering bugs introduced in previous VDP optimizations
Thu, 27 Dec 2018 10:40:24 -0800 Michael Pavone Small optimization to render_map
Thu, 27 Dec 2018 09:23:51 -0800 Michael Pavone Optimized render_map_output a bit
Tue, 18 Dec 2018 19:58:00 -0800 Michael Pavone Allow closing VDP debug windows with the close button in the window title bar
Tue, 20 Nov 2018 01:10:03 -0800 Michael Pavone Populate layer debug buffer during inactive display
Mon, 19 Nov 2018 19:26:57 -0800 Michael Pavone Removed old VDP debug functionality
Mon, 19 Nov 2018 19:10:16 -0800 Michael Pavone Implemented support for toggling off a debug view
Mon, 19 Nov 2018 09:52:07 -0800 Michael Pavone Basic version of layer compositing debug view in a separate window
Fri, 16 Nov 2018 19:56:24 -0800 Michael Pavone Small cleanup of vdp_context struct layout and removal of separately allocated buffers
Thu, 15 Nov 2018 22:21:09 -0800 Michael Pavone Implemented left column blank register bit in mode 5
Wed, 14 Nov 2018 22:16:35 -0800 Michael Pavone Initial stab at CRAM debug in a detached window
Sun, 11 Nov 2018 22:39:29 -0800 Michael Pavone Fix for VRAM byte write order broke VDP FIFO testing ROM results. This change cleans up VRAM writes and fixes the regression while preserving the correct VRAM byte write order
Fri, 09 Nov 2018 20:16:09 -0800 Michael Pavone Added VRAM debug window
Mon, 05 Nov 2018 00:30:44 -0800 Michael Pavone Fix order bytes of a word are written into VRAM from the FIFO. Fixes ticket 36, the graphical glitch in Road Rash 3
Sun, 04 Nov 2018 22:51:50 -0800 Michael Pavone WIP new VDP plane debug view and support for detached VDP debug views generally
Thu, 01 Nov 2018 20:14:56 -0700 Michael Pavone Forcefully update the display when entering the 68K debugger so you can see it update in realtime as you step through the code
Wed, 31 Oct 2018 21:58:59 -0700 Michael Pavone Avoid changing VDP status flags when executing debugger commands
Tue, 29 Aug 2017 23:49:57 -0700 Michael Pavone Fix minor graphical regression in Gunstar Heroes
Mon, 21 Aug 2017 23:49:56 -0700 Michael Pavone Fix external v counter when normal resolution interlace mode is active
Mon, 21 Aug 2017 23:08:36 -0700 Michael Pavone Fix timing of VDP ODD flag toggle
Sun, 13 Aug 2017 22:59:01 -0700 Michael Pavone Move vscroll latch further forward in H40 mode. Fixes a minor graphical glitch in Skitchin. Needs a proper test ROM to verify exact latch position
Fri, 11 Aug 2017 18:58:03 -0700 Michael Pavone Update VDP color map when loading a native save state
Wed, 09 Aug 2017 23:26:51 -0700 Michael Pavone New savestates are working. New config file option for selecting format states will be saved in. Mostly complete, needs a little more work before release
Sun, 06 Aug 2017 00:06:36 -0700 Michael Pavone WIP - New savestate format
Fri, 30 Jun 2017 00:36:18 -0700 Michael Pavone Change where vscroll is latched in full plane mode. Fixes Top Gear 2
Thu, 15 Jun 2017 09:45:21 -0700 Michael Pavone Properly release and reacquire framebuffer pointer when switching contexts. Hopefully fixes the LOCKRECT issue some people are seeing with the SDL 2 fallback renderer
Wed, 31 May 2017 21:10:49 -0700 Michael Pavone Prevent emulated screen from "rolling" when the vertical resolution is changed at an inopportune time
Mon, 29 May 2017 22:19:33 -0700 Michael Pavone Implement horizontal border in Mode 4 and make a minor fix to advance_output_line to handle the later vcounter increment in that mode
Mon, 29 May 2017 17:30:40 -0700 Michael Pavone Get H32 in sync with H40 with regards to borders and test register support. Minor cleanup to H40 border rendering
Sun, 28 May 2017 21:03:55 -0700 Michael Pavone Implemented SMS pause button
Tue, 23 May 2017 21:09:38 -0700 Michael Pavone Remove HINT_FUDGE and make a small adjustment to how VDP syncs with rest of system instead. Worse results on CRAM dot issue, but much less of a hack
Tue, 23 May 2017 19:09:57 -0700 Michael Pavone Fix handling of test register selected sprite layer in border area. Gets rid of the border garbage in the "disco floor/ceiling" scene of OD2
Tue, 23 May 2017 09:39:22 -0700 Michael Pavone Fix small blank spot on line -2 in "ninja escape" border fade in OD2
Mon, 22 May 2017 21:11:13 -0700 Michael Pavone Fix regression in horizontal interrupt timing that was breaking the "water" palette swap in the Sonic series and other games
Fri, 19 May 2017 22:07:50 -0700 Michael Pavone Add a bit of a hack to HINT start cycle to give correct values in my test ROM and further improve prevelance of CRAM dot noise in Outrunners and OD2
Sun, 14 May 2017 12:07:39 -0700 Michael Pavone Fix regression in games that disable the display early like F1 World Championship. Remove debug printf
Sun, 14 May 2017 11:15:56 -0700 Michael Pavone WIP attempt at fixing the minor line -2 glitch in the OD2 Ninja Escape scene
Thu, 11 May 2017 20:33:31 -0700 Michael Pavone Fix regression in Mode 4 sprite rendering
Thu, 11 May 2017 08:01:10 -0700 Michael Pavone Fix regression in mode 4 introduced when advance_output_line was added
Fri, 05 May 2017 23:45:45 -0700 Michael Pavone Fix sprite rendering in double resolution interlace mode
Fri, 05 May 2017 22:08:30 -0700 Michael Pavone Fix vscroll latching when full screen vscroll is used in combination with the window plane on the left side of the screen
Thu, 04 May 2017 22:47:51 -0700 Michael Pavone Fix transition from active to inactive display
Thu, 04 May 2017 22:14:12 -0700 Michael Pavone Fix border rendering so that the first and last line of display are consistently drawn
Wed, 03 May 2017 21:28:40 -0700 Michael Pavone Implement the effect of VDP test register usage on the top and bottom borders. Fixes the remaning issue with the border dissolve in the "Ninja Escape" scene of Overdrive 2
Mon, 01 May 2017 20:33:59 -0700 Michael Pavone Fix sprite rendering for negative line. Fixes remaining visual glitch in the Titancade scene of Overdrive 2
Sat, 29 Apr 2017 16:51:57 -0700 Michael Pavone Initial stab at horizontal border when VDP test register layer selection is in effect for H40. Extended horizontal borders in Titancade scene and ninja escape scene mostly correct now
Thu, 27 Apr 2017 23:08:49 -0700 Michael Pavone Fixes to sprite phase 2 so that sprite X reads use the exact same slot as on hardware in the case that there are fewer than the max number of sprites on each line. Re-read sprite Y from SAT cache during phase 2 and properly mask the calculated row. Fixes remaining issues with spinning cube scene in Overdrive 2.
Thu, 27 Apr 2017 09:32:21 -0700 Michael Pavone Adjust how the invalid size is handled for the horizontal dimmension of a plane. Fixes some garbage on the spinning cube scene of Overdrive 2
Wed, 26 Apr 2017 22:16:12 -0700 Michael Pavone Small tweak to how SAT cache updates are done. Mostly fixes the rotating cube scene in Overdrive 2
Wed, 26 Apr 2017 01:12:28 -0700 Michael Pavone Add 128K VRAM bit to VDP register print in debugger
Fri, 21 Apr 2017 01:22:52 -0700 Michael Pavone Fairly major rework of how active/passive is handled along with how the V30 mode bit is handled. Allows the vertical border extension trick in Overdrive 2 to work right
Tue, 18 Apr 2017 19:27:10 -0700 Michael Pavone Initial stab at implementing the output disable/layer selection bits of the VDP test register
Mon, 17 Apr 2017 23:58:21 -0700 Michael Pavone Fix time 68K is locked out of bus when doing a 128KB VRAM mode DMA transfer. Fixes a number of problems in Overdrive 2
Mon, 17 Apr 2017 20:54:33 -0700 Michael Pavone SAT table register bit 0 is not used in H40 mode. Fixes corrupt sprites in ship crash landing scene in Overdrive 2
Sun, 16 Apr 2017 18:43:34 -0700 Michael Pavone Fix some edge cases with regards to 128KB VRAM mode and the SAT cache
Sun, 16 Apr 2017 16:40:04 -0700 Michael Pavone Initial work on handling the 128KB VRAM mode bit and some basic prep work for VDP test register support
Wed, 05 Apr 2017 09:48:49 -0700 Michael Pavone Fix minor bug that displayed window plane as if it were plane A In plane debug view
Sat, 25 Mar 2017 11:31:43 -0700 Michael Pavone Fix latching of V32 mode bit
Sun, 19 Mar 2017 12:54:20 -0700 Michael Pavone Change handling of invalid scroll plane sizes. Fixes title and high score screens in The Incredible Hulk
Sun, 19 Mar 2017 11:17:40 -0700 Michael Pavone Adjust DMA start delay to not break the FIFO Wait State test in the VDP FIFO Testing ROM
Sat, 18 Mar 2017 17:09:14 -0700 Michael Pavone Remove hacky post-DMA delay add proper pre-DMA delay based on logic analyzer capture. 512 color screen is a bit messed up but mostly works. Needs investigation
Mon, 13 Mar 2017 23:13:24 -0700 Michael Pavone Fix VDP buffer overrun that was causing sprite flickering in some games
Thu, 09 Mar 2017 19:23:24 -0800 Michael Pavone Fix graphical corruption and sprite flickering introduced into some games by the last change for horizontal border support
Tue, 07 Mar 2017 20:17:12 -0800 Michael Pavone Fill in the rest of the framebuffer holes created by horizontal border. Work remains for things to be seemless when display gets turned on and off mid frame
Tue, 07 Mar 2017 00:01:16 -0800 Michael Pavone Fix some of the framebuffer fill holes introduced by horizontal border changes
Mon, 06 Mar 2017 23:05:31 -0800 Michael Pavone Adjust correspondance between slot number and actual video output to better match video signal measurements and analysis of Outrunners behavior on hardware. Partially fixes ticket:13
Mon, 06 Mar 2017 09:54:44 -0800 Michael Pavone Render horizontal border in H32 mode as well. Both modes still need some minor work to deal with inactive/active transition
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.