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
Maxim Poliakovski
9dbfde1a4c
Cleanup previous commit.
2023-12-19 13:15:10 +01:00
joevt
7f229b0fe8
ppcfpopcodes: Fix fcmpo/fcmpu.
...
It was always changing CR1 (starting at CR bit 4) instead of the CR selected by crfD.
Also, it was clearing all but the FL,FG,FE,FU bits of FPRF of FPSCR.
2023-12-19 13:15:10 +01:00
Maxim Poliakovski
920c2024be
Revert "Add a basic mouse grab mode when running on macOS"
...
This reverts commit 587eb48f61
.
2023-12-19 13:15:10 +01:00
dingusdev
2a0f391113
Compilation fix for machineproperties.cpp
2023-12-17 20:04:10 -07:00
dingusdev
c3b770ef17
Merge pull request #74 from mihaip/upstream-mouse-grab
...
Add a basic mouse grab mode when running on macOS
2023-12-15 18:03:45 -07:00
dingusdev
a14fbe865f
Merge pull request #75 from mihaip/upstream-extended-adb
...
Add basic support for the extended ADB mouse protocol.
2023-12-15 18:02:56 -07:00
Mihai Parparita
ae0bb838bf
Add basic support for the extended ADB mouse protocol.
...
We now respond to the switch to device handler ID 4 and the register 1
read (as described by https://developer.apple.com/library/archive/technotes/hw/hw_01.html#Extended ).
We don't yet use the extra precision bits in the register 0.
2023-12-15 16:04:27 -08:00
Mihai Parparita
587eb48f61
Add a basic mouse grab mode when running on macOS
...
Adds a "Grab Mouse" command to the "Window" menu which toggles
SDL_SetRelativeMouseMode. That "traps" the mouse to the current window
(and hides it) which makes it less annoying to deal with the separate
acceleration curves of the host and guest OS.
This needs to be done via AppKit code since SDL does not have a
cross-platform way to add menu commands.
I also looked into the extended ADB mouse protocol but it does not
appear to do that we want. If we use it to report a device class of
classAbsolute (0) the acceleration curve changes to a flat response
(we end up using 'accl' 0 from 9dd3c4bef8/base/SuperMarioProj.1994-02-09/Resources/MiscROMRsrcs.r (L64-L76)
)
but the coordinates are still interpreted as being deltas. If I use a
device type 4 (Absolute pointing devices) then the mouse position is
never queried. Per https://68kmla.org/bb/index.php?threads/anyone-have-an-adb-graphics-tablet-or-joystick.39128/
all tablet devices end up using custom drivers.
2023-12-15 15:38:32 -08:00
dingusdev
0e0de638d4
Update loguru from the master branch
2023-12-11 07:45:51 -07:00
Maxim Poliakovski
fd92d86954
mesh: add MESH TNT variant.
2023-12-11 08:05:39 +01:00
dingusdev
c41f5355fd
Merge pull request #73 from mihaip/upstream-scsi-name
...
Fix uninitialized value read in the ScsiHardDisk constructor
2023-12-10 10:58:25 -07:00
Mihai Parparita
ea9de4feaf
Fix uninitialized value read in the ScsiHardDisk constructor
...
The call to the ScsiDevice superclass was using the name field (which
was not initialized yet) instead of the name constructor argument
2023-12-10 08:58:12 -08:00
Maxim Poliakovski
114737db41
scsicdrom: use CdromDrive as base class.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
bf278af950
scsidevice: add get_more_data() method.
...
It is required for supporting large data transfers split
into multiple chunks.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
e1b231882e
cdromdrive: declare some methods virtual.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
fa04cde25d
machinetnt: more control of machine configuration.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
705dd390e9
grandcentral: respect size when reading from IOBus devices.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
078aa79270
grandcentral: remove board register 1 stub.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
a1ad0a3e07
machineid: implement BoardRegister class.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
858f699750
hammerhead: add configuration accessors.
2023-12-10 00:19:44 +01:00
dingusdev
7cf3d9cd94
Merge pull request #72 from mihaip/upstream-ub
...
Avoid some undefined behavior
2023-12-08 06:45:44 -07:00
joevt
c28e1fa0be
ppcmmu: Fix write accesses to read-only memory.
2023-12-08 11:15:04 +01:00
Mihai Parparita
e9bc8926ab
Avoid some undefined behavior
...
The `SubOpcode31Grabber[1024] = { ppc_illegalop }` initializer only
populates the first entry with ppc_illegalop (at least on some compilers),
switch to explicitly initializing the entire array with std::fill_n.
Also fix a couple of sign and overflow issues flagged by the Xcode
undefined behavior sanitizer.
2023-12-07 23:59:49 -08:00
dingusdev
4d7204debc
Merge pull request #71 from mihaip/upstream-ati-rage
...
Add support for more ATI Rage video modes
2023-12-07 18:03:51 -07:00
Mihai Parparita
30ded5e803
Add support for more ATI Rage video modes
...
Cherrypicks a small piece of joevt/dingusppc@117ca1e449
so that booting from the 10.2 CD gets past it trying to change the video
mode to 15bpp.
Co-authored-by: joevt <joevt@shaw.ca>
2023-12-07 00:16:48 -08:00
Maxim Poliakovski
65a343ce5c
Clean up names for SCSI devices.
2023-12-04 22:41:01 +01:00
Maxim Poliakovski
8841c3e7f9
scsihd: more commands.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
1e4579a076
Improve SCSI state machine.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
be2721cd67
scsihd: cleanup, fixes and more commands.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
58281520d3
Implement writes to SCSI Pseudo-DMA register.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
58dacfa263
amic: improve VIA2_IFR and VIA2_IER emulation.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
ae903082d8
amic: implement SCSI DRQ callback.
2023-12-04 21:41:55 +01:00
joevt
9e54fb88f8
memaccess: Fix unaligned 8 byte read.
2023-12-04 15:31:19 +01:00
dingusdev
5859b4cd66
Delete _config.yml
...
RIP Page that no one really cared about
2023-12-04 06:57:48 -07:00
Maxim Poliakovski
8a987afefd
Merge pull request #70 from mihaip/upstream-adb-cleanup
...
Remove obsolete ADB_Bus class
2023-12-04 11:10:11 +01:00
Mihai Parparita
1a859669eb
Remove obsolete ADB_Bus class
...
Superseded by e9d91175c4
and subsequent
changes.
2023-12-03 23:15:25 -08:00
dingusdev
56f2480caa
Update cubeb
2023-12-03 14:34:49 -07:00
joevt
0096d063dd
pdmonboard: Add 2, 4, 15, 24 bpp support.
2023-12-03 20:38:01 +01:00
joevt
7c3bb41728
videoctrl: Add more convert frame methods.
...
Also rename 1bpp and 8bpp methods to 1bpp_indexed and 8bpp_indexed.
2023-12-03 20:38:01 +01:00
Maxim Poliakovski
99ae0c3d31
ppcemu.h: add PVR definition for MPC604e.
2023-12-03 20:05:19 +01:00
Mihai Parparita
6582536591
Inline ppc_set_cur_instruction
...
It's used in the main emulator loop (ppc_exec_inner), and the function
call overhead adds up.
By inlining it, time to boot to the Finder using a 7.1.2 install CD
and a 6100 ROM goes from ~6700ms to ~6400ms (with clang 14 on a
M2 Max)
2023-12-02 15:12:02 -08:00
dingusdev
628d7249b1
Update gitignore for CodeLite project files
2023-12-01 16:11:32 -07:00
dingusdev
7eb2fd23c3
Fixing typos
2023-12-01 14:04:26 -07:00
Maxim Poliakovski
46961711e4
amic: stub for Ch-B serial xmit DMA.
2023-12-01 22:01:48 +01:00
Maxim Poliakovski
819d475181
poweropcodes: fix div emulation.
...
Clean up power_doz and power_maskir as well.
2023-12-01 20:41:22 +01:00
dingusdev
07030378c8
Non-US keyboard support started
...
This is quite unfinished, but should get some of the major targets started.
2023-12-01 10:23:41 -07:00
dingusdev
277be165b6
Merge pull request #67 from mihaip/upstream-power
...
Fix emulation of doz, dozi, and nabs POWER instructions
2023-12-01 07:48:38 -07:00