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! [RSS Feed]
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!

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.
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!

ScratchCatHELLO wrote:

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.
It should load fine, the project is only 6.7 Megabytes. Just don't try to load DS
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!

Barthdry wrote:

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
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.
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.
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!

ScratchCatHELLO wrote:

I would check it out, but I'm a little worried firefox might not be as interested in it as I am.
Aw man, your tab crashed!

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!

kccuber wrote:

I'm pretty excited about GBA so i can play the actual version of griffpatch's tile scrolling platformer
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.
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!

GerekRulesGwof wrote:

exactly how do i convert a ds rom? i want to try and run a flipnote studio rom i have on there
To import a DS rom, convert it to hex, then type “NDS” in the rom import prompt. Next, paste your hex converted NDS rom.
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!

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!

GerekRulesGwof wrote:

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
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.

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

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! [RSS Feed]

Powered by DjangoBB