Fixing ROMs for EMS 64 GB Smart Card USB

Discussion of programming and development for the original Game Boy and Game Boy Color.
stlngds
Posts: 1
Joined: Thu May 23, 2013 12:00 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by stlngds »

Is there any way to load more than one GBC game onto a single page without them glitching up, or is multirom only for GB stuff?

(Thanks for the fixes by the way!)
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by MottZilla »

You should be able to have more than 1 GBC game on a page "without them glitching up". Just be sure that the check box for COLOR is checked. You may only have all Monochrome GB games or all GBC games on a PAGE. So you could have all regular GB on Page 1 and all Color GB on Page 2, or any combo you want.

Update: By testing on an emulator, what appears to be happening is it copies Bank 0 and Bank 1 to storage ok. But after that, Bank 2 and 3, contain the same thing as Bank 1. I'll look around further.

Solved: There was a simple typo that caused a bug. I'll upload a fix soon.

Update: The fix is uploaded. Please test it out with Pokemon and let me know how it works. The updated version is available at the same location at before.
Reign
Posts: 8
Joined: Mon Mar 11, 2013 12:03 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by Reign »

Yep, works perfectly now! Appreciate the fix, the menu breathes new life into this card. Thanks again.
Great Hierophant
Posts: 777
Joined: Tue Nov 23, 2004 9:35 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by Great Hierophant »

Something I always found odd about the flasher program is that each page is supposed to have 32Mbit but it refuses to let you use all the space on the page. For example, if you try to load three 8Mbit games onto the ready to burn list of one page and try to add a fourth 8Mbit game, the loader will refuse to let you. If 32Mbit is truly available, then it should let you add the fourth game. The same thing will happen if you begin with one 16Mbit and 8Mbit game and try to add another 8Mbit game. The issue is not confined to large games, even if you load many small mono games at least 256Kbit will be unavailable to you.

Its like they dangle this last section of the page at you, and its really annoying for Game Boy color games, few (good ones) run less than 8Mbit. Does the card use some space at the end of the page, or is this just another example of slapdash coding?

By the way, I welcome anybody to try to improve on my Who Framed Roger Rabbit fix, because it leaves some garbage on the password screen if I recall correctly. I had trouble finding space to put the code needed to get it to work.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by tepples »

Great Hierophant wrote:Does the card use some space at the end of the page
Fairly likely. When you load multiple games onto a single flash card, it appears to the Game Boy as a multicart. Multicarts are known to use some of the space for the menu, and I don't think most are smart enough to find some unused part of a game. (For example, my NES multicart engine reserves the last 256 kbit of the cart for the menu.)

What you can do is see if some of your Game Boy Color ROMs can be trimmed. Unlike NES games, games for Game Boy and Game Boy Color are more likely to have the first bank be the fixed bank, meaning it's possible to cut blank 256 kbit (32768 byte) banks from the end of the ROM image and have them still work. (Game Boy Advance works similarly, but usually with 1 Mbit banks.)
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by MottZilla »

The SmartCard uses the first 32kb of FlashROM to store the menu program. This is why you can't have multiple games that add up to 32 megabits on a page. But as tepples suggested, it is quite possible you could trim a larger ROM that has empty space at the end. I have not personally tested it. I suspect it would probably work.
nitro2k01
Posts: 228
Joined: Sat Aug 28, 2010 9:01 am

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by nitro2k01 »

MottZilla wrote:The SmartCard uses the first 32kb of FlashROM to store the menu program. This is why you can't have multiple games that add up to 32 megabits on a page. But as tepples suggested, it is quite possible you could trim a larger ROM that has empty space at the end. I have not personally tested it. I suspect it would probably work.
Sure you could, if you made sure the ROMs are aligned to their respective size. For example, 64 kB ROMs on 64 kB boundaries, 128 kB ROMs on 128 kB boundaries and so on. The problem then becomes that the biggest ROM sizes must be put at the end of the memory. Say you have two 1 MB ROMs. (That's one megabyte; corresponds to 8 Mb, eight megabit.) They would have to be put at the top of the memory, whereas the menu ROM still has to be at the bottom of the memory. Both the patcher and the menu has to be aware of this condition. The patcher needs to place the ROMs in the right way, and the menu must know to scan the whole ROM area for ROMs. If done right, and given appropriately sized ROMs, the full memory (apart from the lower 32 kB used by the menu) could be fileld with ROMs.

I don't know if either of the conditions are true for MottZilla's menu. He has injected his ROM into the official EMS software, and I don't know whether the EMS software places the ROMs correctly. I also don't know if his menu scans the full ROM area. enu
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by tepples »

Great Hierophant wrote:its really annoying for Game Boy color games, few (good ones) run less than 8Mbit.
nitro2k01 wrote:given appropriately sized ROMs, the full memory (apart from the lower 32 kB used by the menu) could be fileld with ROMs.
Great Hierophant's problem, as I understand it, is a lack of "appropriately sized ROMs".
nitro2k01
Posts: 228
Joined: Sat Aug 28, 2010 9:01 am

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by nitro2k01 »

Ah yes, sorry. Well, it would still be possible if there was just a free memory area anywhere where the menu code could be put. But that certainly requires both a custom patcher and changes in the menu code. (Not just maybe as in the example above.)
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by MottZilla »

My menu scans pretty much everywhere looking for games. So that shouldn't be a problem.
zarkone
Posts: 2
Joined: Tue Aug 27, 2013 1:08 am

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by zarkone »

Hello all! I've just bought EMS 64 GB Smart Card and already found two issues:
1) Metroid II. When I come to the first statue to pick up bombs, there is no door already, the statue is empty and there is no rocket upgrade item under the floor. just as i was here before, but i wasn't, and i have no bombs to continue the game.
2) Metal Gear. In STAGE 3, when i meet Chris, the game freezes.

Is there way tosolve this problems, may be there are some patches for this games?
Sorry for my english, and thanks for help.
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by MottZilla »

In Metroid II, did you try erasing all the game files and starting a new one?
zarkone
Posts: 2
Joined: Tue Aug 27, 2013 1:08 am

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by zarkone »

MottZilla wrote:In Metroid II, did you try erasing all the game files and starting a new one?
It did the trick, i've took boombs, thank you! why this happened? And what about MGS?
Second thing, under linux i have only git://lacklustre.net/ems-flasher . There is no multi-load, no "GBC" option. I want to add this functionality, and also improve my C skills. And may be build Qt GUI for this... But i don't know even how to write multiple files to the card, where i can read about it? Thank you!
User avatar
MottZilla
Posts: 2835
Joined: Wed Dec 06, 2006 8:18 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by MottZilla »

The COLOR option sets a particular bit in the ROM that is the same as all ROMs that determines if the Gameboy should run in Color mode or Monochrome Compatibility mode. It also has to fix the header checksum too. For multiple roms you need to copy file data so that the menu ROM is first, followed by all the games you wish to have on the cartridge, up to exactly 4 megabytes.

In the Flasher exe program, goto $1320BC and copy exactly $8000 bytes. This is the menu ROM. Once you have that making a multi-rom is as simply as copying GB roms to the end. The flasher for Windows will flash them in a particular order usually. It either arranges them in order of biggest to smallest or smallest to biggest. I'm not sure it even matters though. For adding Color support, you just need to change the Color flag in the menu and header checksum. Byte $143 is the color flag.

for more info: http://www.enliten.force9.co.uk/gameboy/carthead.htm

Good luck.
Berserk
Posts: 10
Joined: Wed Sep 18, 2013 10:19 pm

Re: Fixing ROMs for EMS 64 GB Smart Card USB

Post by Berserk »

Why do certain games refuse to load onto the Smart Card at all?

Examples:

Heroes of Might and Magic II
Toki Tori

The GB_USB loader freezes whenever attempting to add either of these games to the writing queue. These are two of the best games on the system, but totally unplayable for unknown reasons.
Post Reply