Dwedit's Board

Enjoy the board

You are not logged in.

Announcement

Welcome, fellow visitors from other websites!
Whenever you download a file, I'd appreciate it if you posted a nice "Thank You" message, then tell me which site you came from. Thanks.
- Dwedit

#1 2014-10-28 10:44:18 am

Dwedit
From: Chicago
Registered: 2004-12-12
Posts: 991
Website

Goomba Color NEW BETA 10-28-2014

I've released a beta version of Goomba Color for people to test out.  Yes, it's the first update in a very long time.
Full speed Shantae!!!

Here's a bunch of details...

* I rewrote the GBC's DMA feature. It was way too slow before, this should help all games run faster.
* I rewrote the background tile dirty cache feature, now games can DMA the entire tilemap into VRAM and not be slow.
* I rewrote the VRAM system again, now it's faster. I was seeing some bugs earlier, but I can't see them anymore?

Now there's game-engine specific speedhacks for the engine used by Wayforward's games: Shantae, Wendy Every Witch Way, Sabrina Spooked, Sabrina Zapped, and WWF Betrayal.
* The RNG routine, which is called constantly at the end of a frame, was ported to ARM asm (HUGE SPEEDUP).
* The most frequently executed Z80 code was also ported to ARM asm. * The game engine repeatedly copies the exact same graphics into RAM, then copies them to VRAM though DMA, I replaced that code to do far less unnecessary copying.
Sabrina Zapped uses a different RNG, I haven't ported that yet.

Game performance:
* Shantae's Frame rate depends on how many objects are on the screen, but it is usually around 50-55 FPS, or 60 FPS if there's no action going on.
* Wendy Every Witch Way dips down to 45FPS when there's lots of enemies on the screen, but runs at 58-60FPS when there aren't any enemies around. Unfortunately, this game sometimes crashes when you beat a level, no idea why. I blame the MusyX sound engine.
* WWF Betrayal is a beat-em-up game, and not a wrestling game at all. It runs at around 50FPS when there's two enemies on the screen, and 55FPS when there aren't any enemies around.
* Sabrina Spooked runs at 58FPS normally, and dips down to 55FPS when there are enemies around. Seems that the game can occasionally crash at the end of a level too, also with audio glitches (stuck notes) at the same time it crashed...
* Sabrina Zapped doesn't have the RNG rewritten yet, so it runs at 39FPS.
* Xtreme Sports has an earlier version of that game engine, and none the code I made hacks for could be applied to that game at all. Redoing the DMA code still helped the game a lot. It runs very well, since the game doesn't waste idle time repeatedly calling a RNG. Usually runs at 60FPS, sometimes dipping down to 58, except surfing has more objects on the screen, so it sometimes dips down to 45-50FPS.

Dare to compare:
Older version of the emulator:
*Shantae: 27FPS
*Wendy: 27FPS
*Spooked: 28FPS
*Zapped: 26FPS
*Betrayal: 27FPS
*Xtreme sports: 40FPS

(RNG = Random Number Generator)

Last edited by Dwedit (2014-10-30 3:57:34 pm)

Attachments:

"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#2 2014-11-06 4:42:46 pm

Hummtaro

Slime
Registered: 2014-11-06
Posts: 2

Re: Goomba Color NEW BETA 10-28-2014

Hey Dwedit,
really nice see you are still working on Goomba Color.
i like this new version but it doesn't save the selected palette
so i have to change the palette every start. thats annoying.
for now i will switch back to an older version but i'm sure its no problem for you to fix this little bug. :)

Greetings
Hummtaro

Offline

#3 2014-11-08 10:53:55 am

Dwedit
From: Chicago
Registered: 2004-12-12
Posts: 991
Website

Re: Goomba Color NEW BETA 10-28-2014

Don't worry, I take every post here seriously.

"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#4 2016-02-02 2:29:03 pm

Dan
Guest

Re: Goomba Color NEW BETA 10-28-2014

Thanks for making it, but it doesnt work on nesbox. Im going to try my psp and a few others n my pc. Ill post updates.

#5 2016-02-02 3:01:19 pm

Dwedit
From: Chicago
Registered: 2004-12-12
Posts: 991
Website

Re: Goomba Color NEW BETA 10-28-2014

Looks like it works fine on NesBox to me.

"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#6 2016-02-03 2:43:54 pm

Wariotx
Guest

Re: Goomba Color NEW BETA 10-28-2014

Is there any way to improve compatibility with the EZ IV flashcard? I get many weird bugs. Save files never work, and some roms don't work the first time or work only when you create the gba file in a different order (by appending the GB/GBC files to goomba emulator).
I must say the compatibility increased a lot between this version and the one from 2008.
Thanks for this great tool!

#7 2016-02-04 1:04:20 pm

Dwedit
From: Chicago
Registered: 2004-12-12
Posts: 991
Website

Re: Goomba Color NEW BETA 10-28-2014

I remember there was some tool that modified a ROM to put some information in there so EZ4 would allocate more save ram, but I don't know much about that stuff, sorry.

"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#8 2016-02-10 4:17:44 pm

Guest

Re: Goomba Color NEW BETA 10-28-2014

is link cable emulation available in any of the goomba releases? specifically asking for the one used in the revo k101

#9 2016-02-10 7:35:35 pm

Dwedit
From: Chicago
Registered: 2004-12-12
Posts: 991
Website

Re: Goomba Color NEW BETA 10-28-2014

"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline

#10 2016-05-29 1:09:09 pm

brirec
Guest

How much is known about the classic GameBoy link cable protocol and the GBA's link cable support? I doubt you'd ever be able to link between Goomba and a CGB/DMG/etc., but I know there are PC emulators with link cable support (No$GBA comes to mind). I'm sure the GBA link cable protocol is much faster than the classic GameBoy link cable protocol, so unless there's some complicated handshaking involved that I'm not aware of I imagine it would simply be a matter of emulating the serial bus on the GameBoy and encapsulating it over the GBA's cable. #11 2016-05-29 1:25:11 pm brirec Slime Registered: 2016-05-29 Posts: 1 Re: Goomba Color NEW BETA 10-28-2014 Also, I'm using an EZ-Flash IV and I'm having no issues, whatsoever. I honestly do not know if it makes a difference, but I'm using it with this firmware/skin, I made sure to copy only about 14 mb of ROMs or so to any individual Goomba ROM (I don't know the limitations of my EZ4 yet), and I then ran it through a script I wrote for EZGBA (a third-party, better EZ4 client) to patch them all: #!/bin/bash OUT=/Users/b/Desktop/goomba/patched SAVEPATH=${OUT}/SAVER/
switches="-t --dummy-save"
for g in /Users/b/Desktop/goomba/*.gba ; do
inptfile="$g" filename="$(basename -a "$g")" gamename="${filename%.*}"
savename="${gamename}.sav" echo ================= echo "PROCESSING$g"
/Users/b/Downloads/ezgba-v0.2.0a-2/osx-x86_64/ezgba-cli ${switches} -i "${inptfile}" -o "${OUT}/${filename}"
done

I'm on a Mac, but this should work just fine on any *nix machine, and it's really easy to do on Windows as well: on *nix or Mac you build the Goomba ROM by typing

cat path/to/goomba.gba rom.gbc rom.gb … > path/to/goomba-built.gba

in Terminal (or on Windows you'd type

copy /b path\to\goomba.gba+rom.gbc+rom.gb goomba-built.gba

) and on either one you patch it and make a dummy save file (both are required for EZ4) by typing

ezgba-cli -t --dummy-save -i "path\to\goomba-built.gba" -o "path\to\goomba-patched.gba"

substituting \ for / on Mac or *nix.

Offline

#12 2016-07-30 10:46:49 pm

gore

Slime
Registered: 2016-07-30
Posts: 1

Re: Goomba Color NEW BETA 10-28-2014

Dwedit wrote:

Well there goes my question. I suppose it wouldn't be possible to achieve this since it has to emulate the GBC in the first place, that a physical link cable to an official GBC cart would never be able to work.

I just got back into my EZFlash 4 and I came here because I used to use Goomba Color years ago, of course it still works flawlessly.
Appreciate all the work you have done through the years with Goomba and PocketNES

Offline

#13 2016-07-31 4:54:02 am

Dwedit
From: Chicago
Registered: 2004-12-12
Posts: 991
Website

Re: Goomba Color NEW BETA 10-28-2014

The voltages don't match, and the timings are too tight, no way to link a GBA to a GBC.

"We are merely sprites that dance at the beck and call of our button pressing overlord."

Offline