Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #26032 > unrolled thread

Ray Duncan, LMI Forth e-Manual?

Started byRobert <linyuuuu@gmail.com>
First post2013-09-25 13:54 -0700
Last post2013-09-28 22:02 -0700
Articles 10 — 5 participants

Back to article view | Back to comp.lang.forth


Contents

  Ray Duncan, LMI Forth e-Manual? Robert <linyuuuu@gmail.com> - 2013-09-25 13:54 -0700
    Re: Ray Duncan, LMI Forth e-Manual? alberto@hal-pc.org (Alberto) - 2013-09-25 21:56 +0000
      Re: Ray Duncan, LMI Forth e-Manual? Robert <linyuuuu@gmail.com> - 2013-09-28 15:32 -0700
    Re: Ray Duncan, LMI Forth e-Manual? hughaguilar96@yahoo.com - 2013-09-25 19:31 -0700
      Re: Ray Duncan, LMI Forth e-Manual? Robert <linyuuuu@gmail.com> - 2013-09-25 21:33 -0700
        Re: Ray Duncan, LMI Forth e-Manual? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-09-26 12:34 +0000
          Re: Ray Duncan, LMI Forth e-Manual? Robert <linyuuuu@gmail.com> - 2013-09-26 16:18 -0700
            Re: Ray Duncan, LMI Forth e-Manual? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-09-28 12:19 +0000
              Re: Ray Duncan, LMI Forth e-Manual? Richard Owlett <rowlett@pcnetinc.com> - 2013-09-28 10:35 -0500
              Re: Ray Duncan, LMI Forth e-Manual? Robert <linyuuuu@gmail.com> - 2013-09-28 22:02 -0700

#26032 — Ray Duncan, LMI Forth e-Manual?

FromRobert <linyuuuu@gmail.com>
Date2013-09-25 13:54 -0700
SubjectRay Duncan, LMI Forth e-Manual?
Message-ID<0044b6c1-68ab-42e5-80ab-665cf4b60f2e@googlegroups.com>
Does anyone have contact info for Ray Duncan, the creator of the LMI 80386 UR/Forth?

Or --- does anyone have an eBook version of the Operating Manual for UR/Forth? I have the paper version of the book, but I thought I'd ask before doing all the scanning and OCRing of the book myself.

Thanks.

Robert

 

[toc] | [next] | [standalone]


#26033

Fromalberto@hal-pc.org (Alberto)
Date2013-09-25 21:56 +0000
Message-ID<52435c01$0$2687$a726171b@news.hal-pc.org>
In reply to#26032
In article <0044b6c1-68ab-42e5-80ab-665cf4b60f2e@googlegroups.com>, Robert <linyuuuu@gmail.com> wrote:
>Does anyone have contact info for Ray Duncan, the creator of the LMI 80386
> UR/Forth?
>
>Or --- does anyone have an eBook version of the Operating Manual for UR/Forth?
> I have the paper version of the book, but I thought I'd ask before doing all
> the scanning and OCRing of the book myself.
>
>Thanks.
>
>Robert
>
> 
I have the PDF manuals.
email me at alberto@hal-pc.org

[toc] | [prev] | [next] | [standalone]


#26065

FromRobert <linyuuuu@gmail.com>
Date2013-09-28 15:32 -0700
Message-ID<c689ff4d-18cc-423c-a5c2-3ac90983d6fb@googlegroups.com>
In reply to#26033
On Wednesday, September 25, 2013 2:56:17 PM UTC-7, alberto pasquale wrote:
> In article <0044b6c1-68ab-42e5-80ab-665cf4b60f2e@googlegroups.com>, Robert <linyuuuu@gmail.com> wrote:
> 
> >Or --- does anyone have an eBook version of the Operating Manual for UR/Forth?
> 
> >Robert
> 
> > 
> 
> I have the PDF manuals.
> 
> email me at ***@hal-pc.org



Hi Alberto,

Thank you. And yes, I would be glad to have the PDF file. I sent you an email a few days ago, but no reply. Maybe it went into the spam folder.

Can you send to linyuuuu@gmail.com? Thanks.

Robert

[toc] | [prev] | [next] | [standalone]


#26035

