Beige G3 RAM and PSU questions:

So, auto-eject MFM drives exist, but sounds like it could be an optional feature here.
yup, sparcstation floppy drives have auto-eject.

Right, so the Mac is looking for a Disk In Place signal - you can see that on the Gossamer schematics labelled MFDC_DIP_I. But regular PC drives do not output anything on pin 6.
hmm why not try a gotek floppy emulator? those are configurable depending on which firmware you have installed, and should support those two signals.

other than that you'd have to find an mfm floppy drive that has the complete shugart pinout... I think E-mu Emax samplers had this sort.
 
I grounded the Disk In Place and Media Density Select pins so that the Mac thinks theres always a high density disk inserted, but this didn't change anything.

Interestingly those pins (4+6) do go back to the controller IC on the floppy drive. Pin 4 is connected through a solder jumper labelled DNS, and is open by default.

TattleTech reports no drive, so it may be as @joevt says that the Heathrow is still looking for a GCR (Mac) drive and a register needs to be changed in OF.
 
I suppose we could modify the feature control bits and the device tree in Open Firmware. Connect via serial port, boot into Open Firmware with input-device and output-device set to ttya:57600, type dl to begin download, paste the code below (the text is not echoed which makes it faster than a normal paste), then press Control-D to execute the pasted code.

I pasted in your code successfully and it does seem to successfully modify the device tree, but the end result is that the floppy drive still doesn't work.

Here's my output:

Code:
Open Firmware, 2.4
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > dev / ls

Children of the node:
FF82EA78: /                             [AAPL,PowerMac G3 MacRISC]

Node Adr    Node Name                     Compatible

FF82FEE0: /cpus@0
FF82FFF8:   /PowerPC,60?@0
FF8308F0: /chosen@0
FF830A20: /memory@0
FF830B68: /openprom@0
FF830C28: /AAPL,ROM@FFC00000           [AAPL,ROM]
FF830E70: /options@0
FF8316B8: /aliases@0
FF8319F8: /packages@0
FF831A80:   /deblocker@0,0
FF8322F8:   /disk-label@0,0
FF832DE8:   /obp-tftp@0,0
FF835810:   /mac-files@0,0
FF837B68:   /mac-parts@0,0
FF838D50:   /aix-boot@0,0
More [<space>,<cr>,q] ?


FF839258:   /fat-files@0,0
FF83AC68:   /iso-9660-files@0,0
FF83B778:   /xcoff-loader@0,0
FF83C1B0:   /terminal-emulator@0,0
FF83C248: /pci@80000000                [grackle]
FF83D748:   /mac-io@10                 [heathrow]
FF83EAA0:     /mesh@10000              [mesh]
FF840B30:       /sd@0,0                [sd]
FF841880:       /st@0,0                [st]
FF8426E8:     /bmac@11000              [bmac]
FF844E28:     /escc@13000              [escc CHRP,es0]
FF844FC0:       /ch-a@13020            [ch-a CHRP,es2]
FF8456D0:       /ch-b@13000            [ch-b CHRP,es3]
FF845DE0:     /davbus@14000
FF845EC8:       /sound@0,0             [awacs screamer]
FF845FB8:     /swim3@15000             [swim3]
FF8476C0:     /nvram@60000             [nvram]
FF8477B8:     /ide@20000               [heathrow-ata]
FF849988:       /disk@0,0              [ata-disk atapi-disk]
FF84BC20:       /disk@0,0              [ata-disk atapi-disk]
FF84DF08:     /ide@21000               [heathrow-ata]
FF8500D8:       /disk@0,0              [ata-disk atapi-disk]
FF852370:       /disk@0,0              [ata-disk atapi-disk]
FF854658:     /via-cuda@16000          [via-cuda]
FF8557D8:       /adb@0,0               [adb]
FF8558F0:         /keyboard@0,0
FF856310:         /mouse@1,0
FF8565D0:       /pram@0,0
FF856680:       /rtc@0,0               [rtc]
FF856BB0:       /power-mgt@0,0         [power-mgt]
FF857A38:   /ATY,mach64_3DUPro@12
FF85C8C0:   /ATY,Rage6p@D
FF87F708:   /Seri-Tek1S2@F             [Sil3112A]
FF8851E0:     /sd@0,0
FF856F10: /perch@0                     [Wings]
 ok
0 > dl
Ready for download.  Send file then type ^D
 ok
0 > unselect-dev  ok
0 >   ok
0 > : !unprotected ( val addr -- ) ! ;  ok
0 > : parent >dn.parent @ ;  ok
0 > : delete-node  ok
0 ]  >r  ok
0 ]  r@  ok
0 ]  >dn.peer-nxt  ok
0 ]  @  ok
0 ]  r@  ok
0 ]  =  ok
0 ]  if  ok
1 ]   0  ok
1 ]   r@  ok
1 ]   parent  ok
1 ]   >dn.child  ok
1 ]   !unprotected  ok
1 ]  else  ok
1 ]   r@  ok
1 ]   parent  ok
1 ]   >dn.child  ok
1 ]   dup  ok
1 ]   @  ok
1 ]   r@  ok
1 ]   =  ok
1 ]   if  ok
2 ]    r@  ok
2 ]    >dn.peer-nxt  ok
2 ]    @  ok
2 ]    swap  ok
2 ]    !unprotected  ok
2 ]   else  ok
2 ]    drop  ok
2 ]   then  ok
1 ]   r@  ok
1 ]   >dn.peer-nxt  ok
1 ]   @  ok
1 ]   r@  ok
1 ]   >dn.peer-bak  ok
1 ]   @  ok
1 ]   >dn.peer-nxt  ok
1 ]   !unprotected  ok
1 ]   r@  ok
1 ]   >dn.peer-bak  ok
1 ]   @  ok
1 ]   r@  ok
1 ]   >dn.peer-nxt  ok
1 ]   @  ok
1 ]   >dn.peer-bak  ok
1 ]   !unprotected  ok
1 ]  then  ok
0 ]  r>  ok
0 ]  drop  ok
0 ]  ;  ok
0 >   ok
0 > " /pci/mac-io/swim3" find-package if delete-node then  ok
0 >   ok
0 > dev /aliases  ok
0 > " fd" delete-property  ok
0 > " /pci/mac-io/fdc" encode-string " fd" property  ok
0 >   ok
0 > dev /pci/mac-io  ok
0 > new-device  ok
0 > " fdc" device-name  ok
0 > " block" device-type  ok
0 > " floppy" aapl,connector  ok
0 > " fdc" compatible  ok
0 > 15000 h#100 encode-reg 8100 h#100 encode-reg encode+ "reg" property  ok
0 > 13 1 2 aapl,interrupts  ok
0 > -1 0d byte-load-file  ok
0 > finish-device  ok
0 > unselect-dev  ok
0 >   ok
0 > dl
Ready for download.  Send file then type ^D
 ok
0 > " fd" select-dev wi 9
wtw1cb 0
wtw1cb 0
wtw1cb 0
wtw1cb 0
wtwcb 0
wtwcb 0
wtwcb 0
wtw1cb 0
wtwcb 0
wtwcb 0
wtw1cb 0
wtwcb 0
wtwcb 0

select-dev: Cannot OPEN device fd
 ok
0 > dir fd wi 9
wtw1cb 0
wtw1cb 0
wtw1cb 0
wtw1cb 0
wtwcb 0
wtwcb 0
wtwcb 0
wtw1cb 0
wtwcb 0
wtwcb 0
wtw1cb 0
wtwcb 0
wtwcb 0
 unable to open the DIR device
 ok
0 > dev fd  ok
0 > hrfeaturecontrol@  8 u.r 09B6FFFB ok
0 > F3000038 rl@-flip 8 u.r 09B6FFFB ok
0 >

And here's the device tree after pasting your code:

Code:
Children of the node:
FF82EA78: /                             [AAPL,PowerMac G3 MacRISC]

Node Adr    Node Name                     Compatible

