log z80_to_x86.c @ 1021:4a92889e2889 v0.4.0

age author description
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