Fromhughaguilar96@yahoo.com
Date2013-09-25 19:31 -0700
Message-ID<2a5d249e-1327-4e1b-892b-0a38219ee453@googlegroups.com>
In reply to#26032
On Wednesday, September 25, 2013 1:54:11 PM UTC-7, Robert wrote:
> Does anyone have contact info for Ray Duncan, the creator of the LMI 80386 UR/Forth?

I don't think Ray Duncan cares about UR/Forth anymore, so I wouldn't bother contacting him.

I disassembled the heck out of UR/Forth back in the early 1990s when I was using it. If you have any questions about the internal workings, I can help you.

There is a bug in how it creates headers which you need to work around if you are going to write a word similar to :NAME which I now have in my novice package. This bug was in the 16-bit version, and I told Ray Duncan about it, but he said that fixing it would slow down compilation, and then the bug appeared in the 32-bit version unchanged --- he seemed to not know or not care that people might want to compile colon words with anything other than colon.

Why are you interested in an MS-DOS Forth in the year 2013???

[toc] | [prev] | [next] | [standalone]


#26038

FromRobert <linyuuuu@gmail.com>
Date2013-09-25 21:33 -0700
Message-ID<7299ddb2-12ec-40e9-8f27-354fbaa8d7dc@googlegroups.com>
In reply to#26035
On Wednesday, September 25, 2013 7:31:58 PM UTC-7, hughag...@yahoo.com wrote:
> 
> Why are you interested in an MS-DOS Forth in the year 2013???

I have a lot of code written over the years in UR/Forth --- and, as time went by, I simply ran my DOS UR/Forth in Dosbox under Win95, Win2000, Win7, and then Android as an easy way out, rather than port the code to another Forth. 

(Is there a Forth that will run UR/Forth code unmodified? I mean, using a mixed data and floating-point stack, with all of the cell sizes as they are...)

So, since I am now downsizing everything for mobility, I want to get rid of my UR/Forth manual in favor of an electronic one.

Robert


[toc] | [prev] | [next] | [standalone]


#26041

Fromalbert@spenarnc.xs4all.nl (Albert van der Horst)
Date2013-09-26 12:34 +0000
Message-ID<524429ed$0$1707$e4fe514c@dreader35.news.xs4all.nl>
In reply to#26038
In article <7299ddb2-12ec-40e9-8f27-354fbaa8d7dc@googlegroups.com>,
Robert  <linyuuuu@gmail.com> wrote:
>On Wednesday, September 25, 2013 7:31:58 PM UTC-7, hughag...@yahoo.com wrote:
>>
>> Why are you interested in an MS-DOS Forth in the year 2013???
>
>I have a lot of code written over the years in UR/Forth --- and, as time
>went by, I simply ran my DOS UR/Forth in Dosbox under Win95, Win2000,
>Win7, and then Android as an easy way out, rather than port the code to
>another Forth.

Porting Forth code is maybe easier than porting any other language.
A UR-Forth -> ISO ("ANSI") compatibility box may be much less work
than you think and is independantly useful.

>
>(Is there a Forth that will run UR/Forth code unmodified? I mean, using
>a mixed data and floating-point stack, with all of the cell sizes as
>they are...)

That is approximately the above idea. Someone inspired to do so, could
add some blocks to the library of ciforth, and the only thing you'd
have to is add WANT UR-Forth at the top of your programs.

>
>So, since I am now downsizing everything for mobility, I want to get rid
>of my UR/Forth manual in favor of an electronic one.
>
>Robert
>
>
>
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#26048

FromRobert <linyuuuu@gmail.com>
Date2013-09-26 16:18 -0700
Message-ID<3366f0d5-6314-44a7-a111-74666dabae32@googlegroups.com>
In reply to#26041
On Thursday, September 26, 2013 5:34:53 AM UTC-7, Albert van der Horst wrote:

> Porting Forth code is maybe easier than porting any other language.
> 
> A UR-Forth -> ISO ("ANSI") compatibility box may be much less work
> 
> than you think and is independantly useful.
> 

> 
> That is approximately the above idea. Someone inspired to do so, could
> 
> add some blocks to the library of ciforth, and the only thing you'd
> 
> have to is add WANT UR-Forth at the top of your programs.
> 

