Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
To test this, one could output a message in nvramrc, pause for 5 seconds, then output another message. If there's a 5 second pause before the first message and not between the first and second message, then there's a buffer. If there's a 5 second pause only between the first and second message, then there's no buffer.
I could test this. But i'm afraid, i need assistance with the script again.
Is the card with this logging rom still usable in macOS?
Yes, still works like normal. Of corse except temperature monitoring.
I see some problems in the log - it's got some glitches after the first 1007 lines and the last line is cutoff.
Yes, there are cut/strange looking lines in the file, which do not appear when the logging is running directly on the display of the sawtooth. Maybe there are some settings for the connection in Z-Term to better prevent transmission errors?
Maybe we need the (install-console) stuff in Sawtooth.
In this case we need to mask the PCI the 6200 is sitting in first, true? Do these mask-commands really have to be tested one at a time or can i. e. first blocks of five or so be tested together to close in to the right one faster?
 
I could test this. But i'm afraid, i need assistance with the script again.
Try this on the Open Firmware command line:
Code:
: pause ( msecs ) get-msecs + begin dup get-msecs > while repeat drop ;
cr ." hello" 5000 pause ."  there"
There should be a 5 second delay between "hello" and "there". It takes about 20 seconds in the dingusppc emulator.
Does the same delay exist if these lines are executed from nvramrc? If not, then there needs to be an install-console before logging begins.

Yes, still works like normal. Of corse except temperature monitoring.
Ok, good. Note that the second display device is removed in the rom, not just the sensors device, to save more space for debugging code.

Yes, there are cut/strange looking lines in the file, which do not appear when the logging is running directly on the display of the sawtooth. Maybe there are some settings for the connection in Z-Term to better prevent transmission errors?
I don't have Z-Term in front of me. I would check all the menus for buffer sizes etc. Are you running it in Mac OS 9 or Mac OS X?
Make sure flow control is disabled?
We could lower the baud rate:
instead of scca which defaults to 57600 bps, you could set input and output device to scca:38400

In this case we need to mask the PCI the 6200 is sitting in first, true? Do these mask-commands really have to be tested one at a time or can i. e. first blocks of five or so be tested together to close in to the right one faster?
We don't need the mask commands. I just thought it was interesting to report that the one pci device could be probed separately from the others. I don't know if that can work for multiple devices or on the Sawtooth.

At a minimum, we want something like this in the nvramrc:
Code:
(install-console)
cr ." [ probe-all" cr
setenv pci-probe-list ffffffff
probe-all
cr ." ] probe-all" cr
banner

But you have to check if (install-console) exists and if not, replace it with the install-console's deferred execution token as previously discussed. #161

I think I can use this info to make my emulation get further.
The emulation needs more info to get further. This new rom includes logging of config space read/writes.
 

Attachments

  • 6200 #4.zip
    310.7 KB · Views: 65
Last edited:
  • Like
Reactions: flyproductions
But you have to check if (install-console) exists and if not, replace it with the install-console's deferred execution token as previously discussed. #161
Actually, install-console works on my Blue&White G3 (New World Mac), so for the Sawtooth you might not need (install-console) or the execution token.

Set nvram variable (instead of putting it in the nvramrc):
setenv pci-probe-mask -1

Set nvramrc to this:
Code:
install-console
cr ." [ probe-all" cr
probe-all
cr ." ] probe-all" cr
banner
 
Last edited:
Try this on the Open Firmware command line:
Code:
: pause ( msecs ) get-msecs + begin dup get-msecs > while repeat drop ;
cr ." hello" 5000 pause ."  there"
There should be a 5 second delay between "hello" and "there". It takes about 20 seconds in the dingusppc emulator.
Does the same delay exist if these lines are executed from nvramrc? If not, then there needs to be an install-console before logging begins.
According to what has been said in #175, there seems to be a buffer.

Executing the script via command line as well as from nvramrc causes the delay to occur first and then both messages pop up together.
 
Set nvram variable (instead of putting it in the nvramrc):
setenv pci-probe-mask -1
pci-probe-mask is set to -1 by default. So i can skip this?

So complete nvramrc has to look as follows...
Code:
setenv auto-boot? false
setenv input-device scca:38400
setenv output-device scca:38400
install-console
cr ." [ probe-all" cr
probe-all
cr ." ] probe-all" cr
banner
...to hopefully get things logged without any errors this time?
 
Last edited:
Ok, good. Note that the second display device is removed in the rom, not just the sensors device, to save more space for debugging code.
Didn't even notice this, as i actually only have one display connected.
I don't have Z-Term in front of me. I would check all the menus for buffer sizes etc. Are you running it in Mac OS 9 or Mac OS X?
Make sure flow control is disabled?
Seems to work better, using the default settings with speed set to 38400. No visible errors so far.
The emulation needs more info to get further. This new rom includes logging of config space read/writes.
So here is the new log from the latest ROM. It is much larger than the one before. So, if this is not just because more things are logged, the last one has also been incomplete.

I had to use the capture-function, as two times at the end of the log, Z-Term crashed, when i tried to select the complete content of the terminal window / scroll buffer. But the file has the same size as what has been logged. So i hope, it is complete this time.

Does additional logging in the Old World Mac at this point make any sense?
 

Attachments

  • new_world_log_2.zip
    12.1 KB · Views: 70
Note that the second display device is removed in the rom,...
Ah yes! The second display instance is missing for the 6200!

Screen Shot 2022-08-27 at 14.18.36.png
 
According to what has been said in #175, there seems to be a buffer.

Executing the script via command line as well as from nvramrc causes the delay to occur first and then both messages pop up together.
command line should have the pause between the messages. It does on my B&W G3 at least. Maybe the messages need to be on separate lines.
Try this:
Code:
: pause ( msecs ) get-msecs + begin dup get-msecs > while repeat drop ;  ok
0 > cr ." hello" cr 1000 pause cr ." there"

pci-probe-mask is set to -1 by default. So i can skip this?
Yup. Just making sure it was set correctly for the test.

So complete nvramrc has to look as follows...
Code:
setenv auto-boot? false
setenv input-device scca:38400
setenv output-device scca:38400
install-console
cr ." [ probe-all" cr
probe-all
cr ." ] probe-all" cr
banner
...to hopefully get things logged without any errors this time?
All the setenv stuff doesn't need to be in nvramrc either, just like pci-probe-mask. Just double check those values shown by printenv.

Seems to work better, using the default settings with speed set to 38400. No visible errors so far.

So here is the new log from the latest ROM. It is much larger than the one before. So, if this is not just because more things are logged, the last one has also been incomplete.

I had to use the capture-function, as two times at the end of the log, Z-Term crashed, when i tried to select the complete content of the terminal window / scroll buffer. But the file has the same size as what has been logged. So i hope, it is complete this time.
Yup. Looks good. I'll see if they get me farther in the emulation. Only a handful of config registers are probed at the beginning to get the base address sizes and do a couple other things that I'll have to figure out.

Does additional logging in the Old World Mac at this point make any sense?
Might be helpful for comparison with New World and Emulated Old World.
 
All the setenv stuff doesn't need to be in nvramrc either, just like pci-probe-mask. Just double check those values shown by printenv.
These differed from the defaults. Default for auto-boot was true. And the input/output default to keyboard/display.
Sadly on the Sawtooth's OF printenv doesn't show the nvramrc. One has to enter nvedit again and go through it line by line with the arrow-keys.
Yup. Looks good. I'll see if they get me farther in the emulation. Only a handful of config registers are probed at the beginning to get the base address sizes and do a couple other things that I'll have to figure out.
These few additional lines on top appear in the new log. So is checking for a buffer still neccessary?
Might be helpful for comparison with New World and Emulated Old World.
Meanwhile i did this. Result is same as before plus the additional lines on top. But exiting at the same point like before.
 
These differed from the defaults. Default for auto-boot was true. And the input/output default to keyboard/display.
You should only need to change them once unless you're zapping pram.

Sadly on the Sawtooth's OF printenv doesn't show the nvramrc. One has to enter nvedit again and go through it line by line with the arrow-keys.
nvedit uses special characters for editing. Control-L will list the entire thing. The following is from the Open Firmware IEEE 1275 spec. I'm not sure if all the keys apply to Apple's Open Firmware:

Keystroke Description

^c Exits the script editor, returning to the Open Firmware command interpreter. The temporary buffer is preserved but is not written back to the script. (Use nvstore afterwards to write it back.)
<cr> Inserts a newline at the cursor position and advances to the next line.
^o Inserts a newline at the cursor position and stays on the current line.
^k If at the end of a line, joins the next line to the current line (i.e., deletes the newline). ^n Moves to the next line of the script editing buffer.
^p Moves to the previous line of the script editing buffer.
^l Displays the entire contents of the editing buffer.

These few additional lines on top appear in the new log. So is checking for a buffer still neccessary?
Probably not.
 
  • Like
Reactions: flyproductions
Didn't even notice this, as i actually only have one display connected.
What does the device tree look like with this logging rom on the Sawtooth?

So here is the new log from the latest ROM
In my G3 emulation I now get all the logged stuff as you got for the Sawtooth except the very last item so I'm looking to find where that is in the code.
My G3 emulation has the Nvidia parent but not the display device.
 
  • Like
Reactions: flyproductions
What does the device tree look like with this logging rom on the Sawtooth?
So here is the device tree of the Sawtooth with the recent ROM on the card.
In my G3 emulation I now get all the logged stuff as you got for the Sawtooth except the very last item so I'm looking to find where that is in the code.
My G3 emulation has the Nvidia parent but not the display device.
Sounds like progress! 😊

So the card should show up in System Info, but without display?
 

Attachments

  • new_world_device_tree.zip
    30.7 KB · Views: 70
So here is the device tree of the Sawtooth with the recent ROM on the card.
Thanks.

So the card should show up in System Info, but without display?
Maybe. I think my emulation is getting farther than yours so we might need to track a difference there.
There might be a problem with how the fcode creates the display child devices. I'll probably need to rearrange the code. I feel like I've done this before. deja vu...
 
  • Like
