Maxim Poliakovski
f9338b8dd9
pcihost: broadcast I/O requests to PCI-to-PCI bridges.
2024-08-11 15:51:06 +02:00
Maxim Poliakovski
20b2fb1bef
viacuda: refactor emulation of the VIA registers.
...
Take the DDRA and DDRB registers into account as well because
there is software that tries to change state of the pins configured
as inputs.
This commit fixes Cuda for Rhapsody.
2024-08-04 21:43:06 +02:00
Maxim Poliakovski
f096eef66d
viacuda.h: cosmetic improvements.
2024-08-04 21:43:06 +02:00
Rairii
4d7c520f18
adbmouse: only send first two bytes in standard/classic protocol as per spec
...
Fixes any mouse driver that only supports the classic protocol and expects register 0 reads to return two bytes.
2024-07-29 11:37:54 +01:00
joevt
7fdfd6109f
atabasedevice: Set dev_id.
...
Extracted from @Wack0's Wack0/dingusppc-nt@529991bd78
Co-authored-by: Rairii <2650838+Wack0@users.noreply.github.com>
2024-07-27 09:10:28 -07:00
dingusdev
7d6e87a0d3
Add stub for setting power messages
2024-07-26 07:31:31 -07:00
Maxim Poliakovski
8d6f77ea71
mesh: implement EnaParityCheck and DisParityCheck commands.
2024-07-25 22:18:43 +02:00
Maxim Poliakovski
19ecc4f945
mesh: fix writes to BusStatus0 & BusStatus1 registers.
2024-07-24 17:50:02 +02:00
Maxim Poliakovski
babd8d974f
dbdma: fix cmd.resCount update.
2024-07-22 17:45:48 +02:00
Maxim Poliakovski
9fc5bbb951
sc53c94: fix interrupt status for CMD_MSG_ACCEPTED.
2024-07-19 03:38:55 +02:00
Maxim Poliakovski
289a14dc7a
scsidevice: release REQ before MESSAGE_IN phase.
2024-07-15 07:15:49 +02:00
Maxim Poliakovski
ba9fcd100d
mesh: extend stub to a full implementation.
2024-07-15 03:34:43 +02:00
Maxim Poliakovski
889dc32a0a
New base class for SCSI host controllers.
2024-07-15 03:28:45 +02:00
Maxim Poliakovski
4a425c4ecf
dbdma: introduce new DMA API.
2024-07-15 02:09:15 +02:00
Maxim Poliakovski
293e869acb
dbdma: break long lines.
2024-07-15 02:09:15 +02:00
Maxim Poliakovski
55f91c5d3f
scsicdrom: use READ_TOC implementation from cdromdrive.cpp
2024-07-15 01:28:42 +02:00
Maxim Poliakovski
0831182e39
scsihd: remove duplicated code.
2024-07-14 23:33:43 +02:00
Maxim Poliakovski
26153ca8ea
scsihd: use ScsiError contants wherever applicable.
2024-07-14 23:12:53 +02:00
Maxim Poliakovski
7855770ca7
Use ScsiError constants instead of magic numbers.
2024-07-14 17:22:31 +02:00
dingusdev
606c9dd9a8
More compiler warning fixes
2024-06-24 19:40:20 -07:00
dingusdev
d3096ebaac
Fixing compiler warnings, pt. 1
2024-06-21 08:01:21 -07:00
dingusdev
a95b06f703
Minor code clean-up
2024-05-08 07:07:32 -07:00
Maxim Poliakovski
971f6d79be
scsicdrom: reduce code duplication.
2024-05-07 08:37:52 +02:00
Maxim Poliakovski
ed67ab81a3
scsicdrom: switch off info log in INQUIRY.
2024-05-07 08:37:52 +02:00
Maxim Poliakovski
07304781ea
scsicdrom: improve MODE_SELECT_6 stub.
2024-05-07 08:37:52 +02:00
joevt
59fba285b5
adbmouse: Add tablet and more bits and buttons.
...
Add absolute coordinates for tablets. Absolute coordinates is relative to window so it can't work for multiple displays? Doesn't work for single display without mouse driver modification.
Add arbitrary number of buttons. Previously, only one mouse button was supported.
Add arbitrary number of bits. Previously, only 7 bits per axis was supported which is good enough for relative movement but not absolute movement.
2024-05-06 06:49:15 -07:00
joevt
11d61359c1
dbdma: Add data callbacks.
...
Allow the dbdma program to initiate reading/writing by adding in and out callbacks.
Support the DBDMA flush command by adding a flush callback. If the transfer completes, then clear the flush flag, otherwise leave it unchanged.
Clear the flush flag after it is copied to the xferStatus of the DBDMA command.
2024-04-24 07:09:56 -07:00
joevt
861c2d4f04
athens: Allow P2_MUX bit 6 to be 1.
...
For modes 12 inch RGB 512x384@60 and VGA 800x600@72.
2024-04-24 06:48:27 -07:00
joevt
76f966845d
viacuda: Use timer ids instead of timer flags.
2024-04-23 06:44:02 -07:00
joevt
8d7ca7fb03
scsibus: Use bus name in log messages.
2024-04-22 07:50:01 -07:00
joevt
bc691a9d86
scsibus: Check for invalid target_id.
2024-04-22 07:48:37 -07:00
joevt
a22bc34816
viacuda: Fix get/set time and one sec modes.
...
The first packet the one sec mode should send is a mode 1 real time packet, same as GET_REAL_TIME.
A mode 2 packet is the same but doesn't include the time.
2024-04-22 07:22:49 -07:00
joevt
2b76d8a53a
viacuda: Remove parameters from pseudo_command.
...
They are incomplete or unused (includes cmd and count but not the data and the count isn't used). Might as well get everything from the class fields in_buf and in_count.
2024-04-22 07:11:22 -07:00
Maxim Poliakovski
3aad040f28
mesh: improve exception register emulation.
2024-04-21 23:04:12 +02:00
Maxim Poliakovski
e94be9acee
scsibus: break long lines, fix indentation.
2024-04-21 23:04:12 +02:00
joevt
a5241d27c1
viacuda: Cleanup.
2024-04-21 06:03:32 -07:00
joevt
4479ecb1bb
viacuda: One exit path for read.
2024-04-21 06:03:17 -07:00
joevt
b454ab45fe
viacuda: Spelling.
2024-04-21 06:02:52 -07:00
joevt
d06d80619e
viacuda: Add 1 Sec Timer, fix Get/Set Real Time.
...
GET_REAL_TIME was using the wrong offset and wasn't setting out_count.
May need to add time zone offset which could be different between host and guest.
get-time and set-time can be tested in Open Firmware.
SET_REAL_TIME is used by the Date/Time Control Panel when you change the date.
It is unknown what method Mac OS uses to get the time at boot. Mac OS 8.6 does not use GET_REAL_TIME during boot, so the time is left as 12:00 AM Jan 1, 1904.
2024-04-21 06:01:40 -07:00
Maxim Poliakovski
781d9b46da
athens: allow setting custom XTAL frequency.
2024-04-15 14:38:46 +02:00
Maxim Poliakovski
ffa221192d
athens: use component's name in logging messages.
2024-04-15 14:21:08 +02:00
Maxim Poliakovski
751f964139
athens: clean up initialization.
2024-04-15 14:21:08 +02:00
joevt
1d75730d44
dbdma: Do interrupt on main thread.
...
These may be triggered by other threads (such as for audio) so use the timer manager to handle them in the main thread.
2024-04-10 19:17:49 -07:00
joevt
95d74a6940
scsihd: Check Lun for INQUIRY.
...
INQUIRY now returns 0x7f for device type if LUN doesn't match. INQUIRY can get LUN from CDB or from IDENTIFY message.
2024-04-10 19:02:01 -07:00
Mihai Parparita
cf4913deb0
bandit: Fix regression in non-Aspen PCI bridge
...
Refactor from e7da98b6bd
accidentally
made the non-Aspen PCI code path for CONFIG_ADDR writes by a no-op.
2024-04-08 15:41:19 -05:00
Maxim Poliakovski
e7da98b6bd
bandit: implement Aspen style PCI bridge.
2024-04-08 00:44:24 +02:00
Maxim Poliakovski
dcdfaabedf
dbdma: skip transfer commands with reqCount=0.
2024-04-07 20:39:24 +02:00
Maxim Poliakovski
19dcb43658
pcibase.h: remove superfluous spaces.
2024-04-07 18:48:52 +02:00
joevt
077e6ebae5
machineid: Don't decode board register address.
...
All addresses return the same value. Converted for Board Register 1 and Board Register 66.
2024-04-03 19:53:03 -07:00
joevt
abe0c14301
scsibus: push_data of zero bytes is ok.
...
It just means the data hasn't been put on the fifo yet.
2024-04-03 19:51:50 -07:00