Skip to content

jamesbowman/ga144tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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