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
Maxim Poliakovski
0570513ff1
scsicdrom: remove vendor specific commands.
2026-02-04 18:52:01 +01:00
Maxim Poliakovski
fd8d89b711
scsi.h: set subtype for ScsiSense and ScsiError to uint8_t.
2026-02-04 17:58:55 +01:00