The German Forth community has moved a step closer to claiming the domain of real-time programming. According to Klaus Schleisiek-Kern (DELTA-t), a German real-time congress with a strong Forth component is now being planned. Echtzeit '90 will take place in Nuremberg, the home of the first German Forth chip, in the summer of 1990. Sponsored by E-T-A GmbH, the chip was developed by Fraunhofer-Gesellschaft Erlangen, and will be produced by ELMOS GmbH. Klaus will talk about it at the 1988 FORML convention.
In other Forth news, Friends of Forth are invited to brush up on their syntax by participating in Jack Brown's ongoing Forth tutorial on the British Columbia Forth Board (604-434-5886). It is also being networked to GENIE (800-638-9636 sign-up) and the East Coast Forth Board (703-442-8695). The lessons, two of them so far, are well written and have excellent examples and homework problems. You can leave your solutions on the board for correction and feedback. The course is based on Tom Zimmer's public-domain F-PC Forth. The latest version, 2.15, is available on the same bulletin boards, although, it will take quite a while to download it. Or you might call Offete Enterprises (415-574-8250) to see if they already have it on a low-cost disk.
The ANS Forth Technical Committee held its fifth meeting August 10 - 13 in Portland, Ore. For the first time, a BASIS document was presented that differs radically in format from the Forth-83 Standard. The content and wording of this document, nicknamed "Brave New Basis" (BNB), received quite a bit of attention at the meeting. Several new terms were defined, such as execution token, the token that ' ("tick") returns for EXECUTE to use. You can get a copy of the latest BASIS by sending $5 to Martin Tracy, FORTH Inc., 111 N. Sepulveda Blvd., Manhattan Beach, CA 90266.
The meeting dealt with over 70 technical proposals, more than double of the previous meeting. There was a feeling that the BASIS would become the draft proposal ANS Forth Standard (DPANS) sometime in 1989. This optimism abated somewhat when Charles Moore, the founder of the Forth language, left the meeting abruptly after one of his proposals was defeated. I have posted the draft minutes of the meeting and the current technical proposal. Log on GENIE as files TCMINS5.ARC and TECHPROS.ARC, respectively.
Here are some of the technical highlights of that meeting:
The next ANS X3J14 committee meeting is scheduled for the end of January 1989. It will be held in Los Angeles, Calif., and is hosted by Ray Duncan of Laboratory Microsystems. Observers are welcome. Call chair Elizabeth Rather at FORTH Inc. (213-372-8493) if you are planning to attend.
The first ASYST International Conference took place October 9 - 10 at the University of Rochester, N.Y. ASYST is one of the better known data acquisition and analysis packages and features a flexible graphics interface, disk data library support, and a rich library of mathematical functions, from statistics to signal processing. And best of all, it's programmable! ASYST is written in Forth, and much of the language is accessible at the user level.
To create a four-cycle, 256-point sine wave, for example, you would first make an array of 256 successive integers: 256 REAL RAMP
The elements generated by RAMP range from 1 to 256 and are located somewhere in a heap. A token representing this array is left on the stack. To adjust the integers to range from 0 to 255, subtract one: 1 -
The subtraction operator knows to subtract the scalar one from each element in the array. A token pointing to the resulting array is left on the stack. The index array is then normalized to range from 0 to a little less than 2 PI:
Finally, take four times the sine of each element:
To duplicate the array and plot is a simple matter:
Of course, this could all be compiled into a colon definition:
ASYST supports the GPIB bus and more than two dozen IBM PC data acquisition and control drop-in boards. I was impressed by their (copyrighted) DAS driver specification, which describes a logical data acquisition and control board --timers, triggers, multi-channel A/D, DMA, the whole nine yards. This specification is not included in the ASYST package but comes with the notice that "ASYST authorizes any person or entity in possession of this specification to reproduce and distribute copies of this specification free of charge, provided that such copies are complete and entire and contain all copyright notices indicating ASYST's ownership of the copyright as are contained in the original." Call them at 716-272-0070.
The conference was smoothly executed by veteran Larry Forsely, who also puts together the Rochester Forth Conference. Here are some of the papers you missed:
"A General Purpose Stimulus Presentation and Data Acquisition System for the Cognitive Psychology/Evoked Potential Laboratory," by Dr. George Fein, UC San Francisco.
"Femtosecond Spectroscopy with ASYST," by Wayne Know, AT&T Bell Labs.
"Cables and Bits (the assessment of lung dysfunction)," by Dr. Daniel Rayburn, Walter Reed Institute of Research.
There were more than 40 papers in all, an impressive technical program for a first conference. I will let you know when the proceedings are available.
Hats off this month to Marc Hawley for his elegantly simple Mandlebrot program. The plotting routines, in their entirety, can be found on screen 2 (see Listing One , page 149). They use DOS calls to plot pixels on an IBM high-resolution (black and white) graphics screen, but you could alter them for fancier pictures. The routine itself is on screen 3. Several different views are developed by simply copying the screen and editing the parameters. The familiar inkblot appears from one to ten minutes after execution. The MANDLZEN.ARC file itself was downloaded from the GENIE FORTH bulletin board.
[<LISTING .+>\]/,"[$1]")
ANS X3J14 Meeting Number 5
1988 ASYST International Conference
256 / 2 * PI *
RAD 4 * SIN
DUP Y.AUTO.PLOT
:FOURSINE ( - array)
256 REAL RAMP 1 - 256 /
2 * PI * 4 * SIN
DUP Y.AUTO.PLOT;
A Simple Mandelbrot