Trace: » forth02.html

[hemmerling] FORTH 2/7 - Hardware, Commercial Products & Services, Intellectual Property ( IP )

Hardware for FORTH Systems

Standard Hardware suitable for FORTH Systems and FORTH Systems for Standard Hardware

FORTH Systems for Standard Hardware

Standard Hardware suitable for FORTH Systems ( any PC with standard OS, any Eval-Boards & Embedded Boards with its CPUs, MPUs )

Special FORTH-enabled Hardware, commercial Hardware Products with FORTH

AIM-65

Hardware Platform
  • EN.Wikipedia "AIM-65", DE.Wikipedia "AIM-65" - “The Rockwell AIM-65 computer was a development computer introduced in 1978 based on the MOS Technology 6502 microprocessor. The AIM-65 was essentially an expanded KIM-1 computer. Available software included a line-oriented machine code monitor, BASIC interpreter, assembler, Pascal, PL/65, and FORTH development system”.
Character Set
  • The original computer just allow to enter capital, upper case letters ( “A”, “B”,.. ) only, they don´t allow to enter non-capital, lower case letters ( “a”, “b”,..) :-(.
  • Non-capital, lower case letters cause no input, with the MAME emulator :-(.
AIM-65 Emulators "MAME ( Multiple Arcade Machine Emulator )" & "MESS"
  • See “BBC Micro Emulators 'MAME ( Multiple Arcade Machine Emulator )' & 'MESS'”.
  • See “Hector Emulators 'MAME ( Multiple Arcade Machine Emulator )' & 'MESS'”.
AIM-65 Keyboard Mapping with MAME on Windows PC
German Windows Keyboard AIM-65 Key Action Comment
MAME, Natural Keyboard MAME, Emulated Keyboard ( QUERTY )
“SHIFT-1” ”!” ”!”
“SHIFT-2” ”"” ”"”
“SHIFT-3” No input ”#”
“SHIFT-4” “$” “$”
“SHIFT-5” ”%” ”%”
“SHIFT-6” ”&” ”&”
“SHIFT-7” ”/” ”'”
“SHIFT-8” ”(” ”(”
“SHIFT-9” ”)” ”)”
“SHIFT-0” ”=” “0”
“ß” No input ”:”
”?” ”?” “*”
“´” No input ”^”
“`” No input ”^”
“Z” “Z” “Y”
“Ü” No input ”=”
“ü” “U” ”-”
”+” ”+” ”]”
“*” “*” ”]”
“Ö” No input ”+”
“ö” “o” ”;”
“Ä” No input ”@”
“ä” “a” No input, but linefeed ( LF, 0x0A ) on the screen
”#” ”#” ”[”
”'” ”'” ”[”
”<” ”<” No input
”>” ”>” No input
“Y” “Y” “Z”
”,” ”,” ”,”
”;” ”;” ”<”
”.” ”.” ”.”
”:” ”:” ”>”
”-” ”-” ”/”
“_” No input ”?”
TAB Not available for input, used by MAME UI
ScrollLock Not available for input, used by MAME UI
”^” Not available for input, used by MAME UI
“°” Not available for input, used by MAME UI
FORTH ROMs
Resources
    • Call MAME by command line parameters to load BBC Micro with FORTH ROMs ( by CMD / Powershell batch file, or by Windows desktop icon ).
      1. “mame aim65 forth13”. Then press 5 to start FORTH.
      2. “mame aim65 basic11”. Then press 5 to start BASIC.
      3. “mame aim65 extbas21”. Then press N to start Extended BASIC.
      4. “mame aim65_40” ⇒ Error message “THIS MACHINE DOESNT WORK. The emulation for this machine is not yet complete. There is nothing you can do to fix that problem except wait for the developers to improve the emulation”. Expert comment “This is the AIM65/40 which is newer than the AIM65 with 40 character LED display, but emulation is not yet working. There's also no known software available for it”.
    • You don't need to unzip any of the romsets. You should have:
      1. “roms/aim65.zip”.
      2. “roms/aim65_40.zip”.
      3. “roms/bbcb.zip”.
      4. “roms/aim65_cart/forth13.zip”.
      5. “roms/bbc_rom/forth.zip”.
  • MAMEWorld Forums - “Do NOT request OR post roms, rom sites, missing files, chd's, rom/chd diffs, or bios's. And don't private message people you don't know asking for them either. It's both illegal & annoying, and won't be tolerated” :-(.

Amethyst, 2019

Project
Resources

AMSAT Space Projects

BBC Micro

Hardware platform
BBC Micro Emulators
BBC Micro Emulators "MAME ( Multiple Arcade Machine Emulator )" & "MESS"
  • See “Hector Emulators 'MAME ( Multiple Arcade Machine Emulator )' & 'MESS'”.
  • Installation & configuration & operation:
    • Directory “\roms” - “Place ROM directories here”.
      • So you may and should unpack all 4 “bbc*” ROM zip files into an own directory. Don´t put the files into a flat directory! These 4 directories were created by unpacking:
        1. “roms/bbcb”.
        2. “roms/bbcb_de”.
        3. “roms/bbcb_us”.
        4. “roms/bbcbp”.
      • Any FORTH ROM file should be copied into one of the now existing “BBC Micro” directories.
      • “For a standard BBC Model B, ‘MOS 1.20” (MOS120) is the firmware that you will find in most machines... The MOS 1.20 ROM goes in the OS socket in a real machine... The machine also needs a valid ‘language’ ROM as well, such as BASIC II (BASIC200). This needs to go in a 'sideways' ROM 'slot'”.
      • “I found the solution by downloading the complete ROM set for MAME 0.217... the files necessary for the emulation of the BBC model B are: (1) bbcb.zip, (2) bbc_acorn8271.zip, (3) saa5050.zip... For those interested, I put them as an attachment, because the MAME archive is 64 GB :) while the BIOS is only a few kilobytes. Please note these files will only work with version 0.217 of MAME ! PS: important to place the BIOS files in the rom directory of MAME & especially NOT to rename them!”.
      • “system-roms-for-all-acorn-machines_mame-0235.zip”.
        1. “forth.zip” ⇒ “FORTH-103.rom”. This is the original Arconsoft FORTH ROM.
        2. “forth79.zip” ⇒ “Forth79-1.0.rom”. Third-party ROM.
        3. “forthjwb.zip” ⇒ “forthjwb20/ForthJWB-2.0.rom”, “forthjwb24/ForthJWB-2.4.rom”. Third-party ROMs.
        4. ”/bbc_rom/mforth83.zip” ⇒ “Multi-FORTH83.com”, “mforth83a/Multi-FORTH83a.rom”. You must load both into the BBC-Micro directory, you must not create the subdirectory “mforth83a”. Third-party ROM “BBC Multi-FORTH83” ( but it is not by “Skywave Software Forth” ?! ).
      • Call MAME by command line parameters to load BBC Micro with FORTH ROMs ( by CMD / Powershell batch file, or by Windows desktop icon ).
        1. “mame bbcb -rom2 forth” ⇒ BASIC is loaded, you may switch by “*FORTH” to FORTH.
        2. “mame bbcb -rom4 forth” ⇒ “Arconsoft FORTH” is loaded.
        3. “mame bbcb -rom4 mforth83” ⇒ “Multi-FORTH 83” is loaded.
      • “UI Manager”.
        • From within a MAME emulation ( i.e. not from the MANE start screen ), you may enable the calling of the “UI Manager” by the keyboard key “Scroll Lock ( “SCR LK”, in German “Rollen” ). At some notebook keyboards, it may be called by pressing the additional function key: “FN” + SCR LK”. After enabling the “UI Manager”, you may call it by pressing the “TAB” key.
        • By the “UI Manager”, you may temporarily load a FORTH ROM, but even if you save the MAME configuration, the FORTH ROM is not loaded. As the Forth ROM is “software” and is not part of the “machine configuration”.
          • “UI Manager / File Manager / romimage2 (rom2)”
            • If FORTH was loaded by MAME command line parameter:
              • Either “romimage2 (rom2) forth(rom1)”.
              • Or “romimage4 (rom4) forth(rom1)”.
            • ”[software list] ⇒ “Arcon BBC Micro ROMs”:
              • “FORTH 1.03” ( forth ).
              • “FORTH 79” ( forth79 ).
              • “JWB Forth 2.5” ( forthjwb ).
              • “JWB Forth 2.0” ( forthjwb20 ).
              • “JWB Forth 2.4” ( forthjwb24 ).
              • “G:Forth 2.30” ( gforth ).
              • “G:Forth 0.95” ( gforth095 ).
            • Load ROM file by file explorer from the file system, i.e. “FORTH-1.03.rom”.
        • “Scrolling” can´t be stopped on a BBC Micro, by “CTRL-S” or “SCROLL LOCK”:-(, as with most PC homecomputers with BASIC.
          • “On the BBC, Scroll-lock is handled by the OS rather than the language. To turn it on, press ctrl+N. When it's on, pressing Shift will give you the next page-full of text. It can be turned off with ctrl+O. At any time (whether scroll lock is on or not), pressing shift+ctrl will 'freeze' the scrolling while you keep both keys held down”.
        • *”UI Manager / Keyboard Mode” ⇒ Keyboard modes are “Emulated” ( Keyboard mapping of the emulated hardware ) or “Natural” ( standard PC keyboard mapping, i.e. QUERZU on German Windows ).
BBC Micro Emulator "BBC Micro Emulator" by "RokCoder"
  • The free online emulator RokCoder "BBC Micro Emulator".
  • “Sideways ROMs are the EPROMS used to expand the BBC Micro. Two examples are BASIC and Disk Filing System which are both included in the emulator. There are many other sideways ROMs ranging from word processors to Logo implementations. The emulator supports sideways ROMs so if there are any that you would particularly like to see in the emulator then let me know and I'll add them!” - As of 2021-10-19, FORTH sideways ROM was included, after I asked for it.
  • Keyboard Assignment:
Key on PC keyboard Windows Keyboard Language Character in RokCoder's BBC Micro Emulation Comment
German @ Not available :-(
German [ Not available :-(
German \ Not available :-(
German ] Not available :-(
German { Not available :-(
German | Not available :-(
German } Not available :-(
German ~ Not available :-(
FORTH ROMs
BBC Micro Keyboard Mapping with Windows PC
German Windows Keyboard BBC Micro Key Action Comment
MAME, Natural Keyboard MAME, Emulated Keyboard ( QUERTY ) RokCoder
“SHIFT-1” ”!” ”!” ””
“SHIFT-2” ”"” ”"” ””
“SHIFT-3” No input ”#” ””
“SHIFT-4” “$” “$” ””
“SHIFT-5” ”%” ”%” ””
“SHIFT-6” ”&” ”&” ””
“SHIFT-7” ”/” ”'” ””
“SHIFT-8” ”(” ”(” ””
“SHIFT-9” ”)” ”)” ””
“SHIFT-0” ”=” “0” ””
“ß” “ss” ”-” ””
”?” ”?” ”=” ””
“´” No input ”^” ””
“`” No input ”:” ””
“Z” “Z” “Y” ””
“Ü” “u” “1/4”
“ü” No input ”<”
”+” ”+” ”>” ””
“*” “*” “3/4” ””
“Ö” “o” ”+”
“ö” No input ”;”
“Ä” “a” “*”
“ä” No input ”:”
”#” ”#” ”@” ””
”'” ”'” ”@” ””
”<” ”<” “1/2”
”>” ”>” ”|”
“Y” “Y” “Z” ””
”,” ”,” ”;” ””
”;” ”;” ”<” ””
”.” ”.” ”:” ””
”:” ”:” ”>” ””
”-” ”-” ”/” ””
“_” “_” ”?” ””
TAB Not available for input, used by MAME UI
ScrollLock Not available for input, used by MAME UI
”^” Not available for input, used by MAME UI
“°” Not available for input, used by MAME UI

Canon Cat

fignition, 2011-2014

Hardware & Software
    • Libby8dev "fignition" - “FIGnition FUZE is the definitive £20 educational DIY computer! It works like an 8-bit home Micro: outputting to composite video and ready to be interactively programmed from the moment you switch it on. FUZE now has bitmapped graphics; sprites, sound and audio saving/loading as well as 8Kb of RAM; 384Kb of storage; an 8-key keypad and runs a variant of FIG-Forth”.
Software, including FORTH
Sales
Resources

Hewlett-Packard Calculators

Hewlett-Packard Calculators with Reverse Polish Lisp ( RPL ), 1986 - 2015
FORTH ROMs

iTV 4OS

  • Archive.org "iTVC '4os'" ( - 2001-08-06 ) - “4os is the first Operating System written completely in Forth”.
  • Forth Interest Group (FIG) "comp.lang.forth Frequently-Asked Questions, part 4 of 7. A discussion of available Forth Systems: Commercial, Shareware & Freeware", 1999-07-23 - “The iTV Corporation <http://www/itvc.com/4os.htm> has developed 4os, a real-time OS that utilizes the i21 Forth microprocessor. 4os is a complete networked information appliance operating system. The entire system (OS, live Forth system, network, file system, graphic decoders &etc.) requires less than 512Kb of program memory”.
  • GitHub "ForthHub / ForthFreak / 4os" - “4os was a proprietary OS intended to run on a MISC-based set-top box. Developed by iTVC, it was claimed to be the first operating system written completely in Forth. A brief description follows: A complete Internet system (OS, live Forth system, network stack, flash file system, GIF and JPEG decoder, fonts, network support applications, email and browser customer applications) requires less than 1/2 megabyte of program memory. With boot compression (comes standard, takes about 1 second) that system fits in a 128Kbyte ROM. Sadly money and other business aspects conspired and it never got released. ForthSystems”.
    • 4os.
      • “iTV has been out of business for decades, and Jeff Fox, who was the head of development there is dead”.
      • “It was written for a Forth chip which, AFAIK, isn't available”.
      • ” Worst of all, according to many posts from Jeff over the years, it's extremely bad (large, inefficient) code due to the fact that the leader of that team instructed the programmers to literally translate C code to ANS Forth, which is rarely a good practice”.
      • “They demoed fully functional set top box on SVFIG meeting. So, it *was* operational”.
    • SwiftX.
      • “SwiftX includes, for its target, a fully native, independent OS suitable for supporting a dedicated application (as opposed to a general-purpose OS to run whatever users want to run on it). It includes all I/O support for the target host (20+ embedded targets), a large library of standard routines, hosted cross-compiler, etc. Networking libraries may include parts of a TCP/IP stack, but we have never had need for a web browser.
    • Greg Bailey, of Athena Programming.
      • “The most comprehensive native Forth OS I know is from Greg Bailey, of Athena Programming, who for many years supported a fully native and incredibly fast Forth on PC architecture with full TCP/IP stack (FTP and PPP, no HTML), database management, and other facilities under a monthly maintenance agreement. His systems supported networks of >1,000 users”.
  • SameTwice "Jeff Fox" - “Jeff was the first employee and 'cool software developer' at iTV, a company formed by Chuck Moore to make Internet appliances using one of his Forth chips. Later Jeff was Director of Software at iTV and helped develop 4OS and the email and web browser appliance software. iTV never produced chips in volume or sold any Internet appliances”.
  • Almost the same story, about the same time, just without FORTH: DE.Wikipedia "Metabox".

Jupiter Ace

The original Hardware
Minstrel 4th
Jupiter Ace Emulator "ACE 32"
Jupiter Ace Emulator "EightyOne"
Jupiter UK Keyboard EightyOne, ( German ) Windows Keyboard Jupiter Key Action
“1” “0X”
“00”
“SymbolSHIFT-1” “CTRL-1” ”!”
“SHIFT-1” “SHIFT-1” DELETE LINE
“2” “X0”
“00”
“SymbolSHIFT-2” “CTRL-2” ”@”
“SHIFT-2” “SHIFT-2”, ”"” CAPS LOCK
“3” “XX”
“00”
“SymbolSHIFT-3” “CTRL-3”, “ä”, “Ö” ”#”
“4” “00”
“0X”
“SymbolSHIFT-4” “CTRL-4” “$”
“5” “0X”
“0X”
“SymbolSHIFT-5” “CTRL-5” ”%”
“SHIFT-5” “SHIFT-5” CURSOR_LEFT
“6” “X0”
“0X”
“SymbolSHIFT-6” “CTRL-6” ”&”
“SHIFT-6” “SHIFT-6” CURSOR_UP
“7” “XX”
“0X”
“SymbolSHIFT-7” “CTRL-7” “´”
“SHIFT-7” “SHIFT-7” CURSOR_DOWN
“SymbolSHIFT-8” “CTRL-8” ”(”
“SHIFT-8” “SHIFT-8” CURSOR_RIGHT
“SymbolSHIFT-9” “CTRL-9” ”)”
“SHIFT-9” “SHIFT-9”, ”)” GRAPHICS
“SymbolSHIFT-0” “CTRL-0”, “_” “_”
“SHIFT-0” “SHIFT-0”, “BACKSPACE” DELETE
“SymbolSHIFT-R” “CTRL-R”, ”;” ”<”
“SymbolSHIFT-T” “CTRL-T”, ”:” ”>”
“SymbolSHIFT-Y” “CTRL-Y”, “ß” ”[”
“SymbolSHIFT-U” “CTRL-U”, “´” ”]”
“SymbolSHIFT-I” “CTRL-I” “Ⓒ”
“SymbolSHIFT-O” “CTRL-O”, “ü” ”;”
“SymbolSHIFT-P” “CTRL-P” ”””
“SymbolSHIFT-A” “CTRL-A”, “Ä” ”~“
“SymbolSHIFT-S” “CTRL-S”, “°” ”|”
“SymbolSHIFT-D” “CTRL-D”, ”^” “\”
“SymbolSHIFT-F” “CTRL-F”, ”?” ”{”
“SymbolSHIFT-G” “CTRL-G”, “`” ”}”
“SymbolSHIFT-H” “CTRL-H” ”^”
“SymbolSHIFT-J” “CTRL-J”, ”-” ”-”
“SymbolSHIFT-K” “CTRL-K”, “*” ”+”
“SymbolSHIFT-L” “CTRL-L”, ”+” ”=”
“SymbolSHIFT-Z” “CTRL-Z”, “Ü” ”:”
“SymbolSHIFT-X” “CTRL-X” “£”
“SymbolSHIFT-C” “CTRL-C”, ”'” ”?”
“SymbolSHIFT-V” “CTRL-V”, ”#” ”/”
“SymbolSHIFT-B” “CTRL-B”, “*”
“SymbolSHIFT-N” “CTRL-N”, ”,” ”,”
“SymbolSHIFT-M” “CTRL-M”, ”.”
Jupiter Ace Emulator "NO$ZX"
NO$ZX, ( German ) Windows Keyboard Jupiter Key Action Comment
“SHIFT-3” “3”
”^”, “°” ”^
“ALT” GRAPHICS
“ALTGR” ”)”
”[”, ”]”, ”{”, ”}”, ”|”, ”~”, “´”, “`” May not be entered by a German keyboard :-(?!?
Jupiter Ace Emulators, by Edward Patel
    1. “Win32 executable 'vace10.zip' (Needs MFC shared DLLs)” ⇒ Runs properly without any further DLLs :-).
    2. “3D version for Windows 'vace3d.zip'” ⇒ Error message “The code execution cannot proceed because MSVCP50.dll was not found”.
    3. OpenSource “Jupiter Ace emulator for X” in C language, for X-Window on Linux”.
Jupiter Ace Emulator "SpudACE" by Richard Chandler
Jupiter UK Keyboard SpudACE, ( German ) Windows Keyboard Jupiter Key Action
“SHIFT-0” “SHIFT-0”, “BACKSPACE”, “DEL”, “INS DELETE
“SymbolSHIFT-7” “CTRL-7”, “Ö “´”
Some other Jupiter Ace Emulators
Professional Software Applications
Literature

Micronique Hector HRX, Micronique Hector MX - L'ordinateur personnel francais

Micronique Hector & Interact Family Computer ( both without FORTH )
Micronique Hector HRX
Micronique Hector MX
Hector Emulator "DCHector - Emulateur pour Windows des ordinateurs 8 bits Micronique"
    • dchector.free.fr/mess.html - “compteur visiteurs depuis le 10 octobre 2005 . Dernière mise à jour le 2 septembre 2020 . © 2020 Daniel Coulom”.
    • “Téléchargement” - Download of the emulator software and several Hector ROMs for HRX, MX40, MX 80. No download of the disk drive image “D800K.BIN”, which is required to operate MAME & MESS, for all FORTH-enabled computers ( HRX, MX40, MX80 ).
      • “Pour lire ou télécharger la documentation, il faut avoir installé un plugin pour le navigateur. Sans plugin la lecture et le téléchargement sont impossibles. Téléchargement du plugin à Cuminas DjVu plug-in” :-(.
        • “Is the primary means of viewing DjVu documents. It runs inside most modern browsers such as Internet Explorer, Firefox and Safari”.
        • As of 2021-10, the latest 64-bit & 32bit version ( 6.1.4 ), is suitable for the operating systems Windows Vista / 7 / 8 / 8.1 and Windows Server 2008 / 2008R2 / 2012, 2012R2. I.e. Windows 10 is not mentioned :-(.
      • Just the file “10.djvu” is ok ( 63 KBytes ), all other ”.djvu” files are corrupt ( just 1 KByte ) :-(
    • “Options / Keyboard...” - Keyboard mapping Hector keyboard ↔ Windows keyboard.
    • DCHector "Cassettes" - Non-FORTH related binary applications.
  • Configuration: “DCHector Settings”: “Computer: [x] Hector 2 HRX”, “Speed: [x]200%”.
Hector Emulators "MAME ( Multiple Arcade Machine Emulator )" & "MESS"
Hector Emulator "VB Hector"
Hector Keyboard Mapping with Windows PC
  • Victor Lambda 2, Victor Lambda 2HR ⇒ QUERTY keyboard.
  • Hector 1, Hector 2HR, Hector 2HR+, Hector HRX, Hector MX80 ⇒ AZERTY keyboard.
  • However, the emulator software “VB Hector”, “Machine / Paramétrage clavier...” shows a photo of an “Hector 1” with QUERTY keyboard.
German Windows Keyboard Hector Key Action Comment
MAME, Natural Keyboard MAME, Emulated Keyboard ( AZERTY ) DCHector ( AZERTY ) VB Hector ( QUERTY )
“SHIFT-1” ”!” ”>” ”>” ”>”
“CTRL-1” ”#”
“SHIFT-2” “\”” ”"” ”"” ”"”
“CTRL-2” “\”
“SHIFT-3” No input “´” “´” “´”
“CTRL-3” ”[”
“SHIFT-4” “$” “$” “$” “$” As expected
“CTRL-4” ”^”
“SHIFT-5” ”%” ”%” ”%” ”%” As expected
“CTRL-5” ”]”
“SHIFT-6” ”&” ”!” ”!” ”!”
“CTRL-6” “\”
“SHIFT-7” ”/” ”:” ”:” ”:”
“CTRL-6” “7”
“SHIFT-8” ”(” ”(” ”(” ”(” As expected
“CTRL-8” ”[”
“SHIFT-9” ”)” ”)” ”)” ”)” As expected
“CTRL-9” ”]”
“SHIFT-0” ”=” ”<” ”<” ”<”
“CTRL-9” “_”
“ß” “SS” ”-” ”-” No input
”?” ”?” “_” “_” No input
“´” No input ”+” ”+” No input
“`” No input ”^” ”^” No input
“Q” “Q” “A” “A” “Q”
“W” “W” “Z” “Z” “W”
“Z” “Z” “Y” “Y” “Z”
“Ü” “U” ( no Umlaut ) ”?” No input No input
”+” ”+” ”=” ”=” ”=”
“*” “*” ”=” ”=” ”=”
“A” “A” “Q” “Q” “A”
“Ö” “O” ( no Umlaut ) “M” “M” No input
“Ä” “A” ( no Umlaut ) No input No input No input
”#” ”#” “*” “*” ”.”
”'” ”'” “*” “*” ”&”
”<” ”<” No input No input No input
”>” ”>” No input No input No input
“Y” “Y” “W” “W” “Y”
“m” “M” ”,” ”,” “M”
“M” “M” ”#” ”#” “M”
”,” ”,” ”.” ”;” ”,”
”;” ”;” ”&” ”;” ”#”
”.” ”.” ”/” ”.” ”;”
”:” ”:” ”@” ”&” ”;”
”-” ”-” ”;” ”?” No input
“_” “_” ”;” ”?” No input
Character Set
  • The original computers just allow to enter capital, upper case letters ( “A”, “B”,.. ) only, they don´t allow to enter non-capital, lower case letters ( “a”, “b”,..) :-(.
Videos
ROMs
Resources

New Micros, Inc. (NMI)

Robotic Applications

Special Effects Camera with robotic-controlled Movements
Robot at TRW Near Field Tst Facility ( NFTF )
Whiskers. The Artificial Intelligence Robot ( by Don Golding )
Resources

Scamp, 2019

ST Robotics' Robots, controlled by ROBOFORTH

Special FORTH-enabled Chips ( Processors, CPUs, SOC,... )

32-bit CPUs

INTEL 80x86
    • “The 80×86 processor family, which includes the 8088, 8086, 80186, 80286, and 80386 is a family of microprocessors with a general purpose register architecture. Simple PUSH and POP instructions are supported to manipulate the stack. Many high level language compilers produce code that uses the BP (base pointer) register as a frame pointer to a combined return address and parameter passing stack. When used in this mode, the 80×86 family can be considered to be doing stack processing. In the context of stack computers, the 80×86 is simply included in this listing as a representative example of a conventional machine that can be used as an SS2 architecture”.
Motorola / Freescale / NXP - 68K, Coldfire, PowerPC
    • “MOTOROLA 680×0. The 680×0 processor family, which includes the 68000, 68010, 68020, and 68030, is a family of microprocessors with a general purpose register architecture. Registers are divided into two groups: address registers and data registers. The address registers support postincremented and predecremented addressing modes. This allows a programmer to use up to eight stacks, one stack per address register. By convention, the A7 register is used as the stack frame pointer for most languages. Of course, the 680×0 family is usually not used as a multiple-stack machine, but nonetheless this capability exists”.
ARM Cortex
  • ?

James Bowman & Richard James Howe

"J1 Forth CPU" by James Bowman
"H2 Forth CPU" by Richard James Howe

E-T-A's FRP1600

Gerhard Hohner

Andrew Holme

Hans Hübner

Microchip MARC4 ( formerly: Atmel MARC4, Temic MARC4, Eurosil MARC4 )

The MCU
Sales
qForth Word Set ( "Atmel: MARC4 4-bit Microcontrollers Programmer's Guide" of 2004, page 86 ff )
  • Control Commands:
    AGAIN BEGIN DO #DO ?DO LOOP #LOOP +LOOP ?LEAVE -?LEAVE REPEAT UNTIL WHILE CASE ELSE ENDCASE ENDOF EXECUTE IF OF THEN CCR@ CCR! CLR_BCF EI EXIT DI SET_BCF SWI0..SWI7 TOG_BF
    
  • Mathematic Commands:
    ADD + +! INC 1+ 1+! ADDC +C D+ D+! M+ T+! TD+! DAA SUB - DEC 1- 1-! SUBB -C D- D-! M- T-! TD- DAS 2* D2* 2/ D2/ CMP_EQ = 0= D= D0= CMP_GE >= D>= CMP_GT > D> CMP_LE <= D<= CMP_LT < D< CMP_NE <> 0<> D0<> D<> MAX DMAX MIN DMIN NEGATE DNEGATE NOT ROL ROR SHL SHR AND OR XOR TOGGLE D>S S>D
    
  • Memory Commands:
    @ 2@ 3@ X@ [X]@ [+X]@ [X-]@ Y@ [Y]@ [+Y]@ [Y-]@ DTABLE@ ROMBYTE@ ! 2! 3! X! [X] [+X]! [X-]! Y! [Y]! [+Y]! [Y-]! ERASE FILL MOVE MOVE> IN OUT '
    
  • Commands:
    ! #DO #LOOP +LOOP -?LEAVE <ROT >RPxxh >SPxxh ?DO ?DUP ?LEAVE @ [+X]! [+X]@ [+Y]! [+Y]@ [X-]! [X-]@ [X]! [X]@ [Y-]! [Y-]@ [Y]! [Y]@ 2! 2<ROT 2@ 2DROP 2DUP 2NIP 2OVER R@ 2R@ 2ROT 2SWAP 2TUCK 3! 3@ 3DROP 3DUP 3R@ DAA ADD + +! INC 1+ 1+! ADDC +C D+ D+! DAS SUB - DEC 1- 1-! SUBB -C D- D-! 2* D2* 2/ D2/ AGAIN AND BEGIN CASE CCR! CCR@ CLR_BCF CMP_EQ = 0= D= D0= CMP_GE >= D>= CMP_GT > D> CMP_LE <= D<= CMP_LT < D< CMP_NE <>  0<> D<> D0<> DECR DEPTH DI DMAX DMIN DNEGATE DO DROP DROPR DTABLE@ DTOGGLE DUP EI ELSE ENDCASE ENDOF ERASE EXIT EXECUTE FILL I IF IN INDEX J LOOP M+ M- MAX MIN MOVE MOVE> NEGATE NIP D>S NOP NOT OF OR OUT OVER PICK >R 2>R 3>R R> 2R> 3R> RDEPTH REPEAT RFREE ROL ROLL ROMBYTE@ ROR ROT RP! RP@ S>D SET_BCF SHL SHR SP! SP@ SWAP SWI0..SW17 T+! T-! TD+! TD-! THEN TOG_BF TOGGLE TUCK UNTIL WHILE X! X@ XOR Y! Y@
    
  • STACK Commands:
    DECR DEPTH DROP 2DROP 3DROP DROPR DUP ?DUP 2DUP 3DUP I INDEX J NIP 2NIP OVER 2OVER PICK R@ 2R@ 3R@ >R 2>R 3>R R> 2R> 3R> RDEPTH RFREE ROT 2ROT <ROT 2<ROT RP@ RP! SP@ SP! SWAP 2SWAP TUCK 2TUCK
    
Resources

Charles H. Moore

His Forth Chips & Boards
SchmartBoard

JPB Forth / CoeurFORTH

MSL16

  • Archive.org "MSL16 Processor" ( - 2014-05-21 ) - The MSL16 machine is a CPU optimised to run the Forth programming language. It is similar to the minimal instruction set computers described in Jeff Fox's Forth microprocessor page , but implemented on a Xilinx FPGA. When the system is stable, the VHDL source code for the CPU and all the code will be released to make a complete public domain CPU. At the moment, we are optimizing the design for speed, and Brad Eckert is developing a version of ANS Forth for MSL16”.
    • PDF “P.H.W. Leong, P.K. Tsang and T.K. Lee “A based Forth microprocessor”.
    • “XILINX 4000 Series FPGA”.

Bernd Paysan

John Rible

Rockwell R65Fx, R65FRx, R65FKx and F68K

Forth Based Microcomputers
Resources

Testra Corporation "Reconfigurable Architecture Computation Engine RACE"

    • “The design process began by making a software simulation of a very simple Forth processor, called the miniForth. Getting the miniForth up and running was one of the easiest parts of the job, The simulation code for the 27 primitives needed to build the Forth kernel took only a few days to write and debug”.
    • “The RACE is a 16 bit RISC processor that executes code at 25 MIPs. Most Forth primitives take from 4 to 8 cycles, so Forth runs about 4MIPs. Code operators were devised so they could be combined to build efficient Forth primitives, and make best use of the PLD's limited resources. This meant some things were done in unconventional ways. Functions like anding, counting, and shifting, are easily done in one cycle, but arithmetic functions had to be broken into two parts. In the first part the operands are half added using an XOR instruction that takes one cycle. In the second part a special instruction is executed four times to propagate the carry through all 16 bits”.
    • Hugh Aguilar: “There is the MiniForth processor that I wrote the MFX (MiniForth Cross-compiler) for. The MiniForth was not written in VHDL, but was written using proprietary software from Testra for routing on a Lattice 1048isp PLD... They have a website: This page describes their new processor, the RACE, but it appears to be exactly the same as the MiniForth. It may have been upgraded to a bigger and better PLD. An FPGA is a lot more expensive and powerful than a PLD. An FPGA can be programmed in VHDL, which is a very high-level language. Nothing like VHDL exists for PLDs; our software was pretty low-level. The MiniForth was quite inexpensive and was intended to compete against micro-controllers such as the Dallas 80c320, which was the most popular micro-controller of the mid 1990s...”.
    • Hugh Aguilar: “In the MiniForth, there weren't any 'degrees of native Forth' — it was purely a Forth processor. The mechanism for calling functions was Forth threaded-code. My compiler didn't translate Forth code into machine language for the CPU. Forth code was compiled as threaded code. The primitive functions were written in assembly language. The chip's machine language was designed to support Forth; it was pretty much Forth-83. It could have been made fully Forth-83 or ANS-Forth, but nobody really cares about standards like these, so compliance was never an issue. The machine language was WISC (wide-instruction-set-computer). Each opcode could have as many as five instructions assembled into it. My assembler would rearrange the instructions as necessary to pack them into the opcodes with as few NOP instructions as possible”.

Chen-Hansong Ting

Silicon Composers, Inc. "SC32 Stack-Chip Microprocessor"

Zilog SuperZ8

System On Chips ( SOC ) & FPGAs Manufacturers - Intellectual Property Databases ( 2021-07 )

Resources

Commercial FORTH Systems & Professional Companies offering Implementation Services based on FORTH

8th

FORTH on Apple II+

FORTH on ATARI 400 & ATARI 800

ATARI Coin-op Forth, ATARI Colleen Forth, fig-FORTH 1.4V on ATARI 400 & ATARI 800

Documentation
    • “I.4 Coin-Op FORTH vs. Starting FORTH”, page 6.
    • “II.1 The FORTH Kernel... the 250 or so words which constitute the heart of FORTH) is based on fig-FORTH. However, a number of modifications have been made...”, page 10.
  • List of FORTH words
    TASK SAVENFAs FORMY LPWORDS WHERE N L SHOW LIST COPY LINE #OFLINES TEXT EDIT NOPLY COLPM! SIZE! HPOS! PLAYER GPRIOR COLPM VDELAY PRIOR PMBASE GRACTL DMACTL RND STRIG STICK PTRIG PADDLE SOUND XIO18 CLEAR DRAWTO POSITION COLOR SETCOLOR LOCATE PLOT DR. SE. PL. PUT C. Color LOC. GRAPHICS GR. POS. SPB PBASE Qbase FILDAT S: ACIO OPEN CLOSE GET Get CIO I2CAX I1CAX ICBLL ICPTL ICBAL ICSTA ICCOM ICDNO .IOC IOCB IOB IOC ATACHR LMARGN BOTSC CH CONSOL COL4  COL3 COL2 COL1 COL0 CHBAS CRSINH RTCLK DMCT DLST AUDCTL SKCTL C4AUD F4AUD C3AUD F3AUD C2AUD F2AUD C1AUD F1AUD CN EDITOR ARRAY ALLOC TBL \ BDUMP  H? HH CH? CHH HD 2* 0SET 1- 1+! CODE ASSEMBLER VLIST TRIAD INDEX LIST ? . .R D. D.R #S # SIGN #> <# SPACES WHILE ELSE IF REPEAT AGAIN END UNTIL +LOOP LOOP DO THEN ENDIF BEGIN BACK FORGET ' UPDATE FLUSH R/W DDIO DIO SECIO SIO DECMAP TYPE ?TERMINAL CR EMIT KEY TCIOV ICAL ICLL ICCM --> LOAD MESSAGE .LINE (LINE) BLOCK BUFFER BFND DR1 DR0 EMPTY-BUFFERS ALT PREV PTAB M/MOD */ */MOD MOD / /MOD * M/ M* MAX MIN DABS ABS D+- +- S->D COLD ABORT QUIT ( DEFINITIONS FORTH VOCABULARY IMMEDIATE INTERPRET ?STACK DLITERAL LITERAL [COMPILE] CREATE ID. ERROR (ABORT) -FIND HASH NUMBER (NUMBER) 7BITS WORD PAD HOLD BLANKS ERASE FILL ♣ QUERY EXPECT ." (.") -TRAILING COUNT DOES> <BUILDS ;CODE (;CODE) DECIMAL HEX SMUDGE ] [  COMPILE ?LOADING ?CSP ?PAIRS ?EXEC ?COMP ?ERROR !CSP LFA PFA NFA CFA LATEST TRAVERSE -DUP SPACE ROT > = - C, , ALLOT HERE 2+ 1+ PHYSOFF INPT HLD R# CSP FLD DPL BASE STATE CURRENT CONTEXT OFFSET SCR OUT IN BLK VOC-LINK DP FENCE WARNING WIDTH TIB +ORIGIN HIMEM B/SCR B/BUF LIMIT FIRST #LINKS C/L BL 3 2 1 0 USER VARIABLE CONSTANT ; : C! ! C@ @ TOGGLE +! DUP SWAP DROP OVER DMINUS MINUS D+ + < U< 0< 0= R R> >R LEAVE ;S RP! SP! SP@ XOR OR AND U/ U* CMOVE D8U* ENCLOSE (FIND) DIGIT J I (DO) (+LOOP) (LOOP) 0BRANCH BRANCH EXECUTE LIT
  • List of FORTH words of the Coin-Up kernel, in alphabetic order ( corrected printing mistakes: “ID.” instead of “ID”, “C/L” instead of “CL” ):
    ! !CSP # #> #LINKS #S ' (+LOOP) (,") (;CODE) (ABORT) (DO) (FIND) (LINE) (LOOP) (NUMBER) + +! +- +LOOP  +ORIGIN , - --> -DUP -FIND -TRAILING * */ */MOD . ." .LINE .R / /MOD 0 1 2 3 0< 0= 0BRANCH 1+ 2+ 7BITS : ; ;CODE ;S < <# <BUILDS = > >R ? ?COMP ?CSP ?ERROR ?EXEC ?LOADING ?PAIRS ?STACK ?TERMINAL @ ABORT ABS AGAIN ALLOT ALT AND B/BUF B/SCR BACK BASE BEGIN BFND BL BLANKS BLK BLOCK BRANCH BUFFER C! C/L C, C@ CFA CMOVE COLD COMPILE CONSTANT CONTEXT COUNT CR CREATE CSP CURRENT D+ D+- D. D.R DBU* DABS DDIO DECIMAL DECMAP DEFINITIONS DIGIT DIO DLITERAL DMINUS DO DOES> DP DPL DR0 DR1 DROP DUP ELSE EMIT EMPTY-BUFFERS ENCLOSE END ENDIF ERASE ERROR EXECUTE EXPECT FENCE FILL FIRST FLDF FLUSH FORGET FORTH HASH HERE HEX HIMEM HLD HOLD I ICCM ICLL ID. IF IMMEDIATE IN INDEX INPT INTERPRET J KEY LATEST LEAVE LFA LIMIT LIST LIT LITERAL LOAD LOOP M* M/ M/MOD MAX MESSAGE MIN MINUS MOD NFA NUMBER OFFSET OR OUT OVER PAD PFA PHYSOFF PREV PTAB QUERY QUIT R R# R/W R0 R> REPEAT ROT RP! S->D S0 SCR SECIO SIGN SIO SMUDGE SP! SP@ SPACE SPACES STATE SWAP TASK TCIOV THEN TIB TOGGLE TRAVERSE TRIAD TYPE U* U/ U< UNTIL UPDATE USER VARIABLE VLIST VOC-LINK VOCABULARY WARNING WHILE WIDTH WORD X XOR [ [COMPILE] ] 
    
  • List of FORTH words of the Coin-Up ATARI extensions, in alphabetic order:
    .IOC 0SET 1+! 1- 2* ACIO ALLOC ARRAY  ATACHR AUDCTL BOTSC BDUMP C. C1AUD C2AUD C3AUD C4AUD CH CH? CHBAS CHH CIO CLEAR CLOSE CN COL0 COL1 COL2 COL3 COL4 Color COLPM COLPM! CONSOL CRSINH COLOR DLST DMACTL DMCT DR. DRAWTO F1AUD F2AUD F3AUD F4AUD FILDAT FORMY GET GR. GRACTL GRAPHICS Get H? HD HH HPOS! I1CAX I2CAX ICBAL ICBLL ICCOM ICDNO ICPTL ICSTA IOB IOC IOCB LMARGN LOC. LOCATE LPWORDS NOPLY OPEN PADDLE PBASE PL. PLAYER PLOT PMBASE POS. POSITION PRIOR PTRIG PUT Qbase RND RTCLK S: SAVENFAs SE. SETCOLOR SIZE! SKCTL SOUND SPB STICK STRIG TBL VDELAY XIO18 \ 
  • List of figFORTH words not included in Coin-Op FORTH ( “DLIST” - This word was used to list the vocabulary; it had nothing to do with graphics display lists ):
    +BUF BLOCK-READ BLOCK-WRITE DLIST DUMP MON MOVE USE 
  • List of FORTH words included in the kernel, but which are not part of the fig-FORTH model:
    #LINKS 7BITS ALT BFND D8U* DDIO DECMAP DIO FLUSH HASH HIMEM ICAL ICCM ICLL J PHYSOFF PTAB SECIO SIO TCIOV U< 
  • List of FORTH words of the fig EDITOR, in alphabetic order:
    #OFLINES -MOVE $ % BL COPY CL DL DOIT EDIT EDITOR FLUSH HL IL L LINE LIST LL N RL SHOW SL TEXT TL TOPFLAG UL ULL WHERE
Software
    • Files:
      1. Atari_Coin_Op_FORTH_14v.ATR
      2. Swarthmore_Extensions_to_Atari_Coin_Op_FORTH_Disk1_June011983.ATR
      3. Swarthmore_Extensions_to_Atari_Coin_Op_FORTH_Disk2_June011983.ATR
      4. Swarthmore_Extensions_to_Atari_Coin_Op_FORTH_QE_Disk_June011983.ATR
      5. TEXT1.ATR
      6. TEXT2.ATR
      7. TEXT3.ATR
      8. TEXT4.ATR
      9. TEXT5.ATR
    • “Coin-Op forth was put together by Steve Calfee, while he was still working @ Atari”.
Resources
  • ATARIage "[Forth] Coin-op Forth?" - “Coin-op Forth, a sort of inhouse version at Atari”.
  • ATARIarchives.org "Atari Languages" - “The development speed of Forth has not been overlooked by Atari. Atari's Coin-Op group has a semi-legendary “Coin-Op Forth” which is supposed to be quite something to use. The Atari demo disk with the 'Disco Dirge' background music is all 'coin-op Forth' Rumor also has it that many of the new Coin-Op games are written in Forth (Battlezone, for one)”.
  • ATARI Magazines "Strolling Forth" - “There are currently about a half-dozen Forths for the 400/800's. In approximate chronological order of appearance, they are: Coin-op Forth, a sort of inhouse version at Atari;... ”.
  • ATARIWiki.org "CoinOp FORTH" - “Here's some more info on the language from Mike Albaugh, via email to me on June 19 2015: “Coinop forth was developed in Atari coinop division by Steve Calfee and I, based on DECUS forth for the PDP-11. Steve modified the dictionary structure to speed compiles, and used direct threaded code rather than the standard indirect threaded code. This makes it not really forth, but improved performance. I ported the base system to the 400/800. Ed Logg added hooks for the graphics and sound routines in the OS, making Colleen Forth. Later, as Forth became popular and fig forth came out, we did a port of it to the 800 as well. A major visible difference is that fig forth uses the new operators for stores ( ! and C! ) rather than the original ( = and \= ) which DECUS, coinop, Colleen forth does. Fig forth also allows meta compilation, which came in handy for the cartridge version of my Point Of Purchase demo. Compared to Colleen Forth, though, it compiles (LOADs) really slowly. That was longer than I expected. Anyway, CoinOp forth was created mainly to allow relatively quick development of software tools on the 6502, where performance was not crucial, but was still important”.
    • “This is an interview with Mike Albaugh, who was an early Atari employee and the programmer behind the Atari 400, 800 in-store dealer demo”.
    • “I got to say, also because we had decided that a good development platform for it was Forth and Steve Calfee and I have done a port of DECUS, Forth for the PDP 11 to the 6502. Ed Logg — there’s a name you’ve probably heard — had done sort of Colleen [SP] bindings for the graphics and calls into the Atari 800 OS. We created 'Colleen Forth'. Ported the Forth to the Colleen and Ed did his bindings”.
  • Quora "Did Atari use the Forth language for any of their software?" - “I was there from late 1981 to early 1984, and was not aware that FORTH was used in any Atari systems. However, it is certainly possible that a use escaped my notice”.
  • Spectrum Computing Forums "First console and computer not progammed in assembly?" - “Atari used Coin Op Forth in house (A version of Fig Forth but with Atari specific add ons like a usable block editor that could also use files (Like ValForth), could use graphics and sound. , not sure how many applications/games got written with it but looking at the size of the manual for an internal program it must have been pretty widely used within Atari to get so much love to write a huge manual with multiple versions”.
  • Vector Forums "Languages used to program a Vectrex" - “Atari used 2 or 3 custom Forths developed for arcade and home computer, notably “Coin-op Forth”, this is documented on archive.org and comp.lang.forth. Several Atari home computer games were written directly in Forth and I know arcade Gorf was written directly in Forth and using the built-in Forth assembler”.
  • Atari History Timelines by Michael Current "A History of WCI Games / Atari / Atari Games / Atari Holdings - “June 1?: Atari released the Atari Program Exchange (APX) Software Catalog Summer Edition 1981, introducing for the 400/800: ... FIG FORTH (also known as “Coin-Op Forth” or “Colleen Forth”; never shipped)”.
    • “Management identified two sweet spots for the new computers: a low-end version known internally as 'Candy', and a higher-end machine known as 'Colleen' (named after two Atari secretaries)”.
    • “Die Entwicklungsarbeiten für die erste Variante wurde im November in ein separates Projekt mit dem Namen Candy – dem späteren Atari 400 – ausgegliedert, die für das hochwertige Gerät unter dem Namen Colleen weitergeführt”.

Some other FORTH for ATARI 400 & ATARI 800

Software
Manuals
Resources

ATARI 400 & ATARI 800 Emulators

Software
ROMs
Online Services
Resoures

FORTH on ATARI-ST

Jerry Boutelle - Nautilus Metacompiler

    • “Version 1.0 of this compiler was shipped with extensive documentation about how it worked (1981/2)”.
    • “When we removed this documentation, our technical support load decreased dramatically. Since that time, the compiler has been in continuous development, and we are now shipping v6 of the MPE Forth Cross Compiler”.

ColorForth / arrayForth & polyForth

Charles H. Moore - ColorForth / arrayForth & polyForth

The OpenSource R3 & R4

ColorForth as implementation of the "Machine Forth" Concept

    • “A significantly reduced set of and in some cases redefined semantics for Forth primitives. The intention is to take advantage of the existing microprocessor as much as possible as a stack CP”.
    • Typical characteristics of a MachineForth include:
      • Tail recursion elimination.
      • Non-destructive IF (in ANSI Forth, IF pops the value it tests off the stack; in MachineForth, IF actually tests the CPU's zero flag directly).
      • A new core word, -IF, is used to quickly check for less-than-zero conditions.
      • ?, 0=, or some other primitive to set the CPU's zero-flag correctly for the benefit of IF.
      • 0< or similar primitive to set the CPU's negative-flag correctly for the benefit of -IF.
      • Compiled words have no headers in the output image; the output of a MachineForth compiler is very often a static binary image, as you'd get from, say, a C compiler.
    • See colorForth "Pentium colorForth" for a sample mapping of ColorForth primitives, derived from an earlier set of MachineForth primitives, and how they map to Intel Pentium machine language instructions.

Ports of ColorForth

FORTH,Inc. - microFORTH, SwiftForth, PolyFORTH

    • The once-commercial, now OpenSource, free only for non-commercial use Forth, Inc. "microFORTH".
      • Documentation:
        • microFORTH Primer (2nd ed., August 1978).
        • microFORTH Technical Manual for RCA 1802 (COSMAC).
        • Documentation for microFORTH on RCA 1802 (COSMAC).
      • Source code:
        • Source code: RCA 1802 microFORTH.
      • List of FORTH words
        IMMEDIATE IMMEDIATE ( 8* LOAD <BUILDS BLOCK ' ERASE-CORE FLUSH TASK VANISH CODE ;CODE PAGE OCTAL DECIMAL HEX CVARIABLE VARIABLE > M* M/MOD */MOD */ /MOD MOD * / MAX MIN # +C 1RG ALU ENTRY NEXT 0#LD DST PUSH EFL < 0< IF THEN ELSE END BR LS (MARK) (THEN) DO LOOP +LOOP IF WHILE BEGIN MESSAGE QUESTION ?STACK (NUMBER) VOCABULARY DEFINITIONS FORGET IN-LINE ['] [SWAP] SPACES PAD <# #> SIGN #S (.) ? . .R DUMP -TRAILING LINE TEXT LIST L [ HOLD GAP T D R I " P A COPY DELETE TOP TYPE COUNT MSG EXPECT QUIT DRO DRI C# #LEFT L# AT STRING ERR 1LINE FIND M REMOVE B N F X TILL C MOVE FILL RIGHT BACKUP SWEEP MATCH STATUS ERROR LOG NOTIFY DUP [BLOCK] INDEX TRIAD SHOW B! P! DISK ADRS HERE ORG C, , CLEAR SMUDGE EMPLACE H@ H! INSIDE C@ C! @ ! ,HOST ;CODE -' \ COMPILE EQU LABEL CR COMPUTER ACCESSIBLE CONSTANT USER TABLE DOES> THERE RES ; H: : LEADER PROMS ENTIRE SIMULATE ZERO LIT EXECUTE ;S U* U/ CZ 0= 0< + 2* - AND BINARY 1+ 2+ OVER -DUP SWAP +! <R R> ROT 2POP 1POP = LITTLE TIMES TEST
        
      • The commercial “SwiftForth” for Windows, Linux.
      • The commercial “SwiftX for embedded systems development”.
        • SwiftX ARM, SwiftX ColdFire, SwiftX MSP430, SwiftX AVR, SwiftX 68HCS08, SwiftX 68K, SwiftX 68HC12, SwiftX 68HC11, SwiftX 8051, SwiftX 69R000, SwiftX RTX2010”.
      • “Each SwiftX Evaluation Version has everything you need to experience the SwiftX development system, including low-level details, target source code, full documentation, and useful background material. There is no evaluation time limit, but the target object code is size limited for the evaluations”.

ForthCMP

David Husband - Multi-Tasking FORTHs

Software

Resources

iFORTH

    • Still just for sale in 2017, no freeware. “How to order iForth for Windows, OSX and Linux. The set of three iForths for Windows, OSX and Linux costs 100 Euros. Buy iForth with PayPal”.
    • No further development since 2017-11-19.
    • “Links to all iForth pages on this server”.

Laboratory Microsystems, Inc. - LMI UR/FORTH, LMI PC/FORTH, LMI WinForth

The Software House

    • WinForth Shareware Version 1.01.
      • LMI WinForth is case-sensitive. Standard words are in capital letters ( only ), extra words are sometimes in small letters, or start with capitalized letter. Examples:
        1. “SetMenu”.
        2. “doest”.
        3. “CONTEXT” of FORTH-83.
    • LMI UR/FORTH for MSDOS.
    • LMI PC/FORTH for MSDOS.

Downloads

Resources

MicroProcessor Engineering Limited - VFX Forth

Miller Microcomputer Services - MMSFORTH

MVP Forth

  • The Shareware MVP Forth for MSDOS and AMIGA OS.
    • AMIGA OS:
      • Aminet - dev/lang/MVP-FORTH.lha - “Architecture: m68k-amigaos”. “A shareware version of forth from Fantasia Systems. Runable from the workbench, comes with icons and such. If you use this, you should send a contribution to Fantasia Systems / Mountain View Press”.
    • MSDOS, “MVP-FORTH VERSION 1.0405.03”:
    • “Public Domain Forth Implementations. Implementation Levels. Level 0, 1, 2, 3, 4, 5”.
  • TheFourceSource "Glen B. Haydon: The Forth Guide" - “After two years of weekly evening tutorials, I found students had a number of stumbling blocks. I wrote the Forth Guide to complement Starting Forth in assisting the beginner to understand the MVP-FORTH implementation”.
  • MVP-FORTH implements the FORTH-79 standard.
  • List of “less than 140” FORTH words:
    ;CODE CODE ENTERCODE ASSEMBLER ?ERROR4 ?ERROR3 ?ERROR2 ?ERROR1 --> EDITOR WIPE LINE MATCH <MATCH> ['] U.R OCTAL H FLUSH ERASE EMPTY >TYPE >BINARY 2VARIABLE 2SWAP 2OVER 2DUP 2DROP 2CONSTANT 2@ 2! -TEXT 'S SAVE-FORTH .S .SR .SL .SS VLIST INDEX ID. DVARIABLE DUMPL DUMP DUMP-HEADER PAUSE .INDEX DMIN DMAX DCONSTANT D@ D> D= D0= D- DU< DSWAP DOVER COPY BMOVE \ TRIAD 'TITLE TITLE THRU <IBM-PAGE> ] [COMPILE] [ XOR WORD WIDTH WHILE WHERE WARNING VOCABULARY VOC-LINK VARIABLE USER USE UPDATE UP UNTIL U< U/MOD U. U* TYPE TRAVERSE TRACK TOGGLE TIB THEN TEXT T&SCALC SYSCALL SWAP STATE SPT SPDRV SPBLK SPACES SPACE SP@ SP0 SP! SMUDGE SIGN SET-DRX SEC/TR SEC/BLK SEC-WRITE SEC-READ SEC SCR SAVE-BUFFERS S0 S->D RPP RP@ RP! ROT ROLL REPEAT R@ R> R0 R/W R# QUIT QUERY PW@ PW! PREV PP PICK PFA PAGE PAD P@ P! OVER OUT OR OFFSET NUMBER NOT NFA NEXT1 NEXT NEGATE MOVE MOD MIN MAX-DRV MAX M/MOD M/ M+ M*/ M* LOOP LOAD LITERAL LIT LIST LIMIT LFA LEAVE LATEST KEY J INTERPRET INTCALL INIT-USER INIT-FORTH IMMEDIATE IF I' I HOLD HLD HEX HERE FREEZE FORTH FORGET FLD FIRST FIND FILL FENCE EXPECT EXIT EXECUTE EPRINT ENCLOSE EMPTY-BUFFERS EMIT ELSE DUP DROP DRIVE DR4 DR3 DR2 DR1 DR0 DR-DEN DPUSH DPL DP DOES> DO DNEGATE DLITERAL DISK-ERROR DIGIT DEPTH DENSITY DEN DEFINITIONS DECIMAL DDUP DDROP DABS D< D.R D. D+- D+ D! CURRENT CSP CREATE CR COUNT CONVERT CONTEXT CONSTANT CONFIGURE COMPILE COLD CMOVE CLEAR CHANGE CFA C@L C@ C/L C, C!L C! BYE BUFFER BRANCH BPDRV BLOCK BLK/DRV BLK BLANK BL BEGIN BASE APUSH AND ALLOT AGAIN ABS ABORT" ABORT @L @ ?TERMINAL ?STREAM ?STACK ?PAIRS ?LOADING ?DUP ?CSP ?CONFIGURE ?COMP ? >R >IN > = <WORD> <VOCABULARYFIG> <VOCABULARY79> <T&SCALC> <R/W> <PAGE> <NUMBER> <LOOP> <LOAD> <LINE> <KEY> <INTERPRET> <FIND> <FILL> <EXPECT> <EMIT> <DO> <CR> <CMOVE> <CMOVE <BLOCK> <ABORT> <ABORT"> <?TERMINAL>  <<CMOVE> <;CODE> </LOOP> <."> <-FIND> <+LOOP> <# < ; : 79-STANDARD 2/ 2- 2+ 2* 2 1- 1+ 1 0BRANCH 0> 0= 0< 0 /MOD /LOOP / .R .LINE ." . -TRAILING -FIND - , +LOOP +BUF +- +! + */MOD */ * ( 'WORD 'VOCABULARY 'T&SCALC 'STREAM 'R/W 'PAGE 'NUMBER 'LOAD 'KEY 'INTERPRET 'EXPECT 'EMIT 'CR 'BLOCK 'ABORT '?TERMINAL '-FIND ' #S #BUFF #> # !L !
    

QED Software / QED Real-Rime Operating System

Quartus Forth for Palm OS Handheld Computer

TERSE ( "Terse Efficient Recursive Stack Engine", "Terse Efficient Reentrant Stack Engine" )

    • “This programming language was used at Dave Nutting Associates to program arcade games such as The Adventures of Robby Roto!, GORF and other games from the late 1970s and early 1980s. The TERSE language is based on FORTH”.
    • “There are several complications, GORF was written in Forth, but MsGORF was written in an early version of TERSE”.
    • “Gorf is an arcade game released in 1981 by Midway Manufacturing”.
    • “A planned sequel, Ms. Gorf, was never released. It was programmed in the programming language Forth. The source code for the prototype is owned by Jamie Fenton. The game exists only as source code stored on a set of 8-inch floppy disks, and would require access to a development environment that no longer exists in order to compile it into executable machine code”.
  • EN.Wikipedia "Midway Games", DE.Wikipedia "Midway Games" - “Midway Games Inc., known variously as Midway Manufacturing and Bally Midway”.
  • List of FORTH words, in alphabetic order:
    ! . ) * + +! +BLOCK +LOOP , - --> . ." .LIST .NLIST / /MOD 0 0< 0= 0> 0END 1 1+ 1+! 1- 1-! 2* 2+ 2- 2/ 2DROP 2DUP 2SWAP : ; ;S < << <= <> = > >= >> >R ? @ A" ABORT ABS AND ARRAY ASM B! B: B@ BARRAY BASE BEGIN BELL BLK BLOCK BMOVE BPTR BTA BTABLE BUFFER BUILD BYE BYTE CASE CCALC CIN CODE COM CONSTANT CONTEXT CONTINUED COPY COUNT COUT CR CURRRENT DECIMAL DELIM DGTS DIR DISKCOPY DLIT DO DP DP+! DPREC DROP DUMP DUP E.B E.O EDIT ELSE EMPTY END ENTER ERASE-CORE EXEC EXPECT FILECOPY FIND FLD FLUSH FNAME GETC GOODBYE H. HELP HERE HEX HEXLIST HEXSHOW I I+ IF IFEND IFTRUE IMMED INP IOFF J J+ K K+ LAST LEAVE LINE LINELOAD LIST LIT LITERAL LOAD LOOP LOUT MAX MIN MINUS MOD MOVE NAND NEXT NOR NOT NUMBER OCTAL OR OTHERWISE OUTP OVER PAGE PICK PRINTOUT PROT PUTC R> REPEAT ROT SCR SET SHOW SKIP SP@ SPACE SPACES STATE SPACES? STYPE SWAB SWAP SYSCOPY TABLE TECO TFLAG THEN TYPE U! UERR UPDATE UNPROT VARIABLE VPTR WHILE WHERE WORD XOR ZERO [ [[ ] ]]
  • List of FORTH words of the proposed Video Game System Vocabulary:
    SWAB ROTN VECTOR LIMIT NEG! RELABS SHOW 0SHOW 1SHOW 2SHOW 3SHOW 4SHOW 5SHOW 6SHOW 7SHOW 0SHOWI POST 1POST #POST #TOA CLOCK ERASE 1DOT DRAW BOX ELLIPSE COLOR FLOOD VERTICAL HORIZONTAL RANDOM SOW
  • LEO.org "terse" - “kurz&bündig,...”.

Testra Corporation

White Lighting by Oasis Software

Commercial Application Software based on FORTH

Applications

ASYST

Death Road to Canada

Starflight

  • Pumpkin OS "Starflight" - “Starflight was a great computer game for the IBM PC released back in 1986. ... Starflight was written in a mix of FORTH and x86 Assembly”.

Resources

    • “The famous Infocom games (Hitch Hikers Guide to the Galaxy, and others) were written in Forth”. “No, Infocom wrote their adventures using ZIL which was lisp-based”. “No, I read an interview with the makers of the Infocom adventures, and they admitted that it was written in Forth”. “The orignal ZORK was written in MUDDLE (aka MDL, a successor to LISP) for the PDP-10. The Infocom games were written in what was known as Zork Implementation Language (ZIL, aka z-code, similar to MDL) which was compiled to z-code and ran on a virtual z-machine. The Z-machine Interpreter Program (aka ZIP), that executed the z-code on the user's machine, might have been written in forth on some platforms. I haven't found anything that would confirm or deny this”.
    • “Breakout was written in Forth”.
    • “In 1981 I was the technical director of Unison World, a game company in Berkeley. We produced over a dozen games for CP/M machines, all written in fig-Forth. Those games were sold only in Japan, unfortunately, so I never had the thrill of seeing my own work on the local computer store shelves. The games were distributed by Japan SoftBank”.
    • “There was a space exploration game called Starflight or some such written in Forth, and one of the Football Manager (soccer) series was done in Forth - MPE did some of the tool making for it”.
    • “However I believe there was an action games toolkit/language for the ZX Spectrum which was forth-like”.

Commercial Services

Training, Education

Commercial FORTH Experts & FORTH Development Services

Sales

  • “Forth-Systeme Angelika Flesch”.

legenheit”.

Appropriate OpenDirectory Directory Pages

 
en/forth02.html.txt · Last modified: 2022/01/13 20:56 (external edit) · []
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki