Tue, 22 Nov 2022 17:57:02 -0800 |
Michael Pavone |
Initial implementation of oscilloscope debug view
|
Mon, 05 Sep 2022 23:37:49 -0700 |
Michael Pavone |
Some minor refresh emulation improvements
|
Mon, 05 Sep 2022 22:18:25 -0700 |
Michael Pavone |
Implement VDP read latency and invalid write delays revealed by Ti_'s instruction timing ROM
|
Sun, 21 Aug 2022 22:29:47 -0700 |
Michael Pavone |
Very rudimentary support for Game Gear VDP emulation
|
Sat, 13 Aug 2022 23:15:00 -0700 |
Michael Pavone |
Implement argumentless variant of z80 debugger command
|
Sat, 13 Aug 2022 19:37:17 -0700 |
Michael Pavone |
Implement frame advance debugger command
|
Tue, 12 Jul 2022 09:22:57 -0700 |
Michael Pavone |
Don't leak all Sega CD resources when freeing a Genesis instance
|
Wed, 30 Mar 2022 23:15:45 -0700 |
Michael Pavone |
Add ROM DB entry to fix SRAM on Triple Play: Gold Edition and make some code changes so that 3MB dumps will work too
|
Fri, 18 Mar 2022 20:49:07 -0700 |
Michael Pavone |
Implement word RAM interleaving in 1M mode, now passes mcd-verificator word RAM tests
|
Sun, 06 Feb 2022 22:21:02 -0800 |
Michael Pavone |
Fix typo that messed up Mode 1 for carts with mappers
|
Sun, 06 Feb 2022 13:51:09 -0800 |
Michael Pavone |
Enable Sega CD emulation for carts if a CD image is "locked-on" even if the cart does not specify that it uses the CD peripheral in the header
|
Thu, 03 Feb 2022 23:41:53 -0800 |
Michael Pavone |
Persist BRAM to file. Load BIOS relative to blastem directory
|
Wed, 02 Feb 2022 01:10:07 -0800 |
Michael Pavone |
Implement CD audio
|
Tue, 18 Jan 2022 00:03:50 -0800 |
Michael Pavone |
Implement enough of Sega CD gate array and Sub CPU to pass Sik's Mode 1 test ROM
segacd
|
Sat, 15 Jan 2022 13:15:21 -0800 |
Michael Pavone |
Merge from default
segacd
|
Sat, 01 Jan 2022 18:54:46 -0800 |
Michael Pavone |
Support Sega mapper without 'SEGA SSF' in header or ROM DB entry and implement a subset of the extended Sega mapper implemented in the Mega Everdrive when 'SEGA SSF' is present
|
Thu, 05 Aug 2021 23:48:41 -0700 |
Michael Pavone |
Add cycle checks to deal with 68K core differences to the new refresh emulation blocks merged from default
mame_interp
|
Thu, 05 Aug 2021 09:29:33 -0700 |
Michael Pavone |
Merge from default
mame_interp
|
Sun, 07 Mar 2021 23:13:19 -0800 |
Michael Pavone |
Add TMSS state to save states
|
Sun, 07 Mar 2021 22:44:33 -0800 |
Michael Pavone |
Implement TMSS VDP lock
|
Sun, 21 Feb 2021 14:35:16 -0800 |
Michael Pavone |
Implement TMSS ROM and cart mapping register
|
Sat, 20 Feb 2021 14:52:55 -0800 |
Michael Pavone |
Make ui.enter_debuger respect which debuger is active
|
Wed, 10 Feb 2021 20:12:16 -0800 |
Michael Pavone |
Implement serial IO, a generic serial device type and external interrupts
|
Tue, 24 Nov 2020 20:23:38 -0800 |
Michael Pavone |
Backed out changeset 96971b673f51
|
Sun, 01 Nov 2020 12:35:58 -0800 |
Mike Pavone |
Small improvement to refresh cycle approximation
|
Sun, 28 Jun 2020 22:53:52 -0700 |
Mike Pavone |
Enter debugger when a VDP data port read would cause a CPU lockup
|
Mon, 01 Jun 2020 23:59:59 -0700 |
Mike Pavone |
Fix handling of unmapped reads/writes to the cart/expansion port region
|
Sun, 10 May 2020 00:16:00 -0700 |
Michael Pavone |
Fix merge error
mame_interp
|
Sat, 09 May 2020 23:39:44 -0700 |
Michael Pavone |
Merge from default
mame_interp
|
Sat, 09 May 2020 23:25:51 -0700 |
Michael Pavone |
Less hacky run on audio thread mode
|
Fri, 08 May 2020 11:40:30 -0700 |
Michael Pavone |
Add an event log soft flush and call it twice per frame in between hard flushes to netplay latency when there are insufficient hardware updates to flush packets in the middle of a frame
|
Fri, 01 May 2020 00:54:15 -0700 |
Michael Pavone |
Properly initialize Genesis reset cycle on startup. Fixes crash in GDB remote debugger when stepping past the first two instructions
|
Wed, 29 Apr 2020 01:00:57 -0700 |
Michael Pavone |
WIP netplay support
|
Sun, 19 Apr 2020 00:59:09 -0700 |
Michael Pavone |
Merge from default
mame_interp
|
Sat, 18 Apr 2020 22:36:13 -0700 |
Michael Pavone |
WIP new sync mode that runs emulation on audio thread
|
Sat, 18 Apr 2020 11:42:53 -0700 |
Michael Pavone |
Merge from default
mame_interp
|
Thu, 16 Apr 2020 22:37:01 -0700 |
Mike Pavone |
Update libretro target to use render_audio shared audio code
|
Thu, 02 Apr 2020 20:32:09 -0700 |
Michael Pavone |
Don't lockup on writes to !TIME or !FDC regions regardless of whether anything is mapped there
|
Thu, 02 Apr 2020 20:17:08 -0700 |
Michael Pavone |
Reading from Z80 bus when Z80 is not bus requested should return open bus. Fixes regression in Metal Sonic Rebooted
|
Fri, 27 Mar 2020 00:03:58 -0700 |
Michael Pavone |
Initial stab at VGM logging support
|
Wed, 25 Mar 2020 22:59:59 -0700 |
Michael Pavone |
Some partial work on TMSS registers, more accurate open bus locations and implement machine freezes for unmapped areas in the IO region
|
Thu, 27 Feb 2020 18:38:15 -0800 |
Michael Pavone |
Make VDP VSRAM capacity respect model selection
|
Wed, 26 Feb 2020 22:40:37 -0800 |
Michael Pavone |
Implement selectable YM2612/YM3834 invalid status port behavior
|
Mon, 24 Feb 2020 20:06:29 -0800 |
Michael Pavone |
Fix YM2612 busy flag timing
|
Sun, 16 Feb 2020 10:46:35 -0800 |
Michael Pavone |
Set version reg and TAS behavior based on model config
|
Sat, 21 Sep 2019 20:26:12 -0700 |
Michael Pavone |
Report more accurate frame and sample rates to frontend in libretro target
|
Mon, 19 Aug 2019 19:15:52 -0700 |
Michael Pavone |
Only do full sync on VDP data port reads instead of all VDP port reads, provides a perf bump for games that busy wait on the status or HV registers
|
Mon, 24 Jun 2019 23:47:16 -0700 |
Michael Pavone |
Fix accuracy bugs used by Novedicus to detect BlastEm/Exodus
|
Tue, 23 Apr 2019 23:31:34 -0700 |
Michael Pavone |
Don't print out a message when saving a state to the serialization pseudo-slot
|
Tue, 23 Apr 2019 18:37:08 -0700 |
Michael Pavone |
16-bit wide save RAM is stored in memory byteswapped for performance reasons, but saving it to disc that way isn't great. Swap before save/after load to fix
|
Sun, 14 Apr 2019 23:38:02 -0700 |
Michael Pavone |
Merge from default
mame_interp
|
Sun, 24 Mar 2019 19:59:41 -0700 |
Michael Pavone |
Optionally emulate the offset around zero in the imperfect DAC of a discrete YM2612
|
Sat, 23 Mar 2019 17:18:10 -0700 |
Michael Pavone |
Configurable gain for overall output and individual components
|
Wed, 13 Mar 2019 20:34:24 -0700 |
Michael Pavone |
Make get_open_bus_value work right with Musashi
mame_interp
|
Wed, 13 Mar 2019 18:57:11 -0700 |
Michael Pavone |
Make refresh delay emulation play nice with Musashi
mame_interp
|
Tue, 12 Mar 2019 21:59:52 -0700 |
Michael Pavone |
Remove MAME Z80 core in favor of my new Z80 core
mame_interp
|
Fri, 01 Mar 2019 14:17:29 -0800 |
Michael Pavone |
Merge from default
mame_interp
|
Wed, 20 Feb 2019 09:42:12 -0800 |
Michael Pavone |
Fix Z80 interrupts in Gen/MD mode when using new core. Disable CPU debug log in new Z80 core
|
Tue, 19 Feb 2019 07:03:57 +0000 |
Michael Pavone |
Fix build
mame_interp
|
Tue, 12 Feb 2019 09:58:04 -0800 |
Michael Pavone |
Integration of new Z80 core is sort of working now
|
Sun, 10 Feb 2019 11:58:23 -0800 |
Michael Pavone |
Initial attempt at interrupts in new Z80 core and integrating it into main executable
|
Thu, 24 Jan 2019 19:15:59 -0800 |
Michael Pavone |
Merge from default
mame_interp
|
Sat, 05 Jan 2019 00:58:08 -0800 |
Michael Pavone |
Merge from default
segacd
|
Sun, 20 Jan 2019 22:19:58 -0800 |
Mike Pavone |
Implement serialization/deserialization in libretro build
|
Sun, 20 Jan 2019 16:24:22 -0800 |
Mike Pavone |
Fixed the most glaring issues in libretro build
|
Tue, 25 Dec 2018 11:12:26 -0800 |
Michael Pavone |
Merge from default
mame_interp
|
Mon, 19 Nov 2018 19:26:57 -0800 |
Michael Pavone |
Removed old VDP debug functionality
|
Fri, 16 Nov 2018 19:56:24 -0800 |
Michael Pavone |
Small cleanup of vdp_context struct layout and removal of separately allocated buffers
|
Sun, 11 Nov 2018 11:33:38 -0800 |
Mike Pavone |
Make sure M68K sync and target cycles are updated after loading a savestate. Fixes an issue in which loading a savestate would result in things being unresponsive until emulation cycle caught up to whatever the pre-state load sync cycle was
|
Sun, 04 Nov 2018 22:51:50 -0800 |
Michael Pavone |
WIP new VDP plane debug view and support for detached VDP debug views generally
|
Tue, 14 Aug 2018 00:07:21 -0700 |
Michael Pavone |
Added J-Cart support
|
Fri, 06 Jul 2018 17:39:59 -0700 |
Michael Pavone |
Update controller config when changed in UI without restart
|
Thu, 28 Jun 2018 09:27:05 -0700 |
Michael Pavone |
Fix a number of other memory errors (mostly leaks again) identified by valgrind
|
Fri, 22 Jun 2018 23:10:27 -0700 |
Michael Pavone |
Fix some memory errors (mostly leaks) identified by valgrind
|
Sat, 05 May 2018 23:30:40 -0700 |
Michael Pavone |
Refactor to split device bindings from IO emulation code
|
Tue, 01 May 2018 09:44:44 -0700 |
Michael Pavone |
Release capture of mouse and keyboard when entering UI
|
Sat, 14 Apr 2018 23:08:08 -0700 |
Michael Pavone |
Audio DRC now sounds good in both NTSC and PAL, just need to adjust constants to minimize latency without leading to dropouts
|
Mon, 02 Apr 2018 00:11:43 -0700 |
Michael Pavone |
Fix Z80 bank access for $800000-$A00000 region for 10M flat mapped ROMs
|
Fri, 30 Mar 2018 22:01:05 -0700 |
Michael Pavone |
Randomize soft reset timing and fix silly bug that was accidentally clearing IO state on soft reset
|
Fri, 30 Mar 2018 00:37:08 -0700 |
Michael Pavone |
More audio refactoring in preparation for allowing proper sync to video with dynamic audio rate control
|
Wed, 28 Mar 2018 23:36:08 -0700 |
Michael Pavone |
Small cleanup to audio interface between emulation code and renderer backend
|
Sat, 24 Mar 2018 22:18:23 -0700 |
Michael Pavone |
Merge
nuklear_ui
|
Wed, 31 Jan 2018 22:05:10 -0800 |
Michael Pavone |
Made the NOR flash emulation a bit more flexible, but not yet flexible enough to properly support the flash chip in the MegaWiFi cart
|
Sat, 30 Dec 2017 18:27:06 -0800 |
Michael Pavone |
Added MAME Z80 core, re-enabled 68K tracing in Musashi core, disabled a bunch of code gen stuff when using interpreters from MAME
mame_interp
|
Wed, 27 Dec 2017 13:46:52 -0800 |
Michael Pavone |
Super hacky integration of the version of Musashi from MAME
mame_interp
|
Wed, 13 Dec 2017 09:44:41 -0800 |
Michael Pavone |
Added code for initializing a combined Genesis + Sega CD system when a Sega CD ISO is loaded
segacd
|
Fri, 24 Nov 2017 20:52:40 -0800 |
Michael Pavone |
Fix genesis save state loading via Nuklear UI, sms probably still needs work
nuklear_ui
|
Fri, 24 Nov 2017 12:04:02 -0800 |
Michael Pavone |
Refactored save slot related logic to reduce duplication and allow reuse in new UI. Get state loading/saving mostly working in new UI
nuklear_ui
|
Thu, 19 Oct 2017 03:21:24 -0700 |
Michael Pavone |
Implemented Z80 IM 2 and attempted correct intack cycle delay
|
Tue, 29 Aug 2017 19:43:38 -0700 |
Michael Pavone |
Make initial bank register state stored in bank_regs match what is put in to mem_pointers for the sega/SSF2 mapper. Invalidate RAM code ranges on RAM deserialization
|
Tue, 29 Aug 2017 00:36:25 -0700 |
Michael Pavone |
Fix savestate path calculation in genesis load_state
|
Mon, 28 Aug 2017 22:40:33 -0700 |
Michael Pavone |
Save and restore Z80 bank register in native save states
|
Sun, 27 Aug 2017 18:15:00 -0700 |
Michael Pavone |
Save/restore mapper state in native save states
|
Thu, 24 Aug 2017 19:28:56 -0700 |
Michael Pavone |
Allow actually saving a save state in more Z80 states. Save busreq/reset state in bus arbiter section for "native" save states
|
Wed, 16 Aug 2017 20:06:28 -0700 |
Michael Pavone |
Added save states to SMS emulation
|
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
|
Mon, 26 Jun 2017 21:13:17 -0700 |
Michael Pavone |
Fix DMA from byte-wide SRAM
|
Sat, 24 Jun 2017 13:55:54 -0700 |
Michael Pavone |
Support a couple of bootleg X-in-1 carts
|
Fri, 23 Jun 2017 21:48:38 -0700 |
Michael Pavone |
Move I2C EEPROM and NOR Flash functions out of romdb.c into new files
|
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, 07 Jun 2017 23:06:14 -0700 |
Michael Pavone |
Initial work to support parallel NOR flash and the Magistr 16
|
Sun, 28 May 2017 21:03:55 -0700 |
Michael Pavone |
Implemented SMS pause button
|
Tue, 23 May 2017 23:47:40 -0700 |
Michael Pavone |
Go back to resetting the refresh counter after a DMA. Probably not quite correct as it is probably reset on VDP triggered refresh, but this is close enough for now given the general limitations with my refresh code. VDP FIFO Testing seems to be passing 100% reliably again (was occassionally failing still with the last commit)
|
Tue, 23 May 2017 23:17:24 -0700 |
Michael Pavone |
Fixed regression from VDP sync changes. Direct color DMA demos are now achieving stable sync again
|
Tue, 23 May 2017 23:00:32 -0700 |
Michael Pavone |
Attempt at improving refresh emulation
|
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
|
Fri, 19 May 2017 20:54:04 -0700 |
Michael Pavone |
Added some code to try and prevent Z80 accesses and refresh cycles from screwing up interrupt latency more than on hardware
|
Mon, 08 May 2017 22:31:28 -0700 |
Michael Pavone |
Implemented slow rise time of IO pins set as inputs, but not driven by device. Fixes input in Decap Attack and possibly other games with buggy controller code
|
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
|
Fri, 21 Apr 2017 23:35:32 -0700 |
Michael Pavone |
Fix a deficiency in the way types were handled in my ternary tree. Fixes in which some paths that were constructed from a template with variables would sometimes get an extra garbage character thrown in
|
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
|
Sat, 15 Apr 2017 21:45:19 -0700 |
Michael Pavone |
Fix copy pasta error in handling of Z80 VDP port reads. HV counter reads are not illegal writes =P. Fixes immediate exit in Overdrive II, though other problems remain
|
Thu, 30 Mar 2017 23:59:57 -0700 |
Michael Pavone |
YM2612 should also be reset on system soft reset
|
Thu, 30 Mar 2017 23:57:30 -0700 |
Michael Pavone |
Reset YM2612 whenver the Z80 is reset. Fixes issue with stuck notes in Fantastic Dizzy and Kid Chameleon
|
Tue, 28 Mar 2017 09:39:54 -0700 |
Michael Pavone |
Fix exit trace mode edge case. Call do_sync if trace mode bit is changed in eori sr
|
Tue, 28 Mar 2017 00:13:35 -0700 |
Michael Pavone |
Implemented M68K trace mode. Some edge cases/SR update paths still need work
|
Sun, 19 Mar 2017 18:32:49 -0700 |
Michael Pavone |
Adjust Z80 interrupt pulse duration to match hardware measurements
|
Sun, 19 Mar 2017 11:14:34 -0700 |
Michael Pavone |
Minor fix to hacky refresh emulation code to more closely match my intent
|
Sat, 18 Mar 2017 23:18:37 -0700 |
Michael Pavone |
Basic refresh emulation that doesn't break direct color DMA demos. Fixes sound after entering pause menu in Pacman 2: The New Adventures
|
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
|
Tue, 14 Feb 2017 04:15:49 -0800 |
Michael Pavone |
Add mising include in genesis.c so the Windows build works again
|
Wed, 01 Feb 2017 21:19:35 -0800 |
Michael Pavone |
Basic implementation of serial IO registers, but without actual serial IO support. Needed to run a certain software check cartridge that is floating around.
|
Fri, 27 Jan 2017 21:27:37 -0800 |
Michael Pavone |
Implement soft reset in Genesis mode
|
Thu, 26 Jan 2017 20:07:17 -0800 |
Michael Pavone |
Added config file option to specify that RAM should be randomly initialized. Moved default_region inside a new "system" parent node in config
|
Sun, 22 Jan 2017 17:12:17 -0800 |
Michael Pavone |
Fix missing include that prevented building Windows version
|
Wed, 18 Jan 2017 23:43:36 -0800 |
Michael Pavone |
Overscan is now configurable
|
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.
|
Tue, 10 Jan 2017 09:29:28 -0800 |
Michael Pavone |
Fix crash regression for games with some kind of mapper functionality
|
Wed, 28 Dec 2016 20:39:27 -0800 |
Michael Pavone |
Remove memory map assumptions from Z80 core and move a little bit of logic to the generic backend.c so it can be shared between CPU cores
|
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.
|
Thu, 22 Dec 2016 10:51:33 -0800 |
Michael Pavone |
More cleanup in preparation for SMS/Mark III support
|
Mon, 19 Dec 2016 13:58:51 -0800 |
Michael Pavone |
Restore 68K address logging functionality
|
Mon, 19 Dec 2016 13:28:18 -0800 |
Michael Pavone |
Mostly working changes to allow support for multiple emulated system types in main blastem program
|
Wed, 14 Dec 2016 20:20:34 -0800 |
Michael Pavone |
Fix Z80 interrupt pulse duration. Fixes inconsistent music playback speed in Sonic 2 introduced in 0.4.1
|
Sun, 11 Dec 2016 22:00:41 -0800 |
Michael Pavone |
Fix Z80 RAM mapping after refactor
|
Fri, 09 Dec 2016 18:39:44 -0800 |
Michael Pavone |
Fix the previous WIP commit. Quick tests suggests things are no more broken than before now.
|
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.
|