> Albert van der Horst, UTRECHT,THE NETHERLANDS
> 

Thanks, Albert. This is interesting. But I am starting at the beginning here. Can you suggest how I might go about obtaining or writing such a translator? That would be a great help for the future.

Robert

[toc] | [prev] | [next] | [standalone]


#26062

Fromalbert@spenarnc.xs4all.nl (Albert van der Horst)
Date2013-09-28 12:19 +0000
Message-ID<5246c934$0$580$e4fe514c@dreader34.news.xs4all.nl>
In reply to#26048
In article <3366f0d5-6314-44a7-a111-74666dabae32@googlegroups.com>,
Robert  <linyuuuu@gmail.com> wrote:
>On Thursday, September 26, 2013 5:34:53 AM UTC-7, Albert van der Horst wrote:
>
>> Porting Forth code is maybe easier than porting any other language.
>>
>> A UR-Forth -> ISO ("ANSI") compatibility box may be much less work
>>
>> than you think and is independantly useful.
>>
>
>>
>> That is approximately the above idea. Someone inspired to do so, could
>>
>> add some blocks to the library of ciforth, and the only thing you'd
>>
>> have to is add WANT UR-Forth at the top of your programs.
>>
>
>> Albert van der Horst, UTRECHT,THE NETHERLANDS
>>
>
>Thanks, Albert. This is interesting. But I am starting at the beginning
>here. Can you suggest how I might go about obtaining or writing such a
>translator? That would be a great help for the future.

An example. I had a fig Forth program to print labels for a mass
maling (in the 80-s). The machines that where to be used where
IBM pc's and only had F83. We never touched the fig-Forth program
and the preamble was only a couple of screens, maybe even one.

Other example.
I've yourforth and it is a trimmed down version of ciforth.
yourforth is not iso so it can't pass the Hayes test as such.
It runs the Hayes test, even if it's missing quite a few words,
including all double precision words. This is done by using a
preambule that adds a few words, and by deleting tests from Hayes
that have become irrelevant. The Hayes test passes in every version
of yourforth, and at the moment I've evolved quite from ciforth.
So I adapted the test and the preambule all the way to today.

In the ideal situation your UR-Forth program comes with tests for
each part. Now you try to compile some part with some other Forth.
It may not pass the test, and you've to find out why. It may be
a simple quirk like someone insisting on using $. instead of TYPE.
Or it may be quite involved. There may be complicated assembler code,
that can be replaced by high level code nowadays.
Start with the easy parts. The preambule grows, but at a certain
point you're done, and all the rest of the program works, as would
probably any UR-Forth program you encounter.

The problem is to get hold of good tests. Sometimes you can compare
with the program as it was running in its natural habitat. Then you
can pass a large amount of realistic data through it.
In real life, I passed 2 Gbyte of testmessage through a system that
was not well defined. If 5 of such badge passed, I declared my
modification tested. Crude? You know, one in 5 badges failed anyway,
so at least I hadn't made things worse. (All this can be statistically
underpinned.)

Probably you must proceed by loading simple parts that you more
or less understand and fix missing words, stack under and overflows
and anything else that smells bad. Read throught conversion guides
from 79 to 83 and 83 to ISO to find out where the pitfalls may lay.

You must *not* hope for a cut and dried convertor. Instead, think of
it as a toolkit that you build up yourselve, gradually.
Just start! It is all but mandatory to keep the chain of change in
a source control system (rcs, cvs, git) in order to be able to
retrace bad decisions. Don't be afraid to change and expand, and
trim(!) your tests. All old versions are there anyway.

(Only a supplier could guarantee a convertor, i.e. it is reasonable
for you to expect no hassles, if I supply a `` WANT -legacy- ''
to run a version 4 program from a version 5 ciforth.)

Good luck.

>
>Robert
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#26063

