Shop OBEX P1 Docs P2 Docs Learn Events
ULTIMATE List of Propeller Languages — Parallax Forums

ULTIMATE List of Propeller Languages

HumanoidoHumanoido Posts: 5,770
edited 2013-07-10 22:47 in Propeller 1
The Ultimate List of Propeller Languages

A List Created & Maintained by Humanoido




The list has grown too large to maintain on the Parallax Forum.
Discontinued
The new updated list is found here.
MakeThumbImage.aspx?ID=%2fPortals%2f0%2fImages%2fProd%2fP%2fP8X32A-D40-M.jpg&PORTALID=0&W=120&H=120
The most comprehensive source of programming languages for the Parallax Propeller Chip The list seen below is kept up to date and is the most recent posting of languages. It includes authors, source URLs, information and download sites. Please post directly into this thread if you learn about a new language for the Propeller. New languages appear almost every month on this robust Propeller chip (P8X32A-D40).
PARALLAX ASSEMBLER
www.parallax.com/Portals/0/Downloads/sw/propeller/Setup-Propeller-Tool-v1.2.6.exe

PARALLAX SPIN Propeller/Spin Tool Software v 1.2.6 - Supports Win2K (and newer) and IE7 (and newer). Includes software, USB driver, Propeller Manual, PE Kit Labs text and example code, schematics, quick reference, Propeller Help and tutorial examples.
http://www.parallax.com/tabid/442/Default.aspx
www.parallax.com/Portals/0/Downloads/sw/propeller/Setup-Propeller-Tool-v1.2.6.exe

SIMULATED SPIN by Dave Hein
http://forums.parallax.com/showthread.php?127976-Spin-Simulator
Everything is open source under the MIT open source license. I'll add the notice in the next update. I spent a few days writing a Spin simulator. The attached zip file contains a first cut at the simulator. I've implemented most of the Spin bytecodes, except for the cogxxx and lockxxx ones. Also the value for cnt is always zero. I'll transate the system time into a cnt value at some point. Pin-related operations don't really do anything. I also haven't implemented the bit read and write functions. The simulator runs in a DOS window on a Windows machine. Also, the basic I/O drivers are different. Instead of using FullDuplexSerial and FSRW the simulator uses conio and fileio. These drivers provide the same basic methods such as rx, tx, popen, pread, etc. You can use the Parallax Prop Tool, BST or homespun to compile the spin code and generate a binary file. spinsim loads the binary file and executes it.

SPIN STAMP CODE FOR THE BOE-BOT by JIM COLEMAN
http://obex.parallax.com/objects/155/
Learn spin code with the Spin Stamp and the Board of Education BOT. The first three chapters of Andy Lindsay’s “Robotics with the Boe-Bot” plus objects from his PEK Labs

HOMESPUN SPIN COMPILER by MPARK(Not fully open source)
propeller.wikispaces.com/Homespun+Spin+Compiler
http://forums.parallax.com/showthread.php?p=749832
This is a command-line Spin compiler that reads .spin files and outputs .eeprom files. It is written in C# and runs on Windows with the .Net framework and on Linux with Mono. It generates output that is identical to Proptool's (except the occasional least-significant bit in floating-point constants), which was the original goal. It takes Spin source and generates a .eeprom file. At the moment, I think it will parse anything that Proptool will, and it should generate identical bytecode (except for maybe the least-significant bit in floating-point constants).

BST BRADS SPIN TOOL by BRADC
www.fnarfbargle.com/bst/
www.fnarfbargle.com/bst.html
The bst suite of tools comprises : # bstl - The command line loader. This little application simply allows you to load pre-compiled .binary and .eeprom files into your propeller. It is a command line application that takes optional parameters and a file name. # bstc - The command line compiler. bstc is a completely Parallax syntax compatible SPIN and PASM compiler and linker. In addition to being able to compile and load a Propeller, it has a few additional features often requested by users (like being able to emit a list file, some basic optimization, and zip file generation). # bst - The GUI IDE. bst is a fairly complete Integrated Development Environment that aims (and still falls short) to be eventually comparable and compatible with the Parallax Propeller Tool. bst is structured to be a work-alike to the Parallax Propeller Tool so that new users will find the Parallax documentation familiar enough to be able to start from scratch without being plunged into an unfamiliar environment. Like bstc, bst has several features not found in other Propeller development tools, such as an integrated code listing window, basic serial debug terminal and complete project file management. bst also allows you to associate each editor window to a Propeller to allow easy management of multiple Propeller projects.

PROPASM by CLIFF L. BIFFLE
www.cliff.biffle.org/software/propeller/propasm/
This is a command-line assembler for the Parallax Propeller. Features
  • Supports the same syntax and mnemonics as the Parallax Propeller Tool's built-in assembler.
  • Generates files that can be loaded with the Propeller Tool.
  • Supports input in US-ASCII or UTF-8, and allows the full Unicode character set in labels and identifiers.
  • Runs on any platform and architecture with Java 5 available.
  • Really fast (assembles average-size programs in under 10ms on a MacBook Pro).
  • Extensible architecture allows for future enhancements like macros, alternative mnemonics, or new directives.
  • Modular assembler core and instruction set model also make an excellent code generation stage for compilers.
  • Open-source (GPL).
PLASMA by Linus
http://www.linusakesson.net/software/plasma/index.php
http://forums.parallax.com/forums/pr.aspx?f=33&m=312639
The Propeller Low-level Assembly Aggregator (lft), Assembly Language Complier: Plasma is a small (637 lines of source code) tool for compiling and concatenating propeller assembly language (PASM) and binary data. It extends PASM with some new features, most notably ARM-like constant pools. When I began to work on my Turbulence demo, I soon realized that I was going to have to write my own assembler. The one from Parallax was bulky and inflexibly locked to the spin environment for which it was designed, and had to be run through wine. The open source alternatives weren't stable enough at the time. Consequently, I hacked together some prolog code and a bison parser. I've decided to publish the source code here, as free software, in the hope that somebody will find it useful and inspiring.

LAS: Largos LMM Assembler by Bill Henning
http://mikronauts.com/software-products/las-largos-lmm-assembler/
Assembly Language Complier, Las Supports: * full Propeller instruction set * all Propeller condition prefixes * all Propeller effect codes * Pasm compatible storage allocation * Parallax “.binary” output format * Generating “COG” cog-only code * “LMM” code for HUB or XMM * hosted on Windows, Extensions: * native support for LMM instruction set extensions * automatically translates following ops to correct kernel calls and in-line constants in LMM mode * JMP * CALL * RET * LDI * PUSHI * PUSH * POP * YIELD * HALT * SYS * LIBCALL * additional pseudo operations for easier programming * CACHE/ENDCACHE block generated FCACHE and long count * Largos relocatable LMM executable format

FEMTOBASIC by MICHAEL GREEN
obex.parallax.com/objects/28/
This is a simple Basic interpreter for the Propeller. It supports a keyboard and either a VGA or TV display as well as an optional SD card with PC compatible FAT file system. It runs on the Propeller Demo Board, Protoboard, and Hydra. On the Hydra, the VGA version doesn't work with the SD card because the I/O pins involved conflict. An extended version with support for the IR Buddy is included as an example of extending the interpreter. Fix: SD card turned off when unmounted (thanks Cluso99).

COLORFEMTOBASIC_COLOR V2 + AIGENRICcf by OLDBITCOLLECTOR
http://forums.parallax.com/showthread.php?p=690283
Continued modification of Michael Green's FemtoBASIC, which incorporates the AiGenericCF_Text_Driver for 40x23 color text. Changes with this update.. *Friendly, flashing cursor *Limited string variable support, A,B, & C can now store/manipulate a string type data. {Added commands, <PRINT A> <IFA="STRING"> <A="STRING"><INPUT"QUERY";A}

