Tools for the Foenix F256 line of computers.
Find a file
2024-01-16 19:09:08 -06:00
examples Some code cleanup. 2024-01-16 19:00:01 -06:00
f256lib Silenced warning about integer overflow. We don't need no steenkin' signs. 2024-01-16 19:09:08 -06:00
header Working on a tile example. 2024-01-15 16:08:12 -06:00
imageconvert Working on a tile example. 2024-01-15 16:08:12 -06:00
llvm-mos-sdk-patches/mos-platform Added brute force bitmap clear. Added Cube to examples. 2024-01-07 18:08:41 -06:00
.gitattributes Working on a tile example. 2024-01-15 16:08:12 -06:00
.gitignore Working on a tile example. 2024-01-15 16:08:12 -06:00
build-aseprite.sh Working on bitmaps. 2024-01-03 20:18:34 -06:00
build-llvm-mos.sh Working on bitmaps. 2024-01-03 20:18:34 -06:00
build-merlin.sh Working on bitmaps. 2024-01-03 20:18:34 -06:00
build-tools.sh Working on a tile example. 2024-01-15 16:08:12 -06:00
f256k.patch Initial commit 2023-12-30 17:05:38 -06:00
get-foenixmgr.sh Working on bitmaps. 2024-01-03 20:18:34 -06:00
hexbuild.asm Initial commit 2023-12-30 17:05:38 -06:00
icon.png Added repo icon. 2023-12-30 17:11:40 -06:00
LICENSE Working on bitmaps. 2024-01-03 20:18:34 -06:00
pgz-thunk.py Initial commit 2023-12-30 17:05:38 -06:00
README Some code cleanup. 2024-01-16 19:00:01 -06:00
start-quartus.sh Working on bitmaps. 2024-01-03 20:18:34 -06:00
update-defines.sh Working on bitmaps. 2024-01-03 20:18:34 -06:00
update-ide-firmware.sh Working on bitmaps. 2024-01-03 20:18:34 -06:00

 _____ ____  ____   __      _ _
|  ___|___ \| ___| / /_    | | |_   ___ __ ___        _ __ ___   ___  ___
| |_    __) |___ \| '_ \   | | \ \ / / '_ ` _ \ _____| '_ ` _ \ / _ \/ __|
|  _|  / __/ ___) | (_) |  | | |\ V /| | | | | |_____| | | | | | (_) \__ \
|_|   |_____|____/ \___/   |_|_| \_/ |_| |_| |_|     |_| |_| |_|\___/|___/


This repository is my work using llvm-mos with the Foenix F256 line of
computers.  It's a somewhat random collection of things helpful to me and
will hopefully grow into something helpful to others.

    -- Scott Duensing (scott@kangaroopunch.com)


REQUIREMENTS
============

I use Linux Mint Cinnamon as my development environment.  Any Ubuntu derivative
should work as well - even under WSL.


INSTALLING
==========

At a minimum, you should run the following:

  ./build-llvm-mos.sh all
  ./build-merlin.sh
  ./update-defines.sh
  ./build-tools.sh


SCRIPTS
=======

build-aesprite.sh - Downloads and builds the latest Aesprite.

build-header-tool.sh - Builds the included header tool.  See below.

build-llvm-mos.sh - Builds the latest llvm-mos toolchain.

build-merlin.sh - Builds the Merlin32 assembler.

get-foenixmgr.sh - Downloads the latest FoenixMgr and dependencies.

pgz-thunk.py - Inspects contents of PGZ files.

start-quartus.sh - Runs Intel's Quartus tool (must install manually).

update-defines.sh - Updates the Merlin sample code and builds C headers.

update-ide-firmware.sh - Packages the latest firmware and copies it to the IDE.


HEADER TOOL
===========

The included header tool allows you to add a KUP, PGX, or PGZ program header to
a raw binary generated by llvm-mos or Merlin.  Look at the examples for samples.


EXAMPLES
========

The included example code is always in a state of flux.  This code is what I'm
using as I work on this repo.  If you find something you think is broken, it
probably really is.  I'm happy to help and answer questions on the Foenix
Discord server.