As far as I can tell, here is a breakdown of 0xddf, I’m getting an exception here now, but I’m not sure where or how to debug it.
I did add the other config* words, but I’m unsure I did it correctly, and I can’t seem to debug them when they are called in the Fcode?
new-token 0xddf b(:) b(lit) 0x10 (unnamed-fcode) [0xdde]
new-token 0xdde b(:) my-space + dup (unnamed-fcode) [0xa08]
new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;)
swap -1 over (unnamed-fcode) [0xa09]
new-token 0xa09 b(:) b(") ( len=9 ) " config-l!" $call-parent b(;)
dup (unnamed-fcode) [0xa08]
new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;)
b(lit) 0xfffffff0dde and negate -rot (unnamed-fcode) [0xa0 b(;)
new-token 0xa0b b(:)
(unnamed-fcode) [0x9a3] + rb! b(;)
b(to) (unnamed-fcode) [0x9c3]
new-token 0x9c3 b(value) 0
b(lit) 0x14 (unnamed-fcode) [0xdde]
new-token 0xdde b(:) my-space + dup (unnamed-fcode) [0xa08]
new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;)
swap -1 over (unnamed-fcode) [0xa09]
new-token 0xa09 b(:) b(") ( len=9 ) " config-l!" $call-parent b(;)
dup (unnamed-fcode) [0xa08]
new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;)
b(lit) 0xfffffff0dde and negate -rot (unnamed-fcode) [0xa0 b(;)
new-token 0xa0b b(:)
(unnamed-fcode) [0x9a3] + rb! b(;)
b(to) (unnamed-fcode) [0x9c4]
new-token 0x9c4 b(value) 0
(unnamed-fcode) [0x9c0]
new-token 0x9c0 b(defer)
b(lit) 0xff and (unnamed-fcode) [0xdde]
new-token 0xdde b(:) my-space + dup (unnamed-fcode) [0xa08]
new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;)
swap -1 over (unnamed-fcode) [0xa09]
new-token 0xa09 b(:) b(") ( len=9 ) " config-l!" $call-parent b(;)
dup (unnamed-fcode) [0xa08]
new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;)
b(lit) 0xfffffff0dde and negate -rot (unnamed-fcode) [0xa0 b(;)
new-token 0xa0b b(:)
(unnamed-fcode) [0x9a3] + rb! b(;)
b(to) (unnamed-fcode) [0x9c6]
new-token 0x9c6 b(value)
b(lit) 0x30 (unnamed-fcode) [0xdde]
new-token 0xdde b(:) my-space + dup (unnamed-fcode) [0xa08]
new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;)
swap -1 over (unnamed-fcode) [0xa09]
new-token 0xa09 b(:) b(") ( len=9 ) " config-l!" $call-parent b(;)
dup (unnamed-fcode) [0xa08]
new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;)
b(lit) 0xfffffff0dde and negate -rot (unnamed-fcode) [0xa0 b(;)
new-token 0xa0b b(:)
(unnamed-fcode) [0x9a3] + rb! b(;)
b(to) (unnamed-fcode) [0x9c5]
new-token 0x9c5 b(value) 0
(unnamed-fcode) [0x9bf]
new-token 0x9bf b(constant)
(unnamed-fcode) [0xa03]
new-token 0xa03 b(:) my-space or b(") ( len=0x12 [18 bytes] ) " assigned-addresses" get-my-property invert b?branch 0x0033 ( =dec 51) rot >r b(<mark) dup b?branch 0x0029 ( =dec 41) decode-phys b(lit) 0xff and r@ b(lit) 0xff and = b?branch 0x000a ( =dec 10) 2swap 2drop r> exit bbranch 0x0005 () b(>resolve) 2drop b(>resolve) decode-int drop decode-int drop bbranch 0xffd8 ( =dec -40) b(>resolve) 2drop r> b(>resolve) >r my-address r> b(;)
(unnamed-fcode) [0x9c5]
new-token 0x9c5 b(value) 0
(unnamed-fcode) [0xa04]
new-token 0xa04 b(:) b(") ( len=6 ) " map-in" $call-parent b(;)
b(to) (unnamed-fcode) [0x9a5]
new-token 0x9a5 b(value) -1
(unnamed-fcode) [0x9bc]
new-token 0x9bc b(constant) b(lit) 0x2000014
(unnamed-fcode) [0xa03]
new-token 0xa03 b(:) my-space or b(") ( len=0x12 [18 bytes] ) " assigned-addresses" get-my-property invert b?branch 0x0033 ( =dec 51) rot >r b(<mark) dup b?branch 0x0029 ( =dec 41) decode-phys b(lit) 0xff and r@ b(lit) 0xff and = b?branch 0x000a ( =dec 10) 2swap 2drop r> exit bbranch 0x0005 () b(>resolve) 2drop b(>resolve) decode-int drop decode-int drop bbranch 0xffd8 ( =dec -40) b(>resolve) 2drop r> b(>resolve) >r my-address r> b(;)
(unnamed-fcode) [0x9c3]
new-token 0x9c3 b(value) 0
(unnamed-fcode) [0xa04]
new-token 0xa04 b(:) b(") ( len=6 ) " map-in" $call-parent b(;)
b(to) (unnamed-fcode) [0x9a3]
new-token 0x9a3 b(value) -1
(unnamed-fcode) [0x9c0]
new-token 0x9c0 b(defer) b(lit) 0x200001c
(unnamed-fcode) [0xa03]
new-token 0xa03 b(:) my-space or b(") ( len=0x12 [18 bytes] ) " assigned-addresses" get-my-property invert b?branch 0x0033 ( =dec 51) rot >r b(<mark) dup b?branch 0x0029 ( =dec 41) decode-phys b(lit) 0xff and r@ b(lit) 0xff and = b?branch 0x000a ( =dec 10) 2swap 2drop r> exit bbranch 0x0005 () b(>resolve) 2drop b(>resolve) decode-int drop decode-int drop bbranch 0xffd8 ( =dec -40) b(>resolve) 2drop r> b(>resolve) >r my-address r> b(;)
(unnamed-fcode) [0x9c6]
new-token 0x9c6 b(value)
(unnamed-fcode) [0xa04]
new-token 0xa04 b(:) b(") ( len=6 ) " map-in" $call-parent b(;)
b(to) (unnamed-fcode) [0x9a6]
new-token 0x9c6 b(value)
(unnamed-fcode) [0x9bd]
new-token 0x9bd b(constant) b(lit) 0x42000014
(unnamed-fcode) [0xa03]
new-token 0xa03 b(:) my-space or b(") ( len=0x12 [18 bytes] ) " assigned-addresses" get-my-property invert b?branch 0x0033 ( =dec 51) rot >r b(<mark) dup b?branch 0x0029 ( =dec 41) decode-phys b(lit) 0xff and r@ b(lit) 0xff and = b?branch 0x000a ( =dec 10) 2swap 2drop r> exit bbranch 0x0005 () b(>resolve) 2drop b(>resolve) decode-int drop decode-int drop bbranch 0xffd8 ( =dec -40) b(>resolve) 2drop r> b(>resolve) >r my-address r> b(;)
(unnamed-fcode) [0x9c4]
new-token 0x9c4 b(value) 0
(unnamed-fcode) [0xa04]
new-token 0xa04 b(:) b(") ( len=6 ) " map-in" $call-parent b(;)
b(to) (unnamed-fcode) [0x9a4]
new-token 0x9a4 b(value) -1
(unnamed-fcode) [0xa3b]
new-token 0xa3b b(:) my-space la1+ dup (unnamed-fcode) [0xa06] 2 or swap (unnamed-fcode) [0xa07] b(;)
(unnamed-fcode) [0xa3d]
new-token 0xa3d b(:) (unnamed-fcode) [0x949] invert b?branch 0x0013 ( =dec 19) b(lit) 0x1000000 b(lit) 0x4 (unnamed-fcode) [0xa0f] -1 b(to) (unnamed-fcode) [0x949] b(>resolve) b(;)
(unnamed-fcode) [0xddd]
new-token 0xddd b(:) (unnamed-fcode) [0x93d] b(lit) 0x25 = b?branch 0x0024 ( =dec 36) b(lit) 0x1002c0 dup (unnamed-fcode) [0xb7b] b(lit) 0x100 or (unnamed-fcode) [0xb81] b(lit) 0x1002c0 dup (unnamed-fcode) [0xb7b] b(lit) 0x100 invert and (unnamed-fcode) [0xb81] b(>resolve) b(;)
b(;)
On May 11, 2018, at 11:24 PM, Jd Lyons via OpenBIOS openbios@openbios.org wrote:
Yes, along with some of the other config* words:
new-token 0xa00 b(defer) new-token 0xa01 b(defer) new-token 0xa02 b(defer) new-token 0xa03 b(:) my-space or b(") ( len=0x12 [18 bytes] ) " assigned-addresses" get-my-property invert b?branch 0x0033 ( =dec 51) rot
r
b(<mark) dup b?branch 0x0029 ( =dec 41) decode-phys b(lit) 0xff and r@ b(lit) 0xff and = b?branch 0x000a ( =dec 10) 2swap 2drop r> exit bbranch 0x0005 () b(>resolve) 2drop b(>resolve) decode-int drop decode-int drop bbranch 0xffd8 ( =dec -40) b(>resolve) 2drop r>
b(>resolve)
r
my-address r> b(;) new-token 0xa04 b(:) b(") ( len=6 ) " map-in" $call-parent b(;) new-token 0xa05 b(:) b(") ( len=7 ) " map-out" $call-parent b(;) new-token 0xa06 b(:) b(") ( len=9 ) " config-w@" $call-parent b(;) new-token 0xa07 b(:) b(") ( len=9 ) " config-w!" $call-parent b(;) new-token 0xa08 b(:) b(") ( len=9 ) " config-l@" $call-parent b(;) new-token 0xa09 b(:) b(") ( len=9 ) " config-l!" $call-parent b(;) new-token 0xa0a b(:) (unnamed-fcode) [0x9a3]
rb@ b(;) new-token 0xa0b b(:) (unnamed-fcode) [0x9a3]
rb! b(;) new-token 0xa0c b(:) swap (unnamed-fcode) [0xa0b] b(;) new-token 0xa0d b(:) (unnamed-fcode) [0x9a3]
rl@ b(;) new-token 0xa0e b(:) (unnamed-fcode) [0x9a3]
rl! b(;) new-token 0xa0f b(:) (unnamed-fcode) [0x9a3]
rl! b(;)
On May 11, 2018, at 11:31 AM, Mark Cave-Ayland mark.cave-ayland@ilande.co.uk wrote:
On 11/05/18 12:46, Jd Lyons via OpenBIOS wrote:
Thanks Mark, now I’m down to stepping through the ddf word. Are map-in and map-out implemented in forth? Seems the nVidia roms use them, as most option roms would.
From memory PCI map-in is supported, map-out isn't but could be implemented fairly easily. Do you see that in the NVidia ROM image?
ATB,
Mark.
-- OpenBIOS http://openbios.org/ Mailinglist: http://lists.openbios.org/mailman/listinfo Free your System - May the Forth be with you