This weekend I polished up my Arduino Day project and published it to GitHub for Retrochallenge 2017/04.
Introducing Arduino6502
https://github.com/davecheney/arduino6502
The repository contains an Arduino sketch that can be loaded on Arduino Mega boards (Arduino Uno’s can be accommodated by lowering the RAMSIZE
value).
The sketch includes ROM images for AppleSoft Lite and Krusader symbolic assembler.
To run AppleSoft BASIC, enter
\ E000R
And you will be dropped into the BASIC prompt
>
Remember that the Apple 1 was an upper case only machine, so you should enter all letters in upper case.
Krusader is available at $F000
\ F000R
What’s next?
The project currently targets the 8 bit Atmel chips due to the tight coupling between the Atmega 2560’s hardware serial port and the simulated 6821 PIA. The mapping is good enough that, as long as you insert a delay of 200ms or greater between newlines, you can paste HEX files into the Woz monitor and run the resulting program.
However, while the Apple 1 came with 4k or 8k of RAM, modern recreations like the Replica 1 assume at least 32k of RAM, making most of the software written for these nouveau Apple 1’s out of reach of this project.
To overcome this my next effort will be to port the project to run on Cortex-M platforms like the Teensy 3.x or Arduino Due to get access to more SRAM.