Subject: Forth Engines



Dear Forth Engine User:

More On Forth Engines, Volume 21 is now published.

Time really can fly.  It is almost a year since the last volume was published 
last September.  It is not that there have been very few things happening in 
the field of Forth engines.  Actually, there are too many things happening.  I 
have too many balls in the air and I was waiting them to settle down a bit so I 
can sit down and record the activities.

The most interesting is of course what Chuck Moore is doing.  He's been working 
on a series of Forth chips on the basis he laid out in MuP21.  The chips 
realized in silicon, as I remember, included P8, F21, V21, and currently I21.  
P32 is in the serious thinking stage.  When we worked on P21, the goal was to 
get the chip working, and lots of ideas were put off.  When P21 was done, the 
lid was blown off and a tremendous among of creative energy was release in the 
newer designs.  Chuck changed every transistor, moved everything around and 
experimenting with new control strategies.  He is pretty happy with the current 
design of I21, and the prototype chips worked fairly well, it displayed some 
very crispy pictures on a color monitor.

I21 is being developed by iTv Corp.  Its goal is to produce a low cost Internet 
ready computer for home use.  I21 connects TV, phone, and a keyboard together 
to allow the user to surf Internet conveniently in a home entertainment 
environment.  It attracted substantial investments and assembled a high power 
team of Forth programmers to produce the system.  

At the beginning of this year, I visited Taiwan for a Forth Workshop.  There I 
kind of committed myself to three projects: the first is to produce a system 
for the MuP21H chip in the 44-pin PLCC package, the second was to help 
marketing the CT100 microcontroller teaching/prototyping kit, and the third was 
to replace the BIOS chip on 486 motherboard to build very cheap but very 
powerful embedded processing systems.  I wanted to report the results of these 
projects in this volume.  This is the reason why this volume is delayed for so 
long.

The new MuP21H kit uses a 82C51 UART chip to handle the serial communication 
with the host PC.  There are many intriguing properties in 82C51 which ware not 
fully understood when I first laid out the PCB for it.  Consequently the first 
board didn't work.  After I ironed out all the bugs, the second layout worked 
perfectly.  Now we can use this system to do serious programming, using a PC as 
the terminal server and file server.  It is interesting to note that MuP21 is 
very close to an Internet computer, because of its video coprocessor and the 
very versatile I/O bus.  Hooking an UART to it is only a simple demonstration 
of what it can do.

As the DRAM price collapsed, as it should have years ago, the price of 
assembled MuP21 kit is also lowered from  $350 to $250.  Hope this price 
reduction will encourage you to try out this very exciting microprocessor.  It 
is the only microprocessor which can generate video by itself.

The CT100 Lab Board is an 8051 based microcontroller laboratory which contains 
about 20 different circuit groups for experiments on microcontroller 
programming and interfacing.  You connect the circuit groups with jumper cables 
and are ready to write software to exercise the hardware.  It is a great tool 
to teach microcontrollers.  As the 8051 is driven by a F83 system, Forth is the 
natural language to develop software on this system.  I was so impressed by 
this system that I promised to develop a teaching course for it.  It took a 
while, but I finished building the course and also wrote a manual for it.  I 
like to market it in the US.  I think it is a great tool to train people in 
microcontroller programming and Forth, of course.

I had more troubles than what I asked for in trying to replace BIOS with Forth.  
The vision was that 486 motherboards are become so cheap that they are now the 
cheapest and most powerful embedded system money can buy.  For $100, you can 
get a 486 board with 1 MB of DRAM, 2 serial ports, 1 parallel port, a floppy 
controller, and a IDE hard disk controller, on an a single piece of PCB.  My 
goal was to put an eForth in the BIOS socket and I could have a powerful 
computing element, which can be used as a node in a parallel computing system.  
486 microprocessor is interesting because of the 32-bit linear addressing space 
in the protected mode, and the powerful floating point math coprocessor.  If I 
can link 10 or 100 of these beasts together, I could have a super computer on 
my desk.

The progress was slow and tedious.  I threw away the DOS extender I used in the 
386 eForth, V1.01, because the DOS extender itself is too complicated and not 
suitable for ROMming.  I used Chuck's OK as the protected mode loader and get 
the eForth to work well in the 32-bit protected mode, entered from DOS.  
However, all attempts to replace BIOS ROM failed.  The logic analyzer showed 
that the first subroutine call failed to return to the caller.  Investigating 
code in BIOS made me feel hopeless because different motherboards use different 
chip sets which are initialized differently by different BIOS chips.  It is 
apparently impossible to build a Forth which can deal with all the motherboard 
in a uniform way.  

The next best approach was to replace the Video BIOS ROM on the video display 
card.  This can be done uniformly, because the motherboard BIOS calls the Video 
BIOS after the motherboard is completely initialized, and that the Video BIOS 
is always located at C0000H.  This strategy worked, and I was able to boot up 
eForth on a bare-bone 486 motherboard with an Award BIOS ROM.  We still need to 
test it on other motherboards.

