Forth Software


Tethered 8051 Inspired by Colorforth - Charles Shattuck
8-bit target compiler including boot loader, optimized ?dup and ?lit, and tethered words
misc8051 - compiler files (runs in Linux and Windows)


The ARM7 Instruction Set and the Newest Subroutine Threaded ARM7 eForth - CH Ting
Ting reports that he has successfully ported a direct-threaded eForth to the Analog Devices' ADuC7024 MicroConverter. A faster version of subroutine threaded eForth has also been implemented.

ARM7 Firmware Engineering - CH Ting
F# code


LaFarr Stuart - download programs

ADULT - Adulterate Characters
<i-file ADULT from-to-pairs>o-file
Copyright 2002 July 22.  LaFarr Stuart (408)946-8517

AN - Integer-Arithmetic
<i*file IA [ /userdef-file][ print-file]>o-file
Copyright 2004 March 7.  LaFarr Stuart (928)927-6517
 2004 March 7 change Use _[ to Push Block of entire Stack _] Un-Blocks it.
    . Modify (Hex in Decimal out)   $ Square Root, $Enter shows .
    , Start new value,at 0          ! Factorial, !Enter shows all
    & Duplicate Top                 | M-things, taken N at a time
    [ Copy 2nd to Top               User. Define with .` see _`
    ' Delete Top                    @ Push Count of last digits
    " Delete 2nd                    ; Continue to next Line
    ] Delete 3rd                    ( Start Looping
    > To Alt-Stack                  ) End Looping
    < From Alt-Stack                = Display Top in Decimal
    ~ Increment Alt-Stack Top       # like = with blocked groups
    \ Decrement Top                 : Display Top in Hex
    + Add. Top+2nd=New              % 1.193 MHz Ticks since Midnight
    - Subtract. 2nd-Top=New         { Output to PRN/file
    * Multiply. Top*2nd=New         } Just Output to CRT
    / Divide. 2nd/Top=Rem,Quot      ? Help, or Output following
    ^ Power. 2nd^Top=New            _ Decimal Coded Digits (. Input)
>< <> Copy to/from Alt-Stack        .= .. Change Out/In number base
Horizontal output with _= _# or _:  _Enter. Kills stack display
    .' Empty Alt-Stack              _) Loop Top Not Zero
    .- 2's Complement               _} Infinite Loop
    .< .> Double/Half shifts        .) Loop on Keyboard non-graphic
    _& Push 80-bit Float of top     .; Wait on each line
    .@  Count of stack values       .# Block size and symbol for #

PAN - Phone Alpha to Numbers

SW - Swap Words
<i-file SW>o-file
Copyright 2004 April 2.  LaFarr Stuart (408)946-8517

WX - Word eXchange
<i*file WX pf>o-file
Copyright 2004 April 21.  LaFarr Stuart (408)946-8517
"I have used WX to exchange Homophones. You can see the effect on something you should recognize at: WX takes a parameter which is a table."


Swift Forth MIDI Examples: "I am sending these examples "as is" for the moment. They need comments, cleaning up, etc., but they do work. I'll send updates asap -- we are in the middle of a crunch at school right now, so I will try to work it into my schedule as best I can."


Tim Duncan
tduncan -at-


MIDI "Here is the first of what will probably be a number of Web postings. Simple.c is a simple Windows program -- in C -- that opens a MIDI device and plays a note. Kevin Appert's idea is that interested Forth programmers could could try to implement this in Win32Forth or Swift Forth."

"If we can get Forth implementations of these simple low-level MIDI and audio API functions for Windows it will help our project along a lot. I will send some more up -- probably one at a time -- for experimentation and discussion."

Tim Duncan
tduncan -at-


Firmware Engineering Workshop "I have collected the tutorial materials from the last Firmware Engineering Workshop in Taiwan into Please post it on your web site for distribution."

Thanks and regards,

C.H. Ting

| Home | Meeting | Contacts | Join | Other | Discuss | Events | Websites |