1998-09-01 - Threaded code’s place

Header Data

From: bill payne <billp@nmol.com>
To: sjmz@hplb.hpl.hp.com
Message Hash: 40dfaf11df32a961ba92ada3283e4c752c173761a5ed6289a4c0b84852e4ecf0
Message ID: <35EC12E4.1B6C@nmol.com>
Reply To: N/A
UTC Datetime: 1998-09-01 15:34:25 UTC
Raw Date: Tue, 1 Sep 1998 08:34:25 -0700 (PDT)

Raw message

From: bill payne <billp@nmol.com>
Date: Tue, 1 Sep 1998 08:34:25 -0700 (PDT)
To: sjmz@hplb.hpl.hp.com
Subject: Threaded code's place
Message-ID: <35EC12E4.1B6C@nmol.com>
MIME-Version: 1.0
Content-Type: text/plain

Tuesday 9/1/98 9:00 AM

Alexander Wolfe

I spoke to Richard Hanson yesterday afternoon.

He got the e-mail referencing


I wrote the attached WEED KILLER addition for an SBIR proposal submitted
by several profs at Texas A&M and a Sandia physicist.

Threaded code can 'save-the-day' on some types of projects but doesn't
work very well on others.  I wrote in the preface of my 8051 forth book

 FORTH is applicable to hardware intensive projects        
 implemented by one, two, or three workers.  Robots,        
 computer numerical controlled machines, weapons        
 programmers, cryptographic processors, engine        
 controllers, unmanned observatories, computer hardware        
 debuggers, laser printer graphics controllers, video        
 games, work station device drivers, writing BASICs are        
 all candidates for FORTH software technology.  FORTH is        
 a one of the top choices for embedded controller        

AFTER publication of my SANDIA-APPROVED BOOK, I learned FROM NSA

1  the former ussr uses Forth to fuze it weapons systems
2  builds a military version of the 8051.

Oh dear.


http://www.oreilly.com/catalog/javavm/ gives the definition of the
Java verbs.

Charles Moore, Forth's inventor, is writing the ShBoom Java compiler

The green machine at http://www.metriguard.com/HCLT.HTM runs using the
Forth from my book.

Since I was fired I have been doing mostly MASM and Visual Basic

This is good for me since I gives me a different perspective from
Forth and Forth assembler which I did at Sandia.

Visual Basic is more like Fortran than traditional basics.

                      Implementing Basics : How Basics Work 
                 William H. and Patricia Payne / Published 1982 

Your article on Java and its future was VERY INFORMATIVE.

I SPECULATE that Java will see about the same success as Forth.

I am working on completion of the digital FX Model 2600FX Ultrasonic
Veneer Tester
http://www.metriguard.com/METPROD.HTM which uses a 80C32 micrcontroller
to a Windows PC though an ieee 1284 ecp port.

The 80C32 software is written in Forth and Forth assembler.  The Windows
since is 
written in Visual Basic and MASM Windows dlls.

Forth on the 80C32 is a NATURAL.  One the PC side Forth is not suitable
- except for
interactive exploring super i/o chips. 

Loring Wirbel WROTE SCATHING articles about NSA when Girish Mahtre was
editor of EET.
But since CMP took over, Loring's articles have been more subdued.

This is the reason I sent Wirbel a copy of my offending tech report. 

Loring has been superhelpful to see that I am not buried in the Great
Satan's invisible
cemetery. And in one article wrote the paragraph

  Next in my in-basket was a set of reprints from the Baltimore Sun from
the paper's NSA series,   which ran in early December. The series
reveals the setup by the NSA and CIA of a new covert    collection
agency, the Special Collection Service, and details the case of Hans
Buehler, an     employee of Crypto A.G. who was thrown into an Iranian
prison after getting snared in a         Crypto/NSA sting against that
country.  http://www.jya.com/whp1.htm

which was read by Iranian engineers.

A week ago I mailed a copy of the Swiss Radio International tape to

Lazlo Baranyi plans to post the audio plus translations of the German at
his web site, Baranyi wrote me.

I want settlement, my money and out of this crypto mess.  

Loring Wirbel and EET has been a GREAT HELP. Along with other
journalists, including Pulitzer Prize-winner Tamar Stieber, too.

bill payne

         	WEED KILLER computer interface proposal section 7/27/98 10:11 AM