You will find reports on these three project in this volume.  In addition I 
included two papers I presented at the 1996 Rochester Forth Conference held in 
Toronto in June.  Laws of Computing tries to summarize the principles of 
programming and prove that Forth is the best programming language.  We all know 
that, but it is nice to prove it from the first principles.  Now, we have the 
first principles and the proof.  Traffic Controller and Zen of State Machine is 
my answer to the Programming challenger presented at the Forth Day Conference 
at the Silicon Valley FIG Chapter.  The most amazing discovery was that Forth 
is the perfect language to program state machines.  No new words or new concept 
outside the F-PC are necessary.

Remember ShBoom?  It is now being developed by Patriot Scientific Corporation 
in Poway, CA.  George Shaw was invited to SVFIG to talk about it and he 
distributed data sheets, which are reproduced here.  Klaus Schleisiek also 
visited SVFIG and gave a talk on his new Forth chip  IX.  His handout is also 
included.

Several users requested RTX processor and it reminded me what a nice 
microprocessor it is.  I am still distributing the RTX kit.  If you have an 
application which requires fast and precisely timed reponse from the computer, 
RTX with cmForth is still the best answer.

Just before the Volume 21 goes to the printer, I worked out the logic design of 
a 16 bit microprocessor P16, modeled after Chuck Moore's MuP21.  A paper is 
appended to the end of this volume.  P16 design is in standard schematics and 
had passed logic simulation.  It demonstrates my understanding of the P21 
architecture and its logic operations.

Dr. C. H. Ting                        Offete Enterprise
San Mateo, California                     1306 South B Street
October, 1996                     San Mateo, CA 94402
                              (415)574-8250, Fax (415)571-5004

New Products from Offete Enterprises:

4121  More on Forth Engines, Volume 21, $20
Editor's Notes          
New products from Offete Enterprises 
MuP21H Kit
My Troubles with This Darn 82C51
CT100 Lab Board
Born to be Free  
Laws of Computing
Traffic Controller and Zen of State Machines      
ShBoom Microprocessor
Programmable Fieldbus Controller IX1
Logic Design of a 16-Bit Microprocessor P16

4018  MuP21H Chip in PLCC, $40
MuP21 is now available in 44-pin PLCC packages.  It has much smaller (1/3) 
footprint compared to DIP, and is suitable for surface mount..
4019  MuP21H Evaluation Kit, $100
Include PLCC MuP21H, a printed circuit board, a 128KB EPROM with eForth V2.08, 
instructions and assembler diskette.  Build your own stand-alone MuP21 
development system with 82C51 UART.  
4020  Assembled MuP21H Evaluation Kit, $250
MuP21 system with 1Mx20 DRAM, 128KB EPROM eForth V2.08, and 82C51 UART to talk 
to PC host.  Apply 5V power and it generates NTSC signals to drive a color TV 
monitor.  Manual, MuP21 assembler and sample code included to guide application 
development.
4012  Assembled MuP21 Evaluation Kit, $350, $250
MuP21 system with 1Mx20 DRAM, 128KB EPROM, and 8-bit parallel I/O ports.  Apply 
5V power and it generates NTSC signals to drive a color TV monitor.  Manual, 
MuP21 assembler and sample code included to guide application development.  
Note price reduction due to DRAM price drop.
1014  MuP21 Programming Manual, C. H. Ting-- $25.00
Second Edition with MuP21H update. Primary reference for MuP21 microprocessor.  
Architecture, instruction set, video coprocessor programming, assembler, 
bootstrap code, Chuck Moore's OK demonstration system, and his lectures on P21 
and OK.
9008  CT-100 Lab Board, $400.00
This board is manufactured in Taiwan to train students in microcontroller 
interfacing.  It has 8051 as the CPU, surrounded by interesting devices like 
LED and LCD displays, ADC, DAC, stepper motor controller, key array and 
keyboard, buzzer, etc.  It provides enough materials for a one semester 
microcontroller course at college level.  Students can get on to the 
experiments directly without having to worry about hardware assembly.  Manual 
is available separately as Item #2132.
2132  CT100 Lab Board User Manual, C. H. Ting--$20.00
CT-100 is a 8051 based microcontroller training system, with integrated 
peripherals like LED and LCD displays, keys and keyboard input, ADC. DAC, 
stepper motor controller, relays, RS232, 8255, and 8279 peripherals.  This 
manual details experiments using 8051 Forth to controller these devices.
2133  32-Bit 386 eForth V.4.02, C. H. Ting--$25.00
This is a 32 bit implementation of eForth for 80386 in the protected mode.  
  It enters into protected mode directly without a DOS extender.  Only COM1 is 
active at 9600 baud.  Keyboard, screen and disks are all silenced. You need 
another PC to serve as a host through the serial port.
2134  32-Bit 386 eForth V.4.03, C. H. Ting--$25.00
This is a 32 bit implementation of eForth for 80386 in the protected mode.  
  It replaces the Video BIOS at C0000H and booted by system BIOS.  It converts 
a 386/486 motherboard to an embedded Forth processor, communicating with a PC 
through the COM1 port..