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
Mihai Parparita
1b4de3b64e
Fix emulation of doz, dozi, and nabs POWER instructions
...
doz and dozi were storing the result into the wrong register.
nabs was not taking into account two's complement storage of numbers
and was just setting the signed bit.
These two instructions are used in the implementation of text
measurement in native QuickDraw on 7.1.2/the PDM ROM, and the incorrect
values were resulting in nothing being rendered. With the fix text
appears when booting from the 7.1.2 CD.
2023-12-01 01:34:12 -08:00
Maxim Poliakovski
a1d8f8aa4e
ppctests: fix test cases with SNaN/QNaN operands.
2023-11-30 17:44:46 +01:00
Maxim Poliakovski
8c3dfe94c7
ppcfpopcodes: infinities should set FPCC_FUNAN.
2023-11-30 12:53:10 +01:00
Maxim Poliakovski
0a9107b602
ppcfloattests.csv: remove unrelated CR7 changes.
2023-11-30 12:28:32 +01:00
Maxim Poliakovski
680cab52f3
ppcfpopcodes: fix ppc_fadds.
2023-11-30 12:06:44 +01:00
Maxim Poliakovski
6abb07e61b
Add rounding control for the host FPU.
2023-11-30 12:06:44 +01:00
Maxim Poliakovski
b59c2be12d
ppcfpopcodes: fix fpresult_update().
2023-11-30 12:06:44 +01:00
Maxim Poliakovski
d49d03846f
ppcemu: fix and beatify FPSCR enum.
2023-11-30 12:06:44 +01:00
Maxim Poliakovski
b51670cb25
ppcfpopcodes: improve mffs, mtfsb0 and mtfsb1.
2023-11-30 12:06:44 +01:00
Maxim Poliakovski
487c6c2c7c
ppcfpopcodes: remove dead code.
2023-11-30 12:06:44 +01:00
dingusdev
87b8a8e0a0
Correcting multiply tests
2023-11-28 19:02:48 -07:00
Maxim Poliakovski
47e0c23e64
Fix CR1 updates for floating-point instructions.
2023-11-28 16:31:51 +01:00
dingusdev
dd454689e0
Fixes for condition reg move instructions
2023-11-28 07:06:04 -07:00