Skip to content

jamesbowman/ga144tools

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
ehc
 
 
src
 
 
 
 
 
 
 
 
 
 

ga144tools - Python toolchain for GA144

This package is an alternate toolchain for GA144 CPUs. The tools are all Python-based, and the only additional requirements are PySerial and the m4 utility.

For example, fibonacci.ga counts in the Fibonacci sequence in node 608, and transmits the integers back to the PC via the serial port on node 708.

Alt text

It writes the integer sequence on the serial port:

2
3
5
8
13
21
etc.

Another example, mathdemo.ga counts up from 100, on node 008. Nodes 108 through 608 are wire nodes; they just carry data upwards towards node 708.

Alt text

To use it, connect the USB cable to USB port A on your GA144 board, and (assuming your device is at /dev/ttyUSB0) do:

cd src
python asm.py /dev/ttyUSB0 fibonacci.ga

You should see something like this:

...
bootstream is 906 words
---------  DOWNLOAD COMPLETE  ----------
0x00002  2
0x00003  3
0x00005  5
0x00008  8
0x0000d  13
0x00015  21

There is a utility to read and write directly to the onboard flash. To read the first 128K into filename.bin:

./flash.py $P read filename.bin 131072

To write image to flash:

./flash.py $P write image

Instruction set notes:

https://mschuldt.github.io/www.colorforth.com/inst.htm

https://mschuldt.github.io/www.colorforth.com/arith.htm

https://mschuldt.github.io/www.colorforth.com/etherCode.htm

Booting:

http://www.forth.org/svfig/kk/11-2013-Shattuck.pdf