
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:
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]
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 + 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