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.
Means working in New World Macs?
Yes, I loaded the ROM linked from disk in my G5 and it seems to work perfectly with Tiger.

Is the card's PC-ROM the same that i have? (attached)

Is the memory of the card BGA or TSOP?
Not quit the same PC ROM, tho the FCODE ROM you linked for your card and the one I made for mine with the ROM maker are nearly identical.

It's BGA RAM.
 

Attachments

  • 6200PC.ROM.zip
    42.5 KB · Views: 76
It's BGA RAM.
Would be interesting to know, if we have the exact same cards. So i posted a pic before, but here is mine again.

pny_6200_pci.jpg


...and also a detailed view of one of the memory chips.

6200_pci_memory.jpg
 
Yes. I made a quick compare with Hex Fiend and only found 17 differences.

PC-ROMs hav a few more but also look very similar.
When I ran V5 of JoeVT's debug ROM on the G5 it did produce a display on the card, but it was all garbled do to the differences, but that gives me hope I can fix the 512MB cards ROM as it also has BGA RAM.

seems to work perfectly with Tiger.
I noted the CI says it is supported, but I don't get the ripple effect in the Dashboard, does that work on your PCI 6200?

QE seems to work fine tho.
 
Still waiting on the serial device, but none of the test roms seem to work with this card in my Beige. V7 had a long output of .words that a had to scroll through on the screen, but didn't build any .properties for the card other than the subsystem-id(0x10).
Did it get beyond the list of words?

It is interesting that the list of words output I've seen for V7 on the sawtooth shows that words created by "evaluate" all have fcode numbers 0xffff. In old world Macs, they will have fcodes numbered starting from 0x800. The actual rom fcode has fixed fcode numbers also starting from 0x800 (depends on the tokenizer). That means words created with evaluate could replace words with fixed fcode numbers. This is not a problem if "evaluate" is done before the rom fcode creates the words. This would probably explain why my trace code (which is compiled using "evaluate") works when it is evaluated at the beginning of the fcode instead of at the end. My trace code uses evaluate so that it can use Apple's locals extension to Forth. My tokenizer doesn't know how to tokenize Apple locals, and the tokenization of locals is different for each version of Open Firmware.

I've added code to do stack checks. There's 5 stacks used by Open Firmware but I don't think they're getting full so that's probably not the problem. The stacks are:
ff800400 >sp data (4 bytes per element) (probably s stands for stack)
ff800800 >rp return (4 bytes per element)
ff800c00 >lp loop (12 bytes per element)
ff801000 >fp locals (32 bytes per element) (maybe f stands for frame, as in stack frame)
ff801800 >ep exception (32 bytes per element)

All the stacks are 1K each except exception stack is 2K. Each stack pointer is decremented when an element is pushed.
The end of the data stack ff800000 is pointed to by virt_base. I believe New World Macs have the same stack sizes.
The fcode rom will show the base of the stack at the beginning of the fcode (stacks should be nearly empty at that point). Then it will show warnings if any of the stacks get 75% full.

I have code to dump the return stack (shows a list of words + offset that are in the return stack). I'll see if I can patch throw to dump the return stack when an exception occurs (might need to save the stack then manually dump it after you get to the command prompt).
 

Attachments

  • Open Firmware Trace.of.zip
    5.5 KB · Views: 84
  • Like
Reactions: flyproductions
When I ran V5 of JoeVT's debug ROM on the G5 it did produce a display on the card, but it was all garbled do to the differences, but that gives me hope I can fix the 512MB cards ROM as it also has BGA RAM.
Hmm, for me in the Sawtooth V5 ended up with a perfectly usable card.
I noted the CI says it is supported, but I don't get the ripple effect in the Dashboard, does that work on your PCI 6200?
Yes, even reflashed to Mac, just to check, cause i didn't know anymore or if i ever tried. But yes, i get the ripple. Doesn't look that smooth a with high performance cards. But it doesn't show the strange square pattern as when tried with cards that really don't support it.

And thanks for posting the Pics. Aside from the green PCB, i could not find any differences, but only the three caps in front of the heatsink look like better quality than what i have. Even the memory seems the same brand.

Strange that the card doesn't seem to offer complete CI-support and does not really work in a G5 with Joe's V5. Did you try my Mac ROM on it?
 
Last edited:
Small update to #356 Tested on Quad G5 - mostly works, except trace-on without trace-off for command line is very verbose - a lot of alarm stuff is logged. It's recommended to follow trace-on with a trace-off.

patch-words by default patches every word (14000+ on Quad G5) but you can change the iterator to just do local words for a device node.

Each word that is patched can have a different behaviour (0 = normal, 1= pause: logs the word then stops the log until the end of the word, 2 = recurse: stops logging for the word and every other word until the word is completed, 3 = always log, even if logging is paused). Other behaviours could be added.

I'll update the 6200 logging rom later.
 
Here's a new test logging rom 6200 #8. Hopefully it will work on Sawtooth. It patches all the words but doesn't enable tracing. Also disabled register logging for now so the logging should be only 210 lines. I put back Display B and Sensors since we don't need to save space when loading rom from disk.
Dictionary space used is 457K but may be more on Sawtooth because it probably has more words to patch.
 

Attachments

  • 6200 #8.zip
    380.2 KB · Views: 72
Here's a new test logging rom 6200 #8. Hopefully it will work on Sawtooth.
Thanks for posting another one!

This is what i get in the Sawtooth>

Code:
0 > dev pci/@3  ok
0 > load cd:,\TEST8A.ROM load-size=1ffc0 adler32=240d0a18
 ok
