Arduino emulation library for 8-bit microcomputers based on 6502, i8080 or z80
Go to file
steve 2baab0f856 be stricter about ACIA memory addresses 2024-02-24 13:02:27 +00:00
hw small cleanups 2023-11-18 20:08:16 +00:00
CPU.h z80 updates 2019-03-25 16:12:08 +00:00
LICENSE Initial commit 2014-10-18 12:32:19 +01:00
README.md small cleanups 2023-11-18 20:08:16 +00:00
TinyFont.h PROGMEM 2019-03-03 14:37:44 +00:00
acia.cpp be stricter about ACIA memory addresses 2024-02-24 13:02:27 +00:00
acia.h minor updates 2023-10-20 13:01:15 +01:00
display.cpp bugfixes 2023-11-18 21:46:06 +00:00
display.h new display apis 2023-11-18 11:03:47 +00:00
filer.h split flash_file out of flash_filer (#24) 2023-10-19 15:04:28 +01:00
flash_filer.cpp updates 2023-11-18 13:23:52 +00:00
flash_filer.h minor updates 2023-10-20 13:01:15 +01:00
hardware.cpp split sd_filer out of flash_filer; USE_FS -> USE_LITTLEFS (#23) 2023-10-12 18:27:56 +01:00
hardware.h minor updates 2023-09-28 22:14:11 +01:00
i8080.cpp irq is uint8_t 2019-03-03 14:38:11 +00:00
i8080.h irq is uint8_t 2019-03-03 14:38:11 +00:00
keyboard.h use stdint types 2018-08-14 06:10:37 +01:00
library.properties Arduino build (#19) 2023-07-27 15:09:05 +01:00
line.h adding VIA from PET 2023-10-03 15:25:53 +01:00
memory.cpp use stdint types 2018-08-14 06:10:37 +01:00
memory.h use stdint types 2018-08-14 06:10:37 +01:00
pia.cpp adding VIA from PET 2023-10-03 15:25:53 +01:00
pia.h fix warnings 2023-11-15 18:22:28 +00:00
ports.h use stdint types 2018-08-14 06:10:37 +01:00
prom.h PROGMEM 2018-11-07 21:37:20 +00:00
ps2drv.cpp fix warnings 2023-11-15 18:22:28 +00:00
ps2drv.h add keypad keys 2016-01-29 22:24:05 +00:00
r65emu.h Pwm sound (#18) 2023-07-27 10:50:25 +01:00
r6502.cpp irq is uint8_t 2019-03-03 14:38:11 +00:00
r6502.h fix compiler warning 2019-06-06 09:19:55 +01:00
ram.h template param for chip capacity 2023-11-18 10:57:40 +00:00
sd_filer.cpp split sd_filer out of flash_filer; USE_FS -> USE_LITTLEFS (#23) 2023-10-12 18:27:56 +01:00
sd_filer.h split sd_filer out of flash_filer; USE_FS -> USE_LITTLEFS (#23) 2023-10-12 18:27:56 +01:00
serial_filer.cpp configure filers via ctor 2019-03-26 19:27:25 +00:00
serial_filer.h configure filers via ctor 2019-03-26 19:27:25 +00:00
serialio.h filer extends serialio 2019-02-11 18:28:38 +00:00
socket_filer.cpp add checkpoint/restore for socket filer 2019-03-30 11:55:34 +00:00
socket_filer.h add checkpoint/restore for socket filer 2019-03-30 11:55:34 +00:00
sound_dac.cpp small cleanups 2023-11-18 20:08:16 +00:00
sound_dac.h rename sound -> sound_dac 2018-09-11 17:33:18 +01:00
spiram.cpp NO_CHECKPOINT flag 2019-02-24 11:50:10 +00:00
spiram.h use stdint types 2018-08-14 06:10:37 +01:00
timed.cpp esp8266 timer_create 2018-11-11 11:21:12 +00:00
timed.h acia updates (#22) 2023-09-27 15:38:16 +01:00
via.cpp adding VIA from PET 2023-10-03 15:25:53 +01:00
via.h adding VIA from PET 2023-10-03 15:25:53 +01:00
z80.cpp z80 updates 2019-03-25 16:12:08 +00:00
z80.h z80 updates 2019-03-25 16:12:08 +00:00

README.md

r65emu

Arduino emulation library for 8-bit microcomputers based on 6502, i8080 and z80.

Sample Applications

Configuration for Arduino

If building using the Arduino IDE, r65emu/hw/user.h must be configured correctly.

Currently the only mass-produced board which is supported is the LilyGO TTGO.

Examples are also given for a generic node32s board and a homebrew esp8bit board.

Copy your configuration file to user.h. If the board is also mass-produced, please open a PR to add the new file to the library.

Some emulations require a filesystem image containing programs to be uploaded:

Libraries

Display

Depending on target board, one of:

Storage

These are optional if the target board supports it (e.g., esp8266 or esp32 boards):

Hardware

  • A Stellaris Launchpad or ESP8266 board, e.g., WeMOS, or ESP32-based board, e.g., Node32s,
  • An SD drive to store programs (for Stellarpad),
  • A 23k256 SPI RAM chip (for Stellarpad, optional),
  • A supported TFT screen (if not using a board with VGA),
  • A PS/2 keyboard.