ROM Hack e-reader development

TankedThomas

Well-Known Member
OP
Member
Joined
May 5, 2009
Messages
624
Trophies
1
Location
New Zealand
XP
560
Country
New Zealand
Okay, I'm not sure if this is the best place to put it, but it'll do for now.

I recently got an e-reader, and I just can't put it down (except for when I'm playing games with my new EZFlash 3-in-1).

What I want to do is quite simply develop games for it. I'm not necessarily saying new games, but instead, porting NES games (and if possible, other types of games) to e-reader dot code form. I still don't fully understand how the e-reader works, but from what I can tell, the WHOLE hgame is stored on a bunch of dot codes, with NONE of it pre-programmed into the device itself, which, if this is the case, is rather amazing.

Anyway, I have looked for hours to no avail. I have found http://www.caitsith2.com/ereader/ and http://users.skynet.be/firefly/gba/e-reader/ however, they have tools but not tutorials. So I was wondering if there was anyone out there who knows how to put it all together, becuase I'd love to learn, and take the e-reader beyond what it can do with it's current cards.

Any help would be greatly appreciated.
 
  • Like
Reactions: W hat

Eon-Rider

Well-Known Member
Member
Joined
Jun 15, 2008
Messages
1,021
Trophies
0
Age
30
Website
www.kablooza.co.cc
XP
242
Country
I was interested in the technology a while back but I lost interest. There's a little bit on the Wikipedia page for the e-Reader that you may have overlooked.