0 > : open true ; : close ;  ok
0 > " pci/@3" select-dev  ok
0 > 800000 1 byte-load [ NV43
here:ff97e38c

vendor-id               000010de
device-id               00000221
revision-id             000000a1
class-code              00030000
interrupts              00000001
min-grant               00000005
max-latency             00000001
devsel-speed            00000001
fast-back-to-back
name                    pci10de,221
compatible              pci10de,221
                        pciclass,030000
reg                     00011800 00000000 00000000  00000000 00000000
                        02011810 00000000 00000000  00000000 01000000
                        42011814 00000000 00000000  00000000 10000000
                        02011818 00000000 00000000  00000000 01000000
                        02011830 00000000 00000000  00000000 00020000
assigned-addresses      c2011814 00000000 90000000  00000000 10000000
                        82011810 00000000 82000000  00000000 01000000
                        82011818 00000000 81000000  00000000 01000000
                        82011830 00000000 800a0000  00000000 00020000
R2AD                    5c3e8200 90ff002b 00000000 00000000 2e7c0690 07300030 0020041a 04380003
                        0006041a 06900001 00000000 00000000 00000000 00000000 00000000 00000000


close           open
encoding trace
evaluating trace

stacks: ff800000 ff800400 ff8007ac ff800c00 ff801000 ff801760
:e0c
:dd6
get subsystem-id
set subsystem-id
get subsystem-id
val93f=4d
:db6
done defining stuff

patching words...
 ok
0 >

I don|t know, if the three dots are alerting, that it does something in the background. Did the load some 15 minutes ago. But up to now nothing else happened.

Just out of curiosity, i also loaded the ROM to the beige. Started similar, but then startet outputting some DEFAULT CATCH!-errors and kept doing this for over an hour and 5 MB of output until i stopped it.
 
Code:
.properties words

so far gives me an nearly unaltered output with only the subsystem-id added.

Code:
0 > .properties words
vendor-id               000010de
device-id               00000221
revision-id             000000a1
class-code              00030000
interrupts              00000001
min-grant               00000005
max-latency             00000001
devsel-speed            00000001
fast-back-to-back
name                    pci10de,221
compatible              pci10de,221
                        pciclass,030000
reg                     00011800 00000000 00000000  00000000 00000000
                        02011810 00000000 00000000  00000000 01000000
                        42011814 00000000 00000000  00000000 10000000
                        02011818 00000000 00000000  00000000 01000000
                        02011830 00000000 00000000  00000000 00020000
assigned-addresses      c2011814 00000000 90000000  00000000 10000000
                        82011810 00000000 82000000  00000000 01000000
                        82011818 00000000 81000000  00000000 01000000
                        82011830 00000000 800a0000  00000000 00020000
R2AD                    5c3e8200 90ff002b 00000000 00000000 2e7c0690 07300030 0020041a 04380003
                        0006041a 06900001 00000000 00000000 00000000 00000000 00000000 00000000
subsystem-id            00000010


close           open            patch?          patchable-words unpatch-words   patch-words
list-words      defer-patch?    dump-return-stack               addr>xt         closest-word
closest-offset  closest-xt      instruction-addr                words-iterator  loop-words-global
loop-words-siblings             loop-words-local                loop-words      all-words
dump-word-cr    unpatch-word    patch-word      patch-word-behavior             unpatch-colon
patch-colon     patch-colon-behavior            convert-exits   unpatch-field   patch-field
patch-field-behavior            unpatch-exit    patch-exit      patch-exit-behavior
unpatch-defer   patch-defer     patch-defer-behavior            unpatch-entry   patch-entry
patch-entry-behavior            dump-word       do-nodent       do-outdent      do-indent
trace-off       trace-on        words-processed words-unpatched words-patched   words-found
pause-level     recurse-level   indent-level    notdenting?     trace?          myname.
hlink>xt        xt>hlink        find-token-in-word              'exit           br>xt
bl>xt           adr>xt          is-br?          is-bl?          .stack          log-patches
name.           <pushd,>        <pushr,>        <lr->r,>        <mflr,>         <blr,>
xt>hdr          <b,>            disp24          binst           blinst          d24mask
finstance       falias          fnohdr          fimm            fdefd           >h.name
>h.count        >h.token        >h.ctype        >h.flags        >h.link         >dn.probe-addr
>dn.assd-addrs  >dn.#scells     >dn.#acells     >dn.instance-bfr-ptr            >dn.instance-offset
>dn.methods     >dn.properties-tl               >dn.properties-hd               >dn.peer-bak
>dn.peer-nxt    >dn.child       >dn.parent      >dn.check       check-stacks    ep
fp              lp              rp              sp              'e              'f
'l              'r              's              blr             mflr            lr->r
pushr           pushd           trace-end       trace-begin     close           open

 ok
0 > dev @1 can't find device @1 ok
0 >

At 1, which is the DVI-port where the display was found with testversion 5 and also now was connected to, no child-device could be found.
 
This is what i get in the Sawtooth>

Did the load some 15 minutes ago. But up to now nothing else happened.
Shouldn't take that long.

Just out of curiosity, i also loaded the ROM to the beige. Started similar, but then startet outputting some DEFAULT CATCH!-errors and kept doing this for over an hour and 5 MB of output until i stopped it.
Weird. I don't get that. Anything in the output before default catch that was different?

6200 #9 only patches words of the device. If this doesn't work on Sawtooth, then I'll remove patches.
 

Attachments

  • 6200 #9.zip
    359 KB · Views: 66
Weird. I don't get that. Anything in the output before default catch that was different?
See attached file. As mentioned above, this is not complete. Went like that for over 5MB and didn't even stop then.

If it's of any help, here is also how the end of a successful load of v. 5 in the Sawtooth after 1MB of logging looks like:

Code:
set reg
set #size-cells
evaluate : decode-unit parse-1hex ;
r_0 @0010020c.l = 10
set VRAM,memsize
val952=1
[ displays
[ dispA
[ :a41
] :a41
new-device
:e0a
[ :e0a
[ :e09
] :e09
[ :a4a
] :a4a
[ :a45
] :a45
] :e0a
[ do stuff 1
] do stuff 1
[ do stuff 3
is-install
finish-device
] do stuff 3
] dispA
] displays
[ :db7
w_0 @00000004.l = 1
r_3 @00011804.w = 6
w_3 @00011804.w = 4
] :db7
] NV43
here:ff9a4488
 ok
0 > dev pci/@3  ok
0 > .properties words
vendor-id               000010de
device-id               00000221
revision-id             000000a1
class-code              00030000
interrupts              00000001
min-grant               00000005
max-latency             00000001
devsel-speed            00000001
fast-back-to-back
name                    NVDA,Parent
compatible              pci10de,221
                        pciclass,030000
reg                     00011800 00000000 00000000  00000000 00000000
                        02011810 00000000 00000000  00000000 01000000
                        02011818 00000000 00000000  00000000 01000000
                        42011814 00000000 00000000  00000000 10000000
                        02011830 00000000 00000000  00000000 00020000
assigned-addresses      c2011814 00000000 90000000  00000000 10000000
                        82011810 00000000 82000000  00000000 01000000
                        82011818 00000000 81000000  00000000 01000000
                        82011830 00000000 800a0000  00000000 00020000
R2AD                    5c3e8200 90ff002b 00000000 00000000 2e7c0690 07300030 0020041a 04380003
                        0006041a 06900001 00000000 00000000 00000000 00000000 00000000 00000000
subsystem-id            00000010
model                   Geforce 6200
NVDA,BMP                55aa7eeb 4b373430 30e94c19 77cc5649 44454f20 0d000000 00005710 00004942
                        4d205647 4120436f 6d706174 69626c65 01000000 b010cc23 30362f32 342f3035
                        00000000 00000000 01100000 00000000 e93edd00 00000000 00000000 00004081
                        efffff7f 10000080 2200a542 e9f5b7e9 fcb7ffb8 42495400 00010c06 10473201
                        0400de00 42021600 e2004301 0e00f800 44010400 06014901 0e000a01 4c010200
                        18017401 12001a01 4d010200 2c014e00 00000000 50011900 2e015302 15004701
                        54010200 5c015501 03005e01 56010600 61016300 00000000 69022300 67010000
                        00007502 43050000 00000000 a8073030 2f30302f 30300200 00000000 00000000
                        ... 000024fb bytes total
device_type             NVDA,GeForce
NVPM                    01000000 00000000 00000000 00000000 00000000 00000000 00000000
NVCAP                   04000000 00000001 000e0000 00000007 000000
#address-cells          00000001
#size-cells             00000000
rom-revision            32313439 6100
NVDA,Features           004d02ef
NVDA,Level              00000001
VRAM,memsize            10000000 10000000


decode-unit     close           open            close           open
 ok
0 > dev @1  ok
0 > .properties words
name                    NVDA,Display-B
device_type             display
reg                     00000001
compatible              NVDA,NVMac
                        NVDA,MultiDisplay
connector-type          00000004
character-set           ISO8859-1
width                   00000280
height                  000001e0
depth                   00000008
linebytes               00000280
refresh                 0000003c
EDID                    00ffffff ffffff00 06101b92 ab6a0002 12110103 802b1b78 2ec601a3 574a9d25
                        12505400 0000b300 01010101 01010101 01010101 01017c2e 90a0601a 1e403020
                        3600b10e 1100001a 000000ff 00324137 31383241 53584d4d 0a200000 00fc0043
                        696e656d 610a2020 20202020 00000000 00000000 00000000 00000000 0000012b
                        40010200 0000007e 2401a500 ffff031a 1aa80100 00000000 40000000 00000000
                        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
                        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
                        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000057
display-type            4c434400
display-cfg             013e0003
can-hot-plug


close           restore         draw-logo       write           open            power-switch-disable
power-switch-enable             ddc2-send-byte  ddc2-set-stop   ddc2-set-start  dimensions
get-colors      set-colors      color@          color!          read-rectangle  fill-rectangle
draw-rectangle  set-mode        show-modes      get-mode
 ok

Ill try v. 9 as soon as possible.
 

Attachments

  • output_test8_beige.zip
    1.5 KB · Views: 70
6200 #9 only patches words of the device. If this doesn't work on Sawtooth, then I'll remove patches.
9 seems to work nice for the Sawtooth. Here is the result:

