[comp.lang.forth] Novix chip with Computer Cowboys software by Calvin Moore

jbn@glacier.STANFORD.EDU (John B. Nagle) (05/01/88)

      I just saw the Novix chip running under the control of the silliest
user interface I have ever encountered.  This thing has a programmer-oriented
interface based on three (3) buttons and a color CRT.  No keyboard.  The
three buttons are labelled R, G, and B, and the top line of the CRT shows
eight menu selections in the various color combinations obtainable by combining
red, green, and blue.  The keyboard is interpreted in a chord sense, so that
if you push G and B at the same time, this is interpreted as violet and the
violet menu item is selected.  The basic concept seems to be that one scrolls
forward or backward by screen, then by line, then by word, then by character,
and then selects the desired character in the character set by scrolling
through the character set.

      Incidentally, the board for this system is about 4"x4", and, for no
obvious compelling reason, has ICs on both sides.  The system consists of
this board, a 3.5" diskette drive, and a color TTL-interfaced CRT.

      The Forth implementation lacks DO and LOOP.  There's an absolutely
hysterical bug: multiply only works for even multipliers.  This is documented;
the documentation claims that "most multipliers are even", you see.

      					John Nagle

bobl@tessi.UUCP (Bob Lewis) (05/04/88)

In article <17430@glacier.STANFORD.EDU> jbn@glacier.STANFORD.EDU (John B. Nagle) writes:
>
>      I just saw the Novix chip running under the control of the silliest
>user interface I have ever encountered.  This thing has a programmer-oriented
>interface based on three (3) buttons and a color CRT.  No keyboard.  The
>three buttons are labelled R, G, and B, and the top line of the CRT shows
>eight menu selections in the various color combinations obtainable by combining
>red, green, and blue.  The keyboard is interpreted in a chord sense, so that
>if you push G and B at the same time, this is interpreted as violet and the
>violet menu item is selected.

How you get *eight* selections?  Are you sure it's not seven?  Think about it.

>The basic concept seems to be that one scrolls
>forward or backward by screen, then by line, then by word, then by character,
>and then selects the desired character in the character set by scrolling
>through the character set.

Anybody want to do an X port of this critter?  B-)

>      Incidentally, the board for this system is about 4"x4", and, for no
>obvious compelling reason, has ICs on both sides.  The system consists of
>this board, a 3.5" diskette drive, and a color TTL-interfaced CRT.
>
>      The Forth implementation lacks DO and LOOP.  There's an absolutely
>hysterical bug: multiply only works for even multipliers.  This is documented;
>the documentation claims that "most multipliers are even", you see.

Yes, and some user interfaces are decidedly odd.

I suppose that in most cases one could use (forgive me if my FORTH is a
little rusty):

	: *SAFE 2* * 2/ ;

But seriously, what was this system for?  Why was somebody trying to produce
a "programmer-oriented interface" that didn't use a keyboard?  Maybe its
ultimately intended for some kind of environment where a keyboard would not
be available or so infrequently used (for servicing or diagnostics, say) that
its cost couldn't be justified.  On the other hand, this thing has a diskette
drive and a *color* monitor.  Most unusual.  Perhaps some sort of advertising
display?

There has been at least one other low-bandwidth FORTH system that I can
think of, the Rockwell AIM 65.  It was designed for low cost industrial
control applications.  It didn't look like it was a whole lot of fun to
develop on, but at least it had a keyboard!  Its weakness was a single-line
40(?)-character display, although I think a serial interface was an option.
(Aside: Anybody seen one of these things lately?)

Maybe the system John is describing is supposed to merge with the AIM 65!  B-)

	- Bob Lewis
	  bobl@tessi.uucp

jbn@glacier.STANFORD.EDU (John B. Nagle) (05/05/88)

      I have no idea what it is for.  But it is real, it does work, and
it can be seen at Haltek Electronics in Mountain View, California, 9 AM to 7 
PM Monday through Saturday.  Haltek, incidentally, is a surplus store.  If
you need 8" floppy drives, or Visicalc disks, or 19" relay racks,
or quadrophonic LP test/demo records, Haltek is the place to go. 

						John Nagle

