Homebrew GameYob 3DS - GB/C emu

D

Deleted User

Guest
To any user of both the DS and 3DS versions...
Exactly WHAT features are missing from the 3DS version?

I am curious about that.
What is there in the DS version that the 3DS version still doesn't have?


Going by the current readme in the source code, the features that I know are missing from the list are the autosave(?), border, and scaling features.
 
  • Like
Reactions: ShadowOne333
D

Deleted User

Guest
Is that all that's left to match the DS port?

EDIT: So Scaling, Full Screen, Cheats, Borders and Autosaving.
I have my doubts about Autosaving, doesn't GameYob 3DS save at all?


I have my doubts about it as well, but the Autosave toggle option is only available on the DS version, and there are a few places, such as here, that have DS-only autosave code.
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,218
Trophies
2
XP
34,275
Country
Mexico
I have my doubts about it as well, but the Autosave toggle option is only available on the DS version, and there are a few places, such as here, that have DS-only autosave code.
That's odd.
So the 3DS port saves by default? Or it just doesn't do anything at all?
Damn I gotta take a look at this a liittle bit further.
 

Drenn

Well-Known Member
OP
Member
Joined
Feb 22, 2013
Messages
574
Trophies
0
XP
696
Country
Canada
Yeah so to summarize: 3ds version doesn't have scaling, or border support. SGB support isn't fully implemented in terms of graphics, but internally it works. Cheats work I believe, could use a better interface though I guess. GBC bios support is broken. Autosaving is not necessary to implement because when the 3DS powers off it will call the relevant cleanup functions. Autosaving would only serve to protect from unexpected poweroffs.
 
  • Like
Reactions: ShadowOne333
D

Deleted User

Guest
Yeah so to summarize: 3ds version doesn't have scaling, or border support. SGB support isn't fully implemented in terms of graphics, but internally it works. Cheats work I believe, could use a better interface though I guess. GBC bios support is broken. Autosaving is not necessary to implement because when the 3DS powers off it will call the relevant cleanup functions. Autosaving would only serve to protect from unexpected poweroffs.


Do you know what the issue is with GBC BIOS support? I know it's loading the BIOS file, but for some reason it isn't making use of the bios...?
 

Drenn

Well-Known Member
OP
Member
Joined
Feb 22, 2013
Messages
574
Trophies
0
XP
696
Country
Canada
Do you know what the issue is with GBC BIOS support? I know it's loading the BIOS file, but for some reason it isn't making use of the bios...?

I'm not sure, all I know is something was broken when I overhauled everything. It might have something to do with an old speedhack. I made it copy part of the rom's header to the bios itself, because the bios is actually split into 2 parts, with a gap in the middle. The bios needs to read through that gap. I may have screwed up the order of operations here, or forgotten to do the copying altogether (after the overhaul). Though on second thought, if that were the case, it would still boot just with an incorrect checksum.

I could look into this, I'll find a moment when I'm not feeling too lazy. :P
 
D

Deleted User

Guest
I'm not sure, all I know is something was broken when I overhauled everything. It might have something to do with an old speedhack. I made it copy part of the rom's header to the bios itself, because the bios is actually split into 2 parts, with a gap in the middle. The bios needs to read through that gap. I may have screwed up the order of operations here, or forgotten to do the copying altogether (after the overhaul). Though on second thought, if that were the case, it would still boot just with an incorrect checksum.

I could look into this, I'll find a moment when I'm not feeling too lazy. :P


I've figured out why the BIOS isn't loading. It checks if the BIOS is loaded and sets the result to biosOn in initMMU, however this is called before loadBios. Because of this, it doesn't set the first memory bank to the BIOS data.

However, with the BIOS working, the Gameboy Color bootup screen runs fine, but the game after it (or at least Pokemon Red, as that's what I test with) is messed up graphically. Going to have to look deeper to figure out why this is the case.
 

shinyquagsire23

SALT/Sm4sh Leak Guy
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
I've figured out why the BIOS isn't loading. It checks if the BIOS is loaded and sets the result to biosOn in initMMU, however this is called before loadBios. Because of this, it doesn't set the first memory bank to the BIOS data.

However, with the BIOS working, the Gameboy Color bootup screen runs fine, but the game after it (or at least Pokemon Red, as that's what I test with) is messed up graphically. Going to have to look deeper to figure out why this is the case.

IIRC loading one game after another also causes some minor graphical glitching on startup. Might just be a RAM clearing issue.
 
D

Deleted User

Guest
IIRC loading one game after another also causes some minor graphical glitching on startup. Might just be a RAM clearing issue.


Interesting, I'll keep poking around. In the meantime, I've pushed the change to GitHub if anyone else wants to play around with it.

UPDATE: Okay, it *should* be fixed now. Hopefully there won't be any more issues with it. Just put your gbc_bios.bin in the same directory as the ROM file(s).

Download is at the same link: https://www.dropbox.com/s/ms1kes4jhrb3meg/gameyob.zip?dl=0
 

Drenn

Well-Known Member
OP
Member
Joined
Feb 22, 2013
Messages
574
Trophies
0
XP
696
Country
Canada
I've figured out why the BIOS isn't loading. It checks if the BIOS is loaded and sets the result to biosOn in initMMU, however this is called before loadBios. Because of this, it doesn't set the first memory bank to the BIOS data.

However, with the BIOS working, the Gameboy Color bootup screen runs fine, but the game after it (or at least Pokemon Red, as that's what I test with) is messed up graphically. Going to have to look deeper to figure out why this is the case.

Could be related to sgb mode. If you see a few garbage lines before the game starts up that means it's running in sgb mode. And since the graphical functions in sgb mode aren't implemented... you'd see garbage for a second. On the other hand it could be completely unrelated.
 
  • Like
Reactions: ShadowOne333

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,890
Trophies
2
XP
29,467
Country
United Kingdom
Keep up the good work guys :)
Compiling on mac, it tries to use the linux binaries for makerom and bannertool, I got it working for myself by swapping in the mac binaries (getting bannertool to build was a whole nother story for another day), but if you're feeling flash I'm sure you could get it working automatically, am attaching my binaries if it helps.
 

Attachments

  • bannertool-makerom-mac.zip
    298.2 KB · Views: 144
  • Like
Reactions: VinsCool
D

Deleted User

Guest
Just switched out BIOS support for having the palettes built-in to the emulator. The BIOS should no longer be needed for GB palettes!

Same link as always: https://www.dropbox.com/s/ms1kes4jhrb3meg/gameyob.zip?dl=0

Keep up the good work guys :)
Compiling on mac, it tries to use the linux binaries for makerom and bannertool, I got it working for myself by swapping in the mac binaries (getting bannertool to build was a whole nother story for another day), but if you're feeling flash I'm sure you could get it working automatically, am attaching my binaries if it helps.


Thanks, I'll add the Mac binaries now.
 

ShadowOne333

QVID PRO QVO
Editorial Team
Joined
Jan 17, 2013
Messages
12,218
Trophies
2
XP
34,275
Country
Mexico
Depends on what you mean by garbled graphics. The main purpose of it is to apply the GBC-enhanced color palettes to old black and white GameBoy games without needing a GBC BIOS file.
Oh no I was refering to your post a few comments above about Pokemon Red being messed up graphically.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://youtu.be/AjP7B2QFB9E?si=5qT8Ov9brYiIhoGi