Fri, 03 Apr 2020 23:47:57 -0700 |
Michael Pavone |
Fix bug in in (c) instruction in Z80 dynarec
|
Tue, 25 Feb 2020 20:03:04 -0800 |
Michael Pavone |
Fix edge case in Z80 interrupt handling. Fixes music in Metal Blast 2277
|
Sun, 07 Apr 2019 00:06:29 -0700 |
Michael Pavone |
Get 64-bit builds working for Windows target
|
Mon, 25 Feb 2019 21:22:14 -0800 |
Michael Pavone |
More instruction timing fixes in old Z80 core
|
Tue, 19 Feb 2019 22:59:14 -0800 |
Michael Pavone |
Fix cycle counts of a few instructions in old Z80 core
|
Fri, 22 Jun 2018 23:10:27 -0700 |
Michael Pavone |
Fix some memory errors (mostly leaks) identified by valgrind
|
Sun, 08 Apr 2018 12:26:18 -0700 |
Michael Pavone |
Fix timing for Z80 JP cc, nn instruction
|
Thu, 19 Oct 2017 03:21:24 -0700 |
Michael Pavone |
Implemented Z80 IM 2 and attempted correct intack cycle delay
|
Tue, 29 Aug 2017 00:30:20 -0700 |
Michael Pavone |
Ensure extra_pc is NULL when resuming a save state
|
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
|
Sun, 06 Aug 2017 00:06:36 -0700 |
Michael Pavone |
WIP - New savestate format
|
Sun, 28 May 2017 21:02:47 -0700 |
Michael Pavone |
Implemented Z80 NMI
|
Thu, 02 Mar 2017 22:18:15 -0800 |
Michael Pavone |
Fix implementation of in c and out c on 32-bit x86
|
Sun, 19 Feb 2017 17:37:25 -0800 |
Michael Pavone |
Fix loading of the R register from the in memory context
|
Sun, 19 Feb 2017 12:41:57 -0800 |
Michael Pavone |
Ported correct but inefficient overlapping instruction handling from 68K core to Z80 core. Fixed remaining stack alignment issue for Z80 breakpoints on 64-bit. Probably still needs fixing for 32-bit
|
Tue, 14 Feb 2017 05:14:10 -0800 |
Michael Pavone |
Hacky fix so sound works in Project MD again
|
Wed, 18 Jan 2017 07:29:06 -0800 |
Michael Pavone |
Fix regression in tracking of 3+ byte instructions in Z80 core
|
Tue, 03 Jan 2017 21:37:36 -0800 |
Michael Pavone |
Fix implementation of Z80 HALT instruction
|
Mon, 02 Jan 2017 23:35:40 -0800 |
Michael Pavone |
Invalidate translated code on a cartridge bank change in SMS mode. Fix handling of bank 0
|
Sun, 01 Jan 2017 01:10:44 -0800 |
Michael Pavone |
Partial fix for Z80 debugger brokeness introduced with stack alignment changes
|
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
|
Wed, 14 Dec 2016 23:27:42 -0800 |
Michael Pavone |
Fix a couple of timing regressions in Z80 core
|
Mon, 01 Aug 2016 19:24:51 -0700 |
Michael Pavone |
Implemented IND and INDR
|
Mon, 01 Aug 2016 19:18:50 -0700 |
Michael Pavone |
Implemented INIR
|
Mon, 01 Aug 2016 09:48:10 -0700 |
Michael Pavone |
Implement INI
|
Sat, 30 Jul 2016 16:01:57 -0700 |
Michael Pavone |
Fix handling of undocumented flag bits for ADD in 32-bit builds
|
Sat, 30 Jul 2016 14:03:25 -0700 |
Michael Pavone |
Fixed bug introduced in NEG with addition of undocumented flags
|
Fri, 29 Jul 2016 22:06:45 -0700 |
Michael Pavone |
Implement undocumented flag bits for shift instructions
|
Fri, 29 Jul 2016 20:59:19 -0700 |
Michael Pavone |
Implement undocumented flag bits for RLD and RRD
|
Fri, 29 Jul 2016 09:23:59 -0700 |
Michael Pavone |
Implemented undocumented flag bits for rotate instructions
|
Fri, 29 Jul 2016 09:14:32 -0700 |
Michael Pavone |
Implement undocumented flag bits for block LD instructions
|
Fri, 29 Jul 2016 00:17:40 -0700 |
Michael Pavone |
Implement undocumented flag bits for block CP instructions
|
Thu, 28 Jul 2016 23:37:46 -0700 |
Michael Pavone |
Implement undoumented flag bits for DAA, CPL, SCF and CCF
|
Thu, 28 Jul 2016 22:59:09 -0700 |
Michael Pavone |
Partial support for undocumented flag bits
|
Wed, 27 Jul 2016 23:08:05 -0700 |
Michael Pavone |
More efficient register usage in 32-bit mode
|
Wed, 27 Jul 2016 22:46:22 -0700 |
Michael Pavone |
Change cycle tracking code for Z80 core to only use a single register. Store low 7 bits of R in a reg and increment it appropriately.
|
Tue, 26 Jul 2016 23:12:23 -0700 |
Michael Pavone |
Fix DAA and implement half-carry for remaining instructions. Z80 core now passes ZEXDOC!
|
Tue, 26 Jul 2016 00:11:33 -0700 |
Michael Pavone |
Implement half-carry for INC, DEC and NEG
|
Mon, 25 Jul 2016 23:16:04 -0700 |
Michael Pavone |
Properly handle redundant prefixes
|
Sun, 24 Jul 2016 18:53:22 -0700 |
Michael Pavone |
Implement block CP instructions. Fix bug that would corrupt context reg in DAA. Fix flag values for when LD block instructions are interrupted part way through.
|
Sun, 24 Jul 2016 17:17:59 -0700 |
Michael Pavone |
Implement Z80 DAA. Implement half-carry flag for the rest of the "easy" cases. Implement flags for IN instruction. Fix implementation of IN for IN F, (C) case
|
Sat, 23 Jul 2016 12:43:52 -0700 |
Michael Pavone |
Implement Z80 block OUT instructions. Fixes Power Monger
|
Wed, 20 Apr 2016 23:19:13 -0700 |
Michael Pavone |
Fix bug in Z80 rrd implementation. This fixes the annoying high pitched wine in Afterburner II.
|
Wed, 20 Apr 2016 23:00:37 -0700 |
Michael Pavone |
Fix crash bug in Z80 debugger introduced with stack alignment changes
|
Fri, 27 Nov 2015 10:47:35 -0800 |
Michael Pavone |
Replace some hard-coded instruction length assumptions with a calculation so they will work properly on both 32-bit and 64-bit hosts
|
Thu, 26 Nov 2015 22:30:41 -0800 |
Michael Pavone |
Fix for Z80 retranslation post alignment rework
|
Thu, 26 Nov 2015 00:10:36 -0800 |
Michael Pavone |
Z80 core is now slightly less broken
|
Wed, 25 Nov 2015 20:18:34 -0800 |
Michael Pavone |
Get Z80 core sort of working again post alignment change
|
Wed, 25 Nov 2015 08:40:45 -0800 |
Michael Pavone |
Partially working change to do proper stack alignment rather than doing a lame alignment check when calling a C compile dfunction. 68K core seems okay, but Z80 is busted.
|
Fri, 13 Nov 2015 22:56:59 -0800 |
Michael Pavone |
Selecting a second game from the menu now works
|
Wed, 04 Nov 2015 19:14:39 -0800 |
Michael Pavone |
Improve timing of Z80 busack. Fixes a crash in Barkley: Shut Up and Jam. Also vastly improves the audio output of Stuck Somewhere in Time
|
Sat, 31 Oct 2015 13:49:27 -0700 |
Michael Pavone |
Small tweaks to timing of 68K/Z80 interactions based on latest tests
|
Sat, 31 Oct 2015 01:07:56 -0700 |
Michael Pavone |
Set flags for ld a, r
|
Thu, 29 Oct 2015 23:12:01 -0700 |
Michael Pavone |
Fix timing of certain variants of LD
|
Thu, 29 Oct 2015 21:42:10 -0700 |
Michael Pavone |
Fix timing of IM instruction
|
Fri, 18 Sep 2015 19:54:02 -0700 |
Michael Pavone |
Fixed a copy pasta error in the implementation of LDD and LDDR. HL should be decremented and not incremented in those instructions.
|
Sat, 01 Aug 2015 17:05:51 -0700 |
Michael Pavone |
Implement half carry for a couple of the trivial cases
|
Wed, 29 Jul 2015 00:03:36 -0700 |
Michael Pavone |
Added support for an IO memory map in Z80 core
|
Sat, 25 Jul 2015 18:22:07 -0700 |
Michael Pavone |
Use a new fatal_error function instead of calling fprintf and exit for fatal errors. This new function more gracefully handles the case in which BlastEm was not started from a terminal or disconnected from ther terminal (Windows).
|
Sat, 27 Jun 2015 12:17:18 -0700 |
Michael Pavone |
Cleanup some warnings under clang through a combination of code fixes and supressing specific warnings
|
Tue, 26 May 2015 20:00:50 -0700 |
Michael Pavone |
Fixes for the 32-bit build accidentally introduced a bug into the 64-bit build, this commit fixes the regression
|
Mon, 25 May 2015 18:56:22 -0700 |
Michael Pavone |
Add a define in both the source and Makefile for enabling logging of z80 instruction address/cycle counts. Fix Z80 in/out instructions to eliminate assumptions about which registers are stored in native regs. Fix read_16 to not corrupt the low byte when the read has to call into a C function.
|
Mon, 25 May 2015 17:08:56 -0700 |
Michael Pavone |
Fix RLD and RRD for the case in which HL does not map to a native register
|
Sun, 24 May 2015 21:11:18 -0700 |
Michael Pavone |
Z80 test cases that passed on 64-bit now pass on 32-bit
|
Sun, 24 May 2015 15:05:18 -0700 |
Michael Pavone |
More bugfixes for the 32-bit build of the Z80 core
|
Sat, 23 May 2015 20:26:20 -0700 |
Michael Pavone |
Fix a bunch of assumptions about which Z80 registers are stored in native registers to make the x86-32 build less broken
|
Sun, 17 May 2015 20:03:27 -0700 |
Michael Pavone |
Make sure z80_save_reg does nothing when there is no register in the reg field of the instruction. This fixes a bug that corrupted SP in the MDEM 2011 demo
|
Sun, 17 May 2015 19:14:41 -0700 |
Michael Pavone |
Call z80_handle_deferred after generating an insruction handler so that instructions like rst work correctly
|
Sun, 17 May 2015 15:40:31 -0700 |
Michael Pavone |
Fix crash bug in Z80 interpreter
|
Tue, 12 May 2015 19:14:09 -0700 |
Michael Pavone |
Save PC to context struct when syncing Z80 at instruction start. This fixes saving savestates and probably the Z80 debugger as well
|
Mon, 11 May 2015 20:34:33 -0700 |
Michael Pavone |
Remove/comment verbose logging added for tracking down sync bug
|
Mon, 11 May 2015 00:28:47 -0700 |
Michael Pavone |
Sync fixes and logging to fix more sync issues
|
Sun, 04 Jan 2015 23:35:55 -0800 |
Michael Pavone |
Merge
|
Sat, 03 Jan 2015 21:35:23 -0800 |
Michael Pavone |
When going directly from reset to busreq, do not allow the Z80 to run
|
Sat, 03 Jan 2015 18:49:07 -0800 |
Michael Pavone |
Restore Z80 interrupt pulse duration and make a small improvement to debug print output
|
Sat, 03 Jan 2015 18:23:04 -0800 |
Michael Pavone |
Made the Z80 core more contained by refactoring some code in blastem.c into z80_to_x86.c
|
Sat, 03 Jan 2015 16:08:23 -0800 |
Michael Pavone |
All cycle counters are now based off the master clock. This seems to have messed up Z80 interrupt timing (music in Sonic 2 is too slow for instance), but things are generally working
|
Fri, 02 Jan 2015 13:47:34 -0800 |
Michael Pavone |
In theory, the Z80 core should work on 32-bit builds now; however, I suspect there is some code that cannot deal with most of the Z80 registers not having a native register so more work will be needed
|
Fri, 02 Jan 2015 13:14:09 -0800 |
Michael Pavone |
Added functions to gen_x86 for saving and restoring callee save registers to better abstract over ABI differences between x86 and x86-64
|
Fri, 02 Jan 2015 12:04:58 -0800 |
Michael Pavone |
Use SZ_PTR instead of SZ_Q in Z80 core for 32-bit compat
|
Fri, 02 Jan 2015 00:19:10 -0800 |
Michael Pavone |
Sync Z80 when taking an interrupt so that int_cycle gets updated
|
Thu, 01 Jan 2015 23:37:24 -0800 |
Michael Pavone |
Remove dedicated registers for Z80 bank reg and Z80 bank pointer as they are no longer used
|
Thu, 01 Jan 2015 22:18:32 -0800 |
Michael Pavone |
Add the 3 cycle delay back in to Z80 bank area access
|
Thu, 01 Jan 2015 20:26:22 -0800 |
Michael Pavone |
Minor Z80 core cleanup
|
Thu, 01 Jan 2015 20:07:47 -0800 |
Michael Pavone |
Use call_args and call_args_abi in Z80 core
|
Thu, 01 Jan 2015 14:36:55 -0800 |
Michael Pavone |
Remove some of the hard coded assumptions about the memory map from the CPU cores
|
Tue, 30 Dec 2014 19:11:34 -0800 |
Michael Pavone |
Merge
|
Tue, 16 Dec 2014 01:10:54 -0800 |
Michael Pavone |
Fix flags for rra, rrca, rla and rlca. Fix timing for rr, rrc, rl and rlc when using IX or IY. Fix access to I and R registers (R still needs to be made 7-bit though). Fix flags for ld a, i. The fix for access to I fixes PCM playback in Titan Overdrive and music playback in Crackdown.
|
Wed, 03 Dec 2014 09:30:01 -0800 |
Michael Pavone |
Temporarily comment out code to translate Z80 instructions in place as in rare cases it can stomp the next instruction if a branch goes from a short from to a long one
|
Sat, 21 Jun 2014 09:36:15 -0700 |
Michael Pavone |
Fix Z80 interrupts
|
Fri, 20 Jun 2014 07:57:32 -0700 |
Michael Pavone |
Added some preliminary support for interpreting Z80 code from non-RAM addresses
|
Thu, 19 Jun 2014 19:50:16 -0700 |
Michael Pavone |
Properly handle Z80 breakpoints on self-modifying code and setting Z80 breakpoints before the Z80 program has been loaded
|
Thu, 19 Jun 2014 08:14:35 -0700 |
Michael Pavone |
Slight cleanup of vint handling on the Z80
|
Mon, 29 Dec 2014 23:08:39 -0800 |
Michael Pavone |
Fix handling of code writes for Z80 core. This seems to get things close to being back to where they were before the big refactor that broke the Z80 core. Some problems remain. Notably the sound driver in Sonic 2 is still quite broken.
|
Fri, 26 Dec 2014 15:45:31 -0800 |
Michael Pavone |
Fix a few bugs introduced in the Z80 core from the adjustments to fit with the code gen refactor
|
Fri, 26 Dec 2014 12:56:53 -0800 |
Michael Pavone |
Fix an off-by-one error in a branch destination in the generation of handle_cycle_limit for the Z80
|
Fri, 26 Dec 2014 12:52:13 -0800 |
Michael Pavone |
Update code->cur before calling z80_get_address_trans in z80_retranslate_inst to avoid any newly translated instructions from being placed in the "buffer zone". Save the current value of the code_info struct for placing the final jmp instruction in the correct place
|
Fri, 26 Dec 2014 12:34:41 -0800 |
Michael Pavone |
Add in missing generated Z80 helper functions. Fix a small bug in Z80_HALT. Fix generation of save and load context for Z80
|
Mon, 22 Dec 2014 20:55:10 -0800 |
Michael Pavone |
Z80 core is sort of working again
|
Wed, 17 Dec 2014 23:03:19 -0800 |
Michael Pavone |
Get rest of emulator compiling again with Z80 core enabled
|
Wed, 17 Dec 2014 09:53:51 -0800 |
Michael Pavone |
Get Z80 core back into compileable state
|
Sun, 14 Dec 2014 16:45:23 -0800 |
Michael Pavone |
WIP effort to update z80 core for code gen changes
|
Tue, 17 Jun 2014 01:50:29 -0400 |
Mike Pavone |
blastem builds and almost works on OS X now
|
Mon, 27 Jan 2014 22:12:22 -0800 |
Michael Pavone |
Fix timing of certain ld and jp instructions in the Z80 core
|
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.
|
Tue, 10 Sep 2013 23:31:08 -0700 |
Mike Pavone |
Added copyright notice to source files and added GPL license text in COPYING
|
Sat, 29 Jun 2013 17:15:08 -0700 |
Mike Pavone |
Add support for loading GST format savestates
|
Mon, 24 Jun 2013 21:32:25 -0700 |
Mike Pavone |
Fix access to int_enable_cycle in EI
|
Sat, 15 Jun 2013 23:10:48 -0700 |
Mike Pavone |
Fix DI
|
Fri, 14 Jun 2013 23:27:01 -0700 |
Mike Pavone |
Fix adc and sbc
|
Thu, 13 Jun 2013 22:23:15 -0700 |
Mike Pavone |
Fix LDIR
|
Tue, 11 Jun 2013 23:09:57 -0700 |
Mike Pavone |
Bail out on attempt to run code from bank area until it is properly supported
|
Sat, 08 Jun 2013 11:31:52 -0700 |
Mike Pavone |
Use a call instruction to figure out the original native address when retranslating so that it does not get lost when the byte transforms from a instruction word to extension word
|
Thu, 06 Jun 2013 08:45:54 -0700 |
Mike Pavone |
Removed out of date TODO
|
Thu, 06 Jun 2013 08:19:25 -0700 |
Mike Pavone |
Fix LDD and LDDR
|
Wed, 05 Jun 2013 22:55:23 -0700 |
Mike Pavone |
Fix dec and inc when the operand is in memory
|
Wed, 05 Jun 2013 18:47:39 -0700 |
Mike Pavone |
Fix LDI
|