#83236 - Dwedit - Sun May 14, 2006 10:06 am
Are there any ideas for how to hack this thing? I'm just dumping out some random ideas and suggestions here...
You could possibly guess how it works by using the information about how to read the M3 SD or supercard SD and hope that there are similarities. The addresses to access the SD registers may be different than the M3 SD, but hopefully the communication protocol would be the same.
Otherwise, you'd have to dump the rom. If anyone has figured out exactly how the update files work, then there's no need to dump the whole thing, but otherwise, you'd need to know if there's any different way to unlock the GBAMP SD vs the original GBAMP. Would the quick poweroff+on trick work here?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#83264 - GoopyMonkey - Sun May 14, 2006 7:37 pm
There are no current update files for the GBAMP SD. If you try the CF updates, it gives a language error. I e-mailed MovieAdvance.com to ask whether there would be any firmware updates. They replied with an explanation that the GBAMP SD already has the latest updates, and it might take some time to find some new bugs in the SD firmware. So we won't be seeing any "updatesd.exx" (xx being the version) files for a while.
I have tried the quick on-off trick, was something supposed to happen? The only thing that happened with me is that the "Gameboy" logo appears, like when no cartridge is inserted, or when it is in multiboot receive mode. I checked the SD card after this and nothing had changed. I don't know whether there was supposed to be any files or anything added onto the SD card.
I might try renaming the CF update files to text file extensions (.txt, .doc, etc.) to see whether I can find anything.
EDIT: No luck with renaming the extensions.
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
Last edited by GoopyMonkey on Mon May 15, 2006 5:30 pm; edited 1 time in total
#83306 - chishm - Mon May 15, 2006 6:36 am
If you have an Xboo cable, you could try writing a multiboot program to dump the ROM to a file on the PC using Xboo Communicator.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#83308 - tepples - Mon May 15, 2006 6:48 am
But don't too many consecutive reads from ascending addresses lock the ROM, causing only the first 512 bytes to appear repeated?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#84429 - MoonCrescent - Mon May 22, 2006 2:35 pm
Everyone who has the GBAMP compact flash version can use Chishm's firmware hack in order to allow their movie player to be used with a passme device to run nds homebrew.
I have a GBAMP secure digital version and ther doesn't seem to be a firmware hack out there. Is anyone going to write one?
#84465 - tepples - Mon May 22, 2006 6:51 pm
Before Chishm's NDSMP bootloader can be ported, Chishm's FAT library must first be ported, and in order for that to happen, we first need to know how to read a sector.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#84480 - GoopyMonkey - Mon May 22, 2006 8:49 pm
But wouldn't other SD-based flash cards read the SD card in the same way as the GBAMP SD would? Or are there a couple of different ways to access them? Because if we knew how to read the SD in a SuperCard or an M3, then we might be able to get into the SD card using the same methods. I'm not sure how you'd find out how they read it though... maybe some altered version of Dwedit's CF Tester could show everything that's happening and try some different techniques...
Don't ask me though. :P
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
#84484 - tepples - Mon May 22, 2006 9:46 pm
GoopyMonkey wrote: |
But wouldn't other SD-based flash cards read the SD card in the same way as the GBAMP SD would? |
Not necessarily. SD cards are read and written through an SPI port, which is similar to 8-bit normal mode serial comms on the GBA. Some adapters might implement the SPI shift register in hardware, much like in normal SIO mode, while other adapters require a software shift register, much like general purpose SIO mode or GBA EEPROM access. In addition, the registers might be in a different order from adapter to adapter.
Quote: |
Or are there a couple of different ways to access them? Because if we knew how to read the SD in a SuperCard or an M3, then we might be able to get into the SD card using the same methods. |
First we might have to dump the firmware in order to see which ROM-space or SRAM-space addresses it reads and writes, and then translate that into what we know about SD.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#84488 - GoopyMonkey - Mon May 22, 2006 9:58 pm
But know that we have gone back to the "dumping the GBAMP SD firmware" topic, we need to know anything that might work, which is probably why Dwedit created this topic. I can confirm that the quick on-off trick does not work.
tepples wrote: |
First we might have to dump the firmware in order to see which ROM-space or SRAM-space addresses it reads and writes |
But what would the GBAMP team change from the CF version to the SD version? Does it need to use the space availible on the inserted card, or use any memory availible, such as the built-in RAM? I'm not sure about using space on the card, though, as I have tried completely overloading it and filling up my SD, and everything stills works fine.
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
#84498 - Dwedit - Mon May 22, 2006 10:40 pm
A compactflash card is basically an ATA device, if you connect the pins in the right place, you can plug it into a hard drive slot. Not true for SD devices.
Anyway, I'm sure the real reason for the lack of progress is that everyone who owns a GBAMP SD doesn't have any other flash equipment.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#84521 - chishm - Tue May 23, 2006 2:43 am
I guess the people who know how to do this don't have the actual hardware, and vice versa. Here are some tips:
The GBAMP CF version remains in a semi unlocked state after it loads a multiboot ROM. If you read the ROM address space decendingly, rather than ascendingly, it remains unlocked.
Just because we don't know how to write to SD cards, doesn't mean we cant dump the firmware. Use an Xboo cable in combination with Xboo Communicator to dump it to a file on the PC.
Even if you can only dump the first 512 bytes of the firmware, you can work your way up from there. Run the ROM in an emulator and log the reads to GBA cart address space. Emulate the startup read sequence in your dumper to dump the next portion of the firmware.
And most importantly, be persistant. If one way doesn't work, try another way. Work with what you know to find out what you don't.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#84900 - Dan2552 - Thu May 25, 2006 3:11 pm
somebody should just buy chishm one so he can do it :p
#88248 - ps2aich - Sun Jun 18, 2006 9:52 am
Hi,
I'm very new to GBA coding (actually, I started yesterday), but since I recently bought a GBAMP2 SD for the nephew of my wife, I struggled hard with
this $%XX%$% Movie Converting software, I finally got an GBA Micro and a second GBAMP2 SD for testing and etc.
Until now, I have understood the pocketnes_compy could not access the
SD card, since its different to the GBAMP2 CF, so , as to citate an other forum, 'your options are limited' :-)
What I have done so far is to cut out the M3 SD access code from the ScummDS project (io_m3sd.c) , and to my surprise, M3SD_Unlock and
M3SD_IsInserted seems to work (that means the functions are returning true when run on my GBAMP2 SD, and false if run in VisualBoyAdvance).
Unfortunately (but likely) the readSectors code does not work, so my
assumption is,
Code: |
#define M3_REG_STS *(vu16*)(0x09800000) // Status of the CF Card / Device control |
seems to be the same, but the other addresses like the following registers are different:
Code: |
//SD dir control bit cmddir=bit0 clken=bit1
//output
#define SDDIR (*(volatile u16*)0x8800000)
//SD send get control bit send=bit0 get=bit1
//output
#define SDCON (*(volatile u16*)0x9800000)
//SD output data obyte[7:0]=AD[7:0]
//output
#define SDODA (*(volatile u16*)0x9000000)
//SD input data AD[7:0]=ibyte[7:0]
//input
#define SDIDA (*(volatile u16*)0x9000000)
//readsector data1
#define SDIDA1 (*(volatile u16*)0x9200000)
//readsector data2
#define SDIDA2 (*(volatile u16*)0x9400000)
//readsector data3
#define SDIDA3 (*(volatile u16*)0x9600000)
//SD stutas cmdneg=bit0 cmdpos=bit1 issend=bit2 isget=bit3
//input
#define SDSTA (*(volatile u16*)0x9800000)
|
So my questions: should it be possible to build an Xboo cable for
the gba micro (i found http://graga.tri-bit.biz/xboo.html)
to try dumping the GBAMP2 SD rom, since the gba micro has a different
link cable?
Would the mentioned CF Tester be a good start to modify and test
a little, or must the registers be known in advance for doing this?
#88285 - Dwedit - Sun Jun 18, 2006 3:44 pm
I'm wondering if a program to probe each memory address and see which ones are writable would work... Then you might have to play "port shuffle" and test out 720 different possible arrangements of the registers.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#88306 - tepples - Sun Jun 18, 2006 6:29 pm
Does the same firmware unlocking code work?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#88327 - ps2aich - Sun Jun 18, 2006 8:23 pm
tepples wrote: |
Does the same firmware unlocking code work? |
if you mean the following, then yes, it seems to work, but I'm not 100%
sure, since it returns true, it can be.
Code: |
bool M3SD_Unlock(void)
{
// run unlock sequence
volatile unsigned short tmp ;
tmp = *(volatile unsigned short *)0x08000000 ;
tmp = *(volatile unsigned short *)0x08E00002 ;
tmp = *(volatile unsigned short *)0x0800000E ;
tmp = *(volatile unsigned short *)0x08801FFC ;
tmp = *(volatile unsigned short *)0x0800104A ;
tmp = *(volatile unsigned short *)0x08800612 ;
tmp = *(volatile unsigned short *)0x08000000 ;
tmp = *(volatile unsigned short *)0x08801B66 ;
tmp = *(volatile unsigned short *)0x08800006 ;
tmp = *(volatile unsigned short *)0x08000000 ;
// test that we have register access
vu16 sta;
sta=M3_REG_STS;
sta=M3_REG_STS;
if( (sta == CF_STS_INSERTED1)||(sta == CF_STS_INSERTED2) )return true;
return false;
}
|
#88328 - ps2aich - Sun Jun 18, 2006 8:28 pm
Dwedit wrote: |
I'm wondering if a program to probe each memory address and see which ones are writable would work... Then you might have to play "port shuffle" and test out 720 different possible arrangements of the registers. |
I think I have to look a little deeper into this io_m3sd.c - code to
see, what make sense. Or do you mean, that simply a
'write value XX to a', then 'read value from a', and when 'XX' is
read, it is a meaningful address in the gba memory space? (I ask this
since I didn't go deeper into this yet)
#88329 - Dwedit - Sun Jun 18, 2006 8:38 pm
Yeah, basically I want to test if each word/halfword is writable or not, and if it mirrors across memory or anything.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#88416 - ps2aich - Mon Jun 19, 2006 11:10 am
I now think it makes sense to build a Xboo cable for the GBA Micro,
since currently I work like:
- compile and link multiboot program
- copy it to SD card
- put SD card into GBAMP2 SD
- put GBAMP2 SD into GBA Micro
- start gba, run multibootprogram out of GBAMP2 SD
This is too long for a debugging loop, and I think the GBAMP2 contacts
will suffer after a while.
I found schematics for mapping GBA SP link port to the GBA Micro
link port here: http://gamesx.com/wiki/doku.php?id=schematics:gbmtogba
So it should be possible to build one from a GBA Micro link cable.
#88418 - ps2aich - Mon Jun 19, 2006 11:33 am
Can anybody please clarify Multibootmode for me:
I just read that the GBA goes into Multibootmode by pressing
Select+Start at poweron? Is this right?
So it can be, that by doing my (quoted below) procedure, perhaps
the GBAMP2 SD is already unlocked, and the result will look different
if I will use the Xboo cable and doing a multiboot over it, and THEN
do execute the unlock code?
Can my assumption be correct?
ps2aich wrote: |
I now think it makes sense to build a Xboo cable for the GBA Micro,
since currently I work like:
- compile and link multiboot program
- copy it to SD card
- put SD card into GBAMP2 SD
- put GBAMP2 SD into GBA Micro
- start gba, run multibootprogram out of GBAMP2 SD
This is too long for a debugging loop, and I think the GBAMP2 contacts
will suffer after a while.
I found schematics for mapping GBA SP link port to the GBA Micro
link port here: http://gamesx.com/wiki/doku.php?id=schematics:gbmtogba
So it should be possible to build one from a GBA Micro link cable. |
#91075 - ps2aich - Tue Jul 04, 2006 12:48 pm
Hi,
some inbetween status so far:
I didn't manage to build a XBoo cable for the GBA Micro, so now I have
purchased an old used GBA on E*** and a MBV2 on Lik-Sang, so I'm now
able to send multiboot programs to the GBA.
I switched back from the FAT-Driver sources in ScummVM to the original
ones from chishm here,
copied the M3SD code and gave it a try on the
GBAMP2 SD. Unfortunately, only the Unlock-Code seems to work.
My assumption was, that the GBAMP2 SD is more similar to the M3SD as to the
GBAMP2 CF.
I then tried to play around with the register addresses (tried different
start offsets) ,according to the wild guess of Mighty Max in
this thread), but had no success.
Then I tried to probe the address range from 0x08000000 to 0x09FFFFFF
for 'a sort of writeable' addresses, but I got different results, depending on the
increment (test each word, test all 0x1000, test all 0x100000),
so currently, I'm not shure about this behaviour.
I've read a lot in the forum about that the GBAMP is locked when reading
GAMEPAK-Addresses, can someone perhaps clarify this for me. Is this sort of usual
or an anti-reverse-engineering feature of the GBAMP? Dependent from this,
this also could have made my first attempts fail?
Mainly because the next thing I will try is to dump the address range from
0x08000000 to 0x09FFFFFF and run it in an emulator.
#91109 - Dwedit - Tue Jul 04, 2006 5:22 pm
On the GBAMP CF, the rom is locked, so dumping attempts will just return the first 512 bytes repeating, but if you boot it up, power off and on really fast, the rom becomes unlocked and dumpable. I don't know if the SD version is the same way or not.
The GBAMP CF requried a hack to the boot code to get it working on emulators, it DMAs from a source address that does not increment to copy data from ROM into RAM. Changing the source to one that does increment fixes it to work on emulators.
If you just get the first 512 bytes repeating, you might need to make a custom program that unlocks it, then tries to dump it. The unlock method might either be known or unknown, but it's likely that all the GBAMPs and M3's use the same method to lock and unlock the rom.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#94303 - ps2aich - Mon Jul 24, 2006 9:32 am
Thank you very much Dwedit, your comments were exactly what I needed :-)
Dwedit wrote: |
The GBAMP CF requried a hack to the boot code to get it working on emulators, it DMAs from a source address that does not increment to copy data from ROM into RAM. Changing the source to one that does increment fixes it to work on emulators. |
It was the same for GBAMPSD, so I patched the dump and it worked.
Dwedit wrote: |
If you just get the first 512 bytes repeating, you might need to make a custom program that unlocks it, then tries to dump it. The unlock method might either be known or unknown, but it's likely that all the GBAMPs and M3's use the same method to lock and unlock the rom. |
I had exact this behaviour, I then tried the rom unlock code for the GBAMPCF posted here:
Code: |
A short unlock sequence that works in most cases can be performed by reading these offsets in order: 0x0134,0x00D4,0x0144,0x00EC,0x01E4,0x0188,0x01F4,0x01D4 |
Now I have a dump, und currently I run it in Mappy (because of its
disassembler), and try to do some patches with the build in Memory Editor
to come through some hardware checks (but I have no clue what this
code does really do) and when I let it run through, the message like "could not detect SD card ...' is displayed in the Emulator now.
So my next work part in one of the coming weekends is to figure out the exact SD card detection code.
I hadn't the time yet to look really deep into the emulators, but perhaps someone in the forum has already figured it
out: is there an easy way to hook into the emulator to provide special address access behaviour.? (that really means
I would like to avoid time intensive workthrough of the emulator sources to patch it on source level and rebuild it...)
Or has somebody the 15$ Shareware Home-use No$gba Gameboy Advance Debugger version in use: does it have similar features than mappy?
(of course, I read the descriptions on the homepage, and it looks very promising),
Because I consider buying it, since mappy shows some 'unknown msr variants' in his disassembling, so it seems not
really uptodate.
#94306 - chishm - Mon Jul 24, 2006 10:17 am
ps2aich wrote: |
Now I have a dump, und currently I run it in Mappy (because of its disassembler), and try to do some patches with the build in Memory Editor to come through some hardware checks (but I have no clue what this code does really do) and when I let it run through, the message like "could not detect SD card ...' is displayed in the Emulator now.
So my next work part in one of the coming weekends is to figure out the exact SD card detection code. |
Good to hear.
ps2aich wrote: |
I hadn't the time yet to look really deep into the emulators, but perhaps someone in the forum has already figured it out: is there an easy way to hook into the emulator to provide special address access behaviour.? (that really means I would like to avoid time intensive workthrough of the emulator sources to patch it on source level and rebuild it...) |
I tend to use the developer's version of VBA and log all writes to GBA cart space (Illegal writes) and DMA transfers. That helps to locate where the SD card code is. To then get it to continue past certain points, I use the memory editor to NOP out instructions in wait-on-hardware loops.
ps2aich wrote: |
Because I consider buying it, since mappy shows some 'unknown msr variants' in his disassembling, so it seems not
really uptodate. |
Those are probably caused by it trying to disassemble data. VBA and most other disassemblers show garbage instructions for data too.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#94314 - ps2aich - Mon Jul 24, 2006 10:45 am
chishm wrote: |
I tend to use the developer's version of VBA and log all writes to GBA cart space (Illegal writes) and DMA transfers. That helps to locate where the SD card code is. To then get it to continue past certain points, I use the memory editor to NOP out instructions in wait-on-hardware loops. |
So I perhaps should give it a try. Mappy worked from the first start, so I used it.
I once tried (non-dev) version of VBA and connected with Insight to it, but it simply showed nothing (I never worked with gdb, so i didn't go deeper into it).
chishm wrote: |
Those are probably caused by it trying to disassemble data. VBA and most other disassemblers show garbage instructions for data too. |
I think not, because it is the first instruction (the branch in the rom header goes directly to this ARM instruction: I tried to figure it out what msr it is by looking at the bits, I had the conclusion thats its simply writes R0 into the PSR, and this makes no sense for me, since R0 was not initialized (but I only looked into the original ARM2 manual I had from old Acorn Archimedes days,that even doesn't cover ARM3, and since Mappy worked nevertheless, i simply went on and didn't investigate too much time, I noticed later yet that GBATek has a ARM instruction reference, too).
Currently I have some sad feelings that I never really programmed my Acorn Archimedes in assembler 16 years ago, currently every step is looking here and there GBATek, TONC, Mappy, MBV2, VBA, etc... but it makes fun ....
#100196 - GoopyMonkey - Sat Aug 26, 2006 8:09 pm
This may be off-topic (please delete if it is), but is anyone still working on this?
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
#104540 - ps2aich - Sat Sep 30, 2006 10:36 am
GoopyMonkey wrote: |
This may be off-topic (please delete if it is), but is anyone still working on this? |
Hi, I'm currently kind of stuck in this topic, so I'm not sure that I will
really be successful. The problem is, that it seems that the code for
really accessing the SD-card is kind of depacked/built using hardware of
the GBAMPSD, so in software emulation, I currently not yet see it,
so I'm currently in the phase of imagining how to solve this by
step by step running code in emulator, then on hardware, and so
on ....
#104550 - chishm - Sat Sep 30, 2006 11:36 am
I found the easiest way to do it is to disassemble the firmware then look for writes to GBA cart space. Generally, look for key hex values in the disassembled code, like 0x08000000 or 0x09000000.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#106278 - ps2aich - Tue Oct 17, 2006 2:08 pm
chishm wrote: |
I found the easiest way to do it is to disassemble the firmware then look for writes to GBA cart space. Generally, look for key hex values in the disassembled code, like 0x08000000 or 0x09000000. |
Hi chishm, a different question: since today, there is an update of
the GBAMP2SD on the official website, does this help me in any way?
Update e02 (2006.10.17)
It is an update for ebook. Web page formats *.htm and *.html are supported.
http://www.movieadvance.com/sd_en/download.htm
----------------------------------------------------
Updated 2006/11/24: The update has disappeared from their website, also
the gbafilm website has no updates at all anymore. Hm, what does that mean .....
Last edited by ps2aich on Fri Nov 24, 2006 4:06 pm; edited 1 time in total
#106340 - chishm - Wed Oct 18, 2006 1:13 am
With the CF version, update files were scrambled beyond use for disassembly. I think the SD version will be the same (can't check at the moment) so it probably won't be of much use unfortunately.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#106344 - Dwedit - Wed Oct 18, 2006 2:43 am
Can the SD version be reflashed the same way as the CF version?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#106606 - ps2aich - Sat Oct 21, 2006 9:08 am
Dwedit wrote: |
Can the SD version be reflashed the same way as the CF version? |
Hi Dwedit,
do you mean by using FlashMP routines (or the same ones in chishm's ndsmp)?
Is it possible to test this without bricking the GBAMP2SD?
#106607 - Dwedit - Sat Oct 21, 2006 9:36 am
If you run ndsmp and it says "flash detected", then it flashes the same way as the GBAMP CF.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#106618 - ps2aich - Sat Oct 21, 2006 1:30 pm
Dwedit wrote: |
If you run ndsmp and it says "flash detected", then it flashes the same way as the GBAMP CF. |
I tried it now, and unfortunately, it says:
Flash NOT detected! (0000FFFF)
Hm, this GBAMP2SD is simply driving me nuts now ...... :-(
I opened it now to see what chip is inside and ...
the writing on the chip is scratched off ..........
#107027 - K-Duke - Wed Oct 25, 2006 8:21 pm
Hi ps2aich!
I've bought an GBAMP SD as well now for homebrew because i din't know it won't work.
Do you mind sending me the dumped firmware so i may help researching on this? Maybe i might be able to get this to work ^^
#107035 - SCPR - Wed Oct 25, 2006 9:28 pm
Quote: |
I've bought an GBAMP SD as well now for homebrew because i din't know it won't work |
Welcome to the club LOL
You can get the newest version of the manufactures firmware here:
http://www.movieadvance.com/sd_en/download.htm
if it'll help you any.
I'm just waiting aroundfor somebody to hack it due to a lack of such skills on my part so give it hell for us. :)
Regards,
#107036 - K-Duke - Wed Oct 25, 2006 9:36 pm
Thanks for the tip with the firmware-update.
Though I already installed that on the first day i obtained my GBAMP SD ;-)
#107589 - K-Duke - Tue Oct 31, 2006 6:25 am
I'm trying to dump the firmware of the GBAMPSD now for some time though i can't get it working.
ps2aich used a MBV2 Cable and MB.exe to get the rom which was sent through the multiboot-binari.
Though it seems to me that Xboo does not have such a function to receive files send by the mb-rom :-/
If somebody knows better please let me know!
I want to compare my dump with ps2aich his.
Espiacially after I updated the firmware.
#107596 - ps2aich - Tue Oct 31, 2006 10:19 am
K-Duke wrote: |
I'm trying to dump the firmware of the GBAMPSD now for some time though i can't get it working.
ps2aich used a MBV2 Cable and MB.exe to get the rom which was sent through the multiboot-binari.
Though it seems to me that Xboo does not have such a function to receive files send by the mb-rom :-/
If somebody knows better please let me know!
I want to compare my dump with ps2aich his.
Espiacially after I updated the firmware. |
Hi K-Duke,
sorry, I didn't found time to answer your last email.
I think the answer to this topic is perhaps interesting for more people:
With the mbv2, the mb.exe is the pc program to communicate with the GBA,
and on gba side, use the API defined in the mbv2.h of the devkitPro.
With the XBoo-cable, the XBoo-Communicator (available at the devkitPro-
site) ist the corresponding programm similar to mb.exe.
Also, you have to use the xboo.h API on the gba.
With the xboo-API, you are much more comfortable to program the dump
(e.g. you can use fwrite instead of looping with fputc).
As an example, you can also compare the SendSave versions on chishms
website: the original one uses the xboo api and the Xboo communicator,
my ported version (on the end of the Sendsave.Page) uses the mbv2 API
for the same.
Hope this helps.
#107630 - K-Duke - Tue Oct 31, 2006 6:35 pm
Oh I see.
I didn't know the protocolls were included in the DevKitpro.
All right! That makes things easy ^^
Ok I guess I'll get it to work pretty soon.
@ps2aich don't worry.
I already thought you might be simply busy!
Although we are all dedicated to Homebrew HERE we all
have to life a live out THERE! ;-)
#108209 - K-Duke - Mon Nov 06, 2006 7:26 pm
Hi guys...
Here are some new infos.
Well I bricked my GBAMP. I don't really know how but it seems i locked the chip and it wouldn't unlock anymore. Well that made me DAMN curious about the chip with the scratched down readings.
I decided to disamble the GBAMP SD totally in the hope to find any clues under the chips.
And I found one. The chip with the readings scratched of still has the name printed onto the board under the chip. It is an eX128 from Actel.
The specifications given in the product descriptions indeed fit to the
GBAMP SDs behaviour. I hope this will speed up the process at least a little.
To get more info about it simply use your favourite web search and search for "eX128" and "Actel".
Note its the 64 pin quad version.
I now myself have to wait until I get hold on a new GBAMP SD.
greetz
K-Duke
#111455 - GoopyMonkey - Wed Dec 06, 2006 6:55 pm
It has arrived! From the official company, the NDS-boot update is here! It's Chishm's NDS MP! Apparently it loads the same file (_BOOT_MP_.nds).
I hope this will help towards much, much greater things for the GBAMP SD. Too bad I gave in a day before and bought a GBAMP CF. :(
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
#111497 - chuckstudios - Thu Dec 07, 2006 2:33 am
I'm not much of a coder so I don't know if this will work but can you try this on a M2SD? http://chuckstudios.netfast.org/moonshell/Moonshell_for_m2sd.rar
It's Moonshell 1.5 with the M2SD drivers in it. I have absolutely no idea if it work or not though.
#111526 - GoopyMonkey - Thu Dec 07, 2006 9:01 am
Well, it seems this update also needs a PassMe or NoPass to boot as well, as there is a slight delay before showing this "This is not endorsed by Nintendo" message. I assume this delay is caused by checking the DS slot for a passthrough device. I'll report my findings with my MML once it arrives.
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
#111531 - chishm - Thu Dec 07, 2006 10:03 am
GoopyMonkey wrote: |
Well, it seems this update also needs a PassMe or NoPass to boot as well, as there is a slight delay before showing this "This is not endorsed by Nintendo" message. I assume this delay is caused by checking the DS slot for a passthrough device. I'll report my findings with my MML once it arrives. |
Not exactly. DS apps can only be started from Slot-2 using a *Me pass-through method. Without this, only GBA code can be booted from Slot-2. The firmware update allows the GBAMP SD to recognise that it is in DS mode and act accordingly. Before this update, it has no knowledge about DS mode at all.
The delay caused by a mode check should be so short as to be un-noticable, if done right. The app simply has to check the register at 0x4000136. This is the EXTKEYIN register in DS mode or IR register in GBA mode. In DS mode it is always non-zero while in GBA mode it is always 0.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#111554 - GoopyMonkey - Thu Dec 07, 2006 5:35 pm
Thanks for the info Chishm, my MML arrived today and it successfully boots into DS mode. As I suspected, SNES DS does not work, even though it's less than 4MB (megaBYTES, not bits).
Chuckstudios, your Moonshell version says that I didn't include a file or something in /shell. I've no experience in coding for GBA so I can't try and fix it.
The built-in skin that comes with the NDS file that comes with the update is way better than the GBA default.
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
#111576 - chuckstudios - Thu Dec 07, 2006 11:01 pm
Could you please tell me which file(s)?
EDIT: Or is it that black screen of doom?
#111623 - Ramono - Fri Dec 08, 2006 2:30 pm
When i buy a passcard, is the 4mb limit still there, or does it run directly from the SD card.
And can the passcard "passback" to save files. :P
And can i run normal games on it, or homebrew only.
And thesame questions with the FlashMe method.
Thanks,
Ramon.
Last edited by Ramono on Fri Dec 08, 2006 10:02 pm; edited 1 time in total
#111628 - Sausage Boy - Fri Dec 08, 2006 4:06 pm
Of course you can run warez, all you need is r0mloader!
_________________
"no offense, but this is the gayest game ever"
#111657 - GoopyMonkey - Fri Dec 08, 2006 7:52 pm
chuckstudios, sorry, I wasn't adding all the other files. Works fine apart from the fact that I can't launch NDS files. Can anyone tell me how to launch them?
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
#111677 - ps2aich - Fri Dec 08, 2006 11:05 pm
Halleluja, this is the best message I heard since months.
thank you very much for pointing it out :-)
I was just to frustrated to investigate further more, so I download
it now and have a look at the SD-card access :-)
Yipieh!!!!!!!!!!!!!
GoopyMonkey wrote: |
It has arrived! From the official company, the NDS-boot update is here! It's Chishm's NDS MP! Apparently it loads the same file (_BOOT_MP_.nds).
I hope this will help towards much, much greater things for the GBAMP SD. Too bad I gave in a day before and bought a GBAMP CF. :( |
#111680 - chuckstudios - Fri Dec 08, 2006 11:28 pm
... HELL YES
MY MOONSHELL WORKS
OK, it can't boot NDS stuff because I didn't adjust that source code.
But guys: Easy solution (AKA dirty hack) to get M2SD working with ANY open source homebrew. Download this and follow the readme: http://chuckstudios.netfast.org/moonshell/io_m2sd.rar
EDIT/UPDATE: I have made a new build of MoonShell 1.5 that *should* work and actually integrates the M2SD driver instead of replacing the (very similar) M3SD driver. You will need a working /shell/ folder (if you need one, there is one in this archive) and this .nds. It may work with booting .nds files. I honestly don't know since I don't have an M2SD.
#111712 - GoopyMonkey - Sat Dec 09, 2006 9:43 am
chuckstudios, that version is exactly the same as 1.3, isn't it? I still can't boot .nds files, anyway. The only way I can boot any file is by renaming it to _BOOT_MP_1122.nds. Thanks for trying though, really appreciate it.
_________________
My favourite DS apps:
GBAMP Multiboot
Colors!
jEnesis
#111726 - chuckstudios - Sat Dec 09, 2006 3:07 pm
Well, it integrated the driver into the build instead of kicking the M3SD driver out and taking its place. Sorry to hear that .nds boot didn't work for you. Someone else will have to figure that out then.
BTW, it's MoonShell 1.5, the newest version. :D
#111738 - ps2aich - Sat Dec 09, 2006 6:17 pm
FYI for all that only want the info but not download the update, below quoted is the readme included in the update zip.
When I interpet it right, the GBAMPSD2 should be able now to run a
_BOOT_MP_1122.nds file in the root directory (in the update
a _BOOT_MP_1122.nds is included - it seems to be an old version
of moonshell). Of course, you'll need a passme or whatever (as chishm already stated).
They also included m2sd source code (derived from a m3sd old libfat) to access the SD card, but only reading, writing is simply commented out
(the m3sd code).
[Edited: I just checked tried to use the m2sd source code in my GBA,
but they explicitely nail the code to NDS Quote: |
bool M2SD_ReadSectors (u32 sector, u8 numSecs, void* buffer)
{
#ifndef NDS
return false;
#endif |
, I didnt manage to get it to work for GBA (endless loop, i think timing problems, they use short for-loops for timing]
When I look at all this, it seems they opened the GBAMPSD to NDS homebrew in this way to get rid of their own movie software (so now you can use moonshell on NDS :-) ).
readme wrote: |
Warning: When you are updating your GBA/GBA SP, make sure your GBA/GBA SP has steady power and don't turn off your GBA/GBA SP or pull the GBA Movie player out, or your GBA Movie Player will be broken
GBA Movie Card SD Version (M2-SD) BOOT-NDS Update Program (English Version)
What is it?
It is a special program to update GBA Movie Card SD Version (M2-SD) to let it to run _BOOT_MP_xxxx.nds.
How to use?
1. Copy pocketnes.gba, REPAIR.nes and updatesd.e02 to root directory of SD card.
2. Use any GBA Movie Card CF/SD Version(M2/M2-SD) to run REPAIR.nes in FC Game menu. Wait for following massage to show:
"Please insert the problem GBA Movie Card SD Version (M2-SD), Then press START to update card or A to cancel."
3. Do not turn off. Insert the card which need update. Press START button to update firmware. Wait the following Successful massage to show:
"Update Successful. Please use GBA Movie Card SD Version (M2-SD) update file to update this updated card or press START to update another card or A to cancel."
4. Repower GBA/NDS. Then update this updated card with updatesd.e02. After updating, this M2-SD can boot _BOOT_MP_xxxx.nds in root directory of SD card on NDS.
NOTE: This program can only be used to update GBA Movie Card SD Version (M2-SD) (English Version). Updated M2-SD can only boot _BOOT_M3_1122.nds or later version.
NOTE: In io_m2sd.rar is example source code to interface M2-SD. You can use it in your nds programs. Please name your nds program to _*******.nds(* is any letter) and copy it to root directory of SD card to run it on M2-SD.
That's all. Hope this program can help you.
How to make it work with a passcard?
1. put _boot_MP_xxxx.nds to SD card without folder.
2. Connect the passcard to NDS slot when you use GBA MP, then you can play MP3 and viw JPG file on your NDS/NDSL, and watch movie on NDS/NDS with full screen.
3. .dpg and .dsm format movies are supported.(that means you can use moonshell to convert movies)
20006/11/22
|
#111819 - Ramono - Sun Dec 10, 2006 6:08 pm
Any1 figured out how to write to the card yet?
#111822 - Sausage Boy - Sun Dec 10, 2006 6:23 pm
Quote: |
And can i run normal games on it, or homebrew only. |
Any1 figured out how to get rid of the thieves yet?
_________________
"no offense, but this is the gayest game ever"
#111845 - Ramono - Sun Dec 10, 2006 10:27 pm
cry