gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

DS Flash Equipment > GBAMP Clone for homebrew?

#108585 - Kamjin - Fri Nov 10, 2006 7:25 am

I came across a gbamp clone (gameson movie player looks like a supercard CF), pretty cheap so I picked it up for the "why not" factor. Tried to flash it with Chishm's update to get DS Homebrew to run on it, but it doesn't detect the flash device, when the app starts it detects 0xffffffff, pull it from the socket and plug it back and it then displays 0xEA00EA00

So it's definately not detecting the 0xbf 0x278X SST ID codes for the 39XX800 chip. So I poped it open and found a Dokin(obscure asian fab) Starram 69V400T.. Couldn't find specs but based on the numbering it's 1/2 the density of the normal GBAMP flash.
Took apart my GBAMP and started to compare, and it seems the they are both wired in the same way.

Went and grabbed the e19 update tried to run it and didn't go.. some error in chinese. Then went and grabbed the c19 chinese update, and it updated w/o any problems and is working fine.. and this point I noticed the the C19 update is 1/2 the size of the english version.

So.. would it be possible to get Chishm's firmware into this device/density somehow, or would i need to solder in a 39v800?

#108639 - Lynx - Fri Nov 10, 2006 8:48 pm

I wonder if the .c19 version is smaller because of the duplicate data in the GBA MP chip? I know Chishm had to remove data to make room for his C version of the hack.. If you can get ahold of the original verion that I believe only used the primary space of the firmware, it might load?

Quote of downsides of the new version:
Quote:
More risk to GBAMP firmware. Since this is coded in C I had to remove chunks of the firmware to make it fit. Don't worry though, those chunks were repeats of other chunks anyway.


Version 1 is still available from Chishm's site.. give it a try.
_________________
NDS Homebrew Roms & Reviews

#108878 - Dwedit - Sun Nov 12, 2006 4:51 pm

The first 0xF28 bytes are repeated 4 times to address 0x3CA0. Then the remaining 864 bytes of the 16k block is filled with 0xFF's. Since the binary is identical, there is no way that the code is intended to execute in place in flashrom there, since it would have an incorrect origin. The boot code past the first 512 bytes is loaded into ewram and executed there. Anything Chishm took out is probably too small to matter.

There's also a bunch of never-displayed text strings in there, First one set: "Unknown signal", "Invalid Operation", "Divide By Zero", "Overflow", "Underflow", "Inexact Result", "Heap memory corrupted".
Then there's the other set of messages: "Abnormal termination", "Arithmetic exception:", "Illegal instruction", "Interrupt received", "Illegal address", "Termination request", "Stack overflow", "Redirect: can't open:", "Out of heap memory", "User-defined signal 1", "User-defined signal 2", "Pure virtual fn called", "C++library exception".
I think they were inserted in by the compiler's standard libraries. I'm sure all those messages could be taken out with no loss in functionality.

ROM Pages 19-23 are also empty on the US firmware. Pages 24-31 contain fonts for ASCII, as well as fonts for the second 128 extended ASCII characters under different character encodings.
On the Chinese firmware, pages 19-31 contain a full 12x11 Chinese font, which also has english, katakana, and hiragana for some reason.

The GBAMP firmware stores the following things beyond the first 256k:
Chinese/Extra Fonts
Graphics for Text Viewer
Help icon
Icons for movie playback, such as 2x>>...

There is enough empty space in the first 256k to relocate those things into the empty space.
So the way to really tell if the firmware is 256k or not is this:
If it's in chinese, it's 512k.
If it supports any fonts other than the ugly default font, it's 512k.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#108916 - HyperHacker - Mon Nov 13, 2006 12:59 am

Dwedit wrote:
The first 0xF28 bytes are repeated 4 times to address 0x3CA0. Then the remaining 864 bytes of the 16k block is filled with 0xFF's. Since the binary is identical, there is no way that the code is intended to execute in place in flashrom there, since it would have an incorrect origin.

That could be a read protection. IIRC, GBAMP had one.
_________________
I'm a PSP hacker now, but I still <3 DS.

#108919 - Dwedit - Mon Nov 13, 2006 2:03 am

It's not read protection, the data is just duplicated. You can overwrite it with any data of your choice, and it will not be duplicated at all.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#108937 - chishm - Mon Nov 13, 2006 9:29 am

There is a small bit in the original firmware bootstrapper that isn't in the first 0xF28 bytes that needs to be preserved. I can't remember the exact location, but I think I mentioned it somewhere on these boards.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#109024 - Dwedit - Tue Nov 14, 2006 5:04 am

I'd like to hear this one bit, does that stop the screen from getting corrupted when exiting the movie player app?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#109025 - chishm - Tue Nov 14, 2006 5:46 am

Looking at what I did for NDSMP, I have kept the following parts of the original firmware:
0x0000 - 0x1300
0x32C0 - 0x32E0

Everything else up until 0x4000 is over-writable without noticable issues. I found without that second chunk, it would freeze when trying to play a movie.

EDIT corrected "rewritable" to "over-writable"
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com


Last edited by chishm on Tue Nov 14, 2006 6:44 am; edited 1 time in total

#109027 - Lynx - Tue Nov 14, 2006 5:56 am

Can you post a link to the manufacturer's site, or PM me where to puchase one? I'd like to check it out.
_________________
NDS Homebrew Roms & Reviews

#109030 - Kamjin - Tue Nov 14, 2006 6:54 am

Chishm's V1.0 also doesn't detect it. Tried Fader's tool as well, and it just gets stuck on erasing, (which does nothing). I can flash any official chinese gbamp firmware on it w/o any issue at all and works just fine.

i picked it up from a shop called sky2k online, but they don't seem to have any stock left. Google "gameson movie player" and the place will come up on top

#109034 - Lynx - Tue Nov 14, 2006 7:53 am

Well, I can't seem to find anything on it. Even ebay doesn't return anything on a "Gameson Movie Player" and mostly all I can find are screen protectors from that manufacturer name. If you don't mind, can you snap some pics of the innards and post them? Then again, it won't be much help for anyone if they can't purchase the product anywhere.. :(

How much was it? The GBA MP (CF) is only $25, I can't imagine it being much cheaper, but I'm alwasy on the look out for the cheapest possible method of getting people homebrewing!
_________________
NDS Homebrew Roms & Reviews

#109038 - Kamjin - Tue Nov 14, 2006 9:05 am

It was just under $10US including the shipping, might be worth asking the shop in case they just dropped the item due to lack of interest.
I'll take some snaps of it's innards tommorow, and post them.

#109123 - Lynx - Wed Nov 15, 2006 8:08 am

DANG! That is cheap! I wonder if they fell off the back of a truck? Anyway, that would bring the price down to $30 + CF card, so like $40 and your running homebrew.. if we can get it to be NDS compatible...
_________________
NDS Homebrew Roms & Reviews