FEMTOBASIC PROPTERMINAL by WARRANTY VOID
www.warrantyvoid.us/tiki-index.php?page=Software
www.parallax.com/Portals/0/Downloads/docs/prod/prop/32212-32812-Protoboard_Introduction.pdf
http://forums.parallax.com/showthread.php?p=649540
This modification of FemtoBASIC is geared toward minimal Propeller configurations (like a bare Protoboard or PEkit) allowing the use of FemtoBASIC with a connected PC running Propterminal. The Step-by-Step Tutorial for Protoboard New Users contains instructions for getting started with Propterminal and this revision of FemtoBASIC.

BOEBOT BASIC by MICHAEL GREEN
obex.parallax.com/objects/27/
This is a modified version of FemtoBasic designed to run on a Protoboard on a BOE-BOT chassis. It supports the wheel servos and a PING bracket servo, a PING sensor, an IR emitter/detector/distance sensor, and an HM55B compass. It uses a serial console via either an xBee wireless link or the USB programming port. Some sample programs are included. Like FemtoBasic, programs and data can be stored on an attached SD card. See the beginning of the BoeBotBasic.spin file for a change log. Fix: SD card turned off when unmounted (thanks Cluso99).

DONGLE BASIC by MICHAEL GREEN
obex.parallax.com/objects/212/
This is a modified version of FemtoBasic intended for use with Hitt Consulting's Propeller Dongle or any other minimal Propeller board like the PropStick or PropStickUSB. It requires only the serial port used for programming, but will use an SD card on I/O pins 8-11 if present. Like FemtoBasic, it provides access to the I/O pins and counters and can use any EEPROM present for programs or data. See the beginning of the DongleBasic.spin source file for a change log. Fix: SD card turned off when unmounted (thanks Cluso99).

UOLED PROP BASIC by MICHAEL GREEN
http://obex.parallax.com/objects/213/]obex.parallax.com/objects/213/
This is a modified version of FemtoBasic designed for the 4D Systems uOLED-96-Prop display with an integrated Propeller controller and uSD card socket. In addition to the usual FemtoBasic features including SD card support, this has a series of statements for controlling the display. The console is serial port because of the small size of the display and the absence of a standard keyboard interface. The archive includes a Basic version of 4D Systems' demo program. See the beginning of the uOLED96PropBasic.spin file for a change log. Fix: SD card turned off when unmounted (thanks Cluso99).

MITS ALTAIR 4K BASIC by HEATER The 8080 emulation for the Propeller will run MITS Altair Basic. You can now enter, edit and run programs written in one of Microsoft's first basics on your Prop Demo board! This is mostly the same as the CP/M for the Prop package (2.1) but: 1. Altair extended basic v4 is loaded into memory instead of CP/M. 2. Added emulation of the 8080 RST instructions as the BASICS use them even if CP/M does not. 3. Added emulation of the Altair's front panel switch register which is used by BASICS to determine serial port configuration. This build still includes disk emulation on an sd card but will run with no sd card present.
http://forums.parallax.com/forums/default.aspx?f=25&m=320075]forums.parallax.com/forums/default.aspx?f=25&m=320075

RGW_JTC_TinyBasic_010.spin by JT COOK a tiny basic modified version in folder JT_Cook/T_Basic_Mod_08_06_07
HYDRA CD

HT BASIC - HYDRA TINY BASIC by ROBERT WOODRING Hydra Tiny Basic (HT Basic) is based on Dr. Dobb’s Journal’s various implementations of Tiny Basic. My version is loosely based on the work of Li Chen Wang’s Palo Alto tiny Basic and more so the version by Gordon Brandly’s 68000. The language is rather simple but should implement most statements and function to make a surprisingly useful implementation. In folder Robert_Woodring/ RGW_HTBasic_08_03_06 HYDRA CD

HYDRA RGW_JTC_TinyBasic_010.spin - by ROBERT WOODRING , a tiny basic modified version. In folder Robert_Woodring/T_Basic_Mod_08_06_07 HYDRA CD

RGW_HTBasic_08_20_06 by ROBERT WOODRING a tiny basic modified version in folder Robert_Woodring/ RGW_HTBasic_08_20_06
HYDRA CD

