log gen_x86.c @ 2493:b62336ceb626 default tip

age author description
Mon, 05 Sep 2022 12:00:02 -0700 Michael Pavone Fix implementation ot 68K trapv instruction
Sat, 11 Jul 2020 21:16:32 -0700 Mike Pavone Fix broken enum definitions that cause multiple definition errors when building with -fno-common which is now the default in GCC 10
Thu, 30 Apr 2020 23:33:55 -0700 Michael Pavone Fix some questionable comparisons between 64-bit values and literals that fit in 32-bit integers
Sun, 07 Apr 2019 22:48:58 -0700 Michael Pavone Fix callee saved regs for Win64
Sun, 07 Apr 2019 00:06:29 -0700 Michael Pavone Get 64-bit builds working for Windows target
Mon, 18 Jun 2018 00:50:29 -0700 Michael Pavone Fix memory leak in prep_args
Mon, 09 Oct 2017 07:48:48 -0700 Michael Pavone Attempt at fixing issue reported when compiling with MSVC
Wed, 13 Sep 2017 21:06:25 -0700 Michael Pavone Preserve original address when retranslating instructions instead of switching to the lowest alias
Thu, 04 May 2017 21:00:25 -0700 Michael Pavone Fix some inconsequential issues in code for executable memory allocation noticed while tracking down a different issue
Sat, 25 Mar 2017 00:21:32 -0700 Michael Pavone Prevent blowing past our native translated instruction size of 255 bytes when translating movem with a large register list. Fixes bug in which Fantastic Dizzy was completely broken on 32-bit builds
Sat, 04 Feb 2017 00:41:15 -0800 Michael Pavone Cycle accurate MULU/MULS emulation
Thu, 06 Oct 2016 09:34:31 -0700 Michael Pavone Add support for specifying a reset handler in the M68K core. Adjust memory map initialization to handle extra field. Improved handling of out of bounds execution.
Tue, 09 Aug 2016 21:29:49 -0700 Michael Pavone Fixed a bug in call_raxfallback that would cause the call to be omitted completely in the RAX fallback case. This fixes a crash on OpenBSD and possibly other systems
Fri, 27 Nov 2015 10:48:13 -0800 Michael Pavone Adjust stack before pushing arguments. Fixes new stack alignment code on 32-bit targets
Thu, 26 Nov 2015 22:30:41 -0800 Michael Pavone Fix for Z80 retranslation post alignment rework
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.
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
Sat, 27 Jun 2015 11:39:55 -0700 Michael Pavone Handle far calls in call_args and call_args_abi
Sat, 23 May 2015 20:25:16 -0700 Michael Pavone Generate an error in x86-32 builds for most cases when a REX prefix would be generated
Tue, 28 Apr 2015 19:04:36 -0700 Michael Pavone Fix bug in map_native_address that was breaking some self-modifying code in Gunstar Heroes
Sat, 14 Mar 2015 12:05:03 -0700 Michael Pavone WIP of functions to determine size of x86 instruction to allow patching of arbitrary pieces of code
Sun, 04 Jan 2015 23:35:55 -0800 Michael Pavone Merge
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
Thu, 01 Jan 2015 19:15:05 -0800 Michael Pavone Added 2 new functions to gen_x86.c for handling passing args according to the C abi of the host system and adapted the code in m68k_core_x86.c to use that instead of doing everything by hand
Fri, 26 Dec 2014 19:36:41 -0800 Michael Pavone Fix reg-indirect mode for RBP/R13
Mon, 22 Dec 2014 20:55:10 -0800 Michael Pavone Z80 core is sort of working again
Sun, 02 Mar 2014 14:45:36 -0800 Michael Pavone Refactor gen_x86 to use an interface more like gen_arm and to remove the 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
Mon, 23 Jun 2014 11:05:55 -0400 Mike Pavone Fix x86_rrindex_sizedir. Pass the correct scale to mov_rindexr in gen_mem_fun. BlastEm now sort of works on OS X. Runs reliably from lldb, but only intermittently from the shell
Wed, 19 Feb 2014 00:22:27 -0800 Michael Pavone Apart from the Z80 core, BlastEm now supports 32-bit x86
Thu, 03 Oct 2013 21:20:29 -0700 Mike Pavone Add support for test instruction to x86 generator library
Tue, 10 Sep 2013 23:31:08 -0700 Mike Pavone Added copyright notice to source files and added GPL license text in COPYING
Mon, 24 Jun 2013 21:32:25 -0700 Mike Pavone Fix access to int_enable_cycle in EI
Tue, 21 May 2013 01:14:59 -0700 Mike Pavone Fix some minor copy pasta bugs that resulted in an unnecessary REX prefix being generated for some instructions
Sat, 18 May 2013 11:44:42 -0700 Mike Pavone Mostly working runtime generation of memory map read/write functions
Thu, 02 May 2013 00:10:24 -0700 Mike Pavone Don't mix *H regs with the REX prefix
Sun, 28 Apr 2013 13:45:17 -0700 Mike Pavone Implement EX, EXX and RST in Z80 core
Thu, 25 Apr 2013 21:01:11 -0700 Mike Pavone Get Z80 core working for simple programs
Fri, 25 Jan 2013 18:39:22 -0800 Mike Pavone Fix overflow flag on ASL
Wed, 16 Jan 2013 22:40:56 -0800 Mike Pavone Implement ABCD an SBCD. Fix BTEST with register source.
Thu, 03 Jan 2013 22:07:40 -0800 Mike Pavone Implement MULU/MULS and DIVU/DIVS
Mon, 31 Dec 2012 20:09:09 -0800 Mike Pavone Implement most of the "X" instructions
Sat, 29 Dec 2012 22:11:28 -0800 Mike Pavone Fix encoding of movsx instruction when used with new (i.e. r9-r15) registers. This fixes the indexed addressing modes when used with a word-wide index register
Sat, 29 Dec 2012 21:10:07 -0800 Mike Pavone Implement the rest of the bit instructions
Fri, 28 Dec 2012 21:25:00 -0800 Mike Pavone Fix call_r in gen_x86 so that it properly returns a pointer to the location after the generated instruction
Fri, 28 Dec 2012 17:57:43 -0800 Mike Pavone Implement scc (untested)
Wed, 26 Dec 2012 11:09:04 -0800 Mike Pavone Initial stab at interrupt support. Make native code offsets bigger so I don't have to worry about overflowing the offset. Implement neg and not (untested).
Sat, 22 Dec 2012 21:37:25 -0800 Mike Pavone Add support for indexed modes as a source, some work on jmp and jsr with areg indirect mode
Fri, 21 Dec 2012 01:00:52 -0800 Mike Pavone Implement more instructions and address modes
Wed, 19 Dec 2012 20:23:59 -0800 Mike Pavone Add support for BTST instruction (untested), absolute addressing mode for instructions other than move (untested) and fix decoding of MOVEM.
Sat, 15 Dec 2012 23:01:32 -0800 Mike Pavone Implement shift instructions (asl, lsl, asr, lsr). Add flags to register printout. Fix minor bug in shift/rotate instruction decoding.
Wed, 12 Dec 2012 23:21:11 -0800 Mike Pavone Add untested support for and, eor, or, swap, tst and nop instructions. Add call to m68k_save_result for add and sub so that they will properly save results for memory destinations
Tue, 04 Dec 2012 19:13:12 -0800 Mike Pavone M68K to x86 translation works for a limited subset of instructions and addressing modes
Tue, 27 Nov 2012 22:43:32 -0800 Mike Pavone Make x86 generator generic with respect to operand size for immediate parameters.
Tue, 27 Nov 2012 09:28:13 -0800 Mike Pavone x86 code gen, initial work on translator