2570 Commits

Author SHA1 Message Date
joevt
ff3e66ecd7 adbmouse: Use parameter for buttons state.
- Rename the parameter from buttons_state to buttons so it is not
  confused with the class data member.

- AdbAppleJack triggers should affect mouse button state in register 0.
  That means AdbMouse::get_register_0 needs to use the buttons parameter
  instead of the buttons_state class data member.
2026-03-12 20:50:35 -07:00
joevt
626497bdc0 adbapplejack: Rename buttons_state.
So that it is not confused with buttons_state of AdbMouse.
2026-03-12 20:50:28 -07:00
Maxim Poliakovski
0b018bd0a4 scsihd: use generic START_STOP_UNIT. 2026-03-12 01:59:23 +01:00
Maxim Poliakovski
9505745006 scsiblockcmds: generic START_STOP_UNIT. 2026-03-12 01:59:23 +01:00
Maxim Poliakovski
b62bb5ffa4 blockstoragedevice.h: fix indentation. 2026-03-10 16:32:45 +01:00
Maxim Poliakovski
46901d8d03 scsihd: use generic PREVENT_ALLOW_MEDIUM_REMOVAL. 2026-03-10 16:32:45 +01:00
Maxim Poliakovski
cb1e318a28 scsiblockcmds: generic PREVENT_ALLOW_MEDIUM_REMOVAL. 2026-03-10 16:32:45 +01:00
Maxim Poliakovski
93bca96794 scsiphysinterface.h: add set_eject_state method. 2026-03-10 16:32:45 +01:00
joevt
917eec6ff4 CMakeLists.txt: Fix testppc copy command.
The destination of the .csv files should be that of the testppc
executable, not the dingusppc executable.

On Apple platform, the dingusppc executable may be a bundle and copying
the .csv files into the bundle causes a code signing error.
2026-03-10 07:10:11 -07:00
Maxim Poliakovski
954a277bb3 scsihd: remove stub for REASSIGN. 2026-03-10 01:12:51 +01:00
Maxim Poliakovski
202446025a scsiphysdevice: implement writing of big data in chunks. 2026-03-10 00:41:45 +01:00
Maxim Poliakovski
f2a9f3cb56 scsi.h: add write_more_data callback. 2026-03-10 00:41:31 +01:00
Tim Jarzombek
ad4515721b amic: Emulate SCC receive DMA registers instead of returning random values.
The SCC DMA Receive control registers previously returned std::rand(),
a workaround to unblock Mac OS 8.5/8.5.1 boot which polls these
registers expecting specific bit patterns. This caused non-deterministic
bimodal boot times (~10s vs ~18s) on Power Mac 6100 as the guest would
sometimes enter a ~7s polling loop depending on the random value.

Add AmicSerialRcvDma to properly track the control register and byte
count state for both SCC receive channels. Writes now update the status
byte using the same bit manipulation as the transmit DMA channels, and
reads return the tracked state. Also wire up the RX byte count registers
(SCC_RXA/B_Byte_Cnt_Hi/Lo) which were previously ignored on write.
2026-03-08 18:34:00 -07:00
dingusdev
3decd4b9fc Cuda improvements
* Implements missing Cuda commands
* Proper One Second Mode handling
* Add Stat Response ADB bit
* Typo fixes

