1204 Commits

Author SHA1 Message Date
Maxim Poliakovski
ba030abb3b scsihd: don't return error for DEFAULT VALUES in MODE_SENSE_6.
Page control 2 (DEFAULT VALUES) in MODE_SENSE_6 may not fail.
2025-04-01 04:02:51 +02:00
Maxim Poliakovski
df5c1758d5 sc53c94: don't generate Bus Service int when asserting DREQ.
Generating Bus Service interrupt while asserting DREQ breaks
the Old SCSI API and the applications that depend on it.
2025-04-01 04:02:14 +02:00
Maxim Poliakovski
b5edd8347e dbdma.h: add missing 'override'. 2025-04-01 04:02:14 +02:00
Maxim Poliakovski
ed433c0476 scsibusctrl: add missing 'override'. 2025-04-01 04:02:14 +02:00
Maxim Poliakovski
fb03c214ae sc53c94: add missing 'override'. 2025-04-01 04:02:14 +02:00
Maxim Poliakovski
503c6ea662 sc53c94: fix DMA transfers for BeOS.
Mac OS SCSI Manager starts the DMA engine after issuing
a data transfer command to the controller. The device will
assert REQ, then sit and wait for the DMA engine to transfer
data.
Be OS driver does that in the reverse order: the DMA engine
is initialized first, then the controller is instructed to
transfer data.
This commit adds support for both ways.
2025-04-01 04:01:26 +02:00
Maxim Poliakovski
2d61e4c604 dbdma: implement new DmaChannel methods. 2025-04-01 04:01:26 +02:00
Maxim Poliakovski
03bb03fdd5 dmacore: extend DmaChannel API. 2025-04-01 04:01:26 +02:00
Maxim Poliakovski
c10183b58f sc53c94: fix sequence step reporting for BeOS. 2025-04-01 04:00:44 +02:00
Maxim Poliakovski
be1b567b84 sc53c94: fix handling of multistep commands. 2025-04-01 04:00:44 +02:00
Maxim Poliakovski
237f983493 sc53c94: correct status register emulation. 2025-04-01 04:00:44 +02:00
Maxim Poliakovski
2a3e46eab4 memctrlbase: overload add_ram_region()
to accept externally allocated memory.
2025-04-01 03:05:46 +02:00
joevt
d4d19e880c Update Inquiry methods.
ScsiCdrom has an inquiry method that overloads a method in CdromDrive. Make it so that it's a valid override (not overloaded).
For CdromDrive, allow inquiry method to work with lengths <> 36 like the SCSI versions.
For ScsiHarDisk, the inquiry method is not on override or an overload, but make it like the ScsiCdrom version anyway.
2025-03-30 09:40:05 -07:00
joevt
1166fda3e0 heathrow: Connect mesh. 2025-03-30 07:58:34 -07:00
dingusdev
4ac5fd4cb0 Minute documentation fixes 2025-03-29 10:47:28 -07:00
joevt
6da691fb02 atimach64gx: Change logging. 2025-03-29 10:35:59 -07:00
joevt
8f64d35210 atimach64gx: Fix logging. 2025-03-29 10:35:51 -07:00
joevt
61d73a5b79 atimach64gx: Add register reading methods.
In case they are needed in the future.
2025-03-29 10:30:59 -07:00
joevt
794a345e53 atimach64gx: Add logging for registers.
WRITE_VALUE_AND_LOG logs the value that was written to the register and the result that can be read from the register. Use this if you need to write the register before acting upon the changes to the register and use return instead of break to bypass the default path which also calls WRITE_VALUE_AND_LOG after the switch statement.
2025-03-29 10:25:55 -07:00
joevt
1c54cdd368 atimach64gx: Add logging to crtc_update. 2025-03-29 10:25:45 -07:00
joevt
026d53f275 atimach64gx: Log unmapped aperture region accesses. 2025-03-29 10:14:51 -07:00
joevt
ca20de9462 atimach64gx: Log rgb514 indirect register writes. 2025-03-29 10:14:40 -07:00
dingusdev
7893d0add7 More BigMac regs + descriptions 2025-03-29 08:58:19 -07:00
joevt
7f34504259 atimach64gx: Log I/O register accesses. 2025-03-29 07:07:46 -07:00
dingusdev
48fd95e284 Add additional BMAC registers 2025-03-28 21:38:33 -07:00
joevt
a0edc825fb macio: Add comment for MIO_OH_FC_IN_USE_LED flag. 2025-03-25 21:44:35 -07:00
joevt
20e7dfb0e1 macio: Log unsupported DMA channels once.
For debugging. No need to spam the log.
2025-03-25 21:39:49 -07:00
joevt
83066bbf5f memctrlbase: Return entry instead of bool. 2025-03-24 07:29:31 -07:00
joevt
637c20e3cf grandcentral: Handle bit-flipping of MAC address.
If the ENET ROM begins with 0x10, then the bits of each byte are flipped 7..0 -> 0..7 which means the MAC address will begin with 0x08.
A MAC address beginning with 0x08 can be bit-flipped or not bit-flipped.
A MAC address cannot begin with 0x10.
I have a `dump-device-tree` output for a Power Mac 9500 with MAC address beginning with 08-00-07 (OUI for "Apple, Inc."). I don't know if it's using the bit-flipped ROM (starting with 10) or not bit-flipped ROM (starting with 08).
Most of the other `dump-device-tree` outputs I've seen have a MAC address beginning with an OUI for "Apple, Inc." that begins with 00.
2025-03-24 06:39:55 -07:00
Rairii
60c95231ee atimach64gx: Don't allow pitch to be zero. 2025-03-22 21:00:18 -07:00
dingusdev
10f087be65 Maintenance on ATI Rage code 2025-03-21 07:52:04 -07:00
joevt
392f6cdcd3 mpc106: Document flash ROM related registers. 2025-03-21 07:30:18 -07:00
joevt
d300a31fa7 swim3: Ensure 32-bit multiply result. 2025-03-15 16:26:31 -07:00
dingusdev
9874aa1dfc Small bit of clean-up for PDM Video 2025-03-14 14:39:54 -07:00
dingusdev
08f67c010c Add get_type_str + get_entry+str
Co-Authored-By: joevt <950609+joevt@users.noreply.github.com>
2025-03-14 10:43:37 -07:00
joevt
cf0d78fe98 debugger: add regions command.
To dump the list of memory regions.
2025-03-14 10:31:57 -07:00
Maxim Poliakovski
8aede43f91 scsidevice: remove dead code. 2025-03-14 17:52:48 +01:00
Maxim Poliakovski
a7386a648e macio.h: remove unused class members. 2025-03-14 17:52:48 +01:00
joevt
98925a39b9 Code clean-up part 2. 2025-03-13 06:14:35 -07:00
dingusdev
77503df677 Code clean-up 2025-03-12 07:58:32 -07:00
dingusdev
0146e1a1cc Revert "swim3: Rename int_drive and fix mode change."
This reverts commit de4580d07cc4d336f7e3bb40efe6301a2408362d.
2025-03-10 20:07:17 -07:00
joevt
de4580d07c swim3: Rename int_drive and fix mode change.
Rename int_drive to drive_1 or selected_drive which is selected by a new mode_change method.

mode_change fixes some logic issues with the original code with regards to changes to SWIM3_GO and SWIM3_GO_STEP bits.
2025-03-10 19:57:21 -07:00
joevt
6c4e97deac adbmouse: Move handler 1 check. 2025-03-10 07:58:07 -07:00
joevt
89580103fb adbmouse: Fix bug with 5 or more buttons. 2025-03-10 07:56:55 -07:00
joevt
d2aee8af0f awacs: Fix "Add stubs for missing AWACS regs". 2025-03-10 06:51:01 -07:00
joevt
3da972ddc9 Add missing this. 2025-03-10 06:49:37 -07:00
dingusdev
baa36cf571 Preparing Alpha 1.02 release 2025-03-09 14:36:36 -07:00
joevt
ccea8ae8d1 Fix spelling of NuBus. 2025-03-08 18:19:48 -07:00
dingusdev
6664219057 Add stubs for missing AWACS regs 2025-03-08 18:17:46 -07:00
Mihai Parparita
a6e1b8c338 Add CLI flag to allow setting of OpenFirmware environment variables
Allows enabling of verbose booting via the command-line interface (instead of having to drop into the interactive debugger).
2025-03-02 16:10:01 -08:00