Commit graph

79 commits

Author SHA1 Message Date
Dan
7dd417b6be GP-5051: Distinct qemu-system launcher. 2024-12-04 08:43:26 -05:00
Ryan Kurtz
80953c6c77 Merge remote-tracking branch 'origin/patch' 2024-08-27 13:35:41 -04:00
ghidorahrex
74b127eb2c GP-4845: Fixed m68k fmovem.l register bug 2024-08-13 18:52:31 +00:00
Luke Serné
7b243aaa5a 68000: Update condition flags for ext instruction 2024-07-03 19:05:32 +02:00
Ryan Kurtz
197a18a77e Merge remote-tracking branch
'origin/GP-4377_ghidorahrex_68000_fix_signed_byte--SQUASHED' into
Ghidra_11.1 (Closes #6260, Closes #4191)
2024-05-07 12:31:30 -04:00
ghidorahrex
3ad1f908a4 GP-4377: Fixed m68000 byte operand width and floating point width 2024-05-07 10:49:01 -04:00
Dan
289c5c90fa GP-3838: Add qemu+gdb launcher. 2024-03-01 12:36:13 -05:00
Ryan Kurtz
d686733b35 Merge remote-tracking branch
'origin/GP-4049_emteere_RemovePCValueDependence' (Closes #5891)
2023-11-30 09:59:45 -05:00
emteere
7cf82f82f5 GP-4049 removed incorrect dependence on PC having a value in superh and
68000
2023-11-30 01:36:50 +00:00
ghidorahrex
28e4ce3d45 GP-3387: Added rounding mode to fint pcodeop 2023-11-29 16:37:12 +00:00
Edward J. Schwartz
38ef50b1b7 Use pcode op for fint instead of undefined 2023-11-29 16:34:33 +00:00
Edward J. Schwartz
85ff068e20 Fix sleigh for fint/fintrz
Without additional machinery, fint can't be precisely modeled because the rounding mode is controlled by the state.  fintrz always rounds to zero.  I think whoever implemented fint probably meant to implement fintrz.
2023-11-29 16:34:32 +00:00
ghidorahrex
3d1b865543 GP-3879: Implemented lzcount in several instructions 2023-11-03 12:30:51 -04:00
Ryan Kurtz
d932173a25 Merge remote-tracking branch
'origin/GP-3219_ghidorahrex_m68k_multiple_read_fix--SQUASHED'
(Closes #2492)
2023-07-06 12:11:23 -04:00
ghidorahrex
61d14e722b GP-3219: Refactored several 68k instructions to remove dup mem accesses. 2023-07-03 14:16:03 -04:00
Ryan Kurtz
e2f4565e5e Merge remote-tracking branch 'origin/patch' 2023-06-14 07:46:41 -04:00
emteere
3736ae076c GP-3532 Minor 68000 function start pattern 2023-06-13 23:06:18 +00:00
ghidra1
855a607699 Merge remote-tracking branch 'origin/patch' 2023-06-12 20:31:15 -04:00
ghidra1
5970699db1 Merge remote-tracking branch
'origin/GP-2955_ghidorahrex_PR-4795_Phlosioneer_m68k-pea-fix' into patch
(Closes #4795)
2023-06-12 20:19:58 -04:00
ghidra1
d5db5b643a Merge remote-tracking branch
'origin/GP-2779_ghidorahrex_PR-4808_Phlosioneer_m68k-movem-pc-fix' into
patch (Closes #4807, Closes #4808)
2023-06-12 20:17:06 -04:00
emteere
164ed51304 GP-3532 Reverted 68000 register calling convention change, added new
68000_register cspec.  Added function start patterns
2023-06-12 20:58:20 +00:00
isabella3412
5968d77869 GP-3327 Adding manual indices for Coldfire instructions 2023-05-31 14:58:28 +00:00
Phlosioneer
058fa90387 Issue 4807 Fix movem PC instruction bug on 68000
The `movem` instruction's `(d16, PC)` addressing mode has an instruction
word, a mask word, and then an extension word. The addressing mode
uses the value of PC incremented to the extension word, in this case
`instr_start + 4`. The sleigh code incorrectly uses `instr_start + 2`.
The issue is present for both `movem.w` and `movem.l` variants. This
PR fixes the `PC` offset to `+4`.

See 68000 reference manual page 2-13 for PC indirect addressing mode,
and 4-128 for MOVEM documentation.

Partially addresses #4807.
2023-05-31 14:31:37 +00:00
Phlosioneer
b1c54e36e1 Fix pea SP instruction bug on 68000 processor
The `pea` instruction adjusts `SP`, but the address may be `SP`-based.
Ghidra was evaluating the effective address after adjusting `SP`, but
the address should be evaluated before `SP` is changed. For example,
`pea (SP)` should result in a pointer to the previous stack entry,
rather than a pointer to itself.
2023-05-30 16:49:29 +00:00
ghidra1
d8d5817d7e Merge remote-tracking branch
'origin/GP-3326_ghidorahrex_PR-5194_edmcman_coldfire_halt_decode' into
Ghidra_10.3 (Closes #5194)
2023-05-08 14:19:12 -04:00
ghidra1
b9202411b9 GP-1379/3022 FloatFormat and BigFloat refactor in support of string
parsing and 80-bit float format.  Change float datatype naming to use
number of bits instead of bytes.
2023-04-26 16:55:48 -04:00
Ryan Kurtz
3db2aff597 Merge remote-tracking branch
'origin/GP-2880_ghidorahrex_m68k_bcd_operand_fix--SQUASHED'
(Closes #4183, Closes #4189)
2023-04-25 06:44:51 -04:00
ghidorahrex
dd84e1a6e6 GP-2880: Fix issue with 68000 bcd instructions reversing operands 2023-04-24 13:11:05 -04:00
Edward J. Schwartz
9c7de2e69e Add coldfire halt instruction 2023-04-05 14:37:04 -04:00
Edward J. Schwartz
aa1e594519 Fix tas instruction for coldfire
Does not apply to modes 0 or 1
2023-04-05 14:14:15 -04:00
Ryan Kurtz
9cf60faef0 Merge remote-tracking branch
'origin/GP-3155_caheckman_PR-2810_Pokechu22_countleadingzeros'
(Closes #2810)
2023-03-24 14:29:30 -04:00
caheckman
945d91fc93 GP-3155 Regenerating parsers, documentation. LZCOUNT tests. 2023-03-24 13:06:45 -04:00
Ryan Kurtz
82ba4831b6 Merge remote-tracking branch
'origin/GP-3187_ghidorahrex_PR-5093_rbran_m68k_export_0_fix'
(Closes #5093, Closes #5094)
2023-03-16 12:11:31 -04:00
Ryan Kurtz
738e662e82 Merge remote-tracking branch
'origin/GP-2013_ghidorahrex_PR-4217_agatti_68000-shifts' (Closes #4217)
2023-03-14 09:57:26 -04:00
Rubens Brandão
30fc469235
Sleigh 68000 CPUs exports a length 0 value
A value with length 0 should be impossible, but also, all constructors from a table should export a value with the same length.
2023-03-13 10:42:57 -03:00
ghidorahrex
c4cf19ebfc GP-2013 Fixed additional issues with shifts and rotates 2023-03-03 17:14:41 +00:00
Pokechu22
14880b53c4 Create and use LZCOUNT Pcode op 2023-03-02 18:30:04 -08:00
ghidorahrex
1848c1a6f4 GP-2197: Fixed cspec metatype pentry ordering. 2022-12-05 15:29:40 +00:00
ghidorahrex
0e1e607317 GP-2197: Corrected COLDFIRE scalefactor consistency 2022-12-05 15:29:39 +00:00
ghidorahrex
f5b6973ea8 GP-2197 code review fixes 2022-12-05 15:29:38 +00:00
ghidorahrex
362bb9dfa3 GP-2197: Added additional EMACS instructions to coldfire 2022-12-05 15:29:37 +00:00
emteere
947bf43cb5 GP-2197 Adding initial EMAC instructions and .cspec changes for
D0,A0,D1,A1
2022-12-05 15:25:31 +00:00
Ryan Kurtz
4ed60c8790 Merge remote-tracking branch 'origin/GP-2195_ghidorahrex_PR-4270_agatti_68000-coldfire-bitops' 2022-10-05 09:44:04 -04:00
Ryan Kurtz
79947c37f6 Merge remote-tracking branch
'origin/GP-2014_ghidorahrex_PR-4223_agatti_68000-pack-unpk'
(Closes #4223)
2022-09-16 13:31:35 -04:00
ghidorahrex
66c727bb38 GP-2014: review comments 2022-07-22 19:31:09 +00:00
Alessandro Gatti
01c24684a0 Switch back to pcode implementation. 2022-07-05 23:30:18 +02:00
Alessandro Gatti
b44355f367 Use pcodeops for bitrev and byterev. 2022-06-08 20:36:33 +02:00
ghidorahrex
f1be7a7e4e Modified coldfire TPF instructions to jumps 2022-06-07 13:37:26 +00:00
Alessandro Gatti
4ebeee777f Implement ColdFire's BITREV, BYTEREV and FF1. 2022-05-22 06:33:29 +02:00
Alessandro Gatti
43698e4a3a Correct operands order.
As per discussion on #4189, Tx[bw] and Ty[bw] need to be swapped.
2022-05-04 07:53:47 +02:00