Code:
0 > dev pci/@3  ok
0 > load cd:,\TEST9A.ROM load-size=1ffc0 adler32=40740949
 ok
0 > : open true ; : close ;  ok
0 > " pci/@3" select-dev  ok
0 > 800000 1 byte-load [ NV43
here:ff97d8dc

vendor-id               000010de
device-id               00000221
revision-id             000000a1
class-code              00030000
interrupts              00000001
min-grant               00000005
max-latency             00000001
devsel-speed            00000001
fast-back-to-back
name                    pci10de,221
compatible              pci10de,221
                        pciclass,030000
reg                     00011800 00000000 00000000  00000000 00000000
                        02011810 00000000 00000000  00000000 01000000
                        42011814 00000000 00000000  00000000 10000000
                        02011818 00000000 00000000  00000000 01000000
                        02011830 00000000 00000000  00000000 00020000
assigned-addresses      c2011814 00000000 90000000  00000000 10000000
                        82011810 00000000 82000000  00000000 01000000
                        82011818 00000000 81000000  00000000 01000000
                        82011830 00000000 800a0000  00000000 00020000
R2AD                    5c3e8200 90ff002b 00000000 00000000 2e7c0690 07300030 0020041a 04380003
                        0006041a 06900001 00000000 00000000 00000000 00000000 00000000 00000000


close           open
encoding trace
evaluating trace

stacks: ff800000 ff800400 ff8007ac ff800c00 ff801000 ff801760
:e0c
:dd6
get subsystem-id
set subsystem-id
get subsystem-id
val93f=4d
:db6
done defining stuff

patching words...
found:1693 processed:1573 patched:1573
ff811d20 ff811d30 0x8a ff821b30 defer expect (UNKNOWN FORMAT! not br)
ff811ce0 ff811cf0 0x8d ff8168b0 defer key? (UNKNOWN FORMAT! not br)
ff811cc0 ff811cd0 0x8e ff816928 defer key (UNKNOWN FORMAT! not br)
ff811c80 ff811c90 0x92 ff814e38 defer cr (UNKNOWN FORMAT! not br)
ff811ca0 ff811cb0 0x90 ff817378 defer type (UNKNOWN FORMAT! not br)
ff811d60 ff811d70 0x5c2 ff82b158 defer status (UNKNOWN FORMAT! not br)
ff814e98 ff814ea8 0x6b3 : space (UNKNOWN FORMAT! not br)
done patch-words
ff987960 ff987968 0xf03 : ^ff987968
ff987a50 ff987a58 0xf06 : ^ff987a58
ff987a80 ff987a88 0xf07 : ^ff987a88
ff987b70 ff987b78 0xf0c : ^ff987b78
ff987ba8 ff987bb0 0xf0d : ^ff987bb0
ff987480 ff987488 0x9e0 : ^ff987488
ff987e30 ff987e38 0xa0a : ^ff987e38
ff987e70 ff987e78 0xa0b : ^ff987e78
ff987fd0 ff987fd8 0xa12 : ^ff987fd8
ff987ed0 ff987ed8 0xa0d : ^ff987ed8
ff987f50 ff987f58 0xa0f : ^ff987f58
ff987f90 ff987f98 0xa10 : ^ff987f98
ff987fb0 ff987fb8 0xa11 : ^ff987fb8
ff987ff0 ff987ff8 0xa13 : ^ff987ff8
ff988488 ff988490 0xa2a : ^ff988490
ff9884b0 ff9884b8 0xa2b : ^ff9884b8
ff9884d0 ff9884d8 0xa2c : ^ff9884d8
ff9885a8 ff9885b0 0xa32 : ^ff9885b0
ff988628 ff988630 0xa36 : ^ff988630
ff98a8b8 ff98a8c0 0xb03 : ^ff98a8c0
ff98a8d8 ff98a8e0 0xb04 : ^ff98a8e0
ff98a8f8 ff98a900 0xb05 : ^ff98a900
ff98a918 ff98a920 0xb06 : ^ff98a920
ff98a968 ff98a970 0xb07 : ^ff98a970
ff98aa00 ff98aa08 0xb08 : ^ff98aa08
ff98aa20 ff98aa28 0xb09 : ^ff98aa28
ff98aa40 ff98aa48 0xb0a : ^ff98aa48
ff98aa60 ff98aa68 0xb0b : ^ff98aa68
ff98aa80 ff98aa88 0xb0c : ^ff98aa88
ff98aac0 ff98aac8 0xb0e : ^ff98aac8
ff98ab00 ff98ab08 0xb10 : ^ff98ab08
ff98ab20 ff98ab28 0xb11 : ^ff98ab28
ff98ab40 ff98ab48 0xb12 : ^ff98ab48
ff98ab40 ff98ab48 0xb12 : ^ff98ab48
ff98ab60 ff98ab68 0xb13 : ^ff98ab68
ff98c428 ff98c430 0xb7a : ^ff98c430
ff98d2f0 ff98d2f8 0xbbe : ^ff98d2f8
ff98d420 ff98d428 0xbc7 : ^ff98d428
ff98d620 ff98d628 0xbd1 : ^ff98d628
ff98d6b8 ff98d6c0 0xbd4 : ^ff98d6c0
ff98d788 ff98d790 0xbd8 : ^ff98d790
ff98d880 ff98d888 0xbdc : ^ff98d888
ff98d8b0 ff98d8b8 0xbde : ^ff98d8b8
ff98d910 ff98d918 0xbe0 : ^ff98d918
ff98df60 ff98df68 0xbea : ^ff98df68
ff98e128 ff98e130 0xbed : ^ff98e130
ff98f998 ff98f9a0 0xc2d : ^ff98f9a0
ff98fa00 ff98fa08 0xc2e : ^ff98fa08
ff988300 ff988308 0xa24 : ^ff988308
ff988380 ff988388 0xa25 : ^ff988388
ff98b480 ff98b488 0xb28 : ^ff98b488
ff986c28 ff986c30 0x9a7 ff814cf8 defer ^ff986c30
ff986238 ff986240 0x93d 44 value ^ff986240
ff98a888 ff98a890 0xb01 0 value ^ff98a890
ff98bff0 ff98bff8 0xb4d 0 value ^ff98bff8
ff98c0e0 ff98c0e8 0xb57 0 value ^ff98c0e8
ff98c128 ff98c130 0xb5a 0 value ^ff98c130
ff98c140 ff98c148 0xb5b 0 value ^ff98c148
ff98f0c0 ff98f0c8 0xc0b 0 value ^ff98f0c8
ff98f0d8 ff98f0e0 0xc0c 0 value ^ff98f0e0
ff98f0f0 ff98f0f8 0xc0d 0 value ^ff98f0f8
ff98f108 ff98f110 0xc0e 0 value ^ff98f110
ff98f138 ff98f140 0xc10 0 value ^ff98f140
ff98f168 ff98f170 0xc12 0 value ^ff98f170
ff98f1b0 ff98f1b8 0xc15 0 value ^ff98f1b8
ff98f1c8 ff98f1d0 0xc16 0 value ^ff98f1d0
ff98f210 ff98f218 0xc19 0 value ^ff98f218
ff98f228 ff98f230 0xc1a 0 value ^ff98f230
ff98f6d0 ff98f6d8 0xc21 0 value ^ff98f6d8
ff98f6e8 ff98f6f0 0xc22 0 value ^ff98f6f0
ff98f700 ff98f708 0xc23 0 value ^ff98f708
ff98f718 ff98f720 0xc24 0 value ^ff98f720
ff98f730 ff98f738 0xc25 0 value ^ff98f738
ff98f748 ff98f750 0xc26 0 value ^ff98f750
ff98f760 ff98f768 0xc27 0 value ^ff98f768
ff98f778 ff98f780 0xc28 0 value ^ff98f780
ff98f790 ff98f798 0xc29 0 value ^ff98f798
ff9938a0 ff9938a8 0xca1 0 value ^ff9938a8
ff993888 ff993890 0xca0 0 value ^ff993890
ff98af30 ff98af38 0xb1b 0 value ^ff98af38
ff98beb8 ff98bec0 0xb40 0 value ^ff98bec0
ff98bee8 ff98bef0 0xb42 0 value ^ff98bef0
ff9869b8 ff9869c0 0x98d 0 value ^ff9869c0
ff988d18 ff988d20 0xa5b ffffffff value ^ff988d20
ff8156b8 ff8156c8 0x9b : u. (UNKNOWN FORMAT! not br)
ff8156e0 ff8156f0 0x9d ff8156c8 defer . (UNKNOWN FORMAT! not br)
ff814d10 ff814d20 0x126 : ms (UNKNOWN FORMAT! not br)
ff80df68 ff80df80 0x8b ff8119f0 defer alloc-mem (UNKNOWN FORMAT! not br)
ff816098 ff8160a8 0xcb : $find (UNKNOWN FORMAT! not br)
ff824ed8 ff824ef0 0x11a : device-type (UNKNOWN FORMAT! not br)
ff824758 ff824770 0x110 : property (UNKNOWN FORMAT! not br)
ff8252a0 ff8252b8 0x21a : get-my-property (UNKNOWN FORMAT! not br)
[ :dostuff
:ddb
:e10
here:ff9bd79c ff9bb3d0 23cc ff9bb3d0
here:ff9bd8cb ff9bb3d0 24fb
:ddd
:ce7
:d87
:dde
:df1
:c5d
:e00
val946=2
no rnin
:df7
:dd1
:e0f
:e04
:e05
] :dostuff
done dostuff
:9c7
set reg
set #size-cells
evaluate : decode-unit ." decode-unit" parse-1hex ; ['] decode-unit 18 - 28 dump

ff9bdac8: ff fe 9e c0 80 b7 ff ff 0b 64 65 63 6f 64 65 2d |.........decode-|
ff9bdad8: 75 6e 69 74 00 00 00 00 96 7e ff fc 7e 68 02 a6 |unit.....~..~h..|
ff9bdae8: 4b e4 c9 a9 0b 64 65 63 |K....dec|set VRAM,memsize
val952=1
[ displays
[ dispA
[ :a41
] :a41
new-device
:e0a
[ :e0a
[ :e09
] :e09
[ :a4a
] :a4a
[ :a45
] :a45
] :e0a
[ do stuff 1
] do stuff 1
[ do stuff 3
is-install
finish-device
] do stuff 3
] dispA
[ dispB
[ :a41
] :a41
new-device
:e0a
[ :e0a
[ :e09
] :e09
[ :a4a
] :a4a
[ :a45
] :a45
] :e0a
[ do stuff 1B
] do stuff 1B
[ do stuff 3B
is-install
finish-device
] do stuff 3
] dispB
] displays
[ :db7
] :db7
] NV43
here:ff9bed28
 ok
0 > .properties words
vendor-id               000010de
device-id               00000221
revision-id             000000a1
class-code              00030000
interrupts              00000001
min-grant               00000005
max-latency             00000001
devsel-speed            00000001
fast-back-to-back
name                    NVDA,Parent
compatible              pci10de,221
                        pciclass,030000
reg                     00011800 00000000 00000000  00000000 00000000
                        02011810 00000000 00000000  00000000 01000000
                        02011818 00000000 00000000  00000000 01000000
                        42011814 00000000 00000000  00000000 10000000
                        02011830 00000000 00000000  00000000 00020000
assigned-addresses      c2011814 00000000 90000000  00000000 10000000
                        82011810 00000000 82000000  00000000 01000000
                        82011818 00000000 81000000  00000000 01000000
                        82011830 00000000 800a0000  00000000 00020000
R2AD                    5c3e8200 90ff002b 00000000 00000000 2e7c0690 07300030 0020041a 04380003
                        0006041a 06900001 00000000 00000000 00000000 00000000 00000000 00000000
subsystem-id            00000010
model                   Geforce 6200
NVDA,BMP                55aa7eeb 4b373430 30e94c19 77cc5649 44454f20 0d000000 00005710 00004942
                        4d205647 4120436f 6d706174 69626c65 01000000 b010cc23 30362f32 342f3035
                        00000000 00000000 01100000 00000000 e93edd00 00000000 00000000 00004081
                        efffff7f 10000080 2200a542 e9f5b7e9 fcb7ffb8 42495400 00010c06 10473201
                        0400de00 42021600 e2004301 0e00f800 44010400 06014901 0e000a01 4c010200
                        18017401 12001a01 4d010200 2c014e00 00000000 50011900 2e015302 15004701
                        54010200 5c015501 03005e01 56010600 61016300 00000000 69022300 67010000
                        00007502 43050000 00000000 a8073030 2f30302f 30300200 00000000 00000000
                        ... 000024fb bytes total
device_type             NVDA,GeForce
NVPM                    01000000 00000000 00000000 00000000 00000000 00000000 00000000
NVCAP                   04000000 00000001 000e0000 00000007 000000
#address-cells          00000001
#size-cells             00000000
rom-revision            32313439 6100
NVDA,Features           004d02ef
NVDA,Level              00000001
VRAM,memsize            10000000 10000000


decode-unit     close           open            patch?          patchable-words unpatch-words
patch-words     list-words      defer-patch?    dump-return-stack               addr>xt
closest-word    closest-offset  closest-xt      instruction-addr                words-iterator
loop-words-global               loop-words-siblings             loop-words-local
loop-words      all-words       dump-word-cr    unpatch-word    patch-word      patch-word-behavior
unpatch-colon   patch-colon     patch-colon-behavior            convert-exits   unpatch-field
patch-field     patch-field-behavior            unpatch-exit    patch-exit      patch-exit-behavior
unpatch-defer   patch-defer     patch-defer-behavior            unpatch-entry   patch-entry
patch-entry-behavior            dump-word       do-nodent       do-outdent      do-indent
trace-off       trace-on        words-processed words-unpatched words-patched   words-found
pause-level     recurse-level   indent-level    notdenting?     trace?          myname.
hlink>xt        xt>hlink        find-token-in-word              'exit           br>xt
bl>xt           adr>xt          is-br?          is-bl?          .stack          log-patches
name.           <pushd,>        <pushr,>        <lr->r,>        <mflr,>         <blr,>
xt>hdr          <b,>            disp24          binst           blinst          d24mask
finstance       falias          fnohdr          fimm            fdefd           >h.name
>h.count        >h.token        >h.ctype        >h.flags        >h.link         >dn.probe-addr
>dn.assd-addrs  >dn.#scells     >dn.#acells     >dn.instance-bfr-ptr            >dn.instance-offset
>dn.methods     >dn.properties-tl               >dn.properties-hd               >dn.peer-bak
>dn.peer-nxt    >dn.child       >dn.parent      >dn.check       check-stacks    ep
fp              lp              rp              sp              'e              'f
'l              'r              's              blr             mflr            lr->r
pushr           pushd           trace-end       trace-begin     close           open

 ok
0 > dev @1 decode-unit ok
0 > .properties words
name                    NVDA,Display-B
device_type             display
reg                     00000001
compatible              NVDA,NVMac
                        NVDA,MultiDisplay
connector-type          00000004
character-set           ISO8859-1
width                   00000280
height                  000001e0
depth                   00000008
linebytes               00000280
refresh                 0000003c
EDID                    00ffffff ffffff00 06101b92 ab6a0002 12110103 802b1b78 2ec601a3 574a9d25
                        12505400 0000b300 01010101 01010101 01010101 01017c2e 90a0601a 1e403020
                        3600b10e 1100001a 000000ff 00324137 31383241 53584d4d 0a200000 00fc0043
                        696e656d 610a2020 20202020 00000000 00000000 00000000 00000000 0000012b
                        40010200 0000007e 2401a500 ffff031a 1aa80100 00000000 40000000 00000000
                        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
                        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
                        00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000057
display-type            4c434400
display-cfg             013e0003
can-hot-plug


close           restore         draw-logo       write           open            power-switch-disable
power-switch-enable             ddc2-send-byte  ddc2-set-stop   ddc2-set-start  dimensions
get-colors      set-colors      color@          color!          read-rectangle  fill-rectangle
draw-rectangle  set-mode        show-modes      get-mode
 ok
0 >

Also booted to the OS without problems.
 
6200 #9 only patches words of the device.
Looks to me, you are very close to success now!

I loaded v. 9 to the G3 and here is, what i get:

Code:
0 > dev pci/@f  ok
0 > : open true ; : close ;  ok
0 > " ide0/@0:1,\TEST9.ROM" (load)  ok
0 > " pci/@f" select-dev  ok
0 > 600040 1 byte-load [ NV43
here:ff85886c

vendor-id               000010de
device-id               00000221
revision-id             000000a1
class-code              00030000
interrupts              00000001
min-grant               00000005
max-latency             00000001
devsel-speed            00000001
fast-back-to-back
AAPL,interrupts         00000019
AAPL,slot-name          C1
name                    pci10de,221
compatible              pci10de,221
device_type             display
reg                     00007800 00000000 00000000  00000000 00000000
                        02007810 00000000 00000000  00000000 01000000
                        42007814 00000000 00000000  00000000 10000000
                        02007818 00000000 00000000  00000000 01000000
                        02007830 00000000 00000000  00000000 00020000
power-consumption       00e4e1c0 00e4e1c0
assigned-addresses      c2007814 00000000 90000000  00000000 10000000
                        82007810 00000000 82000000  00000000 01000000
                        82007818 00000000 81000000  00000000 01000000
                        82007830 00000000 80820000  00000000 00020000


close           open
encoding trace
evaluating trace

stacks: ff800000 ff800400 ff8007bc ff800c00 ff801000 ff8017a0
:e0c
:dd6
get subsystem-id
set subsystem-id
get subsystem-id
val93f=4d
:db6
done defining stuff

patching words...
found:1693 processed:1573 patched:1573
ff810568 ff810578 0x8a ff81ba38 defer expect (UNKNOWN FORMAT! not br)
ff810678 ff810688 0x8d ff814330 defer key? (UNKNOWN FORMAT! not br)
ff810658 ff810668 0x8e ff814360 defer key (UNKNOWN FORMAT! not br)
ff812cd8 ff812ce8 0x92 : cr (UNKNOWN FORMAT! not br)
ff810638 ff810648 0x90 ff814640 defer type (UNKNOWN FORMAT! not br)
ff817378 ff817388 0x6cf ff8173b0 defer status (UNKNOWN FORMAT! not br)
ff812d18 ff812d28 0xfe0 : space (UNKNOWN FORMAT! not br)
done patch-words
ff8628f0 ff8628f8 0xf03 : ^-79d708
ff8629e0 ff8629e8 0xf06 : ^-79d618
ff862a10 ff862a18 0xf07 : ^-79d5e8
ff862b00 ff862b08 0xf0c : ^-79d4f8
ff862b38 ff862b40 0xf0d : ^-79d4c0
ff862410 ff862418 0x9e0 : ^-79dbe8
ff862dc0 ff862dc8 0xa0a : ^-79d238
ff862e00 ff862e08 0xa0b : ^-79d1f8
ff862f60 ff862f68 0xa12 : ^-79d098
ff862e60 ff862e68 0xa0d : ^-79d198
ff862ee0 ff862ee8 0xa0f : ^-79d118
ff862f20 ff862f28 0xa10 : ^-79d0d8
ff862f40 ff862f48 0xa11 : ^-79d0b8
ff862f80 ff862f88 0xa13 : ^-79d078
ff863418 ff863420 0xa2a : ^-79cbe0
ff863440 ff863448 0xa2b : ^-79cbb8
ff863460 ff863468 0xa2c : ^-79cb98
ff863538 ff863540 0xa32 : ^-79cac0
ff8635b8 ff8635c0 0xa36 : ^-79ca40
ff865848 ff865850 0xb03 : ^-79a7b0
ff865868 ff865870 0xb04 : ^-79a790
ff865888 ff865890 0xb05 : ^-79a770
ff8658a8 ff8658b0 0xb06 : ^-79a750
ff8658f8 ff865900 0xb07 : ^-79a700
ff865990 ff865998 0xb08 : ^-79a668
ff8659b0 ff8659b8 0xb09 : ^-79a648
ff8659d0 ff8659d8 0xb0a : ^-79a628
ff8659f0 ff8659f8 0xb0b : ^-79a608
ff865a10 ff865a18 0xb0c : ^-79a5e8
ff865a50 ff865a58 0xb0e : ^-79a5a8
ff865a90 ff865a98 0xb10 : ^-79a568
ff865ab0 ff865ab8 0xb11 : ^-79a548
ff865ad0 ff865ad8 0xb12 : ^-79a528
ff865ad0 ff865ad8 0xb12 : ^-79a528
ff865af0 ff865af8 0xb13 : ^-79a508
ff8673b8 ff8673c0 0xb7a : ^-798c40
ff868280 ff868288 0xbbe : ^-797d78
ff8683b0 ff8683b8 0xbc7 : ^-797c48
ff8685b0 ff8685b8 0xbd1 : ^-797a48
ff868648 ff868650 0xbd4 : ^-7979b0
ff868718 ff868720 0xbd8 : ^-7978e0
ff868810 ff868818 0xbdc : ^-7977e8
ff868840 ff868848 0xbde : ^-7977b8
ff8688a0 ff8688a8 0xbe0 : ^-797758
ff868ef0 ff868ef8 0xbea : ^-797108
ff8690b8 ff8690c0 0xbed : ^-796f40
ff86a928 ff86a930 0xc2d : ^-7956d0
ff86a990 ff86a998 0xc2e : ^-795668
ff863290 ff863298 0xa24 : ^-79cd68
ff863310 ff863318 0xa25 : ^-79cce8
ff866410 ff866418 0xb28 : ^-799be8
ff861bb8 ff861bc0 0x9a7 ff812b78 defer ^-79e440
ff8611c8 ff8611d0 0x93d 44 value ^-79ee30
ff865818 ff865820 0xb01 0 value ^-79a7e0
ff866f80 ff866f88 0xb4d 0 value ^-799078
ff867070 ff867078 0xb57 0 value ^-798f88
ff8670b8 ff8670c0 0xb5a 0 value ^-798f40
ff8670d0 ff8670d8 0xb5b 0 value ^-798f28
ff86a050 ff86a058 0xc0b 0 value ^-795fa8
ff86a068 ff86a070 0xc0c 0 value ^-795f90
ff86a080 ff86a088 0xc0d 0 value ^-795f78
ff86a098 ff86a0a0 0xc0e 0 value ^-795f60
ff86a0c8 ff86a0d0 0xc10 0 value ^-795f30
ff86a0f8 ff86a100 0xc12 0 value ^-795f00
ff86a140 ff86a148 0xc15 0 value ^-795eb8
ff86a158 ff86a160 0xc16 0 value ^-795ea0
ff86a1a0 ff86a1a8 0xc19 0 value ^-795e58
ff86a1b8 ff86a1c0 0xc1a 0 value ^-795e40
ff86a660 ff86a668 0xc21 0 value ^-795998
ff86a678 ff86a680 0xc22 0 value ^-795980
ff86a690 ff86a698 0xc23 0 value ^-795968
ff86a6a8 ff86a6b0 0xc24 0 value ^-795950
ff86a6c0 ff86a6c8 0xc25 0 value ^-795938
ff86a6d8 ff86a6e0 0xc26 0 value ^-795920
ff86a6f0 ff86a6f8 0xc27 0 value ^-795908
ff86a708 ff86a710 0xc28 0 value ^-7958f0
ff86a720 ff86a728 0xc29 0 value ^-7958d8
ff86e830 ff86e838 0xca1 0 value ^-7917c8
ff86e818 ff86e820 0xca0 0 value ^-7917e0
ff865ec0 ff865ec8 0xb1b 0 value ^-79a138
ff866e48 ff866e50 0xb40 0 value ^-7991b0
ff866e78 ff866e80 0xb42 0 value ^-799180
ff861948 ff861950 0x98d 0 value ^-79e6b0
ff863ca8 ff863cb0 0xa5b ffffffff value ^-79c350
ff813578 ff813588 0x9b : u. (UNKNOWN FORMAT! not br)
ff810588 ff810598 0x9d ff813560 defer . (UNKNOWN FORMAT! not br)
ff812ba8 ff812bb8 0x126 : ms (UNKNOWN FORMAT! not br)
ff80d0c8 ff80d0e0 0x8b ff810488 defer alloc-mem (UNKNOWN FORMAT! not br)
ff813c18 ff813c28 0xcb : $find (UNKNOWN FORMAT! not br)
ff81ec88 ff81eca0 0x11a : device-type (UNKNOWN FORMAT! not br)
ff81e718 ff81e730 0x110 : property (UNKNOWN FORMAT! not br)
ff81f0f0 ff81f108 0x21a : get-my-property (UNKNOWN FORMAT! not br)
[ :dostuff
:ddb
:e10
here:ff89872c -769ca0 23cc -769ca0
got exception fff00300
done dostuff
:9c7
set reg
set #size-cells
evaluate : decode-unit ." decode-unit" parse-1hex ; ['] decode-unit 18 - 28 dump

ff8989a0: ff fe 9f 78 80 b7 08 7a 0b 64 65 63 6f 64 65 2d :...x...z.decode-:
ff8989b0: 75 6e 69 74 00 00 00 00 96 7e ff fc 7e 68 02 a6 :unit.....~..~h..:
ff8989c0: 4b f7 17 41 0b 64 65 63 :K..A.dec:set VRAM,memsize
[ displays
] displays
[ :db7
] :db7
] NV43
here:ff899470
 ok
0 > .properties words
vendor-id               000010de
device-id               00000221
revision-id             000000a1
class-code              00030000
interrupts              00000001
min-grant               00000005
max-latency             00000001
devsel-speed            00000001
fast-back-to-back
AAPL,interrupts         00000019
AAPL,slot-name          C1
name                    NVDA,Parent
compatible              pci10de,221
device_type             display
reg                     00007800 00000000 00000000  00000000 00000000
                        02007810 00000000 00000000  00000000 01000000
                        02007818 00000000 00000000  00000000 01000000
                        42007814 00000000 00000000  00000000 10000000
                        02007830 00000000 00000000  00000000 00020000
power-consumption       00e4e1c0 00e4e1c0
assigned-addresses      c2007814 00000000 90000000  00000000 10000000
                        82007810 00000000 82000000  00000000 01000000
                        82007818 00000000 81000000  00000000 01000000
                        82007830 00000000 80820000  00000000 00020000
subsystem-id            00000010
model                   Geforce 6200
#address-cells          00000001
#size-cells             00000000
rom-revision            32313439 6100
NVDA,Features           004d00ef
NVDA,Level              00000001
VRAM,memsize            00000000 00000000


decode-unit     close           open            patch?          patchable-words unpatch-words
patch-words     list-words      defer-patch?    dump-return-stack               addr>xt
closest-word    closest-offset  closest-xt      instruction-addr                words-iterator
loop-words-global               loop-words-siblings             loop-words-local
loop-words      all-words       dump-word-cr    unpatch-word    patch-word      patch-word-behavior
unpatch-colon   patch-colon     patch-colon-behavior            convert-exits   unpatch-field
patch-field     patch-field-behavior            unpatch-exit    patch-exit      patch-exit-behavior
unpatch-defer   patch-defer     patch-defer-behavior            unpatch-entry   patch-entry
patch-entry-behavior            dump-word       do-nodent       do-outdent      do-indent
trace-off       trace-on        words-processed words-unpatched words-patched   words-found
pause-level     recurse-level   indent-level    notdenting?     trace?          myname.
hlink>xt        xt>hlink        find-token-in-word              'exit           br>xt
bl>xt           adr>xt          is-br?          is-bl?          .stack          log-patches
name.           <pushd,>        <pushr,>        <lr->r,>        <mflr,>         <blr,>
xt>hdr          <b,>            disp24          binst           blinst          d24mask
finstance       falias          fnohdr          fimm            fdefd           >h.name
>h.count        >h.token        >h.ctype        >h.flags        >h.link         >dn.probe-addr
>dn.assd-addrs  >dn.#scells     >dn.#acells     >dn.instance-bfr-ptr            >dn.instance-offset
>dn.methods     >dn.properties-tl               >dn.properties-hd               >dn.peer-bak
>dn.peer-nxt    >dn.child       >dn.parent      >dn.check       check-stacks    ep
fp              lp              rp              sp              'e              'f
'l              'r              's              blr             mflr            lr->r
pushr           pushd           trace-end       trace-begin     close           open

 ok
0 > dev @0 decode-unit ok
0 > .properties words
name                    no-A


power-switch-disable            power-switch-enable             ddc2-send-byte  ddc2-set-stop
ddc2-set-start  dimensions      get-colors      set-colors      color@          color!
read-rectangle  fill-rectangle  draw-rectangle  set-mode        show-modes      get-mode

 ok
0 >

Very similar to what the Sawtooth outputs. Card seems to be recognized ok. Only the display attached to the VGA is not "seen". But to me it looks like just one step away.

Here is the Beige's actual device list:

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
ff8316d8: /aliases@0
ff831a18: /packages@0
ff831aa0:   /deblocker@0,0
ff832318:   /disk-label@0,0
ff832e08:   /obp-tftp@0,0
ff835830:   /mac-files@0,0
ff837b88:   /mac-parts@0,0
ff838d70:   /aix-boot@0,0
ff839278:   /fat-files@0,0
ff83ac88:   /iso-9660-files@0,0
ff83b798:   /xcoff-loader@0,0
ff83c1d0:   /terminal-emulator@0,0
ff83c268: /pci@80000000                [grackle]
ff83d768:   /mac-io@10                 [heathrow]
ff83eac0:     /mesh@10000              [mesh]
ff840b50:       /sd@0,0                [sd]
ff8418a0:       /st@0,0                [st]
ff842708:     /bmac@11000              [bmac]
ff844e48:     /escc@13000              [escc CHRP,es0]
ff844fe0:       /ch-a@13020            [ch-a CHRP,es2]
ff8456f0:       /ch-b@13000            [ch-b CHRP,es3]
ff845e00:     /davbus@14000
ff845ee8:       /sound@0,0             [awacs screamer]
ff845fd8:     /swim3@15000             [swim3]
ff8476e0:     /nvram@60000             [nvram]
ff8477d8:     /ide@20000               [heathrow-ata]
ff8499a8:       /disk@0,0              [ata-disk atapi-disk]
ff84bc40:       /disk@0,0              [ata-disk atapi-disk]
ff84df28:     /ide@21000               [heathrow-ata]
ff8500f8:       /disk@0,0              [ata-disk atapi-disk]
ff852390:       /disk@0,0              [ata-disk atapi-disk]
ff854678:     /via-cuda@16000          [via-cuda]
ff8557f8:       /adb@0,0               [adb]
ff855910:         /keyboard@0,0
ff856330:         /mouse@1,0
ff8565f0:       /pram@0,0
ff8566a0:       /rtc@0,0               [rtc]
ff856bd0:       /power-mgt@0,0         [power-mgt]
ff857a58:   /pci1106,3038@d            [pci1106,3038]
ff857d80:   /pci1106,3038@d,1          [pci1106,3038]
ff858078:   /pci1106,3104@d,2          [pci1106,3104]
ff858370:   /NVDA,Parent@f             [pci10de,221]
ff898a08:     /no-A@0
ff898db0:     /no-B@0
ff899158:     /sensor-parent@0         [NVDA,sensor-parent]
ff8992c8:       /gpu-diode-temperature@0
ff856f30: /perch@0                     [Whisper]
 ok
0 >
 
  • Like
Reactions: LightBulbFun
Bit strange to me looks, that for the Beige all the child devices of the 6200 have the same adress "@0", while in Sawtooth the displays appear as @0, @1 and the temp sensor is @2.

Edit: Some more differences.
"compatible"-property also has "pciclass,030000" in Sawtooth, which is missing in Beige. "device_type" for Sawtooth is "NVDA,GeForce", for the Beige it's "display".
 
Last edited:
9 seems to work nice for the Sawtooth. Here is the result:

Also booted to the OS without problems.
Glad it still works.

Looks to me, you are very close to success now!

I loaded v. 9 to the G3 and here is, what i get:

Code:
[ :dostuff
:ddb
:e10
here:ff89872c -769ca0 23cc -769ca0
got exception fff00300
done dostuff
Looks like it was able to catch an exception which means some stuff was not completed. I need to figure out a method to get a stack trace when the exception is thrown. In the mean time, I can enable trace for just the part that is failing (between the here in :e10 and the call to :ddd). The trace only includes words from the fcode rom for now.

Wait one sec - I made a change to decode-unit but it's not working. I'll revert. ... no need to revert, just forgot to make it external. Try 6200 #11.
 

Attachments

  • 6200 #11.zip
    357.5 KB · Views: 62
Last edited:
  • Like
Reactions: flyproductions
Wait one sec - I made a change to decode-unit but it's not working. I'll revert. ... no need to revert, just forgot to make it external. Try 6200 #11.
Hmmm, sadly still no display-child-devices found.

Code:
ff858370:   /NVDA,Parent@f             [pci10de,221]
ff898b48:     /no-A@0
ff898ef0:     /no-B@0
ff899298:     /sensor-parent@0         [NVDA,sensor-parent]
ff899408:       /gpu-diode-temperature@0
ff856f30: /perch@0                     [Whisper]
 ok
0 >

Some output from the end of the byte-load in Beige with v. 11...

Code:
[ displays
  [] 0x946 0
  [] 0x946 0
  [] 0x946 0
  [] 0x946 0
] displays
  [] 0x951 0
  [ 0xdb7 Empty
[ :db7
    [ 0xa3e Empty
      [] 0x949 ffffffff
    ] 0xa3e Empty
    [ 0xa3c Empty
      [ 0xa06 7804 7804
        [] 0xf00 7804 7804 0
      ] 0xa06 7804 6
      [ 0xa07 4 7804
        [] 0xf00 4 7804 0
      ] 0xa07 Empty
    ] 0xa3c Empty
    [ 0x9c0 Empty
      [] 0x9c2 2000018
    ] 0x9c0 2000018
    [] 0x9c1 2000018 200001c
    [] 0x9a5 80820000
    [] 0x9c5 80820000 20000
    [ 0xa05 80820000 20000
    ] 0xa05 Empty
    [] 0x9a3 82000000
    [] 0x9c3 82000000 1000000
    [ 0xa05 82000000 1000000
    ] 0xa05 Empty
    [] 0x9a6 81000000
    [] 0x9c6 81000000 1000000
    [ 0xa05 81000000 1000000
    ] 0xa05 Empty
    [] 0x9a4 90000000
    [] 0x9c4 90000000 10000000
    [ 0xa05 90000000 10000000
    ] 0xa05 Empty
    [ 0x9c0 Empty
      [] 0x9c2 2000018
    ] 0x9c0 2000018
    [] 0x9c1 2000018 200001c
] :db7
  ] 0xdb7 Empty

...compared to what the Sawtooth with v. 9, which was allready working, showed for this part.

Code:
[ displays
[ dispA
[ :a41
] :a41
new-device
:e0a
[ :e0a
[ :e09
] :e09
[ :a4a
] :a4a
[ :a45
] :a45
] :e0a
[ do stuff 1
] do stuff 1
[ do stuff 3
is-install
finish-device
] do stuff 3
] dispA
[ dispB
[ :a41
] :a41
new-device
:e0a
[ :e0a
[ :e09
] :e09
[ :a4a
] :a4a
[ :a45
] :a45
] :e0a
[ do stuff 1B
] do stuff 1B
[ do stuff 3B
is-install
finish-device
] do stuff 3
] dispB
] displays
[ :db7
] :db7
 
Last edited:
Hmmm, sadly still no display-child-devices found.

Code:
ff858370:   /NVDA,Parent@f             [pci10de,221]
ff898b48:     /no-A@0
ff898ef0:     /no-B@0
ff899298:     /sensor-parent@0         [NVDA,sensor-parent]
ff899408:       /gpu-diode-temperature@0
ff856f30: /perch@0                     [Whisper]
 ok
0 >
Same here with OF 2.01f

Also note that most of the properties the FCode ROM should create are missing from the Parent and no VRAM,size is found.
 
Last edited:
  • Like
Reactions: flyproductions
Also note that most of the properties the FCode ROM should create are missing from the Parent and no VRAM,size is found.
Yes, didn't notice that memsize was zero yesterday.

And further missing, compared to Sawtooth, are...

Code:
R2AD                    5c3e8200 90ff002b 00000000 00000000 2e7c0690 07300030 0020041a 04380003
                        0006041a 06900001 00000000 00000000 00000000 00000000 00000000 00000000

Code:
NVPM                    01000000 00000000 00000000 00000000 00000000 00000000 00000000

Code:
NVCAP                   04000000 00000001 000e0000 00000007 000000
 
Last edited:
Hmmm, sadly still no display-child-devices found.

Some output from the end of the byte-load in Beige with v. 11...

...compared to what the Sawtooth with v. 9, which was allready working, showed for this part.

Same here with OF 2.01f

Also note that most of the properties the FCode ROM should create are missing from the Parent and no VRAM,size is found.

Please provide the entire output from [ NV43 to ] NV43 I don't care about properties. I am looking for the part that occurs before "got exception" is output. I understand that since an exception occurred, the trace was not finished where I intended it to. If you did not save the entire output and there was a lot of trace stuff that took a long time to finish, longer than you want to do again, then you can try #12.
 

Attachments

  • 6200 #12.zip
    357.5 KB · Views: 57
  • Like
Reactions: flyproductions
If you did not save the entire output and there was a lot of trace stuff that took a long time to finish, longer than you want to do again, then you can try #12.
Loading with this ROMs does not take much time anymore. It finishes almost instantly. But i used #12 to repeat the process. So here is the complete output:

Code:
0 > 600040 1 byte-load [ NV43
here:ff85886c

vendor-id               000010de
device-id               00000221
revision-id             000000a1
class-code              00030000
interrupts              00000001
min-grant               00000005
max-latency             00000001
devsel-speed            00000001
fast-back-to-back
AAPL,interrupts         00000019
AAPL,slot-name          C1
name                    pci10de,221
compatible              pci10de,221
device_type             display
reg                     00007800 00000000 00000000  00000000 00000000
                        02007810 00000000 00000000  00000000 01000000
                        42007814 00000000 00000000  00000000 10000000
                        02007818 00000000 00000000  00000000 01000000
                        02007830 00000000 00000000  00000000 00020000
power-consumption       00e4e1c0 00e4e1c0
assigned-addresses      c2007814 00000000 90000000  00000000 10000000
                        82007810 00000000 82000000  00000000 01000000
                        82007818 00000000 81000000  00000000 01000000
                        82007830 00000000 80820000  00000000 00020000


close           open
encoding trace
evaluating trace

stacks: ff800000 ff800400 ff8007bc ff800c00 ff801000 ff8017a0
:e0c
:dd6
get subsystem-id
set subsystem-id
get subsystem-id
val93f=4d
:db6
done defining stuff

patching words...
found:1697 processed:1577 patched:1577
ff810568 ff810578 0x8a ff81ba38 defer expect (UNKNOWN FORMAT! not br)
ff810678 ff810688 0x8d ff814330 defer key? (UNKNOWN FORMAT! not br)
ff810658 ff810668 0x8e ff814360 defer key (UNKNOWN FORMAT! not br)
ff812cd8 ff812ce8 0x92 : cr (UNKNOWN FORMAT! not br)
ff810638 ff810648 0x90 ff814640 defer type (UNKNOWN FORMAT! not br)
ff817378 ff817388 0x6cf ff8173b0 defer status (UNKNOWN FORMAT! not br)
ff812d18 ff812d28 0xfe0 : space (UNKNOWN FORMAT! not br)
done patch-words
ff862908 ff862910 0xf04 : ^-79d6f0
ff8629f8 ff862a00 0xf07 : ^-79d600
ff862a28 ff862a30 0xf08 : ^-79d5d0
ff862b18 ff862b20 0xf0d : ^-79d4e0
ff862b50 ff862b58 0xf0e : ^-79d4a8
ff862410 ff862418 0x9e0 : ^-79dbe8
ff862e78 ff862e80 0xa0a : ^-79d180
ff862eb8 ff862ec0 0xa0b : ^-79d140
ff863018 ff863020 0xa12 : ^-79cfe0
ff862f18 ff862f20 0xa0d : ^-79d0e0
ff862f98 ff862fa0 0xa0f : ^-79d060
ff862fd8 ff862fe0 0xa10 : ^-79d020
ff862ff8 ff863000 0xa11 : ^-79d000
ff863038 ff863040 0xa13 : ^-79cfc0
ff8634d0 ff8634d8 0xa2a : ^-79cb28
ff8634f8 ff863500 0xa2b : ^-79cb00
ff863518 ff863520 0xa2c : ^-79cae0
ff8635f0 ff8635f8 0xa32 : ^-79ca08
ff863670 ff863678 0xa36 : ^-79c988
ff865900 ff865908 0xb03 : ^-79a6f8
ff865920 ff865928 0xb04 : ^-79a6d8
ff865940 ff865948 0xb05 : ^-79a6b8
ff865960 ff865968 0xb06 : ^-79a698
ff8659b0 ff8659b8 0xb07 : ^-79a648
ff865a48 ff865a50 0xb08 : ^-79a5b0
ff865a68 ff865a70 0xb09 : ^-79a590
ff865a88 ff865a90 0xb0a : ^-79a570
ff865aa8 ff865ab0 0xb0b : ^-79a550
ff865ac8 ff865ad0 0xb0c : ^-79a530
ff865b08 ff865b10 0xb0e : ^-79a4f0
ff865b48 ff865b50 0xb10 : ^-79a4b0
ff865b68 ff865b70 0xb11 : ^-79a490
ff865b88 ff865b90 0xb12 : ^-79a470
ff865b88 ff865b90 0xb12 : ^-79a470
ff865ba8 ff865bb0 0xb13 : ^-79a450
ff867470 ff867478 0xb7a : ^-798b88
ff868338 ff868340 0xbbe : ^-797cc0
ff868468 ff868470 0xbc7 : ^-797b90
ff868668 ff868670 0xbd1 : ^-797990
ff868700 ff868708 0xbd4 : ^-7978f8
ff8687d0 ff8687d8 0xbd8 : ^-797828
ff8688c8 ff8688d0 0xbdc : ^-797730
ff8688f8 ff868900 0xbde : ^-797700
ff868958 ff868960 0xbe0 : ^-7976a0
ff868fa8 ff868fb0 0xbea : ^-797050
ff869170 ff869178 0xbed : ^-796e88
ff86a9e0 ff86a9e8 0xc2d : ^-795618
ff86aa48 ff86aa50 0xc2e : ^-7955b0
ff863348 ff863350 0xa24 : ^-79ccb0
ff8633c8 ff8633d0 0xa25 : ^-79cc30
ff8664c8 ff8664d0 0xb28 : ^-799b30
ff861bb8 ff861bc0 0x9a7 ff812b78 defer ^-79e440
ff8611c8 ff8611d0 0x93d 44 value ^-79ee30
ff8658d0 ff8658d8 0xb01 0 value ^-79a728
ff867038 ff867040 0xb4d 0 value ^-798fc0
ff867128 ff867130 0xb57 0 value ^-798ed0
ff867170 ff867178 0xb5a 0 value ^-798e88
ff867188 ff867190 0xb5b 0 value ^-798e70
ff86a108 ff86a110 0xc0b 0 value ^-795ef0
ff86a120 ff86a128 0xc0c 0 value ^-795ed8
ff86a138 ff86a140 0xc0d 0 value ^-795ec0
ff86a150 ff86a158 0xc0e 0 value ^-795ea8
ff86a180 ff86a188 0xc10 0 value ^-795e78
ff86a1b0 ff86a1b8 0xc12 0 value ^-795e48
ff86a1f8 ff86a200 0xc15 0 value ^-795e00
ff86a210 ff86a218 0xc16 0 value ^-795de8
ff86a258 ff86a260 0xc19 0 value ^-795da0
ff86a270 ff86a278 0xc1a 0 value ^-795d88
ff86a718 ff86a720 0xc21 0 value ^-7958e0
ff86a730 ff86a738 0xc22 0 value ^-7958c8
ff86a748 ff86a750 0xc23 0 value ^-7958b0
ff86a760 ff86a768 0xc24 0 value ^-795898
ff86a778 ff86a780 0xc25 0 value ^-795880
ff86a790 ff86a798 0xc26 0 value ^-795868
ff86a7a8 ff86a7b0 0xc27 0 value ^-795850
ff86a7c0 ff86a7c8 0xc28 0 value ^-795838
ff86a7d8 ff86a7e0 0xc29 0 value ^-795820
ff86e8e8 ff86e8f0 0xca1 0 value ^-791710
ff86e8d0 ff86e8d8 0xca0 0 value ^-791728
ff865f78 ff865f80 0xb1b 0 value ^-79a080
ff866f00 ff866f08 0xb40 0 value ^-7990f8
ff866f30 ff866f38 0xb42 0 value ^-7990c8
ff861948 ff861950 0x98d 0 value ^-79e6b0
ff863d60 ff863d68 0xa5b ffffffff value ^-79c298
ff813578 ff813588 0x9b : u. (UNKNOWN FORMAT! not br)
ff810588 ff810598 0x9d ff813560 defer . (UNKNOWN FORMAT! not br)
ff812ba8 ff812bb8 0x126 : ms (UNKNOWN FORMAT! not br)
ff80d0c8 ff80d0e0 0x8b ff810488 defer alloc-mem (UNKNOWN FORMAT! not br)
ff813c18 ff813c28 0xcb : $find (UNKNOWN FORMAT! not br)
ff81ec88 ff81eca0 0x11a : device-type (UNKNOWN FORMAT! not br)
ff81e718 ff81e730 0x110 : property (UNKNOWN FORMAT! not br)
ff81f0f0 ff81f108 0x21a : get-my-property (UNKNOWN FORMAT! not br)
[ :dostuff
:ddb
:e10
e10 here:ff8988e4 ff896518 23cc ff896518
:e0e] 0xf11 ff896518 23cc
[ 0xe0e ff896518 23cc
  [] 0x943 ff896518 23cc 42
  [] 0x8a2 ff896518 23cc ff8988e4 12f ff8988ea
  [] 0xa5d ff896518 23cc ff8988e4 12f ff8988e4
  [ 0xa5f ff896518 23cc ff8988e4 12f ff8988e4
  ] 0xa5f ff896518 23cc ff8988e4 12f 30
  [] 0xa5d ff896518 23cc ff8988e4 12f ff8988e4
  [] 0x89c ff896518 23cc ff8988e4 12f 23cc 23cc 23cd
  [ 0xf12 Empty
got exception fff00300
done dostuff
:9c7
set reg
set #size-cells
: decode-unitset VRAM,memsize
[ displays
] displays
[ :db7
] :db7
here:ff899660
] NV43
 ok
0 >
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.