Solution to controlling and collecting data from the WEED KILLER involves interfacing a personal computer
running a version of the Windows operating system to the WEED KILLER analog/digital hardware.

Windows is not a real-time operating system, therefore  microcontroller controller/collector hardware 
interface must be installed between a Wintel PC and the WEED KILLER hardware.

Essence of the Wintel data collector problem is that Windows 3.x or 9x responds to a hardware interrupt
usually between 70 to 150 microseconds.  In rare occasions the interrupt latency may extend to 1.5 
milliseconds or even longer.  A microcontroller responds to an interrupt in several microseconds.

Wintel hardware controller interface is even more difficult than collection for the reason that the Windows 
operating system only gives control to an application when Windows decides.  In the collection, mode at
least a hardware interrupt signals Windows that the application wants control.  However, the microcontroller
can send the Wintel an interrupt asking the applications code whether there is any message it needs to
send the microcontroller.

Microcontrollers have specialized timers, serial expansion ports and are, therefore, designed to be interfaced to 
analog and digital hardware. 

An 80C32 family microcontroller is proposed for the WEED KILLER application for reasons.

1  The 80C32 will do the job.

2  Multiple vendors of 80C32 guarantee future supply at a competitive price.  Current suppliers include
 Intel, AMD, Winbond, Dallas, Philips, Siemens, OKI,  ATMEL, ... 

3  High-speed parallel port bi-directional IEEE 1284 enhanced capability port 9 (ecp) communications 
hardware between an 80C32 and PC is in the final stage of development.

4  IEEE 1284 hardware drivers are supplied with Windows NT.  Custom assembler dll drivers are available
for 9x and 3.x.

5  A public-domain Forth 8051 operating system hosting a high-level language and interactive assembler with 
complete source code documentation is available on Internet. http://jya.com/f86/whpf86.htm

Hardcover book further documenting 5 is available from Academic Press.

Only a Wintel machine is required for both hardware and software for the WEED KILLER project.  

Usually a Forth hardware/software development probject on requres a voltmeter, logic probe, and, 
infrequently, an oscilloscope.  Reason  is the INTERACTIVE control of the hardware and software
from a PC keyboard and diagnostic information easily printed to a PC monitor.

Justification for assertion made in the above paragraph comes from Internet.

NASA uses Forth extensively for its space programs. http://groucho.gsfc.nasa.gov/forth/

Ballard used polyForth http://av.yahoo.com/bin/query?p=polyforth&z=2&hc=0&hs=0
to locate wrecks of the Titanic, Bismarck, and Yorktown.

Sun Microsystems workstation boot into Forth then invokes Solaris. http://playground.sun.com/pub/1275/

Adobe Postscript is a version of Forth. 

Video game software are written mostly in Forth.

The Wintel side of the WEED KILLER project will be most-likely written in a small
amount of assembler interface code and Visual Basic.

While Forth threaded code software technology is extremely valuable in some settings,
it is not in others.

Java is a variation of Forth.  http://www.mrl.nyu.edu/meyer/jvmref/

Future of Java on Wintel machines is unclear at this time.

For example,

  The hottest items among techies is a browser called Opera.   
  This is a $40 shareware program that in speed and compact   
  size buts both IE and Communicator to shame.  It has a slightly   
  different interface from either of the majors - an interface some find    
  refreshing while other find less than useful.  As it's shareware, you can   
  try and then buy if you like it.  One reason for its speed is that it ignores   
  Java - the Internet's Bandwidth Pig (IBP).   
  The Rumor Mill by Paul Cassel
  ComputerScene Magazine  July 1998   
Forth executes code High-level at about 10% the speed of a compiled high-level

Speed of execution of small applications is not effected by Forth's slow execution.

Reason is that initial code is written in high-level Forth.  

Inner loops are then translated into Forth assembler.

Speed is maintained with the advantage that data structures are created an maintained in
high-level language while the interactive operating system is retained for trouble shooting
both hardware and software problem.

Hardware cost of building the 80C32 the WEED KILLER boards is estimated at $10k.

Hardware design is estimated at 1 month labor at $50/hr for a total of $8k.

Software development on the 80C32 side in Forth and Forth assembler, software on the
Wintel side in Visual Basic and assembler, documentation, and training is estimated to
be 4 months for a total of $32k