summaryrefslogtreecommitdiff
path: root/backend_x86.c
AgeCommit message (Collapse)Author
2021-03-07Fix bug in handling of MMAP_CODE regions smaller than 16KBMichael Pavone
2017-12-31Fix accidental add to RSP with SZ_D and SZ_PTR. Using SZ_D breakse when the ↵Michael Pavone
stack is located outside of the 32-bit addressable range
2017-09-13Preserve original address when retranslating instructions instead of ↵Michael Pavone
switching to the lowest alias
2017-01-03Fix RAM flag offset calculation to take into account the existence of ↵Michael Pavone
non-writeable MMAP_CODE chunks
2016-12-22More cleanup in preparation for SMS/Mark III supportMichael Pavone
2016-12-14Fix a subtle bug in interrupt handling introduced with the move to a single ↵Michael Pavone
cycle register in the Z80 core. Fixes regression in Puyo Puyo 2
2016-12-12Fix to the fix of handling of self modifying code. Was ORing the base ↵Michael Pavone
address with the wrong register before calling the modified code handler
2016-10-06Made some optimizations to gen_mem_fun to keep the size of chunk handler ↵Michael Pavone
sections within range of a single byte displacement
2016-10-06Remove hacky assumption about Genesis memory map in M68K coreMichael Pavone
2016-10-06Fix handling of MMAP_CODE chunks that also have MMAP_PTR_IDX setMichael Pavone
2016-07-27Change cycle tracking code for Z80 core to only use a single register. Store ↵Michael Pavone
low 7 bits of R in a reg and increment it appropriately.
2016-04-26Initial stab at implementing address error exceptions. Need to fill in the ↵Michael Pavone
value of IR, undefined bits of last stack frame word and properly deal with address errors that occur during exception processing.
2015-11-25Partially working change to do proper stack alignment rather than doing a ↵Michael Pavone
lame alignment check when calling a C compile dfunction. 68K core seems okay, but Z80 is busted.
2015-11-22Fix a bug in generating memory access functions when more than one MMAP_CODE ↵Michael Pavone
region exists
2015-06-28Fix self modifying code checks on platforms like OS X on which guest RAM ↵Michael Pavone
ends up at an address unreachable with a 32-bit displacement
2015-06-27Preserve scratch2 when using it as a temporary in memory read functions. ↵Michael Pavone
This fixes a bunch of issues with the Z80 core and possibly some issues with the 68K core as well
2015-06-22Fix handling of address mask in gen_mem_funMichael Pavone
2015-05-11Sync fixes and logging to fix more sync issuesMichael Pavone
2015-04-28Fix bug in map_native_address that was breaking some self-modifying code in ↵Michael Pavone
Gunstar Heroes
2015-01-14Removed hardcoded assumptions in M68K core about which parts of the memory ↵Michael Pavone
map are RAM
2015-01-03All cycle counters are now based off the master clock. This seems to have ↵Michael Pavone
messed up Z80 interrupt timing (music in Sonic 2 is too slow for instance), but things are generally working
2015-01-01Use call_args and call_args_abi inside gen_mem_funMichael Pavone
2014-12-29Fix handling of code writes for Z80 core. This seems to get things close to ↵Michael Pavone
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.
2014-12-26Get Z80 banked access sort of working againMichael Pavone
2014-12-26Fix a few bugs introduced in the Z80 core from the adjustments to fit with ↵Michael Pavone
the code gen refactor
2014-12-26Add a couple of missing checks for the byte_swap and address_size parameters ↵Michael Pavone
in gen_mem_fun
2014-12-22Z80 core is sort of working againMichael Pavone
2014-12-14WIP effort to update z80 core for code gen changesMichael Pavone
2014-03-11Split gen_mem_fun out of m68k_core_x86 and make it more generic so it can be ↵Michael Pavone
used by the Z80 core
2014-03-02Refactor gen_x86 to use an interface more like gen_arm and to remove the ↵Michael Pavone
need for the caller to decide whether an 8-bit or 32-bit displacement is needed in the rdisp functions. Update m68k_to_x86 to use the new version of the gen_x86 functions and do some minor refactoring there in the process