MARCHintosh 2026 Projects

  • Board Nominations
    Nominations have now closed and the results are available here.
  • Hey Guest, MARCHintosh 2026 is upon us. Check out community projects, join GlobalTalk, and have fun!
Nov 4, 2021
133
106
43
Tucson, AZ
I haven't tested whether I can do FireWire networking with a Mac, or use the Pi as a Target Disk Mode disk or something like that—would be awesome to make a Pi a little FireWire swiss army knife for G3-G5 era PowerPC Macs (and even a few early Intel models...).
OMG, a "Blue1394" could be really useful for PPC era Macs. Linux looks like is has the support in the kernel to do it but the config interface isn't there.
Time to dive into the PiSCSI rabbit hole....
 

joevt

Tinkerer
Mar 5, 2023
267
104
43
A Mac in FireWire Target Disk Mode should look like a FireWire mass storage device to Linux?
The FireWire mass storage device that the Mac in FireWire Target Disk Mode is pretending to be should have a LUN for each disk (block device) in the Mac (only the block devices that are usable by Open Firmware).
 

eric

Administrator
Staff member
Sep 2, 2021
1,216
2,096
113
MN
bluescsi.com
New World Builder game
1774708009694.png


 

Mr_Anomalya

New Tinkerer
Mar 28, 2026
2
3
3
Just so I get to participate for the first time, I got wireless postscript printing working on my Classic II.

I also managed to get Netscape Navigator 2.0's e-mail management function to work, both send and receive, albeit that was back in late February.
 

Attachments

  • unnamed.jpg
    unnamed.jpg
    821.4 KB · Views: 11

ftech

New Tinkerer
Mar 31, 2025
19
22
3
It is late in March but it's not to late for sharing my Marchintosh project! I have made a small lib that pops up a console window to log any data from your C code. It can be very useful for quickly debugging without having to open the debugger.

You will find more info in this other post.

You can see the console at the bottom of the screenshot.

Picture_1.jpg
 
Nov 4, 2021
133
106
43
Tucson, AZ
OMG, a "Blue1394" could be really useful for PPC era Macs. Linux looks like is has the support in the kernel to do it but the config interface isn't there.
Time to dive into the PiSCSI rabbit hole....
sbp_target on Linux exists and seems to mostly work. I can share images from a fresh Debian Linux install (kernel 6.12) to a PowerBook G4 running 10.4.11 and even boot from them. Installing Tiger to a FW hard drive image fails most of the way through the installation, but it does successfully boot the installer over the same FW connection. One quirk I've noticed so far is that OpenFirmware seems to only probe LUN0, but MacOS sees them all so only 1 virtual drive will be bootable.
This looks totally feasible once the FW hat is available on Crowd Supply. Fun!
 

joevt

Tinkerer
Mar 5, 2023
267
104
43
sbp_target on Linux exists and seems to mostly work. I can share images from a fresh Debian Linux install (kernel 6.12) to a PowerBook G4 running 10.4.11 and even boot from them.
So Linux already has a FireWire Target Disk Mode capability.

One quirk I've noticed so far is that OpenFirmware seems to only probe LUN0, but MacOS sees them all so only 1 virtual drive will be bootable.
Open Firmware appears to have code to scan a range of LUNs, but for some reason the range is set to [0]. Maybe Apple had a good reason, like it wasn't fully implemented (LUN in a device path doesn't work?), or multiple LUNs might cause problems, such as duplicate entries, or maybe a LUN might be misinterpreted as a partition or id? Or maybe scanning LUNs takes too much time? I don't think the Open Firmware code leaves the LUN loop if a LUN doesn't exist.

The table below is data in Open Firmware that describes the ranges to probe for IDs, LUNs, and Partitions.
Code:
4.9.6f0 (these numbers are in hex):
               scsi-8        scsi-16     scsi-extended                          ide        ata-4      sata        fw        usb           
ilp-id-num     8             10          scsi-range-high - scsi-range-low + 1   2          1          1           1         1               
ilp-id-off     0             0           scsi-range-low                         0          -1         -1          -1        -1          
ilp-lun-num    0             0           0                                      0          0          0           0         0               
ilp-lun-off    0             0           0                                      0          0          0           0         0               
ilp-part-num   21            21          21                                     21         21         21          21        21              
ilp-part-off   1             1           1                                      1          1          1           1         1               
ilp-businfo    bi-t-scsi     bi-t-scsi   bi-t-scsi                              bi-t-ata   bi-t-ata   bi-t-sata   bi-t-fw   bi-t-usb        
               bi-s-narrow   bi-s-wide   bi-s-extended

-num is the count to probe
-off is the starting number

3.1.0f1 to 4.7.1f1 probes partitions 1 to 25.
4.8.5f0 and later scans partitions 1 to 33.
FireWire booting was first added to 3.2.4f1.

An nvramrc patch can be used to change the range of LUNs and partitions to probe for each type of bus. We can then see how the LUN loop operates by enabling debug messages (setenv aapl,debug-bps true)
https://68kmla.org/bb/threads/updat...om-usb-from-the-boot-picker.48601/post-577228

But first check if the bus supports the LUN number correctly.
You can try using a device path that includes a LUN to see if the device can be opened.
disk@0,1:3
0 is the id (hex), 1 is the LUN (hex), 3 is the partition number (decimal).
ata-4, sata, fw, and usb don't have IDs because they create a device node for each device? But SCSI and IDE create a single device node for all their devices so an ID is needed in the device path to reference the correct physical device. In that case, I guess the id is always 0 or maybe it can be omitted.