ins_adgh@jhunix.HCF.JHU.EDU (David George Heath) (05/06/88)

Recently someone posted an article on a silly use of the Novix forth chip.
My roommate built a system using the NC4000 and I thought you might be 
interested in it.

He has the chip running at ~7 mHz. Novix claims the chip will run at 8mHz,
but the clock timing starts to get very touchy. Even at 4mHz, the system
seems to run forth faster than a 6mHz AT runs assembly (I know, that's not
saying much).

He has added a floppy drive, a monochrome graphics board (using NEC7220),
and is adding a hard disk controller (using Hitachi HD63463). I have used
the system numerous times and enjoy it. The compiler is very fast -
loading takes almost no time. The problems with the multiply (and several
other bugs) aren't much of a problem, if you know they exist. Because
forth is so modular, fixes are easy. Also, the lack of a do...loop
construct is not a limitation - if you really want one, you can write it
yourself. The for...next loop is sufficient for most cases.

There is one serious limitation. Branches must always branch within the
same 4K block. Say, there is a branch at location 1000 hex. It can't 
branch back to 0fff hex! The compiler as supplied doesn't check for 
such problems. The compiler was meant to be small, however, so it's
not perfect.

All in all, the NC4000 is a nice chip, and is capable of being part of a
nice system.

"Wearing two gloves seemed so ordinary"
David Heath    (ins_adgh@jhunix.hcf.jhu.edu)

mdg@smegma.UUCP (Marc de Groot) (05/09/88)

In article <460@ghidrah.tessi.UUCP> bobl@ghidrah.UUCP (Bob Lewis) writes:
>In article <17430@glacier.STANFORD.EDU> jbn@glacier.STANFORD.EDU (John B. Nagle) writes:
>>
>>      I just saw the Novix chip running under the control of the silliest
>>user interface I have ever encountered.

This interface is Chuck Moore's personal research effort. Chuck (who I cannot
really speak for) has some very particular ideas about Forth, being its in-
ventor, and is not particularly concerned with popular acceptance of hid
ideas, even within the Forth community. I would postulate that this is one
reason his company is called Computer Cowboys; he is a "cowboy", an
individualist.

>>      The Forth implementation lacks DO and LOOP.  There's an absolutely
>>hysterical bug: multiply only works for even multipliers.  This is documented;
>>the documentation claims that "most multipliers are even", you see.

(Sigh) Whoever wrote this is no marketing person, and clearly did not
understand or did not care that the remark would have a VERY negative effect
on those who did not understand the background of the chip.
The chip's development was stopped one iteration short of being totally
debugged: the silicon for sale right now is buggy, and in my opinion
should be taken as an indication of what this technology *might* do,
someday, 'cuz what it's doing now is not very professional.

>I suppose that in most cases one could use (forgive me if my FORTH is a
>little rusty):
>
>	: *SAFE 2* * 2/ ;
>

Yes, this works, but the top number on the stack is only a 15-bit signed
integer.

I suppose I am qualified to make some statements about the chip, being
the author of SC-Forth, sold by Silicon Composers of Palo Alto.

1) The NC4000 has some truly unique, RISC-ish characteristics. There are
   many lessons to be learned from its design.

2) Like so many things about Forth, the NC4000 is an unprofessional
   presentation of some profound concepts about computer architecture.
   Many people see no further than the lack of polish.

3) The chip, at very least, proves that it is possible to construct a
   hardware Forth processor which is capable of very high power and speed.

4) This processor *is* usable for compute-bound applications (ray-tracing,
   etc) and is being used in obscure circles as a super-computer solution
   at relatively low cost.

Heck, I like the thing. What do I like?

1) 16-bit processor, where clock speed in MHz = number of MIPS, up to
   6 or 7 MIPS.

2) 4000 gates is all it took!

3) What other chip does a subroutine call in 1 clock tick? (The return
   happens in parallel with the last instruction in most routines.)

