A problem using IDB with the S24 Forthdrive

19 views
Skip to first unread message

JF Harrison

unread,
Mar 7, 2009, 6:59:22 PM3/7/09
to SEAforth
Hi,
I tried using the IDB project with the S24 Forthdrive. By default,
the current version uses the S40 rom, and this boots up OK with the
S24 attached but doesnt seem to work. For example, the interactive
command "5 lit" does not appear to push anything onto the target's
stack.
I edited main.vf to use the S24 ROM c7Dr03/romconfig.f, but the
project won't compile node 43. Is anyone using this project with the
Forthdrive?

Thanks,
JF Harrison

Error report:

VentureForth 1.4.0 03-Dec-2008 :: Powered by SwiftForth

Compiling ROM 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
22 23
Compiling RAM 19 43
C:\IntellaSys\VentureForth\projects\IDB\IDB.vf
56: 43 ( "wire") {node >>> {node Invalid node number
C:\IntellaSys\VentureForth\projects\IDB\main.vf
21: include IDB.vf
-p C:\IntellaSys\VentureForth\projects\IDB\project.vfp ok



Dennis Ruffer

unread,
Mar 7, 2009, 9:50:49 PM3/7/09
to seaf...@googlegroups.com
I got to about the same point and gave up. You will have rearrange
the example to only use 24 nodes, but I haven't dug into it enough to
figure out how hard that will be. If you think it might be useful,
I'll take another look. If you manage to find anything more, let us
know

DaR

JF Harrison

unread,
Mar 8, 2009, 1:57:29 AM3/8/09
to SEAforth
Hi Dennis,
I'm new to Forth and VentureForth so I'm pecking at fleas in the
wind, but I got it compile further. It still doesnt seem to work,
though.

I compared the S40 romconfig.f with the S24 romconfig.f and noticed
extra lines specifying four test nodes for the S40:

$10000 to #boot \ size of "boot" ram in "testbed" nodes
4 to #tb \ number of extra testbed nodes

That explained why node 43 was even possible for the S40. I added
those lines to the S24 romconfig.f, then made the following changes to
IDF.vf:
Replaced
43 ( "plug") {node
with
#nodes 40 = [if]
43 ( "plug") {node
[then]
#nodes 24 = [if]
27 ( "plug") {node
[then]
and replaced
42 ( "plug") {node
with
#nodes 40 = [if]
42 ( "plug") {node
[then]
#nodes 24 = [if]
26 ( "plug") {node
[then]
.

Note: If I had created thirty test nodes for the S24 instead of
four, perhaps I would not have had to change IDF.vf.
Then IDF.vf compiled but main.vf didn't:

Error Report:
VentureForth 1.4.0 03-Dec-2008 :: Powered by SwiftForth

Compiling ROM 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23
Compiling RAM 19 27 26
Using FORTHdrive E:
C:\Program Files\IntellaSys\VentureForth\projects\IDB\main.vf
30: talk 2 19 hook 2 -hook >>> hook Invalid node number
-p C:\PROGRA~1\INTELL~1\VENTUR~1\projects\IDB\project.vfp ok


It complained about an Invalid node number, but 2 and 19 are in
range. I found that by using some values other than 19, such as 20 or
23, it "worked", but it still complained if I used 5. Specifically,
talk 2 23 hook 2 -hook
cr .p cr .s cr .path
did not result in any complaints, although it seems to be looking at
node 20 instead of 23:

VentureForth 1.4.0 03-Dec-2008 :: Powered by SwiftForth

Compiling ROM 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23
Compiling RAM 19 27 26 ok
talk 2 23 hook 2 -hook
Using FORTHdrive E: ok
cr .p cr .s cr .path

path via hops target
2 20 1 20
1 13 1 13
0 18 1 18

15555 15555 15555 415
15555 14555 15555 2A3AA 415 3F300

2 .pathn
=
18>19>20>21>22 23
^ v
12 13 14 15 16>17
^ v
06 07 08 09 10 11
^ v
00<01<02<03<04<05
ok

The stack seems to contain garbage, and when I try pushing something
onto the target stack, it's not what I expected:
5 lit
15555 15555 15555 15555
14555 15555 2A3AA 415 3F300 3F200
ok
. 2147323904 Stack underflow

6 lit, 25 lit, etc., all result in pushing the same thing, 3F200, onto
the stack, and typing "." results in a stack underflow error.

Any help is appreciated.

--JF Harrison

JF Harrison

unread,
Mar 8, 2009, 3:33:14 AM3/8/09
to SEAforth
On Mar 7, 10:57 pm, JF Harrison <boboy...@gmail.com> wrote:

> 6 lit, 25 lit, etc., all result in pushing the same thing, 3F200, onto
> the stack, and typing "." results in a stack underflow error.
>
> Any help is appreciated.
>
> --JF Harrison


OK, I know "." won't affect the target, so no need to address that
comment.
I noticed that even though it complains about selecting node 19, it
does seem to hook up to it. For example,

talk 0 19 hook delay 0 -hook delay
Using FORTHdrive E:hook Invalid node number

cr .p cr .s cr .path

path via hops target
2 20 1 20
1 13 1 13
0 18 16 19

3FFFF 3FFFF 3FFFF 3FFFF
3FFFF 3FFFF 3FFFF 3FFFF 3FFFF 3FFFF

0 .pathn
=
18<19<20<21<22 23
v ^
12 13 14 15 16<17
v ^
06 07 08 09 10 11
v ^
00>01>02>03>04>05
ok
5 lit
3FFFF 3FFFF 3FFFF 3FFFF
3FFFF 3FFFF 3FFFF 3FFFF 3FFFF 3FFFF
ok
2354 lit
3FFFF 3FFFF 3FFFF 3FFFF
3FFFF 3FFFF 3FFFF 3FFFF 3FFFF 3FFFF
ok


5 lit, 2453 lit etc seem to have no effect; either they aren't getting
through or they're pushing 3FFFF onto the stack.




Jason Damisch

unread,
Mar 8, 2009, 2:28:10 PM3/8/09
to seaf...@googlegroups.com

I found an old file on one of my usb drives, called

SEAforth-1.1.2

It was a zip file, which unzipped into three folders

apps
bios
t18

I dragged the file

seaforth

over from the apps folder to SwiftForth and it showed the following

SEAforth T18 Version 1.1.2
compiling node 1 0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ok


Might this be useful to somebody?

jason

Dennis Ruffer

unread,
Mar 8, 2009, 5:23:59 PM3/8/09
to seaf...@googlegroups.com
On Sun, Mar 8, 2009 at 2:33 AM, JF Harrison <bobo...@gmail.com> wrote:
> 5 lit, 2453 lit etc seem to have no effect; either they aren't getting
> through or they're pushing 3FFFF onto the stack.

I'm not even sure that the stack display is working right. Even
without trying to push something new on the stack, '+' is not doing
what I would expect:

.s
35555 15557 1555D 3D300
15555 15555 1D5D5 15455 3D300 3D200
ok
+
15557 1555D 3D300 15455
35555 15555 15555 1D5D5 15455 3D200

Keep in mind that they didn't say this was anything more than a
prototype project right now. You have done real good getting it this
far, but it might take some deep debugging to make it really work.
IntellaSys is going through some reorganizations right now, so we may
need to wait until they get through that process before we get any
answers out of them.

In the mean time, if you haven't seen them already, you might take a
look at the tools I posted at http://code.google.com/p/vf-plugins/.
Not to discourage you from continuing to debug the IDB project, but to
give you a distraction if you get frustrated. I will keep trying to
figure out how the IDB works too, but I was also about to do quite a
lot with the chip without it.

DaR

Reply all
Reply to author
Forward
0 new messages