ALTAIR MINOL TINY BASIC, by heater By popular request (humanoido) here is PropAltair running the tiny basic version called MINOL. This makes the HUB RAM look huge! As it happens there is a MINOL on the altairz80 simulator site. -heater. Tiny Basic was implemented on the Intel 8080/8085 and the original archived discussion page, reconstructed (with help from Volume 17 of the CP/M User's Group archives), is found here: MINOL-Tiny BASIC with Strings in 1.75K Bytes web.archive.org/web/19980702115208/http://www.signiform.com/erik/pubs/minol.htm
Note the letter by Erik T. Mueller. Erik T. Mueller said... Dear Mr. Warren: May 1, 1976. I have a Tiny BASIC program running on my Altair that I think you might be interested in. I call it MINOL. It fits in 1.75K memory. Unlike the other Tiny BASIC's, MINOL has a string-handling capability, but only single-byte, integer arithmetic and left-to-right expression evaluation. Additions to TB include CALL machine-language sub- routines, multiple statements on a line (like TBX), and optional "LET" in variable assignments. Memory locations of the form (H,L) can be used interchangably with variables, permitting DIM-like operations. Sincerely, Erik T. Mueller... This information was updated 27 times. While the original posting from "Dr. Dobb's Journal of Computer Calisthenics and Orthodontia" no longer links the Tiny Basic listing or file, just scroll down farther on the page and provided is a listing of the 8080/8085 Tiny Basic code manually typed which can be copied and pasted from the html page! You can consult the more recent versions as archived links here (as I chose the oldest link from Jul 02, 1998). web.archive.org/web/*/http://www.signiform.com/erik/pubs/minol.htm. The newest link is here, from Sep 28, 2007. web.archive.org/web/20070928040139/http://www.signiform.com/erik/pubs/minol.htm. Thanks to the Internet Archive WayBack Machine. www.archive.org/web/web.php. At originally only 1.75K, a working version on the Prop would be absolutely remarkable. -humanoido (thanks to heater for making this possible!) http://forums.parallax.com/forums/default.aspx?f=25&p=1&m=320075

PBASIC BS2 FUNCTIONS by MARTIN HEBEL General PBASIC functionality library, written in Spin, that mimics and extends many popular BS2 functions: COUNT, DEBUG, DEBUGIN, FREQOUT, PAUSE, PULSOUT, PULSIN, PWM, RCTIME, SEROUT, SERIN, SHIFTOUT, SHIFTIN. Version 1.5.0 adds methods for HIGH/LOW/IN, and continuous methods for FREQOUT, PWM and COUNT. It also add EEPROM access for code and high memory access using READ and WRITE methods. Don't forget to start -Needed for timing: BS2.Start(31,30)
http://obex.parallax.com/objects/30/]http://obex.parallax.com/objects/30/

CATALINA C by ROSSH This is a FREE ANSI C compiler for the Propeller, based on LCC.(Catalina shells out to Homespun and Homespun is not fully open source.) There are versions available for Windows and Linux. There is a tutorial to get you started, as well as a technical description of various aspects of Catalina. It includes Documents and demos. Binaries and sources for Win32 and Linux are also in posts.
http://forums.parallax.com/forums/default.aspx?f=25&m=339139

DUMBO BASIC by ROSSH (beta release ) will eventually be a substantially complete GWBASIC clone. Compiles under Catalina using the large memory model (requires 512KB XMM RAM). While not complete, this release (0.3) can be used to execute complete basic programs, such as Star Trek and the classic ELIZA psychoanalyst program - albeit slowly (e.g. it can take 20-30 seconds for Eliza to respond to each line of input). Dumbo BASIC is based on "Mini Basic" by Malcolm McLean, but is heavily modified to add many common basic statements that Mini Basic lacks, new types, and also some tweaks to support GWBASIC style syntax. It currently executes basic programs about 100 lines per second - about 10 times faster than Bywater BASIC. The ELIZA basic program and several versions of Star Trek are included, along with Dumbo BASIC binaries for the TriBladeProp and the HYDRA. There is also a DOS executable (the DOS version requires MinGW and GCC to compile).
http://forums.parallax.com/forums/default.aspx?f=25&p=3&m=388930

GCC C compiler Somewhere along the line it has been forgotten that the Prop can be programmed with the GCC C compiler. That is, there is a version of GCC that compiles for the 6809 and the resulting binaries are runnable under MoCog. MoCog is not perfected yet so perhaps this is a bit premature but early test programs for MoCog were created with GCC. - heater. The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Java, and Ada, as well as libraries for these languages (libstdc++, libgcj,...). Some people have suggested porting one of the existing open source GPL C compilers: GCC (Gnu C Compiler) or SDCC (Small Device C Compiler). Both these were written to be retargetable, so a back end for the Propeller should be possible, again probably using the LMM. - "The home of GCC for 6809 is here www.oddchange.com/gcc6809/ MoCog can be found in the MoCog thread. Getting the compiled binary into a form ready load into MoCog with say a Spin "file" statement is a bit of a trick with objdump and or hexdump under Linux . I'd probably need to provide some instructions when MoCog is a bit more mature." - heater
http://www.oddchange.com/gcc6809/
http://gcc.gnu.org/
http://propeller.wikispaces.com/Programming+in+C

BDS C COMPILER by Leor Zolman, runs under the z80 emulator
http://bdsoft.proboards.com/index.cgi?board=talk2&action=display&thread=69
http://www.bdsoft.com/resources/bdsc.html
http://bdsoft.proboards.com/index.cgi?
8080/Z80 C Compiler: Now Open Source and Public Domain! In 1979, I wrote a compiler for a subset of the pre-Standard ("K&R Classic") C Programming Language. The package was developed on, and targeted for, CP/M-80 floppy-based systems with as little as 32K of available system RAM. Originally intending to publish the source code in BYTE, I was eventually persuaded to turn the project into a retail product. Now BDS C's commercial potential is well in the past. Until recently, I had not been aware of the continuing international interest in 8-bit CP/M (and derivative) systems... upon this discovery, I found no reason not to render BDS C, along with all of its source code (including the 8080 assembly language compiler/linker sources), free to the public.

TINY.C by Les Hancock
http://www.primepuzzle.com/mouse/TINY.LBR
http://bdsoft.proboards.com/index.cgi?board=talk2&action=display&thread=1
a tiny interpreter which was published in Dr. Dobb's #41 (January 1980), pages 21-8. It was implemented using BDS C by Lee Bradley. A library file of this is at

MOUSE by Peter Grogono in 1979, thanks to LEE BRADLEY . Runs under the Z80 CPU emulator. Has a single character command set. Includes Mouse interpreter and sample Mouse programs. Lee Bradley revised a Mouse tutorial that he wrote some time back and he had an interest in not only putting the latest version on the web but also in making sure that everything was in the Public Domain. Simeon Cran's MYZ80 Z80 CPU emulator has a Public Domain version so it, along with a Mouse interpreter and sample Mouse programs, may now be found at
http://www.primepuzzle.com/mouse/
http://primepuzzle.com/mouse/mouse.html
http://bdsoft.proboards.com/index.cgi?board=talk2&action=display&thread=1

C IMAGECRAFT ICCV 7.04 (not open source)
http://www.imagecraft.co/pub/iccv7prop_demo.exe
for Propeller Demo, Free fully functional ICCV7 45-day trial version. After 45 days, code-size limited 10 K for non-commercial use. Purchase either a non-commercial or standard license from Parallax. The ICC website has a good description of what you get with the Demo version as well as the Non-Commercial vs. Standard versions. You only get floating point with the Standard version. The Demo version works like the Non-Commercial version for 45 days, then will only compile programs up to 1/3 of the size of the Propeller's memory. You have to refer to ICCs documentation on any C programming questions including multi-cog programming.

PROPTINY - Jack Crenshaw's TINY language by HEATER
http://forums.parallax.com/forums/default.aspx?f=25&m=355121
Runs on the demo board. Some time ago I worked my way through Jack Crenshaw's famous series of articles "Let's Build a Compiler." For those who know a little about programming but nothing about creating compilers, this is a fabulous introduction to that black art. Even if creating a compiler is not your goal, the simple parsing techniques described are worth a look at as they have many uses elsewhere.
compilers.iecc.com/crenshaw/ As I worked through the series, I worked the examples in C rather than Pascal as used by Jack and generated code for the Propeller rather than the original target, Motorola 68000. The result is an implementation of the TINY language defined in the series that generates PASM code for the Prop to be run under a Large Memory Model (LMM) virtual machine. TINY is a very simple block structured language in the style of Pascal and all. See the README.txt for instructions on building the compiler and compiling/asembling/downloading TINY programs. A simple example program with most TINY features implemented so far is included.

HYDRA LOGO 1.41 by DREAMWRITER
http://forums.parallax.com/showthread.php?92990-Hydra-Logo-1.4-ready-for-download!
http://forums.parallax.com/showthread.php?91381-Hydra-Logo-the-future-of-realtime-Propeller-programming! (old links)

Updated download link here and new thread here - now ported - works with Parallax Propeller Proto Board and Parallax Demo Board. Thank you Oldbitcollector!

With this programming language you can draw neat things and stuff without using any sort of compiler/editor, just type commands and watch them happen. Here's a fun program you can type to get you started:
to spiral :ln
fd :ln
rt 92
fd :ln+1
rt 92
spiral :ln+2
end
Then just enter
spiral 4
and watch the fun!

LISP - for HYDRA, written in C. Takes 96K., by ROSSH . Added super trivial garbage collection to make it possible to execute more than just a couple of lines of lisp before running out of space! New version uses short pointers instead of long pointers - allows for over 3 times as many lisp nodes.
http://forums.parallax.com/forums/default.aspx?f=25&p=1&m=353721
http://forums.parallax.com/forums/attach.aspx?a=31586

JAVA JVM BY Peter Verkaik
http://forums.parallax.com/forums/default.aspx?f=25&p=8&m=244721
http://propeller.wikispaces.com/Programming+in+Java

PROPJAVELIN
http://propeller.wikispaces.com/Fast-Track+for+PropJavelin
PropJavelin is a project to implement the functionality of the Javelin Stamp on the Propeller Chip. This is the implementation of a JVM which runs on the Propeller to allow Java(TM) programming of the Propeller. Java program development is undertaken using a modified version of the Javelin Stamp IDE.

PropFORTH by Sal Sanci
http://code.google.com/p/propforth/
http://forums.parallax.com/forums/default.aspx?f=25&m=457723
PropForth 2.7 has several changes: fixed the error in the "saveforth" word, updates to documentation, instructions to generate new propforth.spin code. Additional updates to the documentation will be posted in the next week or so, currently enough is present to get up and running. Questions and comments are welcome. Please point out anything that needs clarification. Notice: PropForth is separate from propellerforth, which unfortunately has not been updated since 2008 and does not have any source available. PropForth has the spin source posted and can be modified in the source in addition to or in combination with modifying the forth dictionary. prof_braino notes that PropFORTH' author is Sal Sanci, same guy that made SPIN FORTH. PropForth is actually version 2 of Sal's SPIN FORTH. Instead of running out of the ROM based spin, it is completely run out of ram, the dictionary, tasker, and primatives are written in assembler. (prof_braino only does code reviews and posting of notifications). Also, current version is 3.2, and uses descriptive names (like 'interpreter' instead of '_t1') which should make it more usable. http://forums.parallax.com/forums/default.aspx?f=25&m=468264 The new version of PropForth is available on Google code http://code.google.com/p/propforth/ The PropForth version 3.2 file set is a single archive download. This version uses descriptive names and a (hopefully) clearer naming convention. The README.txt file included in the archive includes a list of the name changes to help bring forward any existing code.

PROPELLERFORTH by CLIFFE BIFFLE
http://propeller.wikispaces.com/Programming+in+Forth
http://www.cliff.biffle.org/software/propeller/forth/index.php
Cliffe Biffle has created an open source complete Forth development system for the Propeller, called PropellerForth. If you are not familiar with what Forth is about, its basically a programming language and development environment that runs entirely on the Propeller. You do not need a PC to program your Propeller board (Prop Demo, Hydra supported) anymore. Once you use the Propeller Tool to upload the single binary image all your other development tasks are performed on the Propeller directly. Simply plug in a keyboard, hook up a TV, and off you go! I was a little confused a while back about what Forth is really about, so the best analogy I can give would be: It's like an open programmable dynamic "operating system" that can be modified on the fly, in real-time, while the system is running. Your best bet is to go download this rather amazing peice of work, and install it on your Propeller system. More information and links to file downloads available on the PropellerForth homepage.

PROPELLERFORTH
http://code.google.com/p/propellerforth/downloads/list
Interactive ANS-subset Forth for the Parallax Propeller microcontroller.VERSION for Parallax HYDRA pf801-hydra.binary v8.01 for HYDRA (bugfix release) Jan 2008 10.0 KB

JDFORTH FORTH to SPIN Compiler by Carl Jacobs
http://www.jacobsdesign.com.au/software/jdforth/jdforth.php
http://www.jacobsdesign.com.au/software/jdforth/buynow.php
Not open source. Demo or pay. JDForth - the first compiler(?) that takes an input source file and generates a Spin object! • Input Files: Forth source files + PASM kernel. • Output File: A Spin object that requires only a single cog. • Easy interface allows Spin access to Forth words. • The resultant object may be instantiated multiple times for multiple Forth systems. • Unused forth and kernel words are optimised out for a minimal memory footprint. • Editor has syntax highlighting for forth (*.jd4) as well as kernel (*.pasm) files...

SPIN FORTH by SAL SANCI
http://code.google.com/p/propforth/
http://code.google.com/p/spinforth/
Under General Public License
A forth for the propeller chip, written in spin and assembler, includes an assembler. 2008-Jan-24 Version 1.1 - fixed one outstanding bug "if else else then" bug, and changed console handling so you can write an IO device on a cog and use it as the console. One minor change to avariable to support smoother assembler operation which will be documented in the next 60 - 90 days. 2007-Dec-19 Here it is, rev 1.0 and for lack of any plan, It is under GPL. If anyone wants something else, let's talk offline. All this has only been tested with the propeller protoboard, and teraterm pro v4.51 http://sourceforge.jp/projects/ttssh2/ as a terminal program. I run teraterm at 115.2 kb with 8 bits, no parity, 1 stop bit, no flow control, 1ms delay per line. Tested with prop clip, and RS232 port on Toshiba laptop.

THUMB by HIPPY
http://forums.parallax.com/forums/default.aspx?f=25&m=235152
http://forums.parallaxinc.com/forums/attach.aspx?a=19014
Proof of Concept Thumb VM implementation attached. Not comprehensively tested but it runs the embedded Thumb VM Program which proves the most common functionality, including branch and subroutine call and return. It increments a value in a fixed location in hub memory, Tv_Text displays it. Currently uses an in-Cog subroutine call stack but external stack is easy enough to add and it shouldn't have too much impact on speed. A casual stopwatch test suggests it's delivering just under 1MIPS at 80MHz. That gives PASM around a 20:1 speed advantage. For "mov a,b" and similar PASM has around a 12:1 advantage. Thumb VM is approximately three times slower than LMM, but there's no reason Thumb VM cannot support native 32-bit instructions LMM-style...

META2 COMPILER by MIKE GREEN
http://forums.parallax.com/forums/default.aspx?f=25&m=233272
For those of you with experience in compiler writing ... Here's a little work-in-progress. This is a compiler-compiler that runs on a Propeller (5MHz xtal, 128K EEPROM, attached SD card, programming port as console). It reads a source program from a file on the SD card and compiles it into Spin in another file on the SD card. The language involved is a simple compiler writing language called Meta2 that dates back to the 1960's and has been used to bootstrap several compilers including a Pascal compiler. It needs a little work before I consider it suitable for compiling anything other than itself, particularly the addition of a simple symbol dictionary, but I thought it might be interesting for others to see it now that it can compile itself. The support library (object) may also be generally useful since it has routines to scan Spin and C type comments, convert Spin constant formats to binary, and recognize identifiers and string constants. The actual input and output files are 32K areas in the EEPROM. The EEPROM writing is buffered to minimize the amount of writing. There's a very very simple descriptive document included.

SPHINX SPIN COMPILER by MIKE GREEN
http://forums.parallax.com/forums/default.aspx?f=25&m=363645
http://www.sphinxcompiler.com/ web site by mpark
Sphinx is a Spin compiler—written in Spin—that runs on the Parallax Propeller. Although memory constraints prevent Sphinx from compiling the full gamut of Spin programs (see Limitations at url), it is not a toy compiler. It can compile many complex and substantial programs, including those containing Propeller assembly language, such as the Parallax tv and graphics objects. Sphinx can also compile itself. Hardware requirements: Sphinx requires a Propeller system with the following peripherals: * SD card interface (fsrw-compatible) and SD card. * NTSC video interface and NTSC display device. * PS/2 keyboard interface and PS/2 keyboard.

MOCOG V0.60 (6809 VARIANT) by HEATER . Introducing MoCog an emulation of the Motorola 6809 microprocessor for the Propeller. In the few slack moments I have nowadays I have been converting the ZiCog Z80 emulator into a 6809 emulator. As usual with me this is a very unfinished early release. There is a lot of code in place but very little is tested. So far it just about single steps its way through a short loop of
NOP
ADDA $01
JMP $0000
No flag setting is in place. This should compile with BST or homespun for the Prop Demo Board if the following defines are set: "PropDemoBoard" and "SingleStep". Just compile, download and watch the output in the terminal window of BST or ProTerminal or whatever. Hit any key to take single steps through the loop.
http://forums.parallax.com/forums/default.aspx?f=25&m=355169

PROPBASIC by BEAN/HITT CONSULTING
http://forums.parallax.com/forums/default.aspx?f=25&m=380174
http://forums.parallax.com/forums/default.aspx?f=25&m=381278
Bean's pasm based compiler - The PropBASIC compiler will compile BASIC code into Propeller assembly language (PASM). The compiler is based on the SX/B compiler that was written for the SX processor. The compiler does a "compile in place". In other words each line is translated directly into PASM code. This results in very fast code. PropBASIC is still in development, but some example programs are posted in this thread

PROPELLERBASIC by BILL HENNING , his LMM basic compiler
http://forums.parallax.com/forums/default.aspx?f=25&m=400080&g=400126#m400126

CLOJURE
http://code.google.com/p/clojure/downloads/list
http://clojure.org/]http://clojure.org/
There's also Clojure, a Lisp variant whose compiler targets the Java
Virtual Machine, for which there's, apparently, a port to the Propeller. -Phil

BYWATER BASIC by ROSSH - This is "Bywater BASIC" for the Propeller - a complete BASIC development system.
Bywater BASIC provides a self-contained BASIC development environment with floating point and real-time clock support, plus file system support which can be used to load and save BASIC programs, as well as read and write arbitrary data files. Full source code and documentation is included
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=388930&g=388936#m388936]http://forums.parallax.com/forums/default.aspx?f=25&m=388930&g=388936#m388936
[noparse][[/noparse]url=http://sourceforge.net/projects/bwbasic/]http://sourceforge.net/projects/bwbasic/

JZIP by ROSSH - an Infocom game interpreter from the grand old days of text-based computer games.
With this interpreter, and suitable game files, you can play all the Infocom greats - Zork, Deadline,
Suspended, Witness, Hitchhikers Guide to the Galaxy, A Mind Forever Voyaging, Starcrossed ... etc
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=388930&g=388936#m388936]http://forums.parallax.com/forums/default.aspx?f=25&m=388930&g=388936#m388936

PASCAL P4 COMPILER INTERPRETER USING CATALINA C BY ROSSH
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=388930&p=2]http://forums.parallax.com/forums/default.aspx?f=25&m=388930&p=2
[noparse][[/noparse]url=http://propeller.wikispaces.com/Programming+in+Pascal]http://propeller.wikispaces.com/Programming+in+Pascal

PASCAL by HIPPY - The P4 compiler is open-source so can be modified
and tailored to make it more Propeller Chip friendly and useful. It's not
a complete Standard / ISO 7185 Pascal but a reasonable implementation.
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=246603]http://forums.parallax.com/forums/default.aspx?f=25&m=246603

MOTOROLA 6809 MOCOG by HEATER - A Motorola 6809 emulator for the Propeller
This should compile with BST or homespun for the Prop Demo Board if the following
defines are set: "PropDemoBoard" and "SingleStep".
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=355169&p=1&ord=a]http://forums.parallax.com/forums/default.aspx?f=25&m=355169&p=1&ord=a

OUROBOROS by MICHAEL GREEN - Basic Compiler
http://forums.parallax.com/forums/default.aspx?f=25&m=349616&p=2
Ouroboros and ouroboros1 are left-overs from a project to make a Basic to LMM compiler for the Propeller. I forgot to delete them from the archive for the Winbond/SRAM driver. They're not in the Object Exchange version of the driver.
http://forums.parallaxinc.com/forums/default.aspx?f=25&m=255771
Here's my long ignored working directory, comes with no guarantees, no documentation or explanation other than that Ouroboros.spin is an attempt to create an editor front end, never quite worked. I think there was a problem with the SD card I/O routines. ExOuroboros.spin is the beginning of a compiler. It can process declarations and allocate storage and some of the code generation for expressions and simple flow of control seemed to work (just started being tested). Ouroboros.zip

OUROBOROS1 by MICHAEL GREEN - Basic Compiler. Ouroboros and Ouroboros1 are left-overs from a project to make a Basic to LMM compiler for the Propeller. I forgot to delete them from the archive for the Winbond/SRAM driver. They're not in the Object Exchange version of the driver.
http://forums.parallax.com/forums/default.aspx?f=25&m=349616&p=2

6502 ASSEMBLER CORE Initiated by POTATOHEAD , contributions by BAGGERS
http://forums.parallax.com/forums/default.aspx?f=25&m=391476
http://forums.parallax.com/forums/default.aspx?f=33&m=310828

6502 CORE by ERICBALL The obvious first step was to code up a 6502 core, keeping in mind the requirements for use in a 2600 emulator. Attached is my first attempt at a 6502 core.
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=391476]http://forums.parallax.com/forums/default.aspx?f=25&m=391476
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=33&m=310828]http://forums.parallax.com/forums/default.aspx?f=33&m=310828

ClusoInterpreter (v260C_007F) - high speed SPIN by CLUSO99 Chip's Interpreter executes 4114 PASM instructions for 100 spin instructions. My RamInterpreter executes 3889 PASM for the same code. I have 3 versions of the Interpreter now running simultaneously (executing the same spin code), Cog 5 runs the Rom Interpreter, Cog 6 runs the Ram Interpreter (basically the Rom Interpreter in Ram with a couple of mods), Cog 7 runs the Cluso Interpreter (the faster modified version under test in Ram). This allows me to compare the results and debug the ClusoInterpreter. Without the debugger, I will be able to check the speed differences between the Rom and Cluso versions.
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&p=2&m=273607]http://forums.parallax.com/forums/default.aspx?f=25&p=2&m=273607
[noparse][[/noparse]url=http://forums.parallax.com/forums/attach.aspx?a=24956]http://forums.parallax.com/forums/attach.aspx?a=24956

DIY C - A toolchain which will allow the free LCC compiler to be used for C programming of the Propeller. The toolchain will create self-contained executables for download into the Propeller chip or C programmed objects to be incorporated within and used by a Spin program. It is a command line toolchain but designed to be easily callable by GUI front-ends or IDE's. Primary goal is creating small executables rather than delivering high speed of execution. Proof of concept and prototype working. Components are currently being re-written, improved and enhanced ( Sep 2008 ).
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=296149]http://forums.parallax.com/forums/default.aspx?f=25&m=296149
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=287818]http://forums.parallax.com/forums/default.aspx?f=25&m=287818

PACITO LMM ASSEMBLER Specification for a Large Memory Model with access up to 512 klongs of code and 512kbytes of data. LMM Kernel Specification v1.0 - pacito version. The purpose of this specification is to serve as basis for a large memory model (LMM) for the Parallax Propeller. This would extend the usable memory area beyond the 2kbytes of COG's memory. This specification requiers the following hardware support: - A parallax propeller v 1.0 - Am external RAM (DRAM or SRAM) for more than 32 kbytes of code.
[noparse][[/noparse]url=http://propeller.wikispaces.com/search/view/language]http://propeller.wikispaces.com/search/view/language
[noparse][[/noparse]url=http://propeller.wikispaces.com/LMM+Pacito]http://propeller.wikispaces.com/LMM+Pacito

PROPBS1 Basic Stamp Propeller by HIPPY . A downloadable software emulator which will allow a developer to program in PBASIC, use the Basic Stamp development tools and use the Propeller as if it were a Basic Stamp. Will emulate the BS1 and, hopefully, BS2, but requires further R&D in that direction. Proof of concept and prototype working. Project queued behind others. Spin, PASM plus LMM. Deliverables to be decided; downloadable .binary will be provided but the project may not be 'open source' in whole or part. Licensing to be decided.
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=296149]http://forums.parallax.com/forums/default.aspx?f=25&m=296149</A&gt;
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=220212]http://forums.parallax.com/forums/default.aspx?f=25&m=220212 </A>

Urban Müller's Brainf*** BF IMPLEMENTATION BY JAZZED "BF is a programmer's toy; it is an incredibly obscure "write only language" (this means "once you write it, you may as well forget about reading and understanding it after just a few hours" [noparse]:)[/noparse] The BF interpreter is implemented in less than 120 PASM instructions. Various trivial demo program strings such as "Hello World!" are included. The "99 Bottles" demo is default. The PASM interpreter has an interface to serial input/output provided by the demo code; the interface should be easily changed to a keyboard/TV with a little work. The _XINFREQ is set to 6MHz (PLL16), so watch out." (Steve) "I'm not so sure that BF, or something similar, is totally bereft of practicality. It may well be an appropriate language for adaptive programming via a genetic algorithm. It has a small alphabet and is much more DNA-like than typical procedural languages. Moreover, once a program is optimized, there is no reason it couldn't be translated back into something that runs more quickly." -Phil
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=397229]http://forums.parallax.com/forums/default.aspx?f=25&m=397229

