Hi again,
On Mon, Dec 18, 2017 at 08:05:57AM -0500, Jd Lyons wrote:
dff does:
: xdff " vendor-id" get-my-property IF ABORT THEN decode-int -rot 2drop dup TO x93b 10de <> IF ABORT THEN " device-id" get-my-property IF ABORT THEN ...
so it seems the device-id or vendor-id propertie don't exist, or don't have the right value? Or you don't have a current instance, perhaps.
I don’t know, maybe because we’re only executing the FCode from 4000040, past the part in the Rom where the Device ID is in the PCI Header?
It looks like it just sets the Vendor ID to 10de, but I’m un sure what it does for the Device ID, that seem to be the point where it’s breaking.
(offset) 5
401000d : (compile) [ 0xe05 ] 401000e : (compile) b(endcase) [ 0xc5 ] 401000f : (compile) over [ 0x48 ] 4010010 : (compile) b(to) [ 0xc3 ] 4010014 : (compile) [ 0xe36 ] 4010016 : (compile) encode+ [ 0x112 ] 4010017 : (compile) 2dup [ 0x53 ] 4010018 : (compile) b(to) [ 0xc3 ] 401001b : (compile) b(to) [ 0xc3 ] 401001f : (compile) [ 0xc7b ] 4010021 : (compile) property [ 0x110 ] 4010022 : (compile) b(;) [ 0xc2 ] 4010023 : b(') [ 0x11 ] 4010026 : b(to) [ 0xc3 ] 401002a : [ 0xe34 ] 401002c : [ 0xdff ]
byte-load: exception caught! ok 1 > .properties name "pci10de,141" vendor-id 10de device-id 141
So device-id is set, too.
Is there a current instance? my-self . will show you.
If you have trouble tracking down where the abort / exception is coming from, it often helps to look at memory:
here 200 - 400 dump
Segher