Skip to content
/ caio Public
forked from cdio/caio

8 bits home computers emulator

License

Notifications You must be signed in to change notification settings

nola-a/caio

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

caio - 8 bits home computers emulator

caio is an emulator of hardware platforms with a strong focus on old 8 bits home computers.

The goal of caio is to provide a single core architecture able to emulate several different hardware platforms. To do that, the chip-set used by those platforms are emulated.

Status

caio is currently in alpha state, it is work-in-progress and at the moment the following platforms are emulated:

Commodore 64

The emulation of the Commodore 64 almost reached a beta status and most of the tested programs work just fine (if they do not exploit obscure video/timing tricks or trigger some bug ;).

c64 gyruss q-bert uridium giana zauberwald

Sinclair ZX80

The implementation of the ZX80 is under development and it is not currently working.

Supported host platforms

At the moment the supported host platforms are Linux and macOS.

Compile, install and packaging

Dependencies

Linux:

    $ sudo apt install clang pkg-config libsdl2-dev libsdl2-image-dev
    ...

macOS:

xcode, xcode command line tools, and brew must be installed.

   $ brew install pkg-config sdl2 sdl2_image
   ...

Compile

    $ make PREFIX=/usr/local all
    ...
    $ sudo make PREFIX=/usr/local install
    ...

The default value for the PREFIX make variable is /opt/caio.

For more information read the compile, install and packaging documentation.

Usage & Configuration

To launch caio, from a console:

    $ caio c64 --help

All the command line options can be specified in a configuration file.

Examples:

The following command activates the horizontal scanlines visual effect, scales up the emulated screen resolution 4 times (that is, a 320x200 screen is scaled up to 1280x800), loads and launches the cartridge named gyruss:

    $ caio c64 --scanlines h --scale 4 --cart ./gyruss.crt

The next command injects a PRG program into memory and launches it as soon as the basic is started:

    $ caio c64 --prg ./rambo.prg

Note that this won't work for advanced or big program files that overwrite memory areas not configured as RAM.

For more information about usage, keyboard mappings, joysticks, etc. read the usage documentation.

Releases

The first beta release will contain the following emulators:

There is no date for this release.

There could be pre-releases containing alpha versions of the emulators under development. No dates for these.

It is desired for future releases to provide emulation for:

Old Hardware

If you have some old home computer and want to donate it, I will gladly accept it even if it is not working. Please let me know.

About

8 bits home computers emulator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.3%
  • Makefile 2.5%
  • Other 0.2%