Appendices

Appendix A

Delta Research Biographies


Mike Haas

Mike first fell in love with Forth when he ported FIG Forth to a home-brew 6800 system. He worked with Brian and Jim on the design of a Forth chip and is also a 'C' programmer. Mike is also working on networking software for the Macintosh. His work on JForth includes the assembly language kernel (the foundation of JForth), the Amiga system interface, CLONE, Modules, the CALL facility that makes the Amiga libraries accessible, and more. Mike also developed Textra, the text editor for programmers, and LCDCalc, an attractive calculator that looks like a desktop LCD model.

Phil Burk

Phil became a Forth fan developing code for a music system running on a, then state of the art, S-100 68000 system. He has developed a Forth for the VAX and for a home-brew 68000 computer. He worked first as a physicist, then later developed interactive graphics/mapping systems on mainframes using 'C' and FORTRAN. His hardware projects have included small custom computers, guitar to MIDI converters, and synthesizer modules. His work on JForth includes structures, ODE , the graphics toolboxes, the '.j' files, Hashing, History, Source Level Debugger, IFF, the new local variables, and many demos. Phil also works on HMSL, the Hierarchical Music Specification Language. HMSL is an experimental composition language based on JForth. One of Phil's latest interests is in developing real time sound synthesis software using the 56000 Digital Signal Processor.

Brian Donovan

Brian first became interested in Forth when he saw a complete 8080 macro assembler contained within a 1/4 page footnote in an IEEE magazine. He has been programming for about 10 years doing mostly Forth, assembly and 'C'. His hardware projects have included electromechanical games, electric vehicles, telephone network testers, smart refrigerators and the design of a custom Forth processor. Brian has also worked with Novix on their Forth processor. His work on JForth includes part of the kernel, the original local variables, vocabularies, WORDS-LIKE, multistandard, and more.

Jim King

Jim is a chemist, a musician, an attorney, and an electrical engineer. He is also a 'C' and Forth programmer. He has worked with Mike and Brian on the Forth chip, and other hardware projects including audio digital signal processors. He helped put together the manual, and did quality assurance.


Appendix B

Resources


On-Line

These resources are accessible via modem. Due to the volatile nature of cyberspace, these resources may not be available in the future.

GENIE

GEnie is a national bulletin board run by General Electric. They maintain a very active Forth Roundtable. Enter M710 or FORTH. Information available by calling (800)638-9636. GEnie charges an hourly rate.

BIX

Martin Kees hosts a JForth vendor conference on BIX. For information, call (800)227-2983.

Commotech Computers BBS

Commotech Computer store in San Diego has a JForth section on their BBS. To get to the JForth stuff, go to the Mail Menu, then select "Other Section". They also have some JForth related files. If you use JRComm, set it for 16 color ANSI/IBM mode. The phone number is: (619)477-2368.

HMSL BBS

This is a free BBS intended for HMSL users, but it has a thread for the Amiga that has lots of JForth discussion. Hosted by Robert Marsanyi. Lots of high level electronic and computer music stuff. Call (415)928-8246 but don't hog it.

InterNet

You can reach the authors, Phil Burk and Mike Haas, via the internet. Send electronic mail to:

phil@mills.edu (or) haas@starnine.com

Organizations

There are two major sources for information on FORTH. They are:

FORTH Interest Group P.O. Box 8231 San Jose, CA 95155 (408) 277-0668 Fax: (408) 286-8988

FIG is a worldwide FORTH users group. They publish FORTH Dimensions, an excellent journal of new ideas in FORTH. Membership is highly recommended. Get a copy of their order form which has almost every Forth related book and periodical including the Dr. Dobbs FORTH issues, and the publications of the Institute below.

The Institute for Applied FORTH Research, Inc. 70 Elmwood Avenue Rochester, New York, 14611

The Institute publishes the Journal of FORTH Applications and Research. This is a technically oriented publication. They also organize an annual conference in Rochester.

Publications

1983. FORTH-83 Standard. A Publication of the FORTH Standards Team. Mountain View Press. Mountain View, CA.

Brodie, Leo. 1981. Starting FORTH. Prentice Hall, Inc. Englewood Cliffs, New Jersey 07632. A good introduction to FORTH. It's emphasis is on polyFORTH, an older 16 bit FORTH, so not everything applies to JForth. Easy reading for beginners.

Burk, Polansky, Rosenboom. 1986. HMSL - Hierarchical Music Specification Language - Reference and User Manual, Frog Peak Music, Box 151051, San Rafael, CA, 94915-1051. HMSL is an experimental music composition language written in JForth and ODE.

Haydon, Glen B. 1983. All about FORTH, An Annotated Glossary. Mountain View Press. Mountain View, CA. This provides source, and a description of the words in MVP FORTH.

Kelly, Mahlon G. and Spies, Nicholas. 1986. Forth: A Text and Reference. Prentice-Hall Software Series, Englewood Cliffs, New Jersey 07632. A comprehensive tutorial and reference manual that addresses some of the differences between FORTHs. The emphasis is on MMSFORTH for the IBM PC.