Co-Authored-By: Tim Jarzombek <tim@jarz.net>
2026-03-08 16:26:47 -07:00
joevt
16117e6c60 escc: Add channel and direction enums.
Also fix dma_ch index in dma_out_tx, dma_flush_tx.
2026-03-08 10:54:09 -07:00
joevt
9bae84ff07 z85c30: Cleanup and missing info. 2026-03-08 10:51:09 -07:00
joevt
4ca03953d7 ppcemu: Fix EAR spr exception. 2026-03-08 10:42:22 -07:00
joevt
dd31610013 viacuda: Increase input buffer size to 259 bytes. 2026-03-08 10:13:08 -07:00
dingusdev
8b2c0b0de9 Slightly safer way to use read_more_data 2026-02-24 18:51:54 -07:00
Maxim Poliakovski
6075807998 scsihd: use new MODE SENSE implementation. 2026-02-23 18:34:31 +01:00
Maxim Poliakovski
9d5373120d scsiblockcmds: fix parameters for error recovery page. 2026-02-23 16:12:28 +01:00
Maxim Poliakovski
6c29738441 scsihd: pass reads and writes to ScsiBlockCmds. 2026-02-23 03:58:45 +01:00
Maxim Poliakovski
a8ff30ef36 New class ScsiBlockCmds. 2026-02-23 03:50:16 +01:00
Maxim Poliakovski
20dfe798ac scsicommoncmds: implement generic MODE SENSE. 2026-02-23 03:12:59 +01:00
Maxim Poliakovski
1a8d691777 scsi.h: more mode sense page codes. 2026-02-23 01:48:09 +01:00
Maxim Poliakovski
34b4d6387d blockstoragedevice: clean up and add write support. 2026-02-23 01:09:23 +01:00
Maxim Poliakovski
9ca3e5e870 scsiphysinterface.h: more callbacks. 2026-02-23 00:40:56 +01:00
Maxim Poliakovski
0d25f6dc33 scsi.h: rename READ_CAPACITY_10 to READ_CAPACITY. 2026-02-22 23:48:28 +01:00
Maxim Poliakovski
2735449c75 scsiphysdevice: fix send_data() again to support big transfers. 2026-02-22 22:23:03 +01:00
Maxim Poliakovski
6092882a45 ppcopcodes: fix bit test in eciwx/ecowx. 2026-02-22 18:17:29 +01:00
Maxim Poliakovski
345bcf8a73 scsiphysdevice: remove prepare_data method.
Clean up and simplify buffer setup for various
data transfer phases.
2026-02-19 02:42:59 +01:00
Maxim Poliakovski
6e18241be6 scsiphysinterface: add set_buffer method. 2026-02-19 02:33:29 +01:00
Maxim Poliakovski
a9fcde836c Replace get_more_data method with a callback. 2026-02-17 16:06:00 +01:00
Maxim Poliakovski
b52a7bebbc scsiphysdevice.cpp: improve send_data() method. 2026-02-17 16:06:00 +01:00
Maxim Poliakovski
6033f75521 scsicommoncmds: minor fixes. 2026-02-15 21:15:50 +01:00
Maxim Poliakovski
2ea8fee204 blockstoragedevice: switch parameter for set_fpos to uint64_t. 2026-02-15 21:15:50 +01:00
Maxim Poliakovski
25a5f193ba blockstoragedevice: assign default value to the 2nd param of read_begin. 2026-02-15 21:15:50 +01:00
dingusdev
d9bcb47beb Set up code for Mac OS X bundles 2026-02-15 21:15:50 +01:00
Tim Jarzombek
398e0b025d Fix bugs caught by fuzzing 2026-02-12 21:11:11 -05:00
Maxim Poliakovski
cbff26539a scsi.h: add constants for page control in MODE SENSE. 2026-02-12 01:23:00 +01:00
Maxim Poliakovski
8a280f71ab Move page numbers for MODE SENSE to scsi.h 2026-02-12 01:06:34 +01:00
Tim Jarzombek
3545296e3a ci: add macOS (arm64 and x64), general refactor (#163)
- Adds macOS builds on arm64 and x64
- Caching to improve build speeds
- Upload build logs on failure
- Retain PR artifacts for 7 days, others for 30 days
2026-02-09 07:22:50 -07:00
joevt
b182e01218 viacuda: Avoid float in VIA timer calculations.
- float is limited to 24 bits so use longer uint32_t or uint64_t.
- Rename the formal parameter so it more closely matches the actual
  parameter. Also, don't hide the class field.
- Multiply is faster than divide.
2026-02-07 20:51:48 -07:00
Maxim Poliakovski
200a2aa9a7 Move SCSI devices to new architecture.
That implies a clear separation between implementation
of the SCSI commands and the physical device layer.
2026-02-08 02:38:02 +01:00
Maxim Poliakovski
470c9a32f5 Implement common SCSI commands in a separate class. 2026-02-08 02:22:23 +01:00
Maxim Poliakovski
44343ad591 New interface for physical SCSI/ATAPI layer abstraction. 2026-02-08 02:22:23 +01:00
Maxim Poliakovski
022d5e4e00 scsi.h: add enum for device capabilities. 2026-02-07 03:00:09 +01:00
Maxim Poliakovski
3dde616c57 scsihd.h: add missing overrides. 2026-02-06 21:57:51 +01:00
Maxim Poliakovski
b82dae7ad6 scsihd: remove unused send_diagnostic() stub. 2026-02-04 19:15:37 +01:00
Maxim Poliakovski
924cc5ed97 scsi.h: remove definitions for vendor specific commands. 2026-02-04 18:52:01 +01:00