Retro

plus4emu – emulator of the Commodore 264 family of computers

plus4emu is an open source, portable emulator of the Commodore 264 family of computers (C16, C116, and Plus/4), written in C++.

This emulator is developed with the aim of implementing the best hardware emulation accuracy, at the expense of relatively high system requirements.

In addition to a complete, cycle exact emulation of the basic components, such as the MOS 6502 compatible CPU and the MOS Technology TED video chip, various external devices like the Commodore 1541, Commodore 1551, and Commodore 1581 floppy drives, the MPS-802 printer, and MOS Technology SID expansion are implemented.

Features include:

  • Cycle exact emulation of the 7501/8501 CPU, with full support for all documented and undocumented opcodes.
  • Cycle exact TED 7360/8360 emulation with very high level of compatibility, implements all documented video modes, PAL/NTSC mode switching, accurate sound emulation, as well as all known display artifacts; all registers can be read and written, and the internal operation and timing is reproduced with very good accuracy.
  • RAM size can be 16, 32, 64, 256, or 1024 kilobytes (the latter two using the Hannes memory expansion).
  • Up to 8 16 kilobyte banks of ROM can be loaded from external image files; using custom ROM files for the emulated floppy drives and printer is also possible.
  • Limited emulation of the ACIA 6551 registers.
  • Tape emulation with playback, recording, and setting tape position; markers can be created for quick positioning to specific tape locations (useful for tapes with multiple files):
    • Uses custom file format which is PCM audio data with 1 to 8 bits of sample resolution and variable sample rate, and header including the table of markers.
    • Limited (read only) support for the commonly used MTAP file format, as well as read-write (although without markers) support for sound files like WAV, AIFF, etc.
  • Hardware level emulation of the 1541, 1551, and 1581 floppy disk drives, with support for D64 and D81 files; compatibility with 1541 and 1551 fast loaders is fairly good in recent versions of the emulator.
  • IEC level 1551 floppy drive emulation for accessing .PRG, .P00, .R00, .S00, and .U00 files on the PC filesystem; this also supports the C, I, N, P, R, S, and V DOS commands.
  • Light pen emulation (compatible with the Trojan Light Pen software).
  • IEC level MPS-801 printer emulation.
  • Hardware level 1526/MPS-802 printer emulation.
  • Load and automatically start .PRG, .P00, .D64, .D81, or .TAP file on start-up.
  • .PRG, .P00, .D64, and .D81 files can be associated with plus4emu on Windows.
  • SID chip (MOS 6581 and 8580) emulation using version 0.16 of the reSID library written by Dag Lem; the Digi-Blaster expansion by Solder is also supported.

General

  • Graphical user interface using the FLTK library.
  • Software (FLTK based) or OpenGL video, with resizable emulator window, fullscreen mode, brightness/contrast/gamma can be set globally or separately for red/green/blue channels, color saturation control. Additional features in OpenGL mode only: single or double buffered (with synchronization to vertical refresh) mode, linear texture filtering, and some display effects.
  • High quality television (PAL and NTSC) emulation; implements full horizontal and vertical synchronization, blanking, equalization, sync, and burst signals, interlace, and (if OpenGL 2.0 shaders are available) separate luma/chroma filtering to emulate the blurriness of the TV picture.
  • Real time audio output uses the PortAudio library (v18 or v19), with support for many native audio APIs (MME/DirectSound/ASIO on Windows, OSS/ALSA/JACK on Linux, and CoreAudio on MacOS X); high quality sample rate conversion with low aliasing; volume control, two first order highpass filters with configurable cutoff frequency, and an optional parametric equalizer can be applied to the audio signal.
  • Recording audio output to a WAV format sound file.
  • Recording video and sound output to an AVI format video file, with RLE8 or uncompressed YV12 video at 24 to 60 frames per second, and 48000 Hz 16-bit PCM audio.
  • Saving screenshots as 768×576 24-bit RLE compressed TGA files.
  • Saving and loading snapshots of the state of the emulated machine.
  • Demo recording (snapshot combined with stream of keyboard events which can be played back with accurate timing).
  • GUI debugger with support for breakpoints/watchpoints, viewing the current state of CPU registers and memory paging, displaying memory dump or loading from or saving to a file in ASCII or binary format, and disassembler with support for all undocumented 6502 opcodes.
  • Configurable keyboard map for the emulated machine; it is also possible to use external game controller devices like joysticks and gamepads.
  • mouse and clipboard support for setting the cursor position, copying, and pasting text in the emulated machine.
  • The Plus/4 emulation can be used in other programs as a shared library with a C interface.

Website: plus4emu.sourceforge.net
Support: SourceForge
Developer: Istvan Varga
License: GNU General Public License v2.0

plus4emu

plus4emu is written in C++. Learn C++ with our recommended free books and free tutorials.

Return to Home Computer Emulators


Popular series
Free and Open Source SoftwareThe largest compilation of the best free and open source software in the universe. Each article is supplied with a legendary ratings chart helping you to make informed decisions.
ReviewsHundreds of in-depth reviews offering our unbiased and expert opinion on software. We offer helpful and impartial information.
The Big List of Active Linux Distros is a large compilation of actively developed Linux distributions.
Alternatives to Proprietary SoftwareReplace proprietary software with open source alternatives: Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle, Atlassian, Corel, Cisco, Intuit, and SAS.
GamesAwesome Free Linux Games Tools showcases a series of tools that making gaming on Linux a more pleasurable experience. This is a new series.
Artificial intelligence iconMachine Learning explores practical applications of machine learning and deep learning from a Linux perspective. We've written reviews of more than 40 self-hosted apps. All are free and open source.
Guide to LinuxNew to Linux? Read our Linux for Starters series. We start right at the basics and teach you everything you need to know to get started with Linux.
Alternatives to popular CLI tools showcases essential tools that are modern replacements for core Linux utilities.
System ToolsEssential Linux system tools focuses on small, indispensable utilities, useful for system administrators as well as regular users.
ProductivityLinux utilities to maximise your productivity. Small, indispensable tools, useful for anyone running a Linux machine.
AudioSurveys popular streaming services from a Linux perspective: Amazon Music Unlimited, Myuzi, Spotify, Deezer, Tidal.
Saving Money with LinuxSaving Money with Linux looks at how you can reduce your energy bills running Linux.
Home ComputersHome computers became commonplace in the 1980s. Emulate home computers including the Commodore 64, Amiga, Atari ST, ZX81, Amstrad CPC, and ZX Spectrum.
Now and ThenNow and Then examines how promising open source software fared over the years. It can be a bumpy ride.
Linux at HomeLinux at Home looks at a range of home activities where Linux can play its part, making the most of our time at home, keeping active and engaged.
Linux CandyLinux Candy reveals the lighter side of Linux. Have some fun and escape from the daily drudgery.
DockerGetting Started with Docker helps you master Docker, a set of platform as a service products that delivers software in packages called containers.
Android AppsBest Free Android Apps. We showcase free Android apps that are definitely worth downloading. There's a strict eligibility criteria for inclusion in this series.
Programming BooksThese best free books accelerate your learning of every programming language. Learn a new language today!
Programming TutorialsThese free tutorials offer the perfect tonic to our free programming books series.
Linux Around The WorldLinux Around The World showcases usergroups that are relevant to Linux enthusiasts. Great ways to meet up with fellow enthusiasts.
Stars and StripesStars and Stripes is an occasional series looking at the impact of Linux in the USA.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Please read our Comment FAQ before posting a comment.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments