CCPU for GA144
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ehc
presentations
src
.gitignore
LICENSE
README.md
notes.md

README.md

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