QUOTE(http://en.wikipedia.org/wiki/Nintendo_e-Reader) said:
Homebrew cards can be created from any NES, z80, or arm game (recommended due to smaller file sizes) by first compressing it with nvpktool.exe and then splitting it into bin files with nedcmaker.exe. The resulting bin files can be imported into the e-Reader game ROM under a hacked version of VisualBoyAdvance, which will also output the raw dot code cards that can be printed with nedcprint.exe.
 

TankedThomas

Well-Known Member
OP
Member
Joined
May 5, 2009
Messages
624
Trophies
1
Location
New Zealand
XP
560
Country
New Zealand
Yeah, I saw that, but I tried the smallest NES rom I had, and it failed to work at all.

Personally, I think that if the e-reader had been given a large amount of RAM to store the games, and Nintendo could put the effort into making more cards for one game (usually they're on 5 cards, so if they had to have 15 or 20 cards for a bigger game, that would have been okay, because chances are that it was worth the time), then the e-reader would have had more power and potential, and could have actually taken off as a pretty solid peripheral.
 

DjoeN

Captain Haddock!
Member
Joined
Oct 21, 2005
Messages
5,489
Trophies
0
Age
54
Location
Somewhere in this potatoland!
Website
djoen.dommel.be
XP
2,857
Country
Belgium
E-Reader, stil use it once and awhile
smile.gif


Still buying e-reader cards when i come across them on the secondhand market.
 

TankedThomas

Well-Known Member
OP
Member
Joined
May 5, 2009
Messages
624
Trophies
1
Location
New Zealand
XP
560
Country
New Zealand
I purposely searched out some brand new e-reader game card packs. I got Mario Bros, Donkey Kong, and Excitebike from eStarland, all for NZ$20 all up, which was a pretty good deal. I also got Airhockey-e off eBay for a few dollars. I'm also hoping to buy more off eStarland. Their customer service does suck though, but at least I got the items quickly and in mint condition. I like the whole aspect of it being like a TCG, but very different at the same time. It's like collecting cards for a game, except it's a real video, rather than just a card game. It kicks so much ass.
 

DanTheManMS

aka Ricochet Otter
Member
Joined
Jun 2, 2007
Messages
4,453
Trophies
1
Age
34
Location
Georgia
XP
751
Country
United States
TCJJ said:
Yeah, I saw that, but I tried the smallest NES rom I had, and it failed to work at all.

Regarding the NES game, from what I can tell, it's more important that it uses mapper 0 than the actual filesize. I would suggest trying the 25 KB mapper 0 games like Popeye, Donkey Kong, Tennis, Urban Champion, or Warpman. I'm guessing that the 41 KB mapper 0 games like Super Mario Bros won't work, just based on my experience with an NES emulator for the GBC that worked similarly.

Alternatively, it looks like this thing can run native GBA code running in multiboot mode. This raises an interesting idea to increase NES rom compatibility. Try to find a copy of PocketNES_compy, use the included compressor tool on any NES game (up to 256 KB that is), and use the PocketNES Menu Maker program to add the single compressed game to the compilation. Test in VBA to make sure it works, and if it does, try sending it over to the E-reader. I honestly have no idea if this will work at all, but it's a curious idea at the very least.
 

TankedThomas

Well-Known Member
OP
Member
Joined
May 5, 2009
Messages
624
Trophies
1
Location
New Zealand
XP
560
Country
New Zealand
DanTheManMS said:
TCJJ said:
Yeah, I saw that, but I tried the smallest NES rom I had, and it failed to work at all.

Regarding the NES game, from what I can tell, it's more important that it uses mapper 0 than the actual filesize. I would suggest trying the 25 KB mapper 0 games like Popeye, Donkey Kong, Tennis, Urban Champion, or Warpman. I'm guessing that the 41 KB mapper 0 games like Super Mario Bros won't work, just based on my experience with an NES emulator for the GBC that worked similarly.

Alternatively, it looks like this thing can run native GBA code running in multiboot mode. This raises an interesting idea to increase NES rom compatibility. Try to find a copy of PocketNES_compy, use the included compressor tool on any NES game (up to 256 KB that is), and use the PocketNES Menu Maker program to add the single compressed game to the compilation. Test in VBA to make sure it works, and if it does, try sending it over to the E-reader. I honestly have no idea if this will work at all, but it's a curious idea at the very least.

Interesting. Thanks for that - it may help. I'll read through and through again to make sure I'm doing it right. I do know about mapper 0, but of course, being less important, I've thrown it to the back of my mind, so I'm not really too sure what it is, other than part of the file. But it won't take me long to find out.

Anyway, if I am correct, you are suggesting making a GBA ROM that is a compilation of NES ROMs. That sounds like a great idea. From what I can tell, it DOES seem to run native GBA code, but what I can make of it is that that feature has only been used to input new code into games, such as Super Mario Advance 3: Super Mario Bros. 4, and Pokémon.

Also, there are things called Z80 files, that apparently are also compatible, but I have no idea what they are. I'll have a look around and try to find out, though.
EDIT: Z80 files appear to be derived from the Zilog Z80 processor, of which a modified version was found in the Game Boy and Game Boy Colour, and the absence of it - or at least the modifications - is why the Micro and DS cannot play GB/C games without emulation. So, it sounds like the e-reader is capable of running Game Boy and Game Boy Colour games as well. Unfortunately, I still am unsure how I would convert a GB/C ROM to a Z80 file. However, that's what I'm off to find out. I have taken the link port out of my e-reader for now, so I have been able to legally dump the e-reader ROM to my computer, and I know there is a modified one out there for homebrew or something. Information on it was on the caitsith website, I believe.

2ND EDIT: Further research shows that Z80 ROMs are Sinclair Spectrum ROMs. There's still hope for the GB/C though.

I've got to say, thanks to everyone with your input so far. This is becoming really interesting. My ultimate goal is to take the e-reader beyond it's original intentions, and to it's limit. Unfortunately, it could use more RAM, but I've been experimenting a bit and have found something interesting:

From what I can tell, the e-reader has it's own RAM and flash memory for storing data. Now, when you swipe cards, they're loaded into the e-reader RAM. Once all of them have been scanned in to complete a file, the application can either be run from the RAM (by selecting NO to overwriting/saving), or stored to the flash memory (by selecting YES to overwrite/save).

Now, when you load an app into the flash, it stays like a saved game, but when you run it, it seems that it is loaded into the GBA's RAM, as pulling out the e-reader does not freeze the app (unlike when you pull it out without saving the app to flash).

However, I am having trouble justifying this whole theory, because I have Donkey Kong, Mario Bros. and Excitebike which work, but now that I have the Air Hockey-e card, it freezes whenever I pull the e-reader out. So, I'm officially stumped with that theory, but I welcome anyone who can explain this unusual behaviour.

3RD EDIT: Okay, without going into too much detail for now, thanks to DanTheManMS, I have managed to convert Warpman that uses mapper 0 to a working GBA file. Once I can work more of this out, I will write some tutorials. Ultimately, I want to make a huge wiki dedicated to all of this.
 

LuigiBlood

Mage Robot
Member
Joined
Jun 23, 2009
Messages
196
Trophies
1
Website
luigiblood.neocities.org
XP
843
Country
France
About your wiki, i can help, i'm working on a Super Mario Advance 4 eCard Maker (which right now, can read Level Cards and can make Demo and Power-Up Cards). And i have the whole set of No-Intro's e-Cards, so i can do something ^^
 

DanTheManMS

aka Ricochet Otter
Member
Joined
Jun 2, 2007
Messages
4,453
Trophies
1
Age
34
Location
Georgia
XP
751
Country
United States
In theory, you should be able to use PocketNES_compy for any NES game (up to 256 KB) and have it still work, not just mapper 0 games. I only mentioned the mapper 0 part because those are likely to be the the only ones that will work with the E-reader's built-in NES emulator.

The key thing to remember is that the GBA only has two ways of running stuff: executing from cartridge ROM, and executing from RAM ("multiboot mode"). I don't think the E-reader has anything fast enough to run GBA code directly (though I've done zero research so I could very well be wrong), so it sounds like it runs stuff by using multiboot mode, in which case everything must fit into the 256 KB of RAM that the GBA has. That's why PocketNES_compy is useful. While the normal version of PocketNES only supports NES games up to 190 KB when in multiboot mode, PocketNES_compy uses a special, custom compression system in order to compress games that are up to 256 KB so that the game and the emulator both fit entirely into the GBA's RAM.

Of course you can put multiple NES games into the *.gba compilation as long as the total filesize doesn't exceed 256 KB.

EDIT: Goomba also supports multiboot mode, but finding Gameboy games small enough to work would be a definite challenge.
 

TankedThomas

Well-Known Member
OP
Member
Joined
May 5, 2009
Messages
624
Trophies
1
Location
New Zealand
XP
560
Country
New Zealand
LuigiBlood said:
About your wiki, i can help, i'm working on a Super Mario Advance 4 eCard Maker (which right now, can read Level Cards and can make Demo and Power-Up Cards). And i have the whole set of No-Intro's e-Cards, so i can do something ^^

That'd be a great help, thanks. I really want to take this as far as possible, so any help at this point is much appreciated.

QUOTE(DanTheManMS @ Jan 24 2010, 12:15 PM) In theory, you should be able to use PocketNES_compy for any NES game (up to 256 KB) and have it still work, not just mapper 0 games. I only mentioned the mapper 0 part because those are likely to be the the only ones that will work with the E-reader's built-in NES emulator.

The key thing to remember is that the GBA only has two ways of running stuff: executing from cartridge ROM, and executing from RAM ("multiboot mode"). I don't think the E-reader has anything fast enough to run GBA code directly (though I've done zero research so I could very well be wrong), so it sounds like it runs stuff by using multiboot mode, in which case everything must fit into the 256 KB of RAM that the GBA has. That's why PocketNES_compy is useful. While the normal version of PocketNES only supports NES games up to 190 KB when in multiboot mode, PocketNES_compy uses a special, custom compression system in order to compress games that are up to 256 KB so that the game and the emulator both fit entirely into the GBA's RAM.

Of course you can put multiple NES games into the *.gba compilation as long as the total filesize doesn't exceed 256 KB.

EDIT: Goomba also supports multiboot mode, but finding Gameboy games small enough to work would be a definite challenge.

Yeah, it seems the e-reader does only accept mapper 0 ROMs, and about the NES to GBA, I did manage to convert Transformers Convoy no Nazo and get that working on GBA as well (although, who would want to play that crap game, I have no idea). Unfortunately, both it and Warpman run a little slow. Just a little bit. They seem to run fine in No$GBA, but slow in VBA, and ever so slightly slow on my EZ Flash 3-in-1. So it looks like I'll have to fiddle around a bit more.

It definitely seems that most of the e-reader apps run through the GBA's RAM (I never realised that was what multiboot mode was, to be honest), but it seems that the e-reader has it's own RAM, which perhaps means you could the app split in two parts - one on the e-reader, one on the GBA.

Actually, as a side note, it'd be interesting to see if anything could be done with the e-reader and DS ROMs i.e. plug e-reader into DS, use a hacked or homebrewed game on a flash card in slot 1. Many games, like Guitar Hero and Pokemon, use the GBA slot for things, so I don't see it being an impossible task. Heck, New Super Mario Bros. could be hacked to do similar things as Super Mario Advance 4.

I think my biggest problem is converting to raw. The nvpktool.exe and all the other tools are confusing. It seems you can only run them through command line, but I'm not very experienced with command line. I did get it working though. For Warpman, I put Warpman.nes in the same directory as nvpktool.exe. Then, once I had changed to the correct directory in command prompt, I just entered: nvpktool.exe -i Warpman.nes -o Warpman.raw -c

That worked, and made a .raw file. I is for input, O is for output, C is for compress, and D is for decompress. There are a bunch of others, but there's no need to use most of them for just compressing/converting. However, it gives a read error in VBA using my e-reader ROM. So I'm stumped. At least for now.
EDIT: I made a mistake. I'm meant to compress the NES file, then use Flash Maker to convert to RAW. It still doesn't work, but I think I will need to fiddle for a bit. Flash Maker does have the option of converting NES, Z80, or GBA though, so I will try to get GBA working as well. I've had no luck with it so far either though.

I wish Tim and Caitsith could actually put some instructions and tutorials on their websites. I might email them if I can't figure it out after a few more tries. That might actually get us further, since they know quite a bit about this stuff, but have only shared a little bit of information, and their tools.

I think an MBV2 cable would be helpful with this sort of development, but the only store I have found them on has them for US$20 + shipping. I don't know if they'd even ship to New Zealand, but even if they do, it's going to cost me an arm and a leg for the whole thing. I guess it's worth it though. Lik-sang might have had it cheaper, but they no longer exist, which kind of sucks, because I never got to use their service, and apparently it was pretty good. The website I found was http://www.hk-video-games-gear.com/buy/1415 but it seems to be affiliated with Lik-sang, and also seems to be no longer running (at least not properly).
 

Dr.Killa

Banned!
Banned
Joined
Apr 7, 2009
Messages
264
Trophies
0
XP
303
Country
United States
if you are playing an e-card game (like balloon flight), you can go ahead and take the e-reader out of the gameboy, it is still playable so u can get the heavy peice of shit out

Posts merged

Inunah said:
LOL I'd still use my E-Reader if it would start letting me fit it into my DS. Damned built in gba-gba port connector thingy. I think I might cut that thing off.

i just removed the outer black rim, it fit fine
 

TankedThomas

Well-Known Member
OP
Member
Joined
May 5, 2009
Messages
624
Trophies
1
Location
New Zealand
XP
560
Country
New Zealand
Inunah said:
LOL I'd still use my E-Reader if it would start letting me fit it into my DS. Damned built in gba-gba port connector thingy. I think I might cut that thing off.

