SwyftCard and FORTH

155 views
Skip to first unread message

Jon Sharp

unread,
Apr 19, 2012, 1:11:10 PM4/19/12
to cano...@googlegroups.com
Hey all,

Was FORTH exposed in the SwyftCard like it was in the Cat? That is, can one write FORTH code in EDDE and execute it? I don't see any mention of an "execute" command in the SwyftCard manual, but wondered if perhaps this was a hidden feature. I know the focus of the SwyftCard wasn't providing a FORTH environment, but it would be cool if it did that, too. ;)

Thanks,
Jon

Sandy Bumgarner

unread,
Apr 20, 2012, 3:15:52 AM4/20/12
to cano...@googlegroups.com
Hi Jon,

IF I remember correctly, no.

But, it may be able to be hacked. Let me check with my good buddy
Terry, the author of the Forth (one Capital letter, it is a name not
an acronym) used on the SwyftCard.

Sandy
===

> --
> You received this message because you are subscribed to the Google Groups "Canon Cat" group.
> To post to this group, send email to cano...@googlegroups.com.
> To unsubscribe from this group, send email to canon-cat+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/canon-cat?hl=en.
>

--
John O. 'Sandy' Bumgarner
KI6UOQ

dwight elvey

unread,
Apr 20, 2012, 11:26:03 AM4/20/12
to cano...@googlegroups.com
Hi
 I just did a quick scan of the ROM data for the SwyftCard. There are no
dictionary headers in the ROM code. There seems to be a chunk
of about 300 or so bytes that are empty but I don't think that is
enough to make dictionary headers in.
Dwight

 
> Date: Fri, 20 Apr 2012 00:15:52 -0700
> Subject: Re: [Canon Cat] SwyftCard and FORTH
> From: sand...@gmail.com
> To: cano...@googlegroups.com

Sandy

unread,
Apr 20, 2012, 12:49:03 PM4/20/12
to cano...@googlegroups.com
Hi all,

I just talked to Terry and he thinks he has a listing if the source code for the SwyftCard.

We are planning a meeting next Friday, the 27th where I can get the listing and description of how this one byte token Forth works.

Then scan, OCR, edit and publish.

Sandy

Sent from my iPhone
===

Jon Sharp

unread,
Apr 20, 2012, 11:30:34 PM4/20/12
to cano...@googlegroups.com
Thanks guys,

I appreciate the responses and I can't wait to see the source listing!  I just picked up a //e with a SwyftCard, so I'm anxious to see how it compares to the Cat.  And the thing that has always (since I got my Cat, at least) interested and fascinated me was the built-in Forth.  Sandy, thanks for the reminder on the capitalization.  Let's just say I was "shouting" it. ;)

--
Jon

Sandy Bumgarner

unread,
Apr 21, 2012, 2:19:52 AM4/21/12
to cano...@googlegroups.com
No worries, Jon. Terry's one byte token Forth will be worth studying.
When I get the listing I will scan and OCR it and then turn it over
to the group to check the OCR product against the listings. That will
take a bit of work I think.

Anyway, the result will be worth it for looking at Terry's
implementation of Forth.

BTW, the original Forth we used before Terry brewed up his special
very compact implementation was 'Lyons' Forth for the Apple //. But,
that is pretty obscure.

Sandy
===

Charles Springer

unread,
Apr 22, 2012, 2:20:01 AM4/22/12
to cano...@googlegroups.com
Hi Sandy.

I recall the original "bring up" of ht eprototype Syfts with 6502's was Tom Wempi's PADS meta compiler (I used it for those sample screens in the photos of random polygons scrolling up the screen). There are pictures of my office on the computer barn or one of those sites with most of us (where were you?) looking at the proto and there is an Apple II with an accelerator and 4 or six cheap aftermarket floppies stacked up to hold all the PADS disks at once, and ribbon cable to the prototype, and I think a nice HP logic analyses.

I remember many discussion about Forth/FORTH when I was at MVP and Roy insisted on using FORTH in the books and covers for marketing purposes. I'm trying to remember if the "Forth love if honk then" bumper sticker was caps. Say hi to Terry and if can, tell him to contact me if he wants to play with some ARM11 or A8 Cortex boards.

-- Charlie

dwight elvey

unread,
Apr 22, 2012, 9:59:52 AM4/22/12
to cano...@googlegroups.com
Hi Charlie
 Have you looked at Jef's patent # 5019806? It is full
of source code. I've assumed it was either for the SwyftWare
on the Apple IIe or maybe the Swyft computer.
 It is suppose to use someones meta compiler.
Dwight

 

Date: Sat, 21 Apr 2012 23:20:01 -0700
Subject: Re: [Canon Cat] SwyftCard and Forth
From: charles....@gmail.com
To: cano...@googlegroups.com

