106 lines
4 KiB
Text
106 lines
4 KiB
Text
_____ ____ ____ __ _ _
|
|
| ___|___ \| ___| / /_ | | |_ ___ __ ___ _ __ ___ ___ ___
|
|
| |_ __) |___ \| '_ \ | | \ \ / / '_ ` _ \ _____| '_ ` _ \ / _ \/ __|
|
|
| _| / __/ ___) | (_) | | | |\ V /| | | | | |_____| | | | | | (_) \__ \
|
|
|_| |_____|____/ \___/ |_|_| \_/ |_| |_| |_| |_| |_| |_|\___/|___/
|
|
|
|
Welcome to LLVM-MOS for the Foenix F256 family of computers!
|
|
|
|
|
|
REQUIREMENTS
|
|
============
|
|
|
|
The compiler toolchain and utilites will run on recent versions of Windows,
|
|
Linux, and Apple Silicon MacOS. There is currently no support for Intel MacOS.
|
|
|
|
On Windows, you will need:
|
|
|
|
* WinRAR (https://www.rarlab.com/) or 7-Zip (https://www.7zip.com/) installed.
|
|
* Python 3.x (https://www.python.org/) installed and in your PATH.
|
|
|
|
|
|
INSTALLATION
|
|
============
|
|
|
|
Download the appropriate installation script:
|
|
|
|
* 64 bit Intel Windows: f256-install-windows.bat
|
|
* 64 bit Intel Linux: f256-install-linux.sh
|
|
* 64 bit ARM MacOS: f256-install-macos.sh
|
|
|
|
Create a new, empty directory, with no spaces in the name (or in the names of
|
|
the parent directories) and place this file into it. From that folder, execute
|
|
the script. It will download additional dependencies and install them. Aside
|
|
from some Python modules needed by FoenixManager, everything will stay inside
|
|
this new folder. Uninstalling is just a matter of deleting it.
|
|
|
|
|
|
CONFIGURATION
|
|
=============
|
|
|
|
You will need to modify foenixmgr.ini in the main installation folder. The
|
|
only thing that should need updated is the COM port used to communicate with
|
|
your F256. See: https://github.com/pweingar/FoenixMgr
|
|
|
|
|
|
ASSUMPTIONS
|
|
===========
|
|
|
|
This package was designed to be easy to use for new programmers. As such, some
|
|
liberties were taken that aren't entirely common practice. There are no
|
|
project files, makefiles, or other build configuration systems. The included
|
|
f256build and f256run scripts assume you have arranged your code in directories
|
|
like the example programs. The main requirement is that each program have its
|
|
own parent directory named for that program and inside it, a "src" directory
|
|
where the actual code lives. Example:
|
|
|
|
C:\FOENIX\CODE\MYPROGRAM\SRC
|
|
|
|
This would be a project named "MYPROGRAM" located in a CODE folder under the
|
|
folder you installed the toolkit in. (You do not have to locate your projects
|
|
under the toolkit folder.) To build this, you would run f256build from the
|
|
C:\FOENIX folder as follows:
|
|
|
|
f256build code\myprogram
|
|
|
|
UNIX folks, flip your slashes!
|
|
|
|
|
|
USAGE
|
|
=====
|
|
|
|
As shown above, f256build is used to build projects using the default linker
|
|
settings. If you do not have linker settings in your project already, the
|
|
defaults will be added (in a file named f256.ld in your project directory).
|
|
Unless you need to use embedded binary data in your project, the defaults are
|
|
all you need. Embedded data examples are included. See SPRITES and TILEMAP in
|
|
the EXAMPLES folder. More details can be found in the f256lib documentation.
|
|
|
|
When building your project f256build will create a ".builddir" folder in your
|
|
project directory. In here you will find copies of your source code that have
|
|
been modified by the overlay tool (for creating programs larger than 64k),
|
|
"trampoline" headers (again, generated by the overlay tool), intermediate
|
|
binary files, symbol listings, assembler source listings, memory maps,
|
|
additional linker information, and more. These can be safely ignored or used
|
|
to assist in debugging your application.
|
|
|
|
To run your program on the F256 using a USB debug cable, use f256run just as
|
|
you did f256build. Example:
|
|
|
|
f256run code\myprogram
|
|
|
|
If you do not have a debug cable, you can copy the PGZ for your program from
|
|
its project directory to the SD card used in your F256.
|
|
|
|
|
|
SUPPORT
|
|
=======
|
|
|
|
Drop by the Foenix Retro Systems Discord! https://discord.gg/e32efF7FGy I am
|
|
almost always online as "sduensin".
|
|
|
|
Additional information on the F256 family of computers can be found on the F256
|
|
wiki: http://wiki.f256foenix.com/
|
|
|
|
As a last resort, you can email me, Scott Duensing, at scott@kangaroopunch.com
|
|
and I'll probably ask you to join the Discord. :-)
|