Skip to content
This repository has been archived by the owner on Aug 11, 2023. It is now read-only.
/ E64-II Public archive

The E64-II (Enhanced 64-II) is a virtual computer system (under construction) that runs on macOS and linux. It's mainly inspired by the Commodore 64 but implements significant parts of Amiga 500 and Atari ST technology as well.

Notifications You must be signed in to change notification settings

elmerucr/E64-II

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

E64-II

E64

Description

E64-II is a virtual computer system that runs on macOS and linux. It's mainly inspired by the Commodore 64 but implements significant parts of Amiga 500 and Atari ST technology as well.

Technical specifications:

  • Motorola 68000 CPU running at 11.88MHz using the Moira library.
  • Total of 16MB ram.
  • Custom Video Interface Chip (VICV) with a resolution of 512x288 pixels and a palette of 4096 colors (12bit).
  • Custom Blitter Chip with alpha blending capabilities.
  • Two SID chips (MOS 6581) with stereo mixing possibilities. Each individual SID chip runs at 985248Hz for the same pitch as the original C64 pal version. Emulation is achieved with the excellent reSID library by Dag Lem. All combined 16 bit registers (lo/hi voice frequencies, pulse widths and filters) have been swapped to big endian format for interoperability with the Motorola 68000.
  • Eight independent and programmable timers with interrupt functionality.

Screenshots

Running (normal mode):

E64-II running

Monitor (debugging mode):

E64-II monitor view

Compiling

Core application

macOS

  • Install Xcode
  • Install the SDL2 framework development library to /Library/Frameworks
  • Open the Xcode project in the ./macOS/E64-II folder and build the application

Ubuntu Linux / Debian

Run the following commands in a terminal:

$ sudo apt install build-essential cmake git libsdl2-dev
$ git clone https://github.com/elmerucr/E64-II
$ cd E64-II && mkdir build && cd build
$ cmake ..
$ make

Finally, to run the application from the build directory:

$ ./E64-II

Building KERNEL

The sourcecode comes with a working version of the kernel kernel.cpp. If you want to build and/or modify it yourself however, have a look the E64-II-KERNEL project.

Websites and projects of interest

Assemblers and Compilers

  • 64tass - An assembler for the legendary 6502 processor and its derivatives.
  • asmx multi-CPU assembler - Excellent assembler with Motorola 680x0 support amongst others.
  • ATARI MiNT cross-compiler for Mac OS X - Based on the latest m68k-atari-mint cross-compiler work of Vincent Rivière.
  • cc65 - cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools.
  • vasm - A portable and retargetable assembler with very good support for the Motorola 680x0 family by Volker Barthelmann / Frank Wille.
  • Vincent Rivière's m68k-atari-mint cross-tools - Both bin tools and gcc to target m68k platform.

Emulators

  • CCS64 - A Commodore 64 Emulator by Per Håkan Sundell.
  • Commander X16 emulator - Software version of Commander X16.
  • Hatari - Hatari is an Atari ST/STE/TT/Falcon emulator.
  • lib65ce02 - CSG65CE02 emulator written in C.
  • Moira - New Motorola 68000 emulator written in C++ by Dirk W. Hoffmann.
  • Musashi - Motorola 680x0 emulator written in C by Karl Stenerud.
  • reSID - ReSID is a Commodore 6581 or 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.

Other

  • C256 Foenix - A computer that could have possibly followed the Commodore 128 if things would have been different at Commodore at the time.
  • 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.
  • EmuTOS - EmuTOS is a Free operating system for computers based on Motorola 680x0 or ColdFire microprocessors.
  • Mega65 - The 21st century realization of the C65 heritage.
  • 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.
  • ultimate64 - A hardware implementation (FPGA) of the C64.
  • visual6502 - Visual Transistor-level Simulation of the 6502 CPU and other chips.

MIT License

Copyright (c) 2021 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.

About

The E64-II (Enhanced 64-II) is a virtual computer system (under construction) that runs on macOS and linux. It's mainly inspired by the Commodore 64 but implements significant parts of Amiga 500 and Atari ST technology as well.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published