Jon Sharp

unread,
Apr 26, 2012, 6:25:31 PM4/26/12
to cano...@googlegroups.com
Hey gang,

I received my SwyftCard yesterday and I can at least confirm that the "Enable Forth Language" trick doesn't work. ;)

I had read through the manual and discovered that the "Calc" function allowed BASIC code to be evaluated, quite similarly to the Cat, so I just had to try it.

Looking forward to seeing the source.

--
Jon

Sandy

unread,
Apr 26, 2012, 9:39:05 PM4/26/12
to cano...@googlegroups.com
BASIC ... Cat ... ??? Noooo!!! (-;

Sandy

Sent from my iPhone

dwight elvey

unread,
Apr 27, 2012, 12:39:00 AM4/27/12
to cano...@googlegroups.com
Hi
 The Cat had its own floating point.
The SwyftCard used the ROMs in the apple's BASIC to do
calculations.
 I've looked at the binary of the SwyftCard and
there is no dictionary there.
 It most likely has just about all the words to run Forth
but would need an external file loaded with a dictionary
to run them.
Dwight

 
> Subject: Re: [Canon Cat] SwyftCard and Forth
> From: sand...@gmail.com
> Date: Thu, 26 Apr 2012 18:39:05 -0700
> To: cano...@googlegroups.com

Jonathan Gevaryahu

unread,
Apr 27, 2012, 1:23:22 AM4/27/12
to cano...@googlegroups.com
Speaking of the SwyftCard, was there only one firmware revision released
(the 840-003A one) or was there more than one released version?

--
Jonathan Gevaryahu AKA Lord Nightmare
jgeva...@gmail.com
jgeva...@hotmail.com

dwight elvey

unread,
Apr 27, 2012, 1:24:10 AM4/27/12
to cano...@googlegroups.com
Hi
 I just looked more clearly at the two patents Jef Raskin
had related to Forth.
The First one: 4806916 seems to be source code for the SwyftCard.
It has a switch to allow it to run from disk ( ROM? )
The second patent is: 5019806 It is a HEX dump of a full Forth,
with assembler and EDDE. It looks to be 6502 code.
 If would be interesting to enter the hex and see if it
actually worked on a Apple IIe
Dwight
 

Sandy

unread,
Apr 27, 2012, 1:28:16 AM4/27/12
to cano...@googlegroups.com
Good question.
Terry is coming over tomorrow. Maybe we can collectively remember!
Sandy


Sent from my iPhone

Sandy

unread,
Apr 27, 2012, 1:36:16 AM4/27/12
to cano...@googlegroups.com
OK, let's OCR it, edit it, and run it.
We will check on the listings too.
Sandy

Sent from my iPhone
--

dwight elvey

unread,
May 2, 2012, 6:42:31 PM5/2/12
to cano...@googlegroups.com
Hi
 I've been editing the HEX file into a text file. I'm about half way
through. It seems to be based on a generic FIG type Forth and not
a tokenize.
 What computers were used early on? It is 6502 code but I'm not
sure what machine it was originally on.
 I expect to finish entering it and then converting to a binary file.
I can then more easily write a some check routines. Forth level
code should be relatively easy but the assembly code stuff might
be a little more tricky.
 For the Forth level code, I can check back at the vector used
and see if a proper header is connected. I can then look for
the ; routine at the end and the : routine at the begining.
 The text code in the other patent is intended to be loaded with a
meta compiler it looks like it might use a token Forth. I've not
spent too much time looking at it.
Dwight
 

 

Subject: Re: [Canon Cat] SwyftCard and Forth
From: sand...@gmail.com
Date: Thu, 26 Apr 2012 22:36:16 -0700
To: cano...@googlegroups.com

Sandy Bumgarner

unread,
May 2, 2012, 6:57:49 PM5/2/12
to cano...@googlegroups.com
Oh boy Dwight, you are the man!

Lyon's Forth was used before Terry wrote his tokenized Forth. I did a
little looking for Lyon's Forth but came up dry.

Good luck.

Sandy
===

dwight elvey

unread,
May 2, 2012, 7:48:05 PM5/2/12
to cano...@googlegroups.com
Hi
 It is likely Lyon's then. Was that on an Apple?
Typing these list in by had is always error prone.
D and 0, B and 8 are troublesome but even 4 and 1
can be tricky. I like numbers that have an ascii on the side
it make determining which it is easier.
 I've done this kind of stuff before. I would get on average
1 error every  800H. Usually as a burst.
 The printout is relatively clear but there are a number
of tricky spots.
 It takes a long time. I don't think an OCR would be even
half as good as by hand, though.
Dwight

Sandy Bumgarner

unread,
May 2, 2012, 8:08:49 PM5/2/12
to cano...@googlegroups.com
Yes, Lyon's was for the Apple // and it got us off the ground until
Terry created his great token Forth. His one & two byte token Forth
allowed us to fit all the code into the available space where Lyon's
would not. It was great at space saving and did not have too much of
a speed penalty.

Sandy
===

Jon Sharp

unread,
May 2, 2012, 11:40:00 PM5/2/12
to cano...@googlegroups.com
Dwight,

I actually started attempting an OCR of the hex listing myself...  I got through the first page before deciding I should try and tune/train the OCR better, first.  I was using YAGF for Linux, which uses one of two OCR engines, the better of which appears to be Tesseract.  I was hoping I could train Tesseract to limit its output chars to hexidecimal digits.  In the end, though, it would still require verification, to be sure.  So I guess it's best to just wait for the results of your effort. ;)

I even went looking for a copy of Lyon's Forth, too...  I just ended up with a bunch of links to articles in the FIG publications.

--
Jon

NickM

unread,
May 11, 2012, 2:03:40 PM5/11/12
to Canon Cat
Hi Dwight,

Here might be dragons...

I've been lurking in this group for years watching the posts...but
I've not mentioned anything until now.

A few years back, I manually re-keyed the hex dump from the patent, as
I love Jef's work, and dearly wanted to have something like Swyftware
working. Despite manually entering the entire hex dump over several
evenings by hand (yes, I had trouble with some characters looking
similar or being indistinct, despite having excellent vision), I tried
to run the resulting code, but to no avail - it just hung my emulated ]
[e, no message or anything. Someone got in touch with me around that
time, and kindly send me his OCR'd versions - I wrote some routines to
compare my hand-keyed version to his OCR'd version, and it found a few
differences, which I addressed by referring back to the original scans
in every case. Despite all this, I still couldn't get anything to work
in the end.

I even fed my hex dumps through some brilliant quality speech
synthesis software on my PC, and spent a fair few evenings listening
to my keyed-in dump whilst reading the hex off the page...and couldn't
find any differences. Again, despite my best efforts, I still had no
success. It did make me wonder if Jef included some kind of tweak
known only to him, that would make the published code work...or more
likely, it was my finger trouble :-) ... although given that I re-read
the entire hex dump and compared this to my keyed-in version, I think
it's reasonably unlikely that I made a mistake although not
impossible. At that point, I gave up, rather disappointed :-(. I can
still do 6502 and could have perhaps, examined things further, but I'd
decided that enough was enough, sadly...

I'd happily send my work so far to this group - maybe if others have
tried what I have, and we compare everyone's interpretations, we'll
eventually end up at something resembling the original.

Since then, I bought a Swyftcard from Charles Springer (thanks
Charles, I got a nice surprise when I realised it was from you!), and
after waiting what seemed like an eternity on Ebay (I'm in the UK), I
managed to find a ][e that would do the trick. Needless to say, as
soon as I plugged everything in, it worked perfectly first time. Great
job to all concerned by the way, it's super-fast and very pleasant to
use. Of all my old computer kit, I could still use the ][e with a
Swyftcard for real work, if I trusted the disks and the drive, not
that they've failed me to date.

If anyone's interested, I'm willing to upload my attempt at this...it
might take me a short while to lay my hands on the files though, it's
a few years back now.

Just watch...maybe I entered everything correctly, but didn't jump to
the correct start address... :-O

Best Regards,
Nick.

On May 3, 12:48 am, dwight elvey <dkel...@hotmail.com> wrote:
> Hi
>  It is likely Lyon's then. Was that on an Apple?
> Typing these list in by had is always error prone.
> D and 0, B and 8 are troublesome but even 4 and 1
> can be tricky. I like numbers that have an ascii on the side
> it make determining which it is easier.
>  I've done this kind of stuff before. I would get on average
> 1 error every  800H. Usually as a burst.
>  The printout is relatively clear but there are a number
> of tricky spots.
>  It takes a long time. I don't think an OCR would be even
> half as good as by hand, though.
> Dwight
>
> > From: sandy...@gmail.com
>
> > Oh boy Dwight, you are the man!
>
> > Lyon's Forth was used before Terry wrote his tokenized Forth. I did a
> > little looking for Lyon's Forth but came up dry.
>
> > Good luck.
>
> > Sandy
> > ===
> > On Wed, May 2, 2012 at 3:42 PM, dwight elvey <dkel...@hotmail.com> wrote:
> > > Hi
> > >  I've been editing the HEX file into a text file. I'm about half way
> > > through. It seems to be based on a generic FIG type Forth and not
> > > a tokenize.
> > >  What computers were used early on? It is 6502 code but I'm not
> > > sure what machine it was originally on.
> > >  I expect to finish entering it and then converting to a binary file.
> > > I can then more easily write a some check routines. Forth level
> > > code should be relatively easy but the assembly code stuff might
> > > be a little more tricky.
> > >  For the Forth level code, I can check back at the vector used
> > > and see if a proper header is connected. I can then look for
> > > the ; routine at the end and the : routine at the begining.
> > >  The text code in the other patent is intended to be loaded with a
> > > meta compiler it looks like it might use a token Forth. I've not
> > > spent too much time looking at it.
> > > Dwight
>
> > > ________________________________
> > > Subject: Re: [Canon Cat] SwyftCard and Forth
> > > From: sandy...@gmail.com
> > > Date: Thu, 26 Apr 2012 22:36:16 -0700
> > > To: cano...@googlegroups.com
>
> > > OK, let's OCR it, edit it, and run it.
> > > We will check on the listings too.
> > > Sandy
>
> > > Sent from my iPhone
>

Sandy

unread,
May 11, 2012, 3:56:44 PM5/11/12
to cano...@googlegroups.com
Hi Nick,

Have you tried disassembling your hand entered code? Seeing structure can help a lot.

Terry Holmes (tForth author) brought all the hard copy stuff he had over to my place and, at first blush, none of it looks too helpful. I need to look again.

Anyway, I am happy you came out of the woodwork as we need all the help we can get. Dwight is carrying a terrific part of the burden. Plus, I can only do so much between chemo cycles.

BTW, depending on the Cat (there were different power supplies) I think the voltage issue is a jumper and not to worry about the 60/50 Hz issue.

Sandy

Sent from my iPhone
===

dwight elvey

unread,
May 11, 2012, 10:28:44 PM5/11/12
to cano...@googlegroups.com
Hi
 I'm relatively sure there is a jumper in the supply for 240v.
As Sandy says, 50/60Hz shouldn't be an issue.
Unless there are others that would like a copy of the dumped
code, I'd like a copy sent to me. The more directions it is
looked at from the better.
 I've slowed a little. I'm at 4800H now. I try to do a little each
night.
 Since the hex dump isn't tForth, I'm not sure Terry's stuff would
help for this project. If I ever get a Swyft machine, It may help
some. There are only a couple of these around.
Dwight

 
> Subject: Re: [Canon Cat] Re: SwyftCard and Forth
> From: sand...@gmail.com
> Date: Fri, 11 May 2012 12:56:44 -0700
> To: cano...@googlegroups.com

Hannu Aronsson

unread,
May 12, 2012, 3:17:45 AM5/12/12
to cano...@googlegroups.com
On 12.5.2012, at 5:28, dwight elvey wrote:
 I'm relatively sure there is a jumper in the supply for 240v.

I received detailed instructions before for the Cat voltage change and they can be found at <http://canoncat.org/canoncat/240v.html>. I have not done it yet  personally.

Yours,
  Hannu
-- 
Hannu Aronsson - h...@iki.fi



Sandy

unread,
May 12, 2012, 11:39:07 AM5/12/12
to cano...@googlegroups.com
Thank you for the link, Hannu!

I had forgotten about those directions.

But, please note, there were two versions of the power supply.  The early production runs of the Cat with a separate power supply in a box on the side as described in the article you referenced.  Later production runs of the Cat have an integrated power supply and CRT display.  This later version was cheaper to manufacture but is different enough that one should be careful when investigating it.

I think the integrated unit's voltage can be changed as well, just be careful.

I do not know the serial numbers where the power supply was changed. In fact the only way I know to tell which is which is to open the Cat up and look.

Sandy

Sent from my iPhone
===

Jonathan Gevaryahu

unread,
Dec 30, 2012, 4:38:50 AM12/30/12
to cano...@googlegroups.com
Did this source code listing get found? If you have a pile of 300 pages
of code to scan+ocr, I have an auto-sheet-feed 11x17 ADF scanner here
which I'd be happy to run the stuff through.
That goes for any other old cat/swyft/etc documentation anyone wants
scanned, too. (schematics would be nice!)

On 4/20/2012 12:49 PM, Sandy wrote:
> Hi all,
>
> I just talked to Terry and he thinks he has a listing if the source
> code for the SwyftCard.
>
> We are planning a meeting next Friday, the 27th where I can get the
> listing and description of how this one byte token Forth works.
>
> Then scan, OCR, edit and publish.
>
> Sandy
>
> Sent from my iPhone
> ===
>


--
Jonathan Gevaryahu
jgeva...@gmail.com
jgeva...@hotmail.com

Reply all
Reply to author
Forward
0 new messages