26.10.2013 Views

2 - Forth Interest Group

2 - Forth Interest Group

2 - Forth Interest Group

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

about projects like satellites and the Mars rover. Chuck<br />

said he perceives that antagonism to <strong>Forth</strong> has faded, that<br />

they aren't locked into ADA.<br />

Dr. C.H. Ting then demonstrated a multi-voice music<br />

program that was using the video output processor on<br />

MuP21 to generate the analog signal being played. He<br />

showed details of the design and code, and explained that<br />

he used a much slower xtal than the one used to generate<br />

the video timing for the P21 coprocessor.<br />

Tom Zimmer and Andrew McKewan are about to<br />

disappear to the jungle ofTexas. This was their last chance<br />

to talk about their 32-bit <strong>Forth</strong> (F95) for Windows to this<br />

group for a while.<br />

Andrew wrote the original C wrapper and the kernel of<br />

F95. He also ported the object-oriented code from Neon,<br />

which he said was useful as an interface to the windowing<br />

system. He discussed the issues in hosting an interactive<br />

<strong>Forth</strong> under the Windows environment.<br />

Andrew said he considered the system a good environ-<br />

ment to learn about the Windows interface, because you<br />

could test anything interactively. But he said he does not<br />

really consider it a Windows GUI development environ-<br />

ment, because it is lacking too many things. There is no<br />

icon editor, no help editor, etc.<br />

In addition to names for Windows functions, and<br />

constants for control locations in Windows, F95 contains<br />

most of the features of F-PC. The system boots from<br />

FORTH.EXE and loads FORTH.IMG. The IMG contains the<br />

dictionary and can be from 300K to 2M. The EXE file<br />

The Computer Journal ........ 6<br />

FORML ............... back cover<br />

FORTH, Inc. ...................... 23<br />

<strong>Forth</strong> <strong>Interest</strong> <strong>Group</strong> ..... ctrfld<br />

Laboratory<br />

Microsystems, Inc. ........... 10<br />

Miller Microcomputer<br />

Services ........................... 27<br />

Offete Enterprises ............ 14<br />

Silicon Composers ............. 2<br />

contains the C wrapper, and changing it would be similar<br />

to metacompiling a new kernel in F-PC.<br />

You can simply say<br />

' MAIN IS BOOT FSAVE FOO<br />

to save a FOO.EXE and FOO.IMG. You can then install and<br />

use it in Windows.<br />

Tom Zimmer extended Andrew's F95 kernel to include<br />

all the utilities and tools he needed to finish porting a<br />

multi-megabyte <strong>Forth</strong> project from a fragmented 16-bit<br />

<strong>Forth</strong> system to the 32-bit Windows system. The exten-<br />

sions include assembler, disassembler, debugger,<br />

decompiler, editor, class, objects, mouse interface, and<br />

graphic interface. A floating-point package has been<br />

added, but it requires floating-point hardware.<br />

Tom talked about the 00 extension and how, when he<br />

only needed one particular new object, he felt it was<br />

wasteful to create a new class for it. So he created a way<br />

to define such objects without having to first define a one-<br />

of-a-kind class. He also talked about headerless classes,<br />

and showed how methods are assigned to classes.<br />

Tom explained that the interpreter was a little unusual.<br />

First it looks up a word to see if it is in the dictionary, then<br />

it tries to convert it to a number, and finally, if it can't do<br />

either of these things, it performs a hash and leaves the<br />

value on the stack. This is because it assumes that it is a<br />

method and that its value should be put on the stack so the<br />

object can resolve it at runtime. Objects match the method<br />

value to those in their own list of methods to find<br />

executable code.<br />

<strong>Forth</strong> Dimensions 27 July 1995 August

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!