ULTIMATE List of Propeller Languages
Humanoido
Posts: 5,770
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.
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.
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).
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 Lindsays 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).
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. Dobbs Journals various implementations of Tiny Basic. My version is loosely based on the work of Li Chen Wangs Palo Alto tiny Basic and more so the version by Gordon Brandlys 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 compilerwritten in Spinthat 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>
[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
Comments
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.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
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
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Post Edited (James Michael Huselton) : 5/22/2009 1:55:01 PM GMT
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.
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.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Jerry
Forgive me if I am wrong...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
You are indeed wrong, but I forgive you
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
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
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
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
Ross.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Catalina - a FREE C compiler for the Propeller - see Catalina
Is that XLISP? I ported that to the transputer many years ago.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
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
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Heater, they laughed when you sat on the Bunsen burner, but you showed them.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
JMH
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
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
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
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
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle