Lime is a virtual computer system that draws inspiration from computing platforms such as the Commodore 64, the Atari ST and the Nintendo Gameboy. Notable features include:
- Motorola 68000 cpu using the Moira library
- Motorola 6809 cpu using the mc6809 library
- 16mb ram (of which the lowest 64k accessible by mc6809)
- Screen resolution of 320x180 pixels, refresh rate of 60Hz
- Video Display Controller (VDC) for graphics processing, memory access to lowest 64k
- Programmable using mc68000 or mc6809 assembly
0x000000 - 0x000007 initial ssp / reset vector (8b)
0x000008 - 0x0003ff vector table (1016b)
0x000400 - 0x00043f io vdc (64b)
0x000440 - 0x00047f io timer (64b)
0x000480 - 0x0004bf io core (64b)
0x0004c0 - 0x0004ff unused / reserved (64b)
0x000500 - 0x00051f io sound / sid0 (32b)
0x000520 - 0x00053f io sound / sid1 (32b)
0x000540 - 0x00055f io sound / analog0 (32b)
0x000560 - 0x00057f io sound / analog1 (32b)
0x000580 - 0x0005ff io sound / mixer (128b)
0x000600 - 0x0007ff unused / reserved (512b)
0x000800 - 0x0017ff tileset bank 0 (2kb)
0x001000 - 0x001fff overlapping tileset bank 1 / tileset rom (2kb)
0x002000 - 0x0027ff layer 0 (2kb)
0x002800 - 0x002fff layer 1 (2kb)
0x003000 - 0x0037ff layer 2 (2kb)
0x003800 - 0x003fff layer 3 (2kb)
0x004000 - 0x00ffff available ram (48kb)
0x010000 - 0x01ffff system rom (64kb)
0x020000 - 0xffffff available ram (16256kb)
- Install Xcode from App Store
- When it asks to install command line tools, do that
- Install Homebrew
- From the Homebrew command line, install cmake and SDL2 libraries
- build-essential, cmake and sdl2-dev
- Install msys2
- Install packages:
pacman -S mingw-w64-ucrt-x86_64-gcc
pacman -S mingw-w64-ucrt-x86_64-SDL2
...?
...?
Clone the repository with:
git clone https://github.com/elmerucr/lime
cd lime
Create a build directory in the source tree
mkdir build
cd build
cmake ..
make
Alternatively to build with debug symbols:
mkdir Debug
cd Debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
Run with:
./lime
- asm6809 - A portable cross assembler targeting the Motorola 6809 and Hitachi 6309 by Ciaran Anscomb.
- asmx - A multi-CPU macro assembler by Bruce Tomlin for many major 8-bit and 16-bit CPUs, which can assemble code for multiple CPUs in the same source file.
- CMOC - CMOC is a 6809-generating cross-compiler for a large subset of the C language by sarrazip.
- LWTOOLS - LWTOOLS is a set of cross-development tools for the Motorola 6809 and Hitachi 6309 microprocessors by Willam 'Lost Wizard' Astle.
- vasm - A portable and retargetable assembler by Volker Barthelmann.
- vbcc - vbcc is a highly optimizing portable and retargetable ISO C compiler by Volker Barthelmann.
- vlink - A versatile linker by Frank Wille.
- Commander X16 - The Commander X16 is a modern 8-bit computer currently in active development. It is the brainchild of David "the 8 Bit Guy" Murray.
- Commander X16 emulator - Software version of Commander X16.
- Commander X16 rom - The Commander X16 ROM containing BASIC, KERNAL, and DOS. BASIC and KERNAL are derived from the Commodore 64 versions.
- Hatari - Hatari is an Atari ST/STE/TT/Falcon emulator.
- lib65ce02 - CSG65CE02 cpu emulator written in C by elmerucr.
- mc6809 - Motorola 6809 cpu emulator written in C++ by elmerucr.
- Moira - Motorola 68000 cpu emulator written in C++ by Dirk W. Hoffmann.
- Peddle - Peddle is a MOS Technology 6502, 6507, and 6510 emulator with high emulation accuracy by Dirk W. Hoffmann.
- reSID - ReSID is a Commodore 6581 and 8580 Sound Interface Device emulator by Dag Lem.
- vAmiga - An Amiga 500, 1000, or 2000 on your Apple Macintosh by Dirk W. Hoffmann.
- VICE - The Versatile Commodore Emulator.
- VirtualC64 - A Commodore 64 on your Apple Macintosh by Dirk W. Hoffmann.
- PICO-8 - PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer programs by lexaloffle.
- SDL Simple DirectMedia Layer - A cross-platform development library by Sam Lantinga designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware.
- stb - single-file public domain (or MIT licensed) libraries for C/C++
- TIC-80 - TIC-80 is a free and open source fantasy computer for making, playing and sharing tiny games.
- visual6502 - Visual Transistor-level Simulation of the 6502 CPU and other chips.
Clements, Alan. 1994. 68000 Family Assembly Language. PWS Publishing Company.
Leventhal, Hawkins, Kane and Cramer. 1986. 68000 ASSEMBLY LANGUAGE PROGRAMMING SECOND EDITION. OSBORNE/McGraw-Hill.
Leventhal, Lance A. 1981. 6809 ASSEMBLY LANGUAGE PROGRAMMING. OSBORNE/McGraw-Hill.
Motorola. 1981. MC6809-MC6809E 8-BIT Microprocessor Programming Manual. Motorola Inc.
Motorola Semiconductors. 1983. MC6809 Datasheet.
Osborne, Adam. 1976. An introduction to microcomputers - Volume I Basic Concepts. SYBEX.
Skinner, Thomas P. Assembly Language Programming for the 68000 Family. John Wiley & Sons.
Zaks, Rodnay and William Labiak. 1982. Programming the 6809. SYBEX.
Copyright (c) 2025 elmerucr
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