FF82FEE0: /cpus@0
FF82FFF8:   /PowerPC,60?@0
FF8308F0: /chosen@0
FF830A20: /memory@0
FF830B68: /openprom@0
FF830C28: /AAPL,ROM@FFC00000           [AAPL,ROM]
FF830E70: /options@0
FF8316B8: /aliases@0
FF8319F8: /packages@0
FF831A80:   /deblocker@0,0
FF8322F8:   /disk-label@0,0
FF832DE8:   /obp-tftp@0,0
FF835810:   /mac-files@0,0
FF837B68:   /mac-parts@0,0
FF838D50:   /aix-boot@0,0
FF839258:   /fat-files@0,0
FF83AC68:   /iso-9660-files@0,0
FF83B778:   /xcoff-loader@0,0
FF83C1B0:   /terminal-emulator@0,0
FF83C248: /pci@80000000                [grackle]
FF83D748:   /mac-io@10                 [heathrow]
FF83EAA0:     /mesh@10000              [mesh]
FF840B30:       /sd@0,0                [sd]
FF841880:       /st@0,0                [st]
FF8426E8:     /bmac@11000              [bmac]
FF844E28:     /escc@13000              [escc CHRP,es0]
FF844FC0:       /ch-a@13020            [ch-a CHRP,es2]
FF8456D0:       /ch-b@13000            [ch-b CHRP,es3]
FF845DE0:     /davbus@14000
FF845EC8:       /sound@0,0             [awacs screamer]
FF8476C0:     /nvram@60000             [nvram]
FF8477B8:     /ide@20000               [heathrow-ata]
FF849988:       /disk@0,0              [ata-disk atapi-disk]
FF84BC20:       /disk@0,0              [ata-disk atapi-disk]
FF84DF08:     /ide@21000               [heathrow-ata]
FF8500D8:       /disk@0,0              [ata-disk atapi-disk]
FF852370:       /disk@0,0              [ata-disk atapi-disk]
FF854658:     /via-cuda@16000          [via-cuda]
FF8557D8:       /adb@0,0               [adb]
FF8558F0:         /keyboard@0,0
FF856310:         /mouse@1,0
FF8565D0:       /pram@0,0
FF856680:       /rtc@0,0               [rtc]
FF856BB0:       /power-mgt@0,0         [power-mgt]
FF8ABE20:     /fdc@15000               [pex,fdc]
FF857A38:   /ATY,mach64_3DUPro@12
FF85C8C0:   /ATY,Rage6p@D
FF87F708:   /Seri-Tek1S2@F             [Sil3112A]
FF8851E0:     /sd@0,0
FF856F10: /perch@0                     [Wings]
 ok
0 >
 
I pasted in your code successfully and it does seem to successfully modify the device tree, but the end result is that the floppy drive still doesn't work.

Here's my output:

Code:
0 > dl
Ready for download.  Send file then type ^D
 ok
0 > unselect-dev  ok
0 >   ok
...
Looks like you pasted the code twice after the dl command? You should not see the code being pasted during dl. Maybe I should have added a message to the end of the pasted code to immediately show that the dl command does something. Add this to the end of the pasted code. Then, when you press Control-D to end the download, it should show done.
Code:
." done"

We could be missing a feature control bit MFDC_CELL_EN. This should maybe clear and set the specific bits required:
Code:
F3000038 rl@-flip 0fff7ffff and 0c000010 or F3000038 rl!-flip
 
The Heathrow ERS and Paddington ERS and Gossamer SW ERS and Gossamer HW ERS documents have more info about the feature control bits and the floppy signals. I think these can be found in the DingusPPC Discord's Documents channel.
Open in Preview.app and search for floppy|mfdc|mfm|gcr
 
I'm thinkin' we need to come up with a new title for what my little info request has become . . . a friggin' 4 page monster.:eek:
So much cool stuff coming outta the woodwork! Way over my pay grade, but . . .

I've got a SparcStation 2 with FDD on board. If anybody in the U.S. is working this MFM floppy on BG3 insanity, just lemme know!
 
Looks like you pasted the code twice after the dl command? You should not see the code being pasted during dl. Maybe I should have added a message to the end of the pasted code to immediately show that the dl command does something. Add this to the end of the pasted code. Then, when you press Control-D to end the download, it should show done.
Code:
." done"

Yeah I got a bit confused about the pasting process without any feedback. I tried again just now and I think I managed better.

Code:
Open Firmware, 2.4
To continue booting the MacOS type:
BYE<return>
To continue booting from the default boot device type:
BOOT<return>
For Open Firmware serial I/O type:
TTYA IO<return>
 ok
0 > dl
Ready for download.  Send file then type ^D
 ok
0 > dev / ls

Children of the node:
FF82EA78: /                             [AAPL,PowerMac G3 MacRISC]

Node Adr    Node Name                     Compatible

FF82FEE0: /cpus@0
FF82FFF8:   /PowerPC,60?@0
FF8308F0: /chosen@0
FF830A20: /memory@0
FF830B68: /openprom@0
FF830C28: /AAPL,ROM@FFC00000           [AAPL,ROM]
FF830E70: /options@0
FF8316B8: /aliases@0
FF8319F8: /packages@0
FF831A80:   /deblocker@0,0
FF8322F8:   /disk-label@0,0
FF832DE8:   /obp-tftp@0,0
FF835810:   /mac-files@0,0
FF837B68:   /mac-parts@0,0
FF838D50:   /aix-boot@0,0
FF839258:   /fat-files@0,0
FF83AC68:   /iso-9660-files@0,0
FF83B778:   /xcoff-loader@0,0
FF83C1B0:   /terminal-emulator@0,0
FF83C248: /pci@80000000                [grackle]
FF83D748:   /mac-io@10                 [heathrow]
FF83EAA0:     /mesh@10000              [mesh]
FF840B30:       /sd@0,0                [sd]
FF841880:       /st@0,0                [st]
FF8426E8:     /bmac@11000              [bmac]
FF844E28:     /escc@13000              [escc CHRP,es0]
FF844FC0:       /ch-a@13020            [ch-a CHRP,es2]
0 >
0 > " fd" select-dev wi 9
0 > dev / ls
0 > dl
0 > dev / ls
0 > " fd" select-dev wi 9
0 > F3000038 rl@-flip 8 u.r
0 >
FF8456D0:       /ch-b@13000            [ch-b CHRP,es3]
FF845DE0:     /davbus@14000
FF845EC8:       /sound@0,0             [awacs screamer]
FF8476C0:     /nvram@60000             [nvram]
FF8477B8:     /ide@20000               [heathrow-ata]
FF849988:       /disk@0,0              [ata-disk atapi-disk]
FF84BC20:       /disk@0,0              [ata-disk atapi-disk]
FF84DF08:     /ide@21000               [heathrow-ata]
FF8500D8:       /disk@0,0              [ata-disk atapi-disk]
FF852370:       /disk@0,0              [ata-disk atapi-disk]
FF854658:     /via-cuda@16000          [via-cuda]
FF8557D8:       /adb@0,0               [adb]
FF8558F0:         /keyboard@0,0
FF856310:         /mouse@1,0
FF8565D0:       /pram@0,0
FF856680:       /rtc@0,0               [rtc]
FF856BB0:       /power-mgt@0,0         [power-mgt]
FF8ABE20:     /fdc@15000               [pex,fdc]
FF857A38:   /ATY,mach64_3DUPro@12
FF85C8C0:   /ATY,Rage6p@D
FF87F708:   /Seri-Tek1S2@F             [Sil3112A]
FF8851E0:     /sd@0,0
FF856F10: /perch@0                     [Wings]
 ok
0 > " fd" select-dev wi 9 wi 9
wtw1cb 0
wtw1cb 0
wtw1cb 0
wtw1cb 0
wtwcb 0
wtwcb 0
wtwcb 0
wtw1cb 0
wtwcb 0
wtwcb 0
wtw1cb 0
wtwcb 0
wtwcb 0

select-dev: Cannot OPEN device fd
 ok
0 > F3000038 rl@-flip 8 u.r 09B6FFFB ok
0 > F3000038 rl@-flip 0fff7ffff and 0c000010 or F3000038 rl!-flip  ok
0 > dev / ls

Children of the node:
FF82EA78: /                             [AAPL,PowerMac G3 MacRISC]

Node Adr    Node Name                     Compatible

FF82FEE0: /cpus@0
FF82FFF8:   /PowerPC,60?@0
FF8308F0: /chosen@0
FF830A20: /memory@0
FF830B68: /openprom@0
FF830C28: /AAPL,ROM@FFC00000           [AAPL,ROM]
FF830E70: /options@0
FF8316B8: /aliases@0
FF8319F8: /packages@0
FF831A80:   /deblocker@0,0
FF8322F8:   /disk-label@0,0
FF832DE8:   /obp-tftp@0,0
FF835810:   /mac-files@0,0
FF837B68:   /mac-parts@0,0
FF838D50:   /aix-boot@0,0
FF839258:   /fat-files@0,0
FF83AC68:   /iso-9660-files@0,0
FF83B778:   /xcoff-loader@0,0
FF83C1B0:   /terminal-emulator@0,0
FF83C248: /pci@80000000                [grackle]
FF83D748:   /mac-io@10                 [heathrow]
FF83EAA0:     /mesh@10000              [mesh]
FF840B30:       /sd@0,0                [sd]
FF841880:       /st@0,0                [st]
FF8426E8:     /bmac@11000              [bmac]
FF844E28:     /escc@13000              [escc CHRP,es0]
FF844FC0:       /ch-a@13020            [ch-a CHRP,es2]
FF8456D0:       /ch-b@13000            [ch-b CHRP,es3]
FF845DE0:     /davbus@14000
FF845EC8:       /sound@0,0             [awacs screamer]
FF8476C0:     /nvram@60000             [nvram]
FF8477B8:     /ide@20000               [heathrow-ata]
FF849988:       /disk@0,0              [ata-disk atapi-disk]
FF84BC20:       /disk@0,0              [ata-disk atapi-disk]
FF84DF08:     /ide@21000               [heathrow-ata]
FF8500D8:       /disk@0,0              [ata-disk atapi-disk]
FF852370:       /disk@0,0              [ata-disk atapi-disk]
FF854658:     /via-cuda@16000          [via-cuda]
FF8557D8:       /adb@0,0               [adb]
FF8558F0:         /keyboard@0,0
FF856310:         /mouse@1,0
FF8565D0:       /pram@0,0
FF856680:       /rtc@0,0               [rtc]
FF856BB0:       /power-mgt@0,0         [power-mgt]
FF8ABE20:     /fdc@15000               [pex,fdc]
FF857A38:   /ATY,mach64_3DUPro@12
FF85C8C0:   /ATY,Rage6p@D
FF87F708:   /Seri-Tek1S2@F             [Sil3112A]
FF8851E0:     /sd@0,0
FF856F10: /perch@0                     [Wings]
 ok
0 > bye

We could be missing a feature control bit MFDC_CELL_EN. This should maybe clear and set the specific bits required:
Code:
F3000038 rl@-flip 0fff7ffff and 0c000010 or F3000038 rl!-flip

I added this in (see above).

No change.

The Heathrow ERS and Paddington ERS and Gossamer SW ERS and Gossamer HW ERS documents have more info about the feature control bits and the floppy signals. I think these can be found in the DingusPPC Discord's Documents channel.
Open in Preview.app and search for floppy|mfdc|mfm|gcr

Will look at these next. Thanks
 
FF844FC0: /ch-a@13020 [ch-a CHRP,es2] 0 > 0 > " fd" select-dev wi 9 0 > dev / ls 0 > dl 0 > dev / ls 0 > " fd" select-dev wi 9 0 > F3000038 rl@-flip 8 u.r 0 > FF8456D0: /ch-b@13000 [ch-b CHRP,es3]
Looking back at this bit of my copied code, it looks like I typed in a bunch of commands in the middle of a device listing. I could have sworn that I never did this - instead, it asked me to press spacebar to continue showing the listing. I'll need to double check but I'm in a bit of a rush at the moment as I get ready for a weekend break.
 
Back
Top