This page or section is in question as to whether it is useful or not. You can discuss whether you think it should be deleted or not on its talk page. (June 2024) Reason: Half of this page is talking about Scratch-irrelevant topics |
For more information, see Emulator on Wikipedia. An emulator is a piece of hardware or software (software-based emulators are the most common) that allows a computer or other such device to function like another piece of technology. In general, emulators run programs or other devices that were meant for another system architecture.
Types of Emulators
There are three ways in which emulators can be created, and they are:
- Interpretation
- Dynamic recompilation
- Static recompilation
Interpretation
Interpretation Emulators use the interpretation method to read the original code and execute the instructions based on the presented code. This method may be very slow due to the instructions being decoded line by line and then interpreted on the fly.
Dynamic Recompilation
Dynamic Recompilation is when the emulator converts large portions of code (as the program reaches it) into a format that is easier for the system architecture to execute. The system then can read the converted program in a much faster manner.
Static Recompilation
Static Recompilation is similar to Dynamic Recompilation in the respect that it converts the code into a different format. However, this method re-compiles the program into the needed format before the program runs. This method is faster while the program runs, but it does take time to convert the entire thing before execution. Problems may arise from this method, such as not being able to execute instructions that were not present at the time of recompilation.
Controversy
Some users upload projects with 'Emulator' in the name that are technically not Emulators, but rather Simulators instead.[citation needed] Simulators are different to Emulators, as Simulators mimic the menu/games of a certain platform, whilst Emulators emulate the hardware, enabling users to import ROMs, and interact (usually) with the emulation. These projects with potentially misleading titles are often frowned upon by other Scratchers.[citation needed]
Emulators on Scratch
Several Scratchers have created fully functional emulators on Scratch. This is a few examples of emulator projects:
- Chip-84 Scratch Edition by MCAnimator3D
- gbc.sb2 by DCPU-16
- Meta NES Emulator by bobbybee