joevt
9199b1e520
ppcfpopcodes: Fix multiply add opcodes.
...
Use std::fma for all of them for max accuracy.
For single precision opcodes, convert only the result, not the operands.
2024-02-10 14:19:09 -07:00
joevt
3be22dac99
ppcfpopcodes: No float cast for operand check.
2024-02-10 14:18:49 -07:00
joevt
ff895aa8a4
ppcfpopcodes: Remove some globals.
...
ppc_result64_d and ppc_dblresult64_d don't need to be globals. The rest are unused.
2024-02-10 13:56:07 -07:00
joevt
c9c4280e6e
ppcfpopcodes: No float cast for operand check.
2024-02-10 13:02:49 -07:00
joevt
dac9c1e52c
ppcfpopcodes: Fix fctiw* round to nearest.
...
0.3 should not round up to 1.
2024-02-10 12:58:58 -07:00
joevt
a7e6ab33a1
ppcfpopcodes: Make fctiw* results QNaN.
2024-02-10 12:58:29 -07:00
joevt
6c49b87a06
ppcopcodes: Fix rlwnm when shift > 31.
2024-02-10 12:54:41 -07:00
joevt
29e5bbdcc0
ppcopcodes: Fix divw.
2024-02-10 12:54:12 -07:00
joevt
4fcb357e2f
ppcfpopcodes: add 601 variant of mffs.
2024-02-10 12:51:48 -07:00
joevt
ddb5259464
ppcexec: Make illegal operations per CPU model.
2024-02-10 12:51:00 -07:00
dingusdev
52dfc0cf93
Slightly faster typecasting
2024-01-31 08:06:33 -07:00
Maxim Poliakovski
ad58d102df
machinecatalyst: implement board register 1.
2024-01-30 00:34:24 +01:00
Maxim Poliakovski
9847f5ba6c
machinecatalyst: remove video properties.
...
They will be implemented in the Platinum source.
2024-01-30 00:34:24 +01:00
Maxim Poliakovski
5f06be6226
control: implement HW cursor rendering.
2024-01-19 23:48:22 +01:00
Maxim Poliakovski
a68afbf79a
videoctrl: add one more cursor rendering callback.
2024-01-19 23:48:22 +01:00
joevt
bf425884fb
ppcopcodes: Add ppc_grab_dab.
...
For instructions that don't use the general purpose registers.
2024-01-19 12:09:24 +01:00
joevt
4430fd89a9
ppcopcodes: Fix subfic.
2024-01-19 12:00:55 +01:00
Maxim Poliakovski
7432369162
display_sdl.cpp: improve formatting and add license header.
2024-01-19 09:48:54 +01:00
Maxim Poliakovski
43dc9ed88a
control: remove unused defines and variables.
2024-01-19 09:48:54 +01:00
Maxim Poliakovski
d413e4a278
control: incorporate recent HW knowledge.
2024-01-19 09:48:54 +01:00
joevt
5c460c9f3b
videoctrl: Add VBL callback.
...
Allows overriding the method used to post interrupts.
2024-01-13 00:41:08 +01:00
joevt
cf9237f7d6
control: Fixes.
...
- Fix video vram endianness. It should behave like RAM.
- Add read for registers ENABLE, INT_STATUS, INT_ENABLE.
- Add write for registers CNTTST, INT_ENABLE.
- Add support for 16bpp and 32bpp.
- Add vbl interrupt.
2024-01-13 00:41:08 +01:00
dingusdev
a0b1d6394a
Another revert
...
This affects Virtus VR - With the lmw checks, the opening sign doesn't display and the intro crashes sooner
2024-01-07 17:45:05 -07:00
dingusdev
c6af1e31fe
Partial revert of previous commit
2024-01-07 17:21:11 -07:00
dingusdev
a5ce6a806f
CPU clean-up
2024-01-07 17:04:51 -07:00
dingusdev
a59475af1c
Further lha(*) fixes
2024-01-05 19:10:05 -07:00
dingusdev
1cc1ac2e68
Fixing lha(*) opcodes
2024-01-05 17:19:03 -07:00
dingusdev
924b80574a
Further fix from last commit
2024-01-05 15:53:56 -07:00
dingusdev
f3a759c80d
CPU code clean-up
2024-01-05 15:11:37 -07:00
dingusdev
79ee8543f5
Merge pull request #77 from mihaip/upstream-machineid
...
machinepdm: fix machine ID
2024-01-03 07:44:38 -07:00
Maxim Poliakovski
9b30dfb474
ppcfpopcodes: refactor fctiw/fctiwz emulation.
2024-01-03 01:27:21 +01:00
joevt
0100e67ebf
ppcfpopcodes: Fix fctiw/fctiwz.
2024-01-03 01:07:53 +01:00
joevt
bd419912b5
ppcfpopcodes: Fix stfs*.
...
It should try to convert its operand to a single precision
floating point number at least.
2024-01-02 21:53:03 +01:00
Maxim Poliakovski
cb85d358d1
Remove unused globals.
2024-01-02 17:51:12 +01:00
Maxim Poliakovski
5b114c2412
ppcopcodes: refactor mtcrf emulation.
2024-01-02 17:44:35 +01:00
Maxim Poliakovski
c25b027de4
ppcfpopcodes: fix mtfsf emulation.
2024-01-02 17:21:08 +01:00
Maxim Poliakovski
8595dd7d99
ppcfpopcodes: fix mtfsfi emulation.
2024-01-02 17:21:08 +01:00
joevt
61a90e2cfb
ppcfpopcodes: Fix mcrfs.
2024-01-02 15:52:30 +01:00
Maxim Poliakovski
593508df22
Refactor subfze.
2024-01-02 13:44:56 +01:00
joevt
1f3505f371
ppcopcodes: Fix subfze.
2024-01-02 13:44:13 +01:00
Maxim Poliakovski
679e80a7c3
atahd: basic commands for disk I/O.
2023-12-30 16:23:00 +01:00
Maxim Poliakovski
ebdefb5acd
atabasedevice: transfer data in chunks.
2023-12-30 16:23:00 +01:00
Mihai Parparita
e36e1cf282
machinepdm: fix machine ID
...
Handle 4 byte reads from the machine ID MMIO region. Also change the 6100
machine ID to match the one used by MAME.
2023-12-29 23:31:16 +00:00
Maxim Poliakovski
fef5bde0c7
Refactor recent subfme fix.
2023-12-24 02:56:47 +01:00
joevt
dc00879419
ppcopcodes: Fix subfme.
2023-12-24 02:36:34 +01:00
joevt
bae488fd97
ppcfpopcodes: Fix lfs* opcodes.
2023-12-22 13:11:13 +01:00
joevt
0a8c1df968
ppcopcodes: Fix sraw.
2023-12-19 16:30:02 +01:00
joevt
4c49558120
ppcopcodes: Fix subfe.
2023-12-19 14:57:41 +01:00
Maxim Poliakovski
750f91e339
ppcemu.h: add enum for XER bits.
2023-12-19 14:57:41 +01:00
Maxim Poliakovski
d24b5d21b8
CRx_bit enum stores masks for now.
2023-12-19 14:27:57 +01:00