4) OK, the interrupt hardware is broken, but if it was bug-free, the
   interrupt latency would be 1 clock tick because the context is *already*
   saved on a stack!

More next time.


-- 
Marc de Groot (KG6KF)
UUCP: {hplabs, sun, ucbvax}!amdcad!uport!smegma!mdg
AMATEUR PACKET RADIO: KG6KF @ KB6IRS 
"Look, he's mounting a tape!" "Quick, throw cold water on him!"

bts@sas.UUCP (Brian T. Schellenberger) (05/11/88)

|From: jbn@glacier.STANFORD.EDU (John B. Nagle)
|Newsgroups: comp.lang.forth
|Subject: Novix chip with Computer Cowboys software by Calvin Moore
|Date: 1 May 88 16:27:30 GMT
|      ^^^^^
|
|      I just saw the Novix chip running under the control of the silliest
|user interface I have ever encountered.
|[lots of *very* silly stuff deleted]

No, no, you're confused.  It's *APRIL* Fools Day you're thinking of.
-- 
 _______________________                             __Brian___________________
|Brian T. Schellenberger| "The Earth is but one     | ...!mcnc!rti!sas!bts     |
|104 Willoughby Lane    | country, and Mankind its  |work: (919) 467-8000 x7783|
|Cary, NC   27513       | citizens" --Baha'u'llah   |home: (919) 469-9389      |

ncoverby@ndsuvax.UUCP (Glen Overby) (05/15/88)

In article  <460@ghidrah.tessi.UUCP> bobl@tessi.UUCP (Bob Lewis) writes:
>In article <17430@glacier.STANFORD.EDU> jbn@glacier.STANFORD.EDU (John B. Nagle) writes:
>>      I just saw the Novix chip running under the control of the silliest
>>user interface I have ever encountered.  This thing has a programmer-oriented
>>interface based on three (3) buttons and a color CRT.  No keyboard.  The

Heck, even microwave ovens have more of a keyboard than this. 

I'd also like to know what the intended market for this product is.

>There has been at least one other low-bandwidth FORTH system that I can
>think of, the Rockwell AIM 65.  It was designed for low cost industrial
>control applications.  It didn't look like it was a whole lot of fun to
>develop on, but at least it had a keyboard!  Its weakness was a single-line
>40(?)-character display, although I think a serial interface was an option.
>(Aside: Anybody seen one of these things lately?)

I see one of these antiques every day.  It's collecting dust (rather than
data) next to my S-100 "boat anchor" and PC Clone.  The AIM was the first
computer I had that I could really call a computer.  It wasn't a very good
development tool, but it was much better than the KIM or SYM (apparently it's
targeted compeditors).  The display is 20-columns wide and so is the printer.
It has a 20MA serial interface (all software driven) standard feature which I
quickly hooked to a terminal. 

AIM-FORTH is a take-off of FIG-FORTH with support for the AIM's I/O and
was ROMable (they copied the USER page into RAM on cold start, and had lots
of execution vectors in the USER page).  It also had support for interrupts
inside of NEXT (obviously, I spent loads of time disassembling this beast)
which was rather slick.  Rockwell also produced a floating-point math package
which hooked into their Forth quite well.  It provided primitive floating
point operations plus some trig functions and I/O conversion.  I used the
primitives to impliment a full floating-point stack (separate from the
integer stack).

More recently, Rockwell came out with the R65F11 and R65F12 which are single-
chip Forth systems.  They contain the Forth kernel in ROM, along with some
I/O stuff.  To do development with them, you need another set of ROMS which
contain the Forth compiler and other such stuff.

I've implimented one simple data collection system here at NDSU with an AIM,
and it performed quite well until being replaced with an IBM PC.  I found
the PC to be harder to hook into than the AIM.

I got a letter a few years ago from a company called DYNACORP (I think) who
said they had bought the AIM products from Rockwell and were going to continue
to support them.

-- 
Glen Overby
Bitnet:  ncoverby@ndsuvax
UUCP: {uunet, ihnp4!umn-cs}!ndsuvax!ncoverby