MOUSE2Go - A 6502 computer emulated by an Arduino
Important notes!
This repository contains software that was not written by me.
There’s now a Youtube video about how to get started: to the video
1.0 About
MOUSE is an 65C02 based singleboard homebrew computer that is freely available from another repo: github - MOUSE
To make it easier to ge started with software, MOUSE can now run on a plain Arduino or compatible board.
This project uses software kindly provided by others.
- 6502 emulator for Arduino by Mike Chambers : link to Arduino forum
- microchess by Peter Jennings : microchess
- VTL2 ported to the 6502 by Mike Barry : VTL2
- 65C02 assembler/disassembler by Jeff Tranter : ASM/DASM
1.1 Arduino Firmware
The software for the Arduino is mainly the emulator and a C-Header file containing the current ROM image for the 6502 system.
For details see : Arduino software
1.2 MOUSE Software
MOUSE is the emulated system that is accessible via a serial connection. It runs a small monitor programm for interaction with the system.
For details see : MOUSE or examples
2.0 Get started
To get started you only need to load the “Arduino/arduino_6502_mouse/arduino_6502_mouse.ino” sketch into the Arduino IDE and programm your Arduino.
There’s a “#define” for the emulated RAM size, that you can adjust to get more memory for the emulator if you have an Arduino with more memory (like a Mega2560 or a Due).
After uploading your sketch, you can connect to the Arduino via a serial terminal (or the serial monitor from the IDE) with 9600,8N1 and play with MOUSE.
There is also a Youtube video about getting started.
2.1 Commands
If your’re connected to the emulated system the following commands can be used:
- a
- start assembler at address - c - start microchess - runs microchess
- d
- disassemble from address - f
: %val - fill memory with %val - g
- jump to - h - this help
- i
- input input data to memory '.' ends the input - m
%cols %rows - dump memory from address - o
: - output memory range - r - jump to reset vector
- s
- show one byte of memory as hex and binary - v - start VTL2 language