Skip to content

Retro 8-Bits Emulator that emulates the Tandy's Color Computer II but could be the base of any other type of emulator

License

Notifications You must be signed in to change notification settings

JoProvost/r8bemu

Repository files navigation

R8BEmu : Retro 8-Bits Emulator

R8BEmu's goal is to emulate the Tandy's Color Computer family but could be the base of any other type of emulator.

Why another emulator?

This projet emerged from nostalgia, nothing more, there is no real need for another emulator of the Color Computer. Many of them exist and support more feature than what you'll se here. So why should I build yet another emulator? Just for fun!

Usage

$ ./r8bemu --help
Usage: r8bemu [options]

  --coco2               [true|false]    Use Color Computer 2 hardware emulation
  --coco3               [true|false]    Use Color Computer 3 hardware emulation
  --terminal-graphic    [true|false]    Activate the terminal interface in graphic mode
  --terminal            [true|false]    Activate the terminal interface in text mode
  --window              [true|false]    Activate the windowed graphic interface
  --window-width        <number>        Width of the windowed graphic interface
  --window-height       <number>        Height of the windowed graphic interface
  --composite           [true|false]    Composite blue/red color emulation
  --home                <path>          Home directory (location of ROM files)     (default: ~/.r8bemu)
  --disk                <path>          Insert the diskette image file in drive 0  (default: ~/.r8bemu/disk.dsk)
  --disk1               <path>          Insert the diskette image file in drive 1  (default: ~/.r8bemu/disk.dsk)
  --disk2               <path>          Insert the diskette image file in drive 2  (default: ~/.r8bemu/disk.dsk)
  --disk3               <path>          Insert the diskette image file in drive 3  (default: ~/.r8bemu/disk.dsk)
  --playback            <path>          Define the audio file used for playback    (default: ~/.r8bemu/playback.wav)
  --recording           <path>          Define the audio file used for recording   (default: ~/.r8bemu/recording.wav)
  --script              <path>          Load a script file at boot                 (default: ~/.r8bemu/autorun.bas)
  --script-text         <text>          Type the following keys at boot
  --mouse               [true|false]    Use the mouse as the left joystick
  --dpad-left           [true|false]    Use the keyboard arrow keys as the left joystick
  --dpad-right          [true|false]    Use the keyboard arrow keys as the right joystick
  --keyboard            [true|false]    Disable keyboard input buffering and translation
  --mute                [true|false]    Mute the speaker
  --disassembler        [true|false]    Enable the disassembler
  --trace               [true|false]    Enable the execution trace on error
  --trace-size          <number>        Limit the size of the execution trace
  --help                [true|false]    Show help

Boot ROM

Color Computer 2

In order to use this emulator, you must provide the ROM to boot on. You can download it from an actual Color Computer 2 you own and put the content of Color Basic in bas13.rom, Extended Color Basic in extbas11.rom and Disk Extended Color Basic in disk11.rom or craft your own :

  • bas13.rom starting at 0xA000 ending at 0xBFFF, boot vector must be at 0xBFFE ;
  • extbas11.rom starting at 0x8000 ending at 0x9FFF .
  • disk11.rom starting at 0xC000 ending at 0xFF00 .

Color Computer 3

For Color Computer 3 emulation, you need to provide the image of Extended Color Basic 2.0 in BASIC3.ROM and Disk Extended Color Basic in disk11.rom.

Tape cassette

To load a program from a .wav file, start the application with --playback <path-to-file> and type CLOAD or CLOADM at the prompt. To save on tape, start the application with --recording <path-to-file> and type CSAVE "<file-name>".

Disk

Disk support is much faster than the cassette support as the CPU does not have to decode the data on the disk and waits for the controller to feed sector bytes.

To load a program from a .dsk file, choose a disk by clicking on the disk icon and then :

  • type DIR to list the files,
  • type LOAD " to load a basic file,
  • type RUN " to load and run a basic file,
  • type LOADM " to load a binary file.

Script

In order to perform integration tests the content of a script may be is typed on the emulator keyboard. To do so, start the application with --script <path-to-file>.

Some useful resources

Other emulators

About

Retro 8-Bits Emulator that emulates the Tandy's Color Computer II but could be the base of any other type of emulator

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages