12 Commits

Author SHA1 Message Date
811c07f4ae main: add very simple register display 2024-04-23 20:49:53 +08:00
f5d2f9e7fc initial FPU implementation 2024-04-23 20:49:42 +08:00
367079adbd sh4: fix FLDS/FMOV/FMOV.S/FNEG/FRCHG/FSTS documentation typos 2024-04-23 15:58:37 +08:00
ea3c389944 add non-FPU/UBC/MMU/cache SH4 instructions
Previously, ast transformations were performed informally as ad-hoc
modifications to the generated C source code. In this commit, the
same transformations are performed by rewriting the ast prior to code
generation time.

The most significant new transformer is transform_assignment_list.
This transforms assignments such as:

  a, b, c = f(b, c, d)

To:

  a = f(&b, &c, d)

The former syntax is used frequently in the manual's description of
FPU-related instructions.
2024-04-22 21:34:43 +08:00
8a300ba4c6 initial SH4 emulator implementation in C
This currently only implements the SH2 instructions.
2024-04-22 20:53:36 +08:00
3de43f84bd syntax.txt: initial 2024-04-22 20:53:36 +08:00
8190f04973 sh4: fix FIPR and FMOV.S documentation typos 2024-04-22 20:53:36 +08:00
5d0735498a sh4: add missing SR/SSR restore in RTE 2024-04-22 20:53:21 +08:00
4a165d02ed sh4: fix documentation typos for SH2 instructions
These changes fix logical consistency and correctness issues with the
instruction definitions as printed in the SH4 manual.

The most serious issues were:

- div0u/div0s/div1 use `m` as a temporary variable which
  contradicts the existence of the `m` register number

- missing semicolons

- inconsistent references to immediate and displacement variable names
2024-04-22 20:42:22 +08:00
d1ce9a2d5a sh4: fix copy-paste errors 2024-04-21 13:09:45 +08:00
65ee273b61 sh4: add descriptions for all instructions 2024-04-18 18:18:53 +08:00
6eba0cdb9e initial sh2 interpreter 2024-04-09 09:57:08 +08:00