Chirlian, P. 1983. Beginning FORTH. Matrix. Beaverton, Oregon. A good introduction for beginners.

Derick, M. and Baker, Linda. 1982. FORTH Encyclopedia. Mountain View Press. Mountain View, CA. Provides source code and a detailed breakdown of the words in an 8080 version of FIG-FORTH. Handy for people who want to dig into the internals of a FORTH.

Hofert, D. 1985. A Bibliography of FORTH References, 2nd ed. The Institute for Applied FORTH Research, Inc. Rochester, New York. A list of most articles published on FORTH, cross referenced.

Kane, Hawkins and Leventhal. 1981. 68000 Assembly Language Programming. OSBORNE/McGraw Hill, Berkeley, CA. Excellent book for learning 68000 assembly with many examples. An extensive reference section that covers every instruction in depth also makes this an excellent reference. Recommended.

Loeliger, R. 1981. Threaded Interpretive Languages. Byte Books, Peterborough, N.H. A hackers book that describes the implementation of a TIL on a Z80. The author implies that is not FORTH but it sure looks like it to me. Good description of traditional inner interpreters. JForth doesn't have an inner interpreter so this is not directly relevant.

Winfield, A. 1983 The Complete FORTH. Sigma/Wiley, New York. Excellent text on FORTH-79. Little advanced material.

Object-Oriented Programming

BYTE Magazine, Volume 11, Number 8, 1986, "Object Oriented Languages" issue; contains articles on object oriented Forth, NEON, ACTOR, Objective-C, Smalltalk, etc.

Cox, Brad J., Object Oriented Programming: An Evolutionary Approach, Addison Wesley Publishing Company, 1986

Goldberg, Adele, and Robinson, David, Smalltalk-80: The Language and Its Implementation, Addison Wesley Publishing Company, 1983


Appendix C


ASCII Control Characters


Decimal-Hex-Character--Key--Typical-Usage----------------------
0 00 NUL ^@ Denotes end of string or no data.
1 01 SOH ^A
2 02 STX ^B
3 03 ETX ^C
4 04 EOT ^D
5 05 ENQ ^E
6 06 ACK ^F ACKNOWLEDGEs reciept of message.
7 07 BEL ^G Rings BELL on printer or terminal.
8 08 BS ^H BACKSPACEs cursor.
9 09 HT ^I Horizontal TAB.
10 0A LF ^J LINE FEED, AMIGA line terminator.
11 0B VT ^K Vertical TAB.
12 0C FF ^L FORM FEED, advance to next page.
13 0D CR ^M CARRIAGE RETURN, terminate line input.
14 0E SO ^N
15 0F SI ^O
16 10 DLE ^P
17 11 DC1 ^Q Resume host transmission, XON.
18 12 DC2 ^R
19 13 DC3 ^S Stop host transmission, XOFF.
20 14 DC4 ^T
21 15 NAK ^U NOT AcKnowledged, NOT recieved.
22 16 SYN ^V
23 17 ETB ^W
24 18 CAN ^X
25 19 EM ^Y
26 1A SUB ^Z
27 1B ESC ^[ ESCAPE, general purpose, change mode.
28 1C FS ^\
29 1D GS ^]
30 1E RS ^^
31 1F US ^_

Printable Characters -- (Decimal Hex Character) ---------------
32 20 SPAC 48 30 0 64 40 @ 80 50 P 96 60 ` 112 70 p
33 21 ! 49 31 1 65 41 A 81 51 Q 97 61 a 113 71 q
34 22 " 50 32 2 66 42 B 82 52 R 98 62 b 114 72 r
35 23 # 51 33 3 67 43 C 83 53 S 99 63 c 115 73 s
36 24 $ 52 34 4 68 44 D 84 54 T 100 64 d 116 74 t
37 25 % 53 35 5 69 45 E 85 55 U 101 65 e 117 75 u
38 26 & 54 36 6 70 46 F 86 56 V 102 66 f 118 76 v
39 27 ' 55 37 7 71 47 G 87 57 W 103 67 g 119 77 w
40 28 ( 56 38 8 72 48 H 88 58 X 104 68 h 120 78 x
41 29 ) 57 39 9 73 49 I 89 59 Y 105 69 i 121 79 y
42 2A * 58 3A : 74 4A J 90 5A Z 106 6A j 122 7A z
43 2B + 59 3B ; 75 4B K 91 5B [ 107 6B k 123 7B {
44 2C , 60 3C < 76 4C L 92 5C \ 108 6C l 124 7C |
45 2D - 61 3D = 77 4D M 93 5D ] 109 6D m 125 7D }
46 2E . 62 3E > 78 4E N 94 5E ^ 110 6E n 126 7E ~
47 2F / 63 3F ? 79 4F O 95 5F _ 111 6F o 127 7F DEL