12BLOCKS (formerly SPINNER) by HANNO Easily create programs by dragging blocks together. The library of ~100 blocks makes it easy to build games, robots and more. All the complexity of cogs, objects, memory and variables is handled for you- leaving you free to focus on your code. Comes with ~10 sample programs, a 20 page tutorial, a 30 page manual, videos, and a wiki illustrating what others have accomplished. Perfect complement for the "Parallax Demo Board" for beginners - but powerful and extensible enough for anyone.
http://forums.parallax.com/forums/default.aspx?f=25&m=363981

ZICOG Z80 VARIANT
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&p=001&m=332138]http://forums.parallax.com/forums/default.aspx?f=25&p=001&m=332138

ZICOG 8080 ASSEMBLER runs CPM2.2, CPM3 (programs, development tools and languages)
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&m=332138]http://forums.parallax.com/forums/default.aspx?f=25&m=332138

CPM2.2 This OS now runs on the simulated Z80 processor (emulator on Prop).
Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/cpm2.zip]http://www.schorn.ch/cpm/zip/cpm2.zip
For many languages supported under CPM2, have a look at [noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]www.schorn.ch/cpm/intro.php

Microsoft BASIC with CP/M 2.2 [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/cpm2.zip]http://www.schorn.ch/cpm/zip/cpm2.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

CP/M Version 1.4 download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/cpm1.zip]http://www.schorn.ch/cpm/zip/cpm1.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Personal CP/M Operating system, Customized BIOS, Sources for CCP, BDOS and BIOS
download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/pcpm.zip]http://www.schorn.ch/cpm/zip/pcpm.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

CP/M Version 3 with banked memory download at http://www.schorn.ch/cpm/zip/cpm3.zip
Operating system, Altair BIOS source, Support for various CP/M disk formats including Apple II CP/M
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

MP/M II with banked memory Operating system with support for 8 banks, Multi terminal support for 4 terminals via Telnet, Multi user and multi programming, Altair XIOS source. Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/mpm.zip]http://www.schorn.ch/cpm/zip/mpm.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

PropDOS 1.6 released by Oldbitcollector
[noparse][[/noparse]url=http://forums.parallax.com/forums/default.aspx?f=25&p=1&m=224206]http://forums.parallax.com/forums/default.aspx?f=25&p=1&m=224206

DOS+ Operating system, CP/M compatible replacement for both CCP and BDOS, All sources for system generation, Original sources are on C. B. Falconer's site. Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/dosplus.zip]http://www.schorn.ch/cpm/zip/dosplus.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

NovaDOS CP/M 2.2 with NovaDOS as BDOS replacement, All sources for system generation
[noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/novados.zip]http://www.schorn.ch/cpm/zip/novados.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

P2DOS CP/M 2.2 with P2DOS as BDOS replacement, All sources for system generation
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

QP/M , a complete CP/M compatible replacement for CCP and BDOS from MICROCode Consulting featuring time/date stamping. Includes the source of the modified BIOS, documentation, LinkZ and DebugZ. QP/M, LinkZ and DebugZ are free for non-commercial use but see the restrictions. Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/qpm.zip]http://www.schorn.ch/cpm/zip/qpm.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

SuperDOS , CP/M 2.2 with SuperDOS as BDOS replacement. All sources for system generation. Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/superdos.zip]http://www.schorn.ch/cpm/zip/superdos.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Z80DOS , CP/M 2.2 with Z80DOS as BDOS replacement, all sources for system generation. Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/z80dos.zip]http://www.schorn.ch/cpm/zip/z80dos.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

ZSDOS , CP/M 2.2 with ZSDOS as BDOS replacement, all sources for system generation, download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/zsdos.zip]http://www.schorn.ch/cpm/zip/zsdos.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

NZ-COM , full release of Z-System based on CP/M 2.2, All sources included, user manual in PDF format (see also the MaxZ80 tutorial by Lee Bradley) at [noparse][[/noparse]url=http://www.lulu.com/content/952643]http://www.lulu.com/content/952643 . Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/nzcom.zip]http://www.schorn.ch/cpm/zip/nzcom.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Z3PLUS , Full release of Z-System based on CP/M 3, All sources included, User manual in PDF format. Sownload at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/z3plus.zip]http://www.schorn.ch/cpm/zip/z3plus.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

TurboDOS , TurboDOS in single user mode, AltairZ80 specific sources included, For more information visit Bill Buckels' The TurboDOS Museum at [noparse][[/noparse]url=http://www.cpm8680.com/turbodos/index.htm]http://www.cpm8680.com/turbodos/index.htm . Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/z3plus.zip]http://www.schorn.ch/cpm/zip/z3plus.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

86-DOS , 86-DOS version 1.00 by Seattle Computer Products. See also Howard's web site on 86-DOS at [noparse][[/noparse]url=http://www.86dos.org/]http://www.86dos.org/ . Download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/86dos.zip]http://www.schorn.ch/cpm/zip/86dos.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

IMDOS , 56K IMDOS VERS 2.05, CP/M 2 compatible operating system, download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/imdos.zip]http://www.schorn.ch/cpm/zip/imdos.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

CP/NET 1.2 Server based on MP/M, Client based on CP/M 2.2, All customized sources on disks, CP/NET server can serve one or two CP/NET or CPNOS clients, Works on all platforms supported by SIMH. download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/cpnet.zip]http://www.schorn.ch/cpm/zip/cpnet.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

CPNOS 1.2 download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/cpnet.zip]http://www.schorn.ch/cpm/zip/cpnet.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Altair DOS Version 1.0 , download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/altsw.zip]http://www.schorn.ch/cpm/zip/altsw.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Altair 8k Basic , download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/altsw.zip]http://www.schorn.ch/cpm/zip/altsw.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Altair Basic 4.0 , download at [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/altsw.zip]http://www.schorn.ch/cpm/zip/altsw.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

8080 assembler
http://www.schorn.ch/cpm/intro.php

Z80 ASSEMBLER
http://www.schorn.ch/cpm/intro.php

Altair Basic 3.2 (4K) , download at http://www.schorn.ch/cpm/zip/altsw.zip]http://www.schorn.ch/cpm/zip/altsw.zip

MITS Disk Extended BASIC Version 4.1
http://www.schorn.ch/cpm/zip/altsw.zip
http://www.schorn.ch/cpm/intro.php

Altair Disk Extended Basic Version 300-5-C available by Scott LaBombard
http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Altair Disk Extended Basic Version 5.0
from Andrew Kessel's site at http://www.altairage.com/)
http://www.schorn.ch/cpm/zip/altsw.zip
http://www.schorn.ch/cpm/intro.php

Altair DOS Batch Language Version 1.0 , download at =http://www.schorn.ch/cpm/zip/altsw.zip]http://www.schorn.ch/cpm/zip/altsw.zip
http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

MINOL based on documents retyped by Emmanuel ROCHE
download at http://www.schorn.ch/cpm/zip/minolvtl.zip]http://www.schorn.ch/cpm/zip/minolvtl.zip
http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

VTL-2 based on documents retyped by Emmanuel ROCHE
download at
http://www.schorn.ch/cpm/zip/minolvtl.zip]http://www.schorn.ch/cpm/zip/minolvtl.zip
http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

SPL : a compiler for a C-like, Simple Programming Language
http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

PROLOGZ (interactive Prolog development environment)
http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Pascal MT+ compiler and Pascal pretty printer (Pascal source)
http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

ACT 3.0 Assembler by SORCIM
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

JANUS/ADA - Version 1.5.0 with sample programs
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Algol-M - Version 1.1 with sample programs
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

apl/z v1.1 with some documentation and utility functions
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Microsoft BASIC-80 Rev. 5.21
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Microsoft BASIC Rev. 5.1
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Microsoft BASIC Rev. 4.51
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Microsoft Basic Compiler BASCOM 5.30a
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Digital Research CBASIC Compiler Version 2.8
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Digital Research CBASIC Compiler Version 2.0
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

CBASIC Compiler Version 2.07
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Xitan Z-80 High Precision Disk BASIC Version 1.06
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Softaid MTBASIC Multitasking Basic Compiler V2.6g
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

PDFS-BASIC Compiler Version 5.4b
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

S-BASIC Compiler Version 5.4b
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Real Time Microsystems TARBELL BASIC
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

BDS C 1.60 distribution , Comes with CP/M Version 2.2, Compiler and linker sources, Original sources and documentation are on Leor Zolman's site found here - [noparse][[/noparse]url=http://www.bdsoft.com/resources/bdsc.html]http://www.bdsoft.com/resources/bdsc.html
Download here - [noparse][[/noparse]url=http://www.schorn.ch/cpm/zip/bdsc.zip]http://www.schorn.ch/cpm/zip/bdsc.zip
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

HI-TECH C COMPILER (CP/M-80) V3.09
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

AZTECH C Vers. 1.06D 8080 (C) 1982 1983 1984 by Manx Software Systems
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Microsoft MS-COBOL Version 4.65 with VT100 support
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

COMAL-80/z80 rev. CP/M 2.10
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Forth - UNIFORTH
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Forth 83 Version 2.1.0
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Microsoft FORTRAN-80 Ver. 3.4
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

Microsoft FORTRAN-80 Ver. 3.33
[noparse][[/noparse]url=http://www.schorn.ch/cpm/intro.php]http://www.schorn.ch/cpm/intro.php

LISP/80 Version 1.1
http://www.schorn.ch/cpm/intro.php

muLISP-80
http://www.schorn.ch/cpm/intro.php

Modula 2
http://www.schorn.ch/cpm/intro.php

MUMPS Version 2.62 with source and version 2.60
http://www.schorn.ch/cpm/intro.php

muSIMP-80 2.14 Symbolic algebra package
http://www.schorn.ch/cpm/intro.php

Turbo Pascal Version 3.00A configured for VT100
http://www.schorn.ch/cpm/intro.php

Pascal/Z
http://www.schorn.ch/cpm/intro.php

UCSD Pascal II.0

PILOT to Pascal compiler with…
http://www.schorn.ch/cpm/intro.php

Pascal/Z
http://www.schorn.ch/cpm/intro.php

Digital Research PL/I-80 V1.0
http://www.schorn.ch/cpm/intro.php

PLM based on ISIS
http://www.schorn.ch/cpm/intro.php

PIP.PLM
http://www.schorn.ch/cpm/intro.php

PLMX by SYSCON (SYStem CONsultants Inc. 1980)
http://www.schorn.ch/cpm/intro.php

PLMX implements the syntax of PL/M
http://www.schorn.ch/cpm/intro.php

Simple Programming Language (SPL)
http://www.schorn.ch/cpm/intro.php

Atari 2600 with a 6507 processor emulator by Michael Kohn
http://www.mikekohn.net/micro/propeller_atari_emulator.php
and Parallax Forum has an ongoing development thread here for related information
http://forums.parallax.com/forums/default.aspx?f=33&p=1&m=310828
"I was looking for an idea for a cool Parallax Propeller project to work on and I figured I'd try out an Atari 2600 emulator. This chip seems like a good microcontroller to do this on since it has 8 cores running at 80MHz, plus a library for outputting to a TV or VGA monitor. I already had C and Java code (links at web site) I wrote for emulating a 6510 CPU (close enough to the 6507) so I wrote a c2spin program to convert the C code to the built in Spin language of the Propeller.

PROPELLENT (AND LIBRARY) by PARALLAX, For software developers to add support of the Propeller chip to their projects and for users needing command-line driven Propeller chip support.
http://forums.parallax.com/forums/default.aspx?f=25&m=377263&g=378230#m378230
http://www.parallax.com/ProductInfo/Microcontrollers/PropellerGeneralInformation/PropellerDownloads/PropellentLibraryandExecutable/tabid/650/Default.aspx
Download at http://www.parallax.com/Portals/0/Downloads/sw/propeller/Setup-Propeller-Tool-v1.2.7.exe

Augmented Assembly Code (PreSpin ver) by Bob Anderson
[URL="http://obex.parallax.com/objects/540/]http://obex.parallax.com/objects/540/"]http://obex.parallax.com/objects/540/[/URL]
works in conjunction with PreSpin and the Propeller Tool as an aid for people who write assembly code for the Parallax Propeller© chip. It is a preprocessor to the Propeller Tool.

Augmented Assembly Code (standalone ver) by Bob Anderson
http://obex.parallax.com/objects/533/
This program is meant to help people who write assembly code for the Parallax Propeller© chip. It is designed as a preprocessor to be used in conjunction with the Propeller Tool. It looks for "tagged" lines imbedded in normal PASM files and emits a second file for subsequent processing by the Propeller T
«13456713

Comments

  • heaterheater Posts: 3,370
    edited 2009-05-22 13:24
    Well. If you are happy to run interpreters then why not the Z80 emulator? Then the Prop can be programmed in at least:

    ACT
    Ada
    Algol
    APL
    Microsoft Basic (many versions)
    C (BDSC, HITECH etc)
    COBOL
    COMAL
    Forth
    FORTRAN
    Lisp
    Modula 2
    Mumps
    muSIMP
    Pascal
    PILOT
    PL/I
    PL/M
    PLMX
    SPL

    That should keep you going for a while[noparse]:)[/noparse]

    Some of these may require use of the CP/M operating system many do not. For example I have been flashing patterns on LEDs of a Prop Demo board from a program written in C for the Z80 (BDS C) with no CP/M required, just the compiled binary with some support I/O routines in Spin.

    With CP/M and enough external RAM (e.g. TriBladeProp or Hydra) all of these can be compiled on the Prop itself!!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • heaterheater Posts: 3,370
    edited 2009-05-22 13:25
    Someone out there has a Java VM for the Prop.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-05-22 13:44
    Believe it or not, RPG4 is still going strong. I sometimes program in that for my business contracts with IBM.
    You really can't break it.

    Heater, you may have given me a reason to relearn CPM. I did a lot of CPM programming in the early 80's for business systems.
    Now, you have given me a reason to bring back memories of a simpler, less stressful life smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH

    Post Edited (James Michael Huselton) : 5/22/2009 1:55:01 PM GMT
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-05-22 14:48
    You can add Z80 assembly to the list too. Sort of obvious I know. I've just been writing a big project in Z80 assembly. It is soon going to go >20k and it is nice knowing there is still plenty of memory left for big string arrays. I've been writing string and math functions in assembly. Strings especially are not all that complex in assembly. mid, left, right, instr etc. And very fast - much faster than in C or Basic. The nice thing about CP/M is there are 36 function calls you can call with a call to 0005. Useful things like print a string, or get a character from the keyboard, or get a whole line of text from the keyboard, open a file, close a file, read in 128 bytes, write 128 bytes etc. With these functions, file access becomes easy in assembly, and also is extremely fast. Heater, if you are writing C without using CP/M, you can look at borrowing bits of the bdos/fdos/bios code to run those functions in your C code.

    I know this might be going off on a tangent, but it could be useful for those writing languages like Basic for the Propeller. If you have string example code in 8080 or Z80 assembly, it could be translated to PASM and incorporated into these new languages. I guess this is from the perspective of someone who understands 8080/Z80/Basic/C but doesn't understand PASM or Spin. Or I could go and learn PASM and Spin... *grin*

    It would be fantastic to expand languages like femtobasic so most/all basic commands are included.
  • heaterheater Posts: 3,370
    edited 2009-05-22 15:50
    I was just taking a "power nap" and when I woke up had this crazy idea in my head. Why not make use of some of those illegal 8080/Z80 opcodes to enable putting raw PASM instructions inline with the Z80 code ?

    That is, whilst the emulator is executing Z80 ops from external memory certain undefined ops would cause it to execute PASM instructions LMM/XMM style. especially things like rdlong/wrlong to get easy communication to other spin that is running. Or easy access to ina/outa and the rest.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • kwinnkwinn Posts: 8,697
    edited 2009-05-22 15:53
    Would "Boom" qualify? It is a very simple language with only 2 instructions. The first instruction sends out 56 bits of data to a shift register that selects one or more relays to close, and the second instruction tells it when to close themwink.gif
  • hippyhippy Posts: 1,981
    edited 2009-05-22 16:41
    Don't forget ImageCraft C.
  • heaterheater Posts: 3,370
    edited 2009-05-22 17:36
    And don't forget my version of Jack Crenshaw's TINY language compiler that generates LMM PASM. It's all but useless but you can find it as crenshaw.zip here http://forums.parallax.com/showthread.php?p=776330

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • JerryNJerryN Posts: 32
    edited 2009-05-22 19:15
    What, no Atlas, JOVIAL, BRUIN, or PROLOG?

    Jerry roll.gif
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-05-23 00:21
    Prolog? Are you kidding? The memory requirements are HUGE. This is a discussion of languages suitable for Prop execution.
    Forgive me if I am wrong...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH
  • jazzedjazzed Posts: 11,803
    edited 2009-05-23 00:44
    Somebody should write a brainf*** vm.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • RossHRossH Posts: 5,462
    edited 2009-05-23 00:50
    JMH,

    You are indeed wrong, but I forgive you smile.gif

    With XMM, program size is no longer an issue. There is already one compiler (Catalina) that can build XMM programs for the Prop, and one hardware platforms (i.e. the Hydra) to run them on - 96Kb is supported "out of the box", and I hope to support 288Kb on this platform shortly.

    As soon as Cluso99 gets around to delivering me a TriBladeProp, Catalina will support that, allowing Prop programs up to 1 or 2Mb. I believe ImageCraft is not far behind in this area as well.

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-05-23 03:05
    Forgive me. I was speaking of non-XMM applications. The Hydra solution is very limited to RAM expansion below 64-96 kilobytes. Above that, the card's RAM is severely limited to speeds allowing for only block transfers and not Random access.

    I dismissed that solution over a year ago because of this limitation.

    I must have missed the XMM code that provides a working solution that one can currently can implement NOW. I apologize.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH

    Post Edited (James Michael Huselton) : 5/23/2009 3:15:15 AM GMT
  • RossHRossH Posts: 5,462
    edited 2009-05-23 07:22
    JMH,

    No worries. I agree the Hydra is a limited solution. But even 96K is useful - and it is available NOW.

    How about LISP for the Hydra? Written in C. Takes 96K. Took me about 10 minutes to find it, compile it, load it and run it.

    Ross.

    Edit: I'll include the source for this in the next release of Catalina

    Edit: added super trvial garbage collection to make it possible to execute more than just a couple of lines of lisp before running out of space!

    Edit: new version uses short pointers instead of long pointers - allows for over 3 times as many lisp nodes.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina

    Post Edited (RossH) : 5/27/2009 9:24:10 AM GMT
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-05-23 07:58
    Lisp for the Propeller? Now that's frakking IMPRESSIVE!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH
  • LeonLeon Posts: 7,620
    edited 2009-05-23 08:56
    How about SNOBOL?

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • RossHRossH Posts: 5,462
    edited 2009-05-23 09:01
    How about VALGOL

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • LeonLeon Posts: 7,620
    edited 2009-05-23 09:18
    RossH said...
    JMH,

    No worries. I agree the Hydra is a limited solution. But even 96K is useful - and it is available NOW.

    How about LISP for the Hydra? Written in C. Takes 96K. Took me about 10 minutes to find it, compile it, load it and run it.

    Ross.

    Edit: I'll include the source for this in the next release of Catalina

    Is that XLISP? I ported that to the transputer many years ago.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • RossHRossH Posts: 5,462
    edited 2009-05-23 09:33
    Hi Leon,

    No, it's from http://www.umcs.maine.edu/~chaitin/unknowable/ch2.html

    I have no idea what variety of lisp it is. I just grabbed it off the net and compiled it to make a point.

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • LeonLeon Posts: 7,620
    edited 2009-05-23 09:37
    That's a classic "pure" LISP interpreter a la McCarthy. Chaitin is a mathematician, and wouldn't use anything else. I tried it on the PC some months ago.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • heaterheater Posts: 3,370
    edited 2009-05-23 09:39
    Lisp! Lisp on the Propeller! That's it. I though I was nuts getting CP/M to run but I'm sane I tell you, sane!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-05-23 09:44
    Snobol! That was my favorite language in college. Pattern matching was sooo cool instead of boring old boolean arithmetic.

    Heater, they laughed when you sat on the Bunsen burner, but you showed them.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH
  • LeonLeon Posts: 7,620
    edited 2009-05-23 10:08
    You can write an assembler in a few lines of SNOBOL, a simple compiler in half a page.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • Mike HuseltonMike Huselton Posts: 746
    edited 2009-05-23 10:18
    Drop anchor! Pattern match away!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH
  • LeonLeon Posts: 7,620
    edited 2009-05-23 10:23
    Catspaw SNOBOL is available, if you feel nostalgic. It's a very good implementation.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
  • RossHRossH Posts: 5,462
    edited 2009-05-23 10:35
    Leon,

    Okay - I have the C source for SNOBOL.

    No promises - but if I get some spare time, who knows! PROBOL, anyone?

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • heaterheater Posts: 3,370
    edited 2009-05-23 11:04
    JMH: We had a lot of laughs in our chemistry labs but I don't remember sitting on Bunsen burners was one of them. Brings tears to my eyes to think about it. Most of the "fun" we had then would be considered far too dangerous now a days.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • RossHRossH Posts: 5,462
    edited 2009-05-24 04:06
    All,

    I have updated the LISP executable (see earlier posts). When I first compiled and tested it I hadn't realized just how quickly you run out of RAM - and this version has no built-in garbage collection.

    I have added the simplest possible memory management, so that at least it can now execute the first few LISP examples given on Chaitin's web page.

    I wouldn't have bothered except that I see some people had downloaded the previous executable. I'll try and find a better implmentation to include in Catalina's next release.

    Ross.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Catalina - a FREE C compiler for the Propeller - see Catalina
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2009-05-24 04:14
    There's also Clojure, a Lisp variant whose compiler targets the Java Virtual Machine, for which there's, apparently, a port to the Propeller.

    -Phil
  • LeonLeon Posts: 7,620
    edited 2009-05-24 06:43
    Try XLISP. It's not pure LISP like Chaitin's, but is more suitable for applications. If anyone wants to start LISPing seriously, they should download PLT Scheme. There are some Scheme implementations that could be ported to Catalina.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
    Suzuki SV1000S motorcycle
Sign In or Register to comment.