FromRichard Owlett <rowlett@pcnetinc.com>
Date2013-09-28 10:35 -0500
Message-ID<IYSdnTNF5cGlatvPnZ2dnUVZ_vOdnZ2d@supernews.com>
In reply to#26062
Albert van der Horst wrote:
> In article <3366f0d5-6314-44a7-a111-74666dabae32@googlegroups.com>,
> Robert  <linyuuuu@gmail.com> wrote:
>> On Thursday, September 26, 2013 5:34:53 AM UTC-7, Albert van der Horst wrote:
>>
>>> Porting Forth code is maybe easier than porting any other language.
>>>
>>> A UR-Forth -> ISO ("ANSI") compatibility box may be much less work
>>>
>>> than you think and is independantly useful.
>>>
>>
>>>
>>> That is approximately the above idea. Someone inspired to do so, could
>>>
>>> add some blocks to the library of ciforth, and the only thing you'd
>>>
>>> have to is add WANT UR-Forth at the top of your programs.
>>>
>>
>>> Albert van der Horst, UTRECHT,THE NETHERLANDS
>>>
>>
>> Thanks, Albert. This is interesting. But I am starting at the beginning
>> here. Can you suggest how I might go about obtaining or writing such a
>> translator? That would be a great help for the future.
>
> An example. I had a fig Forth program to print labels for a mass
> maling (in the 80-s). The machines that where to be used where
> IBM pc's and only had F83. We never touched the fig-Forth program
> and the preamble was only a couple of screens, maybe even one.
>
> Other example.
> I've yourforth and it is a trimmed down version of ciforth.
> yourforth is not iso so it can't pass the Hayes test as such.
> It runs the Hayes test, even if it's missing quite a few words,
> including all double precision words. This is done by using a
> preambule that adds a few words, and by deleting tests from Hayes
> that have become irrelevant. The Hayes test passes in every version
> of yourforth, and at the moment I've evolved quite from ciforth.
> So I adapted the test and the preambule all the way to today.
>
> In the ideal situation your UR-Forth program comes with tests for
> each part. Now you try to compile some part with some other Forth.
> It may not pass the test, and you've to find out why. It may be
> a simple quirk like someone insisting on using $. instead of TYPE.
> Or it may be quite involved. There may be complicated assembler code,
> that can be replaced by high level code nowadays.
> Start with the easy parts. The preambule grows, but at a certain
> point you're done, and all the rest of the program works, as would
> probably any UR-Forth program you encounter.
>
> The problem is to get hold of good tests. Sometimes you can compare
> with the program as it was running in its natural habitat. Then you
> can pass a large amount of realistic data through it.
> In real life, I passed 2 Gbyte of testmessage through a system that
> was not well defined. If 5 of such badge passed, I declared my
> modification tested. Crude? You know, one in 5 badges failed anyway,
> so at least I hadn't made things worse. (All this can be statistically
> underpinned.)
>
> Probably you must proceed by loading simple parts that you more
> or less understand and fix missing words, stack under and overflows
> and anything else that smells bad. Read throught conversion guides
> from 79 to 83 and 83 to ISO to find out where the pitfalls may lay.
>
> You must *not* hope for a cut and dried convertor. Instead, think of
> it as a toolkit that you build up yourselve, gradually.
> Just start! It is all but mandatory to keep the chain of change in
> a source control system (rcs, cvs, git) in order to be able to
> retrace bad decisions. Don't be afraid to change and expand, and
> trim(!) your tests. All old versions are there anyway.
>
> (Only a supplier could guarantee a convertor, i.e. it is reasonable
> for you to expect no hassles, if I supply a `` WANT -legacy- ''
> to run a version 4 program from a version 5 ciforth.)
>
> Good luck.
>
>>
>> Robert

I think you just described how to approach just about any design 
problem.

[toc] | [prev] | [next] | [standalone]


#26069

