Discuss Scratch
- Discussion Forums
- » Advanced Topics
- » Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
Wave Multi-Emulator Collaboration
Current version: V1.1.2
GitHub: https://github.com/NinjaWeedle/Wave-Multi-Emulator
SUPPORT FOR: CHIP8, hi-res CHIP8, SuperChip, XO-CHIP 1.1, HyperWaveCHIP-64, MegaChip, UHWEI*, Game Boy, Game Boy Color, NES, Intel 8080, Space Invaders, HYPERCHIP-64(no 4 channel audio support)
Partial support (games run albeit with issues or major portions of device being emulated are unimplemented) for: Nintendo DS, Bytepusher
Pre-alpha support for (some code exists but it doesn't really run anything): Game Boy Advance
*Ultimate Hello, World Esolang Interpreter isn't really an emulator but is used as a sort of command line interface for Wave
Wave Multi-Emulator is not one emulator, but many. The concept is similar to Retroarch's core system: The project has a main gui for loading roms and emulators, and the emulators themselves are each contained in their own respective sprite(s) (In the case of the DS, two sprites). There's also various tools for developers such as global 8-bit AND,OR, and XOR tables and a universal “cleanup” function.
Of course, the main thing that separates Wave from other emulators done in Scratch is the collaboration aspect- So far, around 5-6 people have pitched in:
@Geotale/@EmulatorsOnScratch started the project in June of 2020, and has worked on the CHIP8, GBA, and DS emulators.
@Executec joined soon after, mainly working on the gui and doing a small bit of work on the Gameboy emulator (plus a few other things.
I jumped on in October 2020, and since then, I've made major overhauls to the GUI, added Superchip, hi-res chip8, and XO-CHIP support, as well as numerous bugfixes.
In October 2021, @52525rr ported her WIP Game Boy emulator, DualGB, to Wave as part of V0.6.X - Multi-Platform Edition.
V0.7 released in December 2021 with Cool NES by @GenericHeroGuy & Bytepusher by @52525rr, and the return of @Executec with the release of Wave V0.7.3! Super 7X then followed, combining the classic style of Wave with V0.7.3.
V0.8.X released in brought Game Boy Color support, a much more intuitive ROM importing system, and initial Mega Chip support.
V0.9.X brought the start of SI8080, better themes, finished Megachip support, remappable controls, and lots of backend work.
And now, 3 years after the project was started, Version 1.0.0 is finally out. SI8080 has been finished, DualGB has been replaced with 52525rr's new, faster and more accurate Game Boy emulator, rrGBC, and almost all the emulators have gotten several bugfixes and improvements. You can even keep your battery saves from games you play!
If you would like to help, feel free to!
If you're interested, go to the official studio here and leave a comment!
How do I run games in Wave?
Scratch can't read uploaded files directly from the player- Wave works around this by having the user first convert their roms into either hex or base64 (depending on the emulator), and then having them paste the hex or base64-converted rom into a dialog box. You can then just open the emulator you want to use, and the game should load. (Size limits apply for anything above XO-CHIP, ESPECIALLY for DS)
4/10/2024: Some images had to be removed from this post due to the filter update.
Last edited by oxiti8 (April 16, 2024 03:21:26)
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
Known CHIP-8 compatibility issues as of V0.9.6:
Green means an issue existed, but now has been fixed.
Yellow signifies a minor issue that has a known cause.
Gold signifies a minor issue with an unknown cause.
Orange signifies a major issue that has a known cause.
Red signifies a major issue with an unknown cause.
keyboard reporting wrong keys FIXED IN V0.5.1!
CHIP-8
Animal Race FIXED IN V0.8.3
Danm8ku FIXED IN V0.8.3
- VIP compatibility mode with clipping added in V0.9.6
SuperChip8
Ant - The Search for Coke FIXED IN V0.6.5
(Old) Workaround for Wave V0.4.9: Fix press 0 to disable wrapping and collision, move the ant away from the wall, and then press 0 to reenable wrapping and collisions. This option is not available in Wave 0.5.X and above.
Boot 128 - FIXED! Now playable as of V0.7.6. You must set the starting address to 256 in UHWEI by typing “set start address” and then “256”. You then need to exit UHWEI by typing “exit”, then launch WAVE-8. Boot-128 will then run!
XO-CHIP
XO-NYANCAT!! FIXED IN V0.9
Mega-Chip8
Mega Particle Demo FIXED IN V0.8.6
Mega Twister Demo - no audio, MegaChip audio is not yet supported
Mega Minimal FIXED IN V0.8.5
MTDemo - Displays improperly due to expecting weird (incorrect) behavior on screen scrolls, also needs audio and blending modes implemented (blending modes were never implemented in MEGA-CHIP8 but they are in the spec so I would consider this a valid issue)
If a game plays wrong and isn't listed here, try different combinations of load/save, shift, and SF2091! fixes first. If the game doesn't work after trying all other quirks, press 0. If the game still doesn't work, post the game's title in this thread!
Green means an issue existed, but now has been fixed.
Yellow signifies a minor issue that has a known cause.
Gold signifies a minor issue with an unknown cause.
Orange signifies a major issue that has a known cause.
Red signifies a major issue with an unknown cause.
keyboard reporting wrong keys FIXED IN V0.5.1!
CHIP-8
Animal Race FIXED IN V0.8.3
Danm8ku FIXED IN V0.8.3
- VIP compatibility mode with clipping added in V0.9.6
SuperChip8
Ant - The Search for Coke FIXED IN V0.6.5
(Old) Workaround for Wave V0.4.9: Fix press 0 to disable wrapping and collision, move the ant away from the wall, and then press 0 to reenable wrapping and collisions. This option is not available in Wave 0.5.X and above.
Boot 128 - FIXED! Now playable as of V0.7.6. You must set the starting address to 256 in UHWEI by typing “set start address” and then “256”. You then need to exit UHWEI by typing “exit”, then launch WAVE-8. Boot-128 will then run!
XO-CHIP
XO-NYANCAT!! FIXED IN V0.9
Mega-Chip8
Mega Particle Demo FIXED IN V0.8.6
Mega Twister Demo - no audio, MegaChip audio is not yet supported
Mega Minimal FIXED IN V0.8.5
MTDemo - Displays improperly due to expecting weird (incorrect) behavior on screen scrolls, also needs audio and blending modes implemented (blending modes were never implemented in MEGA-CHIP8 but they are in the spec so I would consider this a valid issue)
If a game plays wrong and isn't listed here, try different combinations of load/save, shift, and SF2091! fixes first. If the game doesn't work after trying all other quirks, press 0. If the game still doesn't work, post the game's title in this thread!
Last edited by oxiti8 (Nov. 30, 2022 02:47:02)
- ScratchCatHELLO
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
how do people even make things like this??
I would check it out, but I'm a little worried firefox might not be as interested in it as I am.
I would check it out, but I'm a little worried firefox might not be as interested in it as I am.
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
It should load fine, the project is only 6.7 Megabytes. how do people even make things like this??Just don't try to load DS
I would check it out, but I'm a little worried firefox might not be as interested in it as I am.
- Barthdry
- Scratcher
500+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
Can you please make a youtube tutorial or wiki tutorial on how to make things like this because i love to make amazing projects like this which can load rom cartiledges
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
I could make a video overview of how to do a Chip-8 emulator in scratch, it wouldn’t delve super deep into the actual code since there are a variety of ways to do one but I would-have things like “how to parse a hex string formatted rom” and things like how to setup memory and dealing with DXYN. No promises but I may be able to crank a video out over the summer. Can you please make a youtube tutorial or wiki tutorial on how to make things like this because i love to make amazing projects like this which can load rom cartiledges
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
V0.4.8 Update notes
Main menu updates-
- Menu tiles now scroll at the same speed in Turbowarp's 60 fps mode as they do in vanilla Scratch's 30 fps.
Emulator updates:
Chip 8: You can now hit 0 to enable and disable collisions & Wrapping. The vast majority of games don't need this, but disabling wrapping and collisions at the start of Ant: The search for Coke fixes the immediate death issue. Once you move past the left wall, press 0 again to re-enable collisions and wrapping. NOTE: Wrapping and collisions are enabled by default.
I've been working on Gameboy emulation on and off, progress is slow.
Main menu updates-
- Menu tiles now scroll at the same speed in Turbowarp's 60 fps mode as they do in vanilla Scratch's 30 fps.
Emulator updates:
Chip 8: You can now hit 0 to enable and disable collisions & Wrapping. The vast majority of games don't need this, but disabling wrapping and collisions at the start of Ant: The search for Coke fixes the immediate death issue. Once you move past the left wall, press 0 again to re-enable collisions and wrapping. NOTE: Wrapping and collisions are enabled by default.
I've been working on Gameboy emulation on and off, progress is slow.
- kccuber
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
Aw man, your tab crashed! I would check it out, but I'm a little worried firefox might not be as interested in it as I am.
I'm pretty excited about GBA so i can play the actual version of griffpatch's tile scrolling platformer
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
GBA is sourced from Geotale's GBA Emulator v0.0.5, GBA is definitely beyond my abilities at the moment so I can't say when or even if that one will get retail games running, that would moreso depend on Geotale's efforts. I'm pretty excited about GBA so i can play the actual version of griffpatch's tile scrolling platformer
- GerekRulesGwof
- Scratcher
500+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
exactly how do i convert a ds rom? i want to try and run a flipnote studio rom i have on there
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
To import a DS rom, convert it to hex, then type “NDS” in the rom import prompt. Next, paste your hex converted NDS rom. exactly how do i convert a ds rom? i want to try and run a flipnote studio rom i have on there
- GerekRulesGwof
- Scratcher
500+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
ok
- GerekRulesGwof
- Scratcher
500+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
lol i tried to convert the smallest game possible - game and watch collection, which is around 8 megabytes, and now that it is converted it is 48.5 megabytes lol
- GerekRulesGwof
- Scratcher
500+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
It is just a blank screen, how long do I wait for?
https://www.mediafire.com/file/htei6x4obcb60hi/Game_and_Watch_Collection_DS_ROM_converted_for_Wave_multi-emulator_on_Scratch.txt/file
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
It may not work at all. Scratch ha a 400,000 entry limit on lists, which may be too small for the majority of nds roms. You should try “trimming” the rom to remove empty data, As I see a ton of 0x00 in that txt file. It is just a blank screen, how long do I wait for?
https://www.mediafire.com/file/htei6x4obcb60hi/Game_and_Watch_Collection_DS_ROM_converted_for_Wave_multi-emulator_on_Scratch.txt/file
EDIT: Remove the commas and newlines from the file as well
Last edited by oxiti8 (July 24, 2021 15:58:13)
- oxiti8
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
I have found this setup to work best. both Chip8 and NDS emulators can use roms with “0x”, but to save space it isn't needed.
*Note*: Unlike NDS, Chip-8 cannot use commas in its roms
*Note*: Unlike NDS, Chip-8 cannot use commas in its roms
Last edited by oxiti8 (July 24, 2021 16:16:09)
- GerekRulesGwof
- Scratcher
500+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
i tried to do that but unfortunately i use chrome… and the chrome browser so it instantly crashed lol. i have a “high-end” chromebook which is basically just a severely under powered windows laptop XD
- GerekRulesGwof
- Scratcher
500+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
maybe hex to dec as well will make it work better?
- GerekRulesGwof
- Scratcher
500+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
I have converted a small ROM, which is Flipnote Studio (USA) and 2.8 megabytes. I checked off both options and the resulting file size is 5.8 megabytes. However, the screen is still black and it says “UGOMEMO-V2” in the variable. You can download the files here: https://www.mediafire.com/file/0b7oo0y774bk7ln/Flipnote+Studio+(USA)+(En,Fr,Es)+ROMs.zip/file. The ROM is official and was downloaded from the DSiWare archive.
Last edited by GerekRulesGwof (Aug. 4, 2021 13:30:41)
- kccuber
- Scratcher
1000+ posts
Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!
OMW to run the emulator in microsoft edge (so firefox wont throw a tantrum)
- Discussion Forums
- » Advanced Topics
- » Wave Multi-Emulator Collaboration- Emulating CHIP-8, GBC, NES, NDS, Intel 8080, and more all in one Scratch Project. - V1.1.0 out now!