Reactions: flyproductions
Try the attached rom on Sawtooth and Beige G3.
Code:
dev / ls
dev pci/@e                \ NVDA,Parent
.properties words
dev @0                     \ if this doesn't show NVDA,Display-A then skip the rest
.properties words
" pci/@e/@0" open-dev u.
10 0 do i i 28 * 0 28 d# 480 fill-rectangle loop \ show color bars
show-modes     \ show all the modes and the current mode
10 set-mode     \ change the mode to a different mode that is supported by your display
10 0 do i i 28 * 0 28 d# 480 fill-rectangle loop \ show color bars again
That's the path for Beige G3 of Parent and Display-A. Change it for Sawtooth.
 

Attachments

  • 6200 #5.zip
    312.8 KB · Views: 72
Try the attached rom on Sawtooth and Beige G3.
Code:
dev / ls
dev pci/@e                \ NVDA,Parent
.properties words
dev @0                     \ if this doesn't show NVDA,Display-A then skip the rest
.properties words
" pci/@e/@0" open-dev u.
10 0 do i i 28 * 0 28 d# 480 fill-rectangle loop \ show color bars
show-modes     \ show all the modes and the current mode
10 set-mode     \ change the mode to a different mode that is supported by your display
10 0 do i i 28 * 0 28 d# 480 fill-rectangle loop \ show color bars again
That's the path for Beige G3 of Parent and Display-A. Change it for Sawtooth.
I tried. But, for G3, after running the log fine (here is, how this looks like)...