FromRobert <linyuuuu@gmail.com>
Date2013-09-28 22:02 -0700
Message-ID<fdd76697-2cfc-41ab-8a4e-cb97407ff669@googlegroups.com>
In reply to#26062
On Saturday, September 28, 2013 5:19:00 AM UTC-7, Albert van der Horst wrote:
> In article <3366f0d5-6314-44a7-a111-74666dabae32@googlegroups.com>,
> 
> Robert  <linyuuuu@gmail.com> wrote:
> 
> >On Thursday, September 26, 2013 5:34:53 AM UTC-7, Albert van der Horst wrote:
> 
> >
> 
> >> Porting Forth code is maybe easier than porting any other language.
> 
> >>
> 
> >> A UR-Forth -> ISO ("ANSI") compatibility box may be much less work
> 
> >>
> 
> >> than you think and is independantly useful.
> 
> >>
> 
> >
> 
> >>
> 
> >> That is approximately the above idea. Someone inspired to do so, could
> 
> >>
> 
> >> add some blocks to the library of ciforth, and the only thing you'd
> 
> >>
> 
> >> have to is add WANT UR-Forth at the top of your programs.
> 
> >>
> 
> >
> 
> >> Albert van der Horst, UTRECHT,THE NETHERLANDS
> 
> >>
> 
> >
> 
> >Thanks, Albert. This is interesting. But I am starting at the beginning
> 
> >here. Can you suggest how I might go about obtaining or writing such a
> 
> >translator? That would be a great help for the future.
> 
> 
> 
> An example. I had a fig Forth program to print labels for a mass
> 
> maling (in the 80-s). The machines that where to be used where
> 
> IBM pc's and only had F83. We never touched the fig-Forth program
> 
> and the preamble was only a couple of screens, maybe even one.
> 
> 
> 
> Other example.
> 
> I've yourforth and it is a trimmed down version of ciforth.
> 
> yourforth is not iso so it can't pass the Hayes test as such.
> 
> It runs the Hayes test, even if it's missing quite a few words,
> 
> including all double precision words. This is done by using a
> 
> preambule that adds a few words, and by deleting tests from Hayes
> 
> that have become irrelevant. The Hayes test passes in every version
> 
> of yourforth, and at the moment I've evolved quite from ciforth.
> 
> So I adapted the test and the preambule all the way to today.
> 
> 
> 
> In the ideal situation your UR-Forth program comes with tests for
> 
> each part. Now you try to compile some part with some other Forth.
> 
> It may not pass the test, and you've to find out why. It may be
> 
> a simple quirk like someone insisting on using $. instead of TYPE.
> 
> Or it may be quite involved. There may be complicated assembler code,
> 
> that can be replaced by high level code nowadays.
> 
> Start with the easy parts. The preambule grows, but at a certain
> 
> point you're done, and all the rest of the program works, as would
> 
> probably any UR-Forth program you encounter.
> 
> 
> 
> The problem is to get hold of good tests. Sometimes you can compare
> 
> with the program as it was running in its natural habitat. Then you
> 
> can pass a large amount of realistic data through it.
> 
> In real life, I passed 2 Gbyte of testmessage through a system that
> 
> was not well defined. If 5 of such badge passed, I declared my
> 
> modification tested. Crude? You know, one in 5 badges failed anyway,
> 
> so at least I hadn't made things worse. (All this can be statistically
> 
> underpinned.)
> 
> 
> 
> Probably you must proceed by loading simple parts that you more
> 
> or less understand and fix missing words, stack under and overflows
> 
> and anything else that smells bad. Read throught conversion guides
> 
> from 79 to 83 and 83 to ISO to find out where the pitfalls may lay.
> 
> 
> 
> You must *not* hope for a cut and dried convertor. Instead, think of
> 
> it as a toolkit that you build up yourselve, gradually.
> 
> Just start! It is all but mandatory to keep the chain of change in
> 
> a source control system (rcs, cvs, git) in order to be able to
> 
> retrace bad decisions. Don't be afraid to change and expand, and
> 
> trim(!) your tests. All old versions are there anyway.
> 
> 
> 
> (Only a supplier could guarantee a convertor, i.e. it is reasonable
> 
> for you to expect no hassles, if I supply a `` WANT -legacy- ''
> 
> to run a version 4 program from a version 5 ciforth.)
> 
> 
> 
> Good luck.
> 
> 
Yes. Well, thanks, Albert, for the detailed explanation. That is why I have delayed doing this all these years. For all my code is uncommented, unindented, and unstructured, composed on the fly while thinking about astronomical equations, written in a sort of dream-state without much rhyme or reason, yet somehow working anyway. Everything is juggled on the stack, and nobody remembered to name anything appropriately for posterity.

Such is the wrapper of memory. I will probably start from scratch and write a better program, maybe in iForth.

Thanks again.

Robert

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.forth


csiph-web