Your browser does not support JavaScript! Skip to main content
Free 30-day trial DO-178C Handbook RapiCoupling Preview DO-178C Multicore Training Multicore Resources
Rapita Systems
 

Industry leading verification tools

Rapita Verification Suite (RVS)

RapiTest - Functional testing for critical software RapiCover - Low-overhead coverage analysis for critical software RapiTime - In-depth execution time analysis for critical software RapiTask - RTOS scheduling visualization RapiCoverZero - Zero-footprint coverage analysis RapiTimeZero - Zero-footprint timing analysis RapiTaskZero - Zero-footprint event-level scheduling analysis RVS Qualification Kits - Tool qualification for DO-178 B/C and ISO 26262 projects RapiCouplingPreview - DCCC analysis

Multicore Verification

MACH178 - Multicore Avionics Certification for High-integrity DO-178C projects MACH178 Foundations - Lay the groundwork for A(M)C 20-193 compliance RapiDaemons - Analyze interference in multicore systems

Other

RTBx - The ultimate data logging solution Sim68020 - Simulation for the Motorola 68020 microprocessor

RVS Software Policy

Software licensing Product life cycle policy RVS Assurance issue policy RVS development roadmap

Industry leading verification services

Engineering Services

Data Coupling & Control Coupling Object code verification Qualification Training Consultancy Tool Integration Support

Latest from Rapita HQ

Latest news

RVS 3.24 accelerates multicore software verification
Rapita Systems and Avionyx Announce Strategic Partnership to Offer Best-in-class Avionics Solutions
RVS 3.23 Launched
Rapita System Announces New Distribution Partnership with COONTEC
View News

Latest from the Rapita blog

Retro gaming with the Sim68020
RVS gets a new timing analysis engine
How to measure stack usage through stack painting with RapiTest
What does AMACC Rev B mean for multicore certification?
View Blog

Latest discovery pages

Processor How to achieve multicore DO-178C certification with Rapita Systems
Plane How to achieve DO-178C certification with Rapita Systems
Military Drone Certifying Unmanned Aircraft Systems
control_tower DO-278A Guidance: Introduction to RTCA DO-278 approval
View Discovery pages

Upcoming events

Test what you fly - Real code, Real Conditions Webinar
2026-04-14
Avionics Certification Q&A: CERT TALK
2026-05-06
XPONENTIAL 2026
2026-05-11
DO-178C Multicore In-person Training (Heathrow)
2026-05-12
View Events

Technical resources for industry professionals

Latest White papers

Mitigation of interference in multicore processors for A(M)C 20-193
Sysgo WP
Developing DO-178C and ED-12C-certifiable multicore software
DO178C Handbook
Efficient Verification Through the DO-178C Life Cycle
View White papers

Latest Videos

Certification-Ready Rust: GNAT Pro & RVS for Avionics Standards
Accelerated software verification with RVS 3.23
Getting started with RVS
Test what you fly - Real code, Real Conditions Webinar
View Videos

Latest Case studies

Case Study Front Cover
Multicore timing analysis support for ECSS-E-ST-40C R&D with MACH178
GMV case study front cover
GMV verify ISO26262 automotive software with RVS
Kappa: Verifying Airborne Video Systems for Air-to-Air Refueling using RVS
View Case studies

Other Resources

 Webinars

 Brochures

 Product briefs

 Technical notes

 Research projects

 Flyers

 Multicore resources

Discover Rapita

About us

The company menu

  • Customers
  • Partners & Distributors
  • Research projects
  • Contact us
  • Careers
  • Working at Rapita
  • Subscribe to newsletter

Industries

  Civil Aviation (DO-178C)   Military & Defense   Automotive (ISO 26262)   Space

Standards

  DO-178C   A(M)C 20-193

US office


info@rapitasystems.com Rapita Systems, Inc., 41131 Vincenti Ct., Novi, MI 48375, USA

UK office

+44 (0)1904 413945
info@rapitasystems.com Rapita Systems Ltd., Atlas House, Osbaldwick Link Road, York, YO10 3JB, UK

Spain office

+34 93 351 02 05
info@rapitasystems.com Rapita Systems S.L., Parc UPC, Edificio K2M, c/ Jordi Girona, 1-3, Barcelona 08034, Spain
Back to Top

Retro gaming with the Sim68020

Matt Grum
2026-03-31

In a previous blog, we showed how our Sim68020 simulator can provide simulation and emulation capabilities for the Motorola 68020 microprocessor, using emulation of a Microsoft Flight Simulator test rig as an example.