You can just get a tri-wing screwdriver (they're cheap, and now that I have mine, I love it. I got it for a few dollars on TradeMe [kind of like a small version of eBay, but for New Zealanders, and I like it more in some ways]), unscrew the e-reader, unscrew (with a Phillips-head screwdriver) the light sensor, then unscrew the link port, and the whole link port piece just pulls straight out. It's not hard at all. It sounds complicated, but it isn't. The link ports are joined by a cable and that's it. They don't connect to the e-reader at all. They're basically an extension of the regular GBA's port so that it can still function with the e-reader plugged in. Self-explanatory, but I never really thought about it not being connected to the main device at all. So, you just removed it and it works fine. I dumped the e-reader ROM from my e-reader using my DS. I have taken the link port out of mine, and it works fine.

Alternatively, you can open it all up, then cut above where the link port that sticks out sits, so that it has clearance room, therefore meaning once you plug it into the DS, it will be pushed up by the larger DS casing, but have room to go upwards. That means it'll have clearance room and still plug in fine.

QUOTE(Dr.Killa @ Feb 6 2010, 06:47 PM) if you are playing an e-card game (like balloon flight), you can go ahead and take the e-reader out of the gameboy, it is still playable so u can get the heavy peice of shit out

Yeah, e-card games work like that, but NES games don't. Kind of weird. I guess the emulator is built into the e-reader, and that part isn't stored in the GBA RAM itself.
 

TankedThomas

Well-Known Member
OP
Member
Joined
May 5, 2009
Messages
624
Trophies
1
Location
New Zealand
XP
560
Country
New Zealand
That makes perfect sense. Actually, I'm glad you bumped this old topic. I'd love if other people could help out and even keep it alive. I just don't have any free time until November (from then until mid-January), so I haven't been able to continue my research into this area, nor have I had a chance to comprise a suitable email to those guys who DID work this all out to ask for their knowledge and assistance.

Also, the multiboot v2 cable I got with my GBAlink flash card seems to be broken. Then again, I have to use a Parallel to USB adapter as neither of my computers have parallel ports (well, I haven't checked my desktop one, but it's motherboard is a 2009 model, so I doubt it), and the programs, being reasonably simplistic, seem to be picky about picking it up. It's all very confusing, so I'm guessing getting a proper MBV2 cable that isn't the GBAlink one could help, but I really don't know.

If anyone could help me out with this, or has a spare MBV2 cable they could give/sell me, feel free to drop me a line. With the multiboot v2 cable, I might be able to do more, and figure out more e-reader stuff. Maybe it's got no potential, but I like to take things and make them do more than they currently can, and this is no exception.
 
  • Like
Reactions: Immortallix

medoli900

Open the Benzenes;Gate
Member
Joined
Jan 7, 2013
Messages
1,116
Trophies
0
Location
Lavender Town
XP
1,316
Country
Antarctica
Sorry for bumping this old thread, but i just got into the e-reader "scene". I made arkanoid into bin (nedcmaker separated it into 10 .bin files) and it load perfectly into the vba e-reader... except that when it launch the application, I just see a black screen. Is it an emulation limitation from VBA or the card wouldn't work on a true e-reader?

P.S. I tried to see a log from VBA, but I can't find it o.o
 

mariob0y

Member
Newcomer
Joined
Jun 14, 2016
Messages
6
Trophies
0
Age
27
XP
61
Country
Hello man, I hope your accaunt is still alive and you will answer to ressurection of such old topic.
So, I have dat question - did you got some success in printing custom cards for e-reader? I mean maybe you made some cards with NES games, which were not released officially by Nintendo?
 

medoli900

Open the Benzenes;Gate
Member
Joined
Jan 7, 2013
Messages
1,116
Trophies
0
Location
Lavender Town
XP
1,316
Country
Antarctica
Since I didn't find my e-reader (which pisses me off), I can't say that it will work. I am not sure if I still have the bin for Arkanoid (I should), but I guess I could share them, unless they contain copyrighted material.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.youtube.com/watch?v=4N-3vv4kzdk