flashsnes is a SNES emulator that runs on Flash Player. It is a port of SNES9x, a portable, freeware Super Nintendo Entertainment System (SNES) emulator. The project is coded using AS3 and C, which is compiled using the Alchemy compiler. The AS3 part of the app has the integration logic for SNES9x video, sound and events (implemented in C).
Some of the AS3 files are generated by a script that uses some C files and input. After all files have been generated, it’s possible to compile an SWC containing code for SNES9X. Using that SWC, a developer can instantiate an Emulator class and start playing SNES rooms in Flash. This class handles everything from rendering to audio and input.
// Emulator var emulator:Emulator = new Emulator( romLoader.data, stage ); var screen:Bitmap = emulator.screen; // Performance Adapter var adapter:PerformanceAdapter = new PerformanceAdapter; adapter.wrapEmulator(emulator); // Interface var playerControls:PlayerControls = new PlayerControls( emulator ); var performance:Performance = new Performance(); // Show addChild( screen );