While nowadays, specialist processors tend to be used in safety-critical avionics, this wasn’t always the case. As well as being used in aircraft like the Eurofighter Typhoon, the Motorola 68K processor family found its way into a variety of devices such as PCs, printers and games consoles such as the SEGA Mega Drive (known as the SEGA Genesis in North America).

Here at Rapita, we love a bit of retro gaming, so we couldn’t resist the temptation to test the Sim68020 out on some of the classics.

First, we wanted to see if we could run the original Sonic the Hedgehog by SEGA. The purpose of the simulator is to be able to run original compiled binary executables without modification, so there's no reason this wouldn't be possible. 

Sonic the Hedgehog Mega Drive cartridge

The first step was to extract the program data from an original game cartridge using a USB ROM dumper. Now all we had to do was pass the file to the simulator, and the game was running! One slight problem came up, though… we couldn’t see any output!
 

Extracting program data for Sonic the Hedgehog

To create an image on a CRT television, the Mega Drive sends instructions via memory mapped IO to its Video Display Processor (VDP) which generates the analogue video signal to send to a television. This is an ideal use case for the Sim68020’s plugin system – we can intercept those commands and emulate the behavior of the VDP to display an image on the host PC.

Sega Mega Drive Boot Screen

This is the first screen the plugin drew - there are clearly some issues, but we could see the SEGA logo, demonstrating that the game code in the background was indeed working.

After fixing a few issues with interpreting the data and some endianness problems it started to produce some more recognizable output.

Sonic the Hedgehog running on Sim68020

Finally, after some more debugging all the sprite and background layers were working.

Sonic the Hedgehog Loading Screen Sega Mega Drive 1991

Whilst it’s nice to be able to run the code and see the graphical output, it would be much better if we could play the game! It turned out not to be too difficult to set this up – once again memory mapped IO is used internally to interface with the controllers, so we can extend the plugin to read keystrokes from Windows and pass the data to the simulator, and voila, it becomes fully playable!

This was a good test of Sim68020’s instruction set handling as the code for Sonic the Hedgehog was written directly in Assembly and hand-optimized for performance, utilizing unusual instructions where necessary. What if you wanted to see exactly which instructions have been executed? Sim68020 can generate a branch trace, which allows it to be used with RapiCover Zero, so we can generate an object code coverage report for Sonic the Hedgehog!

Sonic the Hedgehog code coverage report RapiCover

This is great but I’m sure the question on everyone’s lips is: “can it run DOOM?”

Yes! As it happens, this was even easier as the game was open sourced by the developers so we could simply recompile it for the 68020. DOOM uses a simple frame buffer rather than a dedicated graphics processor, so we could make use of the shared memory plugin that comes with the simulator to render the output to screen.

Doom running on Sim68020 Motorola 68020 processor

A real 68020 microprocessor would not be fast enough to run the game at an acceptable framerate, but another advantage of the simulator is that it can be made to run much faster than the real hardware, reducing the time it takes to run functional tests.

It was a lot of fun getting the Sim68020 to let us play Sonic and DOOM, and it was a good demonstrator of the flexibility of the simulator. Interested in simulation for the 68020 or another legacy processor? Get in touch.

DO-178C webinars

DO178C webinars

White papers


Mitigation of interference in multicore processors for A(M)C 20-193
Sysgo WP
Developing DO-178C and ED-12C-certifiable multicore software
DO178C Handbook
Efficient Verification Through the DO-178C Life Cycle

A Commercial Solution for Safety-Critical Multicore Timing Analysis
  • Solutions
    • Rapita Verification Suite
    • RapiTest
    • RapiCover
    • RapiTime
    • RapiTask
    • MACH178
  • Latest
  • Latest menu

    • News
    • Blog
    • Events
    • Videos
  • Success Stories
  • Success Stories Menu

    • Airbus Defence & Space
    • BAE Systems
    • Cobham
    • Collins Aerospace
    • Leonardo
  • Downloads
  • Downloads menu

    • Brochures
    • Webinars
    • White Papers
    • Case Studies
    • Product briefs
    • Technical notes
    • Software licensing
  • Company
  • Company menu

    • About Rapita
    • Careers
    • Customers
    • Industries
    • Locations
    • Partners
    • Research projects
    • Contact
  • Discover
    • Multicore Timing Analysis
    • Worst Case Execution Time
    • WCET Tools
    • Code coverage for Ada, C & C++
    • MC/DC Coverage
    • Verifying additional code for DO-178C
    • Data Coupling & Control Coupling
    • DO-178C
    • AC 20-193 and AMC 20-193
    • Certifying eVTOL
    • Certifying UAS

All materials © Rapita Systems Ltd. 2026 - All rights reserved | Privacy information | Trademark notice Subscribe to our newsletter