Code:
[ NV43
here:ff8585f8
get subsystem-id
val93f=4d
r_3 @00007814.l = 8
r_3 @00007810.l = 0
w_3 @00007810.l = ffffffff
r_3 @00007810.l = ff000000
w_3 @00007810.l = 0
r_3 @00007814.l = 8
w_3 @00007814.l = ffffffff
r_3 @00007814.l = f0000008
w_3 @00007814.l = 8
r_3 @00007818.l = 0
w_3 @00007818.l = ffffffff
r_3 @00007818.l = ff000000
w_3 @00007818.l = 0
r_3 @00007830.l = 80800001
w_3 @00007830.l = ffffffff
r_3 @00007830.l = fffe0001
w_3 @00007830.l = 80800001
r_3 @00007804.w = 6
w_3 @00007804.w = 6
w_0 @00000004.l = 1000000
r_0 @00000000.l = a100a104
r_0 @00101000.l = 8b904e23
w_0 @0000184c.l = 0
w_0 @00001850.l = 1000000
w_0 @00001854.l = 0
r_0 @00000200.l = 103
w_0 @00000200.l = 103
r_0 @00000200.l = 103
w_0 @000c03c3.b = 1
r_0 @000c03c3.b = 1
r_0 @000c03cc.b = 0
w_0 @000c03cc.b = 1
w_0 @006013d4.b = 1f
w_0 @006013d5.b = 57
w_0 @000c23c3.b = 1
r_0 @000c23c3.b = 1
r_0 @000c23cc.b = 0
w_0 @000c23cc.b = 1
w_0 @006013d4.b = 44
r_0 @006013d5.b = 0
r_0 @006013d4.b = 44
r_0 @006033d4.b = 0
w_0 @006013d4.b = 44
w_0 @006013d5.b = 4
w_0 @006033d4.b = 44
w_0 @006033d5.b = 4
w_0 @006033d4.b = 0
w_0 @006013d4.b = 44
w_0 @006033d4.b = 1f
w_0 @006033d5.b = 57
w_0 @006013d4.b = 44
r_0 @006013d5.b = 4
r_0 @006013d4.b = 44
r_0 @006033d4.b = 44
w_0 @006013d4.b = 44
w_0 @006013d5.b = 0
w_0 @006033d4.b = 44
w_0 @006033d5.b = 0
w_0 @006033d4.b = 44
w_0 @006013d4.b = 44
r_0 @006013d4.b = 44
r_0 @006033d4.b = 44
w_0 @006013d4.b = 44
w_0 @006013d5.b = 1
w_0 @006033d4.b = 44
w_0 @006033d5.b = 1
w_0 @006033d4.b = 44
w_0 @006013d4.b = 44
w_0 @000c23c3.b = 1
w_0 @000c03c2.b = e3
r_0 @000c23c3.b = 1
w_0 @006033d4.b = 1f
w_0 @006033d5.b = 57
w_0 @006033d4.b = 21
w_0 @006033d5.b = fa
r_0 @00602804.l = 0
w_0 @00602804.l = 80
w_0 @00602860.l = 0
r_0 @006013d4.b = 44
r_0 @006033d4.b = 21
w_0 @006013d4.b = 44
w_0 @006013d5.b = 0
w_0 @006033d4.b = 44
w_0 @006033d5.b = 0
w_0 @006033d4.b = 21
w_0 @006013d4.b = 44
w_0 @000c03c3.b = 1
w_0 @000c03c2.b = e3
r_0 @000c03c3.b = 1
w_0 @006013d4.b = 1f
w_0 @006013d5.b = 57
w_0 @006013d4.b = 21
w_0 @006013d5.b = fa
r_0 @00600804.l = 0
w_0 @00600804.l = 80
w_0 @00600860.l = 0

...for dev "pci/@e" i just get a "can't find device". Also NVDA,Parent doesn't appear in the list with "dev / ls"

Code:
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
ff831310: /aliases@0
ff831650: /packages@0
ff8316d8:   /deblocker@0,0
ff831f50:   /disk-label@0,0
ff832a40:   /obp-tftp@0,0
ff835468:   /mac-files@0,0
ff8377c0:   /mac-parts@0,0
ff8389a8:   /aix-boot@0,0
ff838eb0:   /fat-files@0,0
ff83a8c0:   /iso-9660-files@0,0
ff83b3d0:   /xcoff-loader@0,0
ff83be08:   /terminal-emulator@0,0
ff83bea0: /pci@80000000                [grackle]
ff83d3a0:   /mac-io@10                 [heathrow]
ff83e6f8:     /mesh@10000              [mesh]
ff840788:       /sd@0,0                [sd]
ff8414d8:       /st@0,0                [st]
ff842340:     /bmac@11000              [bmac]
ff844a80:     /escc@13000              [escc CHRP,es0]
ff844c18:       /ch-a@13020            [ch-a CHRP,es2]
ff845328:       /ch-b@13000            [ch-b CHRP,es3]
ff845a38:     /davbus@14000
ff845b20:       /sound@0,0             [awacs screamer]
ff845c10:     /swim3@15000             [swim3]
ff847318:     /nvram@60000             [nvram]
ff847410:     /ide@20000               [heathrow-ata]
ff8495e0:       /disk@0,0              [ata-disk atapi-disk]
ff84b878:       /disk@0,0              [ata-disk atapi-disk]
ff84db60:     /ide@21000               [heathrow-ata]
ff84fd30:       /disk@0,0              [ata-disk atapi-disk]
ff851fc8:       /disk@0,0              [ata-disk atapi-disk]
ff8542b0:     /via-cuda@16000          [via-cuda]
ff855430:       /adb@0,0               [adb]
ff855548:         /keyboard@0,0
ff855f68:         /mouse@1,0
ff856228:       /pram@0,0
ff8562d8:       /rtc@0,0               [rtc]
ff856808:       /power-mgt@0,0         [power-mgt]
ff8572c0:   /ATY,mach64_3DUPro@12
ff85c148:   /pci1106,3038@d            [pci1106,3038]
ff85c470:   /pci1106,3038@d,1          [pci1106,3038]
ff85c768:   /pci1106,3104@d,2          [pci1106,3104]
ff856b68: /perch@0                     [Whisper]
 ok
0 > dev pci/@e can't find device ok
0 >

In this case the 6200 was sitting in PCI B1. But i tried the other available slot, C1 too with the same result. Also i tried with the onboard video, F1, masked. Also no success.

For testing in Sawtooth, is it possible to exit or remove the log somehow? Otherwise i have to wait aruond 20 minutes for it to finish befor i can enter any commands. And in many cases Z-Term crashes while logging. So i have to start over again.
 
Probably. The emulator doesn't boot to Mac OS 9 so we won't know until we fix it for your Beige G3.
one thing to keep in mind there, is I noticed when messing around with shoehorning Mac OS 8.6 onto computers that where supposed to run it

that its included toolbox rom image was for some reason quite picky about which video cards it would want to load with, it did not want to load with any GeForce FX 5200 or GeForce 6200 I tried (even on a supported Mac IE my Sawtooth)

only ATI Cards would work with it, so this is something to keep in mind, if you managed to get the GeForce 6200 working in OpenFirmware in the G3 beige, in that the MacOS ToolBox ROM may still refuse to load if its anything like the Mac OS ROM 2.5.1 new world toolbox image



another thing I am wondering @flyproductions is when just flashed with its regular PC ROM, does the GeForce 6200 consistently show up in PCI devices/the OF device tree?

an unflashed PC card should still show up in the device tree as a generic PCI card, but I seem to recall from breifly playing around with my G3 beige and 6200, that even unflashed the 6200 would NOT show up at all to my G3 beige

so I feel like there could be 2 issues playing at the same time here, the whole fCode ROM issue, and then separately the fact the card may just not play ball with the G3 beige's PCI implantation

so this is something I would double check, flash the card back to its PC ROM and just make sure it does show up to the computer consistently at least

so you dont end up say flashing a working ROM to the card and dismissing it because "now the card does not show up" when its actually not the ROM's fault!
 
Last edited:
  • Like
Reactions: Amethyst1
I tried. But, for G3, after running the log fine (here is, how this looks like)...
Ok, it's still stopping early. I'm not getting that issue with my emulation. You have the (install-console) stuff in the nvramrc of Beige G3?

Code:
ff85c148:   /pci1106,3038@d            [pci1106,3038]
ff85c470:   /pci1106,3038@d,1          [pci1106,3038]
ff85c768:   /pci1106,3104@d,2          [pci1106,3104]
ff856b68: /perch@0                     [Whisper]
0 >
In this case the 6200 was sitting in PCI B1. But i tried the other available slot, C1 too with the same result. Also i tried with the onboard video, F1, masked. Also no success.

Maybe try disabling device @d since my emulation doesn't have that.

For testing in Sawtooth, is it possible to exit or remove the log somehow? Otherwise i have to wait aruond 20 minutes for it to finish befor i can enter any commands. And in many cases Z-Term crashes while logging. So i have to start over again.
The log is the reason for the testing on the Sawtooth. Maybe you want a version that doesn't log so you can test if it still boots the OS?
In that case we could add some code to the nvram rc that ignores the log.
Or we could try going back to telnet.

Is there a way to directly adress
Code:
ff8585f8
even not beeing listed by
Code:
dev / ls
?
I'm not sure why you would want to.

ff8585f8 is the address in the dictionary after the device has been created. In my emulation, the address is here = FF85D050. The device node info is at FF85CDD0.
Code:
0 > dev / ls 
FF85CDD0:   /NVDA,Parent@E
FF8829A0:     /NVDA,Display-A@0        [NVDA,NVMac NVDA,MultiDisplay]
 ok
0 > FF85D050 20 - 40 dump 
FF85D030: FF 85 D0 20 00 00 00 04 66 63 6F 64 65 2D 72 6F :... ....fcode-ro:
FF85D040: 6D 2D 6F 66 66 73 65 74 00 00 00 00 00 00 00 00 :m-offset........:
FF85D050: 00 00 00 00 A0 BA 08 00 96 9F FF FC 3A 80 00 00 :............:...:
FF85D060: 4E 80 00 20 00 00 00 00 FF FF FF E8 A0 BE 08 01 :N.. ............: ok
Before that is an fcode-rom-offset property created for the device by eval-fcode.
FF85D050: 00 00 00 00 is the header link >h.link of the first word created by the fcode (const_800_0). The header link usually points to the previous word (since words are searched from last to first), but since it's the first word of the device, the link is 00000000.
FF85D054: A0 is the flags (80=fdefd which means its defined and usable and 20=fnohdr which means it's unnamed - no header).
FF85D055: BA = b(constant) because it's a constant word type.
FF85D056: 08 00 is the fcode number (0x800)
FF85D058: 969FFFFC 3A800000 4E800020 is the PowerPC code used to load the constant value. For a constant, it can be 12 or 16 bytes depending on the value (since it can take two instructions to load a large value).
FF85D060: 00 00 00 00 is padding to make the next word start at an address that is a multiple of 8.
FF85D068: FF FF FF E8 is the >h.link of the next word. It is a negative number -0x00000018. FF85D068-18 = FF85D050 which is the >h.link of const_800_0.

We can get the address of the device node, but I'm not sure why you would want to. I mean, if all you wanted was the device node, we could just create the properties and be done with it. It might even work, but it would be unsatisfactory.
 
For Zterm crashes what version of MacOS are you using?
If you use Mac OS X, then maybe you can use the screen or cu commands. I tried them in the past with my Keyspan USB Serial adapters.
Code:
To list the devices:

find /dev -iname 'tty.*' -o -iname 'cu.*' -maxdepth 1

    /dev/cu.KeySerial1
    /dev/tty.KeySerial1
    /dev/cu.USA28143P1.1
    /dev/tty.USA28143P1.1
    /dev/cu.USA28143P2.2
    /dev/tty.USA28143P2.2
    /dev/cu.USA28X14611P1.1
    /dev/tty.USA28X14611P1.1
    /dev/cu.USA28X14611P2.2
    /dev/tty.USA28X14611P2.2
    /dev/cu.pci-serial0
    /dev/tty.pci-serial0
    /dev/cu.pci-serial1
    /dev/tty.pci-serial1
    /dev/cu.Bluetooth-Incoming-Port
    /dev/tty.Bluetooth-Incoming-Port


To test the serial port without a terminal app:
    screen /dev/cu.USA28X14611P2.2 115200,cs8,-parenb,-cstopb,-hupcl -D RR
    screen /dev/cu.KeySerial1 115200,cs8,-parenb,-cstopb,-hupcl -D RR
    screen /dev/tty.USA28X14611P1.1 115200,cs8,-parenb,-cstopb,-hupcl -D RR
    screen /dev/tty.USA28X14611P2.2 115200,cs8,-parenb,-cstopb,-hupcl -D RR

or
    sudo cu -s 115200 -l /dev/tty.USA28X14611P1.1
    sudo cu -s 115200 -l /dev/tty.KeySerial1
    
KeyspanUSAdriver.kext

SnowLeopard 10.6.8      Works: 2.6 Copyright © 2000-2009 Keyspan (October 12, 2009)
Lion 10.7.5             Works: 2.6 Copyright © 2000-2009 Keyspan (August 12, 2009)
                        Doesn't work: 3.0 Copyright © 2000-2013 Keyspan (February 6, 2014)
Mountain Lion 10.8.5    Works: 2.6 Copyright © 2000-2009 Keyspan (August 12, 2009)
Mavericks 10.9.5        Works: 2.6 Copyright © 2000-2009 Keyspan (August 12, 2009)
Yosemite 10.10.5        Works: 2.6 Copyright © 2000-2009 Keyspan (August 12, 2009)
ElCapitan 10.11.4       Works: 2.6 Copyright © 2000-2009 Keyspan (August 12, 2009)
Catalina 10.15.7        Works: 2.6 Copyright © 2000-2009 Keyspan (August 12, 2009)
BigSur 11.3.1           Works: 2.6 Copyright © 2000-2009 Keyspan (August 12, 2009)

Maybe other apps like cu or screen or whatever (I use Serial.app on my Mac Pro 2008) can work with a faster baud (up to 57600 without Open Firmware patch).


To do the tests using telnet, on the Sawtooth,
Code:
setenv auto-boot? false
setenv input-device scca
setenv output-device scca
setenv pci-probe-mask 0
reboot
Does Open Firmware still work? Does scca still exist in dev / ls? Does bmac? Does telnet?
If so, then at this time, you can startup telnet:
" enet:telnet,192.168.0.115" io or whatever the IP address of the Sawtooth is.
Use telnet on the other computer to connect.
Then
setenv pci-probe-mask -1
probe-all
 
Last edited:
To do the tests using telnet, on the Sawtooth,
Code:
setenv auto-boot? false
setenv input-device scca
setenv output-device scca
setenv pci-probe-mask 0
reboot
Does Open Firmware still work? Does scca still exist in dev / ls? Does bmac? Does telnet?
If so, then at this time, you can startup telnet:
" enet:telnet ,192.168.0.115" io or whatever the IP address of the Sawtooth is.
Use telnet on the other computer to connect.
Then
setenv pci-probe-mask -1
probe-all
Preferably i will try this first.

Meanwhile i checked again and found some things which appear strange to me. While on the sawtooth "dev / ls" shows the card, which is driving the display, the 6800xt in this case, correctly with both of it's child devices...

Code:
ff97dbe8:   /NVDA,Parent@10
ff9a17d8:     /NVDA,Display-B@1
ff9a1fc0:     /NVDA,Display-A@0

...in the G3 even a known working card, the ATI Rage 128 is listed without it's child device.

Code:
ff8572d8:   /pci1106,3038@d            [pci1106,3038]
ff857600:   /pci1106,3038@d,1          [pci1106,3038]
ff8578f8:   /pci1106,3104@d,2          [pci1106,3104]
ff857bf0:   /ATY,Rage128y@f
ff856b80: /perch@0                     [Whisper]

And, while "devalias" shows the screen...

Code:
0 > devalias
pci                 /pci@80000000
mac-io              /pci/mac-io
kbd                 /pci/mac-io/via-cuda/adb/keyboard
mouse               /pci/mac-io/via-cuda/adb/mouse
ttya                /pci/mac-io/escc/ch-a
ttyb                /pci/mac-io/escc/ch-b
scsi                /pci/mac-io/mesh
scsi-int            /pci/mac-io/mesh
ide0                /pci/mac-io/ide@20000
ide                 /pci/mac-io/ide@20000
ata-int             /pci/mac-io/ide@20000
ide1                /pci/mac-io/ide@21000
enet                /pci/mac-io/bmac
swim                /pci/mac-io/swim3
fd                  /pci/mac-io/swim3
screen              /pci@80000000/ATY,Rage128y@f
 ok

...selecting "pci/@f“ and then selecting "dev @0"...

Code:
0 > dev pci/@f  ok
0 > .properties words
vendor-id               00001002
device-id               00005245
revision-id             00000000
class-code              00030000
interrupts              00000001
min-grant               00000008
max-latency             00000000
subsystem-vendor-id     0000b530
subsystem-id            00000408
devsel-speed            00000001
fast-back-to-back
AAPL,interrupts         00000019
AAPL,slot-name          C1
fcode-rom-offset        00000000
ATY,Status              00000000
ATY,Flags               0717009b
EDID                    00ffffff ffffff00 1e6d7756 6f150300 05130103 6a312078 eaaec5a2 574a9c25
                        125054a7 6b80950f 95008180 8140714f 01010101 01017c2e 90a0601a 1e403020
                        3600da28 1100001a 21399030 621a2740 68b03600 da281100 001c0000 00fd0038
                        4b1e530f 000a2020 20202020 000000fc 00573232 34320a20 20202020 202000be
depth                   00000008
device_type             display
character-set           49534f38 3835392d 3100
iso6429-1983-colors
reg                     00007800 00000000 00000000  00000000 00000000
                        02007830 00000000 00000000  00000000 00020000
                        42007810 00000000 00000000  00000000 04000000
                        02007818 00000000 00000000  00000000 00004000
name                    ATY,Rage128y
model                   ATY,Rage128
ATY,Rom#                3131332d 35373430 372d3230 3400
ATY,Card#               3130392d 35373430 302d3030 00
ATY,Fcode               312e3635 00
driver,AAPL,MacOS,PowerPC
                        4a6f7921 70656666 70777063 00000001 b3383430 00000000 00000000 00000000
                        00030002 00000000 ffffffff 00000000 0000c618 0000c618 0000c618 00000670
                        00040400 ffffffff 00000000 00002ba5 00002707 00001c4a 0000cc90 02010400
                        ffffffff 00000000 00000000 00000000 000005f0 00000080 04040400 00000000
                        ffffffff 00000000 ffffffff 00000000 ffffffff 00000000 00000005 0000002d
                        00000001 00000170 000001dc 000005cc 00000001 00000002 00000000 00000000
                        00000000 00000014 00000000 00000000 00000012 00000000 00000000 00000001
                        00000014 00000000 0000001f 00000000 00000000 0000000e 00000015 00000000
                        ... 0000e8da bytes total
power-consumption       00e4e1c0 00e4e1c0
assigned-addresses      c2007810 00000000 84000000  00000000 04000000
                        82007830 00000000 80820000  00000000 00020000
                        82007818 00000000 80804000  00000000 00004000
address                 84000000
width                   00000280
height                  000001e0
linebytes               00000280


close           restore         draw-logo       write           open            disable-videomode
enable-videomode                show-modes      set-mode        mode#           read-rectangle
draw-rectangle  fill-rectangle  get-colors      set-colors      color!          color@
dimensions
 ok
0 > dev @0 can't find device ok

...comes up with nothing. A display is connected and working!
 
Preferably i will try this first.

Meanwhile i checked again and found some things which appear strange to me. While on the sawtooth "dev / ls" shows the card, which is driving the display, the 6800xt in this case, correctly with both of it's child devices...

Code:
ff97dbe8:   /NVDA,Parent@10
ff9a17d8:     /NVDA,Display-B@1
ff9a1fc0:     /NVDA,Display-A@0

...in the G3 even a known working card, the ATI Rage 128 is listed without it's child device.

Code:
ff8572d8:   /pci1106,3038@d            [pci1106,3038]
ff857600:   /pci1106,3038@d,1          [pci1106,3038]
ff8578f8:   /pci1106,3104@d,2          [pci1106,3104]
ff857bf0:   /ATY,Rage128y@f
ff856b80: /perch@0                     [Whisper]

And, while "devalias" shows the screen...

Code:
0 > devalias
pci                 /pci@80000000
mac-io              /pci/mac-io
kbd                 /pci/mac-io/via-cuda/adb/keyboard
mouse               /pci/mac-io/via-cuda/adb/mouse
ttya                /pci/mac-io/escc/ch-a
ttyb                /pci/mac-io/escc/ch-b
scsi                /pci/mac-io/mesh
scsi-int            /pci/mac-io/mesh
ide0                /pci/mac-io/ide@20000
ide                 /pci/mac-io/ide@20000
ata-int             /pci/mac-io/ide@20000
ide1                /pci/mac-io/ide@21000
enet                /pci/mac-io/bmac
swim                /pci/mac-io/swim3
fd                  /pci/mac-io/swim3
screen              /pci@80000000/ATY,Rage128y@f
 ok

...selecting "pci/@f“ and then selecting "dev @0"...

Code:
0 > dev pci/@f  ok
0 > .properties words
vendor-id               00001002
device-id               00005245
revision-id             00000000
class-code              00030000
interrupts              00000001
min-grant               00000008
max-latency             00000000
subsystem-vendor-id     0000b530
subsystem-id            00000408
devsel-speed            00000001
fast-back-to-back
AAPL,interrupts         00000019
AAPL,slot-name          C1
fcode-rom-offset        00000000
ATY,Status              00000000
ATY,Flags               0717009b
EDID                    00ffffff ffffff00 1e6d7756 6f150300 05130103 6a312078 eaaec5a2 574a9c25
                        125054a7 6b80950f 95008180 8140714f 01010101 01017c2e 90a0601a 1e403020
                        3600da28 1100001a 21399030 621a2740 68b03600 da281100 001c0000 00fd0038
                        4b1e530f 000a2020 20202020 000000fc 00573232 34320a20 20202020 202000be
depth                   00000008
device_type             display
character-set           49534f38 3835392d 3100
iso6429-1983-colors
reg                     00007800 00000000 00000000  00000000 00000000
                        02007830 00000000 00000000  00000000 00020000
                        42007810 00000000 00000000  00000000 04000000
                        02007818 00000000 00000000  00000000 00004000
name                    ATY,Rage128y
model                   ATY,Rage128
ATY,Rom#                3131332d 35373430 372d3230 3400
ATY,Card#               3130392d 35373430 302d3030 00
ATY,Fcode               312e3635 00
driver,AAPL,MacOS,PowerPC
                        4a6f7921 70656666 70777063 00000001 b3383430 00000000 00000000 00000000
                        00030002 00000000 ffffffff 00000000 0000c618 0000c618 0000c618 00000670
                        00040400 ffffffff 00000000 00002ba5 00002707 00001c4a 0000cc90 02010400
                        ffffffff 00000000 00000000 00000000 000005f0 00000080 04040400 00000000
                        ffffffff 00000000 ffffffff 00000000 ffffffff 00000000 00000005 0000002d
                        00000001 00000170 000001dc 000005cc 00000001 00000002 00000000 00000000
                        00000000 00000014 00000000 00000000 00000012 00000000 00000000 00000001
                        00000014 00000000 0000001f 00000000 00000000 0000000e 00000015 00000000
                        ... 0000e8da bytes total
power-consumption       00e4e1c0 00e4e1c0
assigned-addresses      c2007810 00000000 84000000  00000000 04000000
                        82007830 00000000 80820000  00000000 00020000
                        82007818 00000000 80804000  00000000 00004000
address                 84000000
width                   00000280
height                  000001e0
linebytes               00000280


close           restore         draw-logo       write           open            disable-videomode
enable-videomode                show-modes      set-mode        mode#           read-rectangle
draw-rectangle  fill-rectangle  get-colors      set-colors      color!          color@
dimensions
 ok
0 > dev @0 can't find device ok

...comes up with nothing. A display is connected and working!
The Rage 128 isn't a parent device, so it doesn't create any children. You see the EDID .property is part of the device @f.
 
another thing I am wondering @flyproductions is when just flashed with its regular PC ROM, does the GeForce 6200 consistently show up in PCI devices/the OF device tree with it's generic values vendor- and device-ID?
Good point!

...so i tried. And yes! Flashed back to the PC ROM, the card shows up in the device list. Sitting in A1 in ths case.
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
ff831328: /aliases@0
ff831668: /packages@0
ff8316f0:   /deblocker@0,0
ff831f68:   /disk-label@0,0
ff832a58:   /obp-tftp@0,0
ff835480:   /mac-files@0,0
ff8377d8:   /mac-parts@0,0
ff8389c0:   /aix-boot@0,0
ff838ec8:   /fat-files@0,0
ff83a8d8:   /iso-9660-files@0,0
ff83b3e8:   /xcoff-loader@0,0
ff83be20:   /terminal-emulator@0,0
ff83beb8: /pci@80000000                [grackle]
ff83d3b8:   /mac-io@10                 [heathrow]
ff83e710:     /mesh@10000              [mesh]
ff8407a0:       /sd@0,0                [sd]
ff8414f0:       /st@0,0                [st]
ff842358:     /bmac@11000              [bmac]
ff844a98:     /escc@13000              [escc CHRP,es0]
ff844c30:       /ch-a@13020            [ch-a CHRP,es2]
ff845340:       /ch-b@13000            [ch-b CHRP,es3]
ff845a50:     /davbus@14000
ff845b38:       /sound@0,0             [awacs screamer]
ff845c28:     /swim3@15000             [swim3]
ff847330:     /nvram@60000             [nvram]
ff847428:     /ide@20000               [heathrow-ata]
ff8495f8:       /disk@0,0              [ata-disk atapi-disk]
ff84b890:       /disk@0,0              [ata-disk atapi-disk]
ff84db78:     /ide@21000               [heathrow-ata]
ff84fd48:       /disk@0,0              [ata-disk atapi-disk]
ff851fe0:       /disk@0,0              [ata-disk atapi-disk]
ff8542c8:     /via-cuda@16000          [via-cuda]
ff855448:       /adb@0,0               [adb]
ff855560:         /keyboard@0,0
ff855f80:         /mouse@1,0
ff856240:       /pram@0,0
ff8562f0:       /rtc@0,0               [rtc]
ff856820:       /power-mgt@0,0         [power-mgt]
ff8572d8:   /pci10de,221@d             [pci10de,221]
ff856b80: /perch@0                     [Whisper]
 ok

Just flashing it with the fCode-ROM and rebooting to OF in the G3 under otherwise identical circumstances (any othe pci-card removed, onboard video at F1 disabled) makes it disappear.

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
FF831328: /aliases@0
FF831668: /packages@0
FF8316F0:   /deblocker@0,0
FF831F68:   /disk-label@0,0
FF832A58:   /obp-tftp@0,0
FF835480:   /mac-files@0,0
FF8377D8:   /mac-parts@0,0
FF8389C0:   /aix-boot@0,0
FF838EC8:   /fat-files@0,0
FF83A8D8:   /iso-9660-files@0,0
FF83B3E8:   /xcoff-loader@0,0
FF83BE20:   /terminal-emulator@0,0
FF83BEB8: /pci@80000000                [grackle]
FF83D3B8:   /mac-io@10                 [heathrow]
FF83E710:     /mesh@10000              [mesh]
FF8407A0:       /sd@0,0                [sd]
FF8414F0:       /st@0,0                [st]
FF842358:     /bmac@11000              [bmac]
FF844A98:     /escc@13000              [escc CHRP,es0]
FF844C30:       /ch-a@13020            [ch-a CHRP,es2]
FF845340:       /ch-b@13000            [ch-b CHRP,es3]
FF845A50:     /davbus@14000
FF845B38:       /sound@0,0             [awacs screamer]
FF845C28:     /swim3@15000             [swim3]
FF847330:     /nvram@60000             [nvram]
FF847428:     /ide@20000               [heathrow-ata]
FF8495F8:       /disk@0,0              [ata-disk atapi-disk]
FF84B890:       /disk@0,0              [ata-disk atapi-disk]
FF84DB78:     /ide@21000               [heathrow-ata]
FF84FD48:       /disk@0,0              [ata-disk atapi-disk]
FF851FE0:       /disk@0,0              [ata-disk atapi-disk]
FF8542C8:     /via-cuda@16000          [via-cuda]
FF855448:       /adb@0,0               [adb]
FF855560:         /keyboard@0,0
FF855F80:         /mouse@1,0
FF856240:       /pram@0,0
FF8562F0:       /rtc@0,0               [rtc]
FF856820:       /power-mgt@0,0         [power-mgt]
FF856B80: /perch@0                     [Whisper]
 ok
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.