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
Maxim Poliakovski
94872b3ebb
Store SCSI bus object pointer during registration.
2023-11-24 19:48:07 +01:00
Maxim Poliakovski
9ae863d7c4
sc53c94: add is_dma_cmd member variable.
2023-11-24 19:48:07 +01:00
Maxim Poliakovski
457accf329
scsi: define READ_BUFFER and WRITE_BUFFER commands.
2023-11-24 19:48:07 +01:00
Maxim Poliakovski
b9c1ecf65f
Merge pull request #66 from mihaip/upstream-pending-events
...
Fix keyboard events occasionally being dropped
2023-11-24 19:17:51 +01:00
Mihai Parparita
d08b486db0
Fix keyboard events occasionally being dropped
...
AdbKeyboard would copy the event into its own fields and set the
changed field, so that we could return the event when register was 0.
However, if a subsequent event was received before ADB polling, the
previous event would be overwritten and lost.
Fix this by maintaining a queue of events, so that we can return
everything since the last poll.
2023-11-24 10:08:16 -08:00
Maxim Poliakovski
d37d83c5b6
Merge pull request #64 from mihaip/upstream-a-key
...
Fix "a" key always being as as a keyup
2023-11-24 11:35:18 +01:00
Mihai Parparita
d45bba924d
Fix "a" key always being as as a keyup
...
We were using an empty value on the second byte of the ADB keyboard
register 0, but that maps to the "a" key. This manifested itself
as the Key Caps DA never showing the "a" key as being down.
Switch to a non-existent key for the second byte.
2023-11-23 22:39:06 -08:00
dingusdev
69f7fbe703
Update README.md
...
More accurately reflects DPPC's current status
2023-11-23 20:59:49 -07:00
dingusdev
4753ba5361
Continued clean-up
2023-11-23 16:56:58 -07:00
Maxim Poliakovski
ada68ffc71
machinegossamer: add primary IDE hard disk drive.
2023-11-22 17:35:14 +01:00
Maxim Poliakovski
446b1b8d99
atahd: various improvements implementing basic commands.
2023-11-22 17:35:14 +01:00
Maxim Poliakovski
27ff05607c
atadefs: bit definitions for the device/head register.
2023-11-22 17:35:14 +01:00
Maxim Poliakovski
f2558cd379
atabasedevice: data transfers to host.
2023-11-22 17:35:14 +01:00
Maxim Poliakovski
4f76a4ead2
Move signal_data_ready() to atabasedevice.
2023-11-22 17:35:14 +01:00
dingusdev
7835aec034
Further CPU cleanup
2023-11-21 08:06:50 -07:00
dingusdev
f4f035682c
Fixed cfloat include
2023-11-19 20:34:40 -07:00
dingusdev
d1f9b5631a
Added missing include for cfloat
2023-11-19 20:07:00 -07:00