Apple-I core for the MiST FPGA.
- 512 bytes ROM (Woz monitor and ACI), remaing space is RAM
- full working audio cassette interface (see below how to operate it)
- CPU clock is accurate and RAM refresh lost cycles are implemented
- NTSC output (with crosstalk pixel artifacts!)
- Keyboard: ASCII keyboard with clear screen and reset keys
How to use it
F5 resets the machine, F1 clears the screen.
You can load
.PRG files from the SD card via the F12 MiST menu.
are plain binary files with an header of two bytes containing the load address
of the program.
If you have a binary file (usually they come with a
.bin extension, or no
extension at all) you need to convert it to
.PRG before you can load with
it with the F12 menu option. Check my other repo
where I have some tools for converting from and to various Apple-I
formats (prg, bin, wav, woz).
After you load a file, you can run it from the monitor, for example
if you have a program that starts at address
Using the ACI Audio Cassette Interface
To be able to use the ACI you need to connect your audio input source (tape,
mp3 player, PC, ect...) to the
UART_RX pin of the MiST (Mistica units
have a dedicated "audio input" jack plug).
Audio output (for saving programs on tape) is simply taken for the speakers output.
The F12 menu option "Audio monitor" allows you to choose from:
- "tape in": audio coming from the tape is also played on the speaker as feedback
- "tape out": the speakers play the tape out signal (for recording on a real tape or sampling it on a PC).
The ACI is commanded from its own monitor program. Enter it with:
* will be shown as prompt).
How to load a file
On the ACI monitor type the start and end address of the program you are going to read, followed by a "R", e.g.:
Note: make sure the tape (or WAV) is already playing before pressing (enter).
How to save a file
On the ACI monitor type the start and end address of the program you are going to write, followed by a "W", e.g.:
Note: press record & play on tape before pressing (enter) on the ACI.
This FPGA core is based on the previous projects: