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 Misc > GBAMP NDS firmware V2

#52897 - chishm - Sun Sep 04, 2005 1:34 pm

I have completely rewritten the GBAMP loader. It is still in Beta, so only use it if you have another method of booting NDS files. It has been tested quite a lot now, and even if you can't boot NDS files you should still be able to load the original firmware to flash back to the old version.

What's Better:
* No more defragging
* No more need for _BOOT_MP.GBA
* Better CF card compatibility
* It can load files selected by another program

What's Worse:
* No ability to use _BOOT_MP.GBA anymore

What's Different:
* Written in C.
* A large chunk of the GBAMP firmware is now gone.

Get it here.


Last edited by chishm on Sun Oct 23, 2005 7:12 am; edited 2 times in total

#52898 - Mighty Max - Sun Sep 04, 2005 1:54 pm

Great, gonna check it out today. :)

Any updates to the CF-FAT driver ?

#52900 - Dannon - Sun Sep 04, 2005 1:58 pm

I've updated my GBAMP and now I can't boot anything from it, it just seems to run like a normal GBAMP now, any suggestions?

EDIT: Just noticed that you said "only use if you have another method of booting", I should really start reading there posts more closely.

Is there any chance that you have a way to revert back to the firmware, I would do it but like you say it won't run _BOOT_MP.gba now and it will not run _BOOT_MP.nds either


Last edited by Dannon on Sun Sep 04, 2005 2:46 pm; edited 1 time in total

#52901 - falcon!!! - Sun Sep 04, 2005 2:12 pm

uhm..i think i didnt get it why should i put it in my gbamp...

Oh, and what do you mean with "no need for booot_mp.gba"??

#52904 - El Hobito - Sun Sep 04, 2005 3:10 pm

I think its asking for trouble by making it an nds file as opposed to a gba one like before.

#52911 - misunoko - Sun Sep 04, 2005 3:52 pm

now it runs nuthing :S two white screens that with everything i can boot gbamp fine
_________________
www.mod-freak.com

#52937 - Dannon - Sun Sep 04, 2005 8:28 pm

If anyone has flashed their GBAMP with the new BETA firmware and can now only use their GBAMP as it was origianlly meant to be used, you can put it on another version, the previous one is recommended, by putting 'flashmp_mb.gba' from the previous version and running it through the FC Games section of the GBAMP menu

#52951 - chishm - Sun Sep 04, 2005 10:38 pm

If you have two white screens, give it some time to boot. And as Dannon said, use the original flasher to restore if you have trouble. Seriously, I did warn this was BETA, its not my fault if you don't read.

#52952 - Dannon - Sun Sep 04, 2005 10:41 pm

I know it wasn't you're fault, I blamed myself and felt very stupid after doing it and then re reading it, ah well, problem solved now

#52969 - chishm - Mon Sep 05, 2005 3:54 am

Has anyone had success yet? There is no need to upgrade yet, but if you do, report back how it goes. I have succeeded in getting the file loader working, so boot menus may be able to use this to do the dirty work. This way I can fix the loader without the menu being changed.

If you are a coder, you can call this on the ARM9:
Code:
WAIT_CR |= (0x8080);  // ARM7 has access to GBA cart
*((vu32*)0x027FFFFC) = fileCluster;  // Start cluster of NDS to load
*((vu32*)0x027FFE04) = (u32)0xE59FF018;  // ldr pc, 0x027FFE24
*((vu32*)0x027FFE24) = (u32)0x027FFE04;  // Set ARM9 Loop address
asm volatile(".thumb\n  swi 0x00\n");  // Reset

and then this on the ARM7:
Code:
asm ("ldr r0, =0x08000000\n"   "bx r0\n" );

to load the NDS located at the start cluster. I will update the GBAMP CF driver with the code necessary to get a file's start cluster too.

#52976 - Dwedit - Mon Sep 05, 2005 7:37 am

I really think it would be better distributed as a .gba file, not an .nds file. For some reason, the old firmware refused to load files off my 512 card, so I had to find a 32MB card to flash the movie player.

Now it runs the new flashing tool fine, <s>but not scummvm</s>.

edit: For now, it only seems to run files fine if they are the first file on the card. I've only tested last file and first file, last file didn't work at all.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#52983 - chishm - Mon Sep 05, 2005 8:43 am

Alright I have included the gba version of the flasher in the zip file now. This is still BETA. Only use it if you have a way of recovering. Oh, and I should mention that some of the code is based on Darkain's MultiNDS loader, although this may change in future releases.

@ Dwedit:
Which version runs what files off which card?

#52984 - falcon!!! - Mon Sep 05, 2005 8:47 am

@chism What do you plan to do with this firmware?

#52985 - chishm - Mon Sep 05, 2005 9:38 am

falcon!!! wrote:
@chism What do you plan to do with this firmware?

Well, it should solve CF card compatibility problems. If it works with my driver it will work with the firmware. It also means I can easily edit the loader, since it is written in C. I have removed the need for _BOOT_MP.GBA to load in to the GBAMP firmware.

However, the biggest improvement is the ability to use the firmware to boot other NDS files. I have now included a very simple (made in less than an hour) boot menu in the zip file. Put it on the card and try it out. It uses the firmware itself to do the loading, so if the firmware can boot it, then the menu can too. Hopefully MoonShine will include such functionality in MoonShell, which is the only program I have found that is broken.


Last edited by chishm on Mon Sep 05, 2005 9:57 am; edited 1 time in total

#52986 - falcon!!! - Mon Sep 05, 2005 9:42 am

but i've never used _boot_mp.gba

Isn't it for multiboot gba rom??

BTW, yout firmware is like a multiboot menu? but doesnt support moonshell?

AM i right?

#52988 - chishm - Mon Sep 05, 2005 9:55 am

falcon!!! wrote:
but i've never used _boot_mp.gba

Isn't it for multiboot gba rom??

You may not have used it, but alot of people needed to use the included file from the V1 zip just to get the GBAMP firmware to boot. I have fixed that completely now.

falcon!!! wrote:

BTW, yout firmware is like a multiboot menu? but doesnt support moonshell?

AM i right?

No. It is a bootloader. A menu has to be used separately. I have included an example menu in the zip. What I was saying is that it would be good if you could click on an NDS in MoonShell and have it load. Unfortunately MoonShell seems to have trouble with my loader. I think it might be to do with the memory used without initialisation.

#52989 - El Hobito - Mon Sep 05, 2005 10:10 am

the firmware and the multiboot are separate things but the zip comes with a multiboot program that uses the firmware to boot.

Hey chism it works great on here

#52992 - Mr Snowflake - Mon Sep 05, 2005 11:18 am

If I understand correctly, this loader isn't compatible with older (V1) software that loads programs from cf?
_________________
http://www.mrsnowflake.be

#52997 - chishm - Mon Sep 05, 2005 11:45 am

Mr Snowflake wrote:
If I understand correctly, this loader isn't compatible with older (V1) software that loads programs from cf?

It is completely compatible (except moonshell, but that's a different problem). It adds features, not removes them.

#53000 - falcon!!! - Mon Sep 05, 2005 12:04 pm

well, let us know when itsnt no more in beta and when it supports moonshell ^^

Then i will donwload it. (although I havent understood what it changes/improves yet...)

#53013 - Mr Snowflake - Mon Sep 05, 2005 2:17 pm

chishm wrote:
Mr Snowflake wrote:
If I understand correctly, this loader isn't compatible with older (V1) software that loads programs from cf?

It is completely compatible (except moonshell, but that's a different problem). It adds features, not removes them.

Ok then, I didn't understand it correctly apparently. In this case, nice work Chism :) (otherwise it's also great work ;))
_________________
http://www.mrsnowflake.be

#53016 - chishm - Mon Sep 05, 2005 2:40 pm

I have updated it. MoonShell 2p9 doesn't work, but DMV test does. It is still beta until I get more confirmations that it works, but try it if you want and tell me how it goes.

#53017 - falcon!!! - Mon Sep 05, 2005 2:54 pm

so what the moonshell version working for now?
mp3 supported?

#53018 - honolulu - Mon Sep 05, 2005 3:12 pm

moonshell 0.3+1 work great :)

thx !

#53021 - Dwedit - Mon Sep 05, 2005 3:24 pm

Just whitescreens for me, if _boot_mp.nds is far ahead in the file system. Any idea why it fails when the file is late in the system, but works perfectly if it's the first file on the card?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#53025 - falcon!!! - Mon Sep 05, 2005 3:48 pm

honolulu wrote:
moonshell 0.3+1 work great :)

thx !

Really?
And what about multiboot loader by mighty max?

#53028 - honolulu - Mon Sep 05, 2005 5:01 pm

moonshell 0.3+1 work with both multi loader :)

#53033 - falcon!!! - Mon Sep 05, 2005 6:17 pm

Ok^^
Now i will try your firmware chism!
Thx!

Edit:
ALT! Why should I upgrade my firmware?? Is there something different (possibily better)?

#53035 - honolulu - Mon Sep 05, 2005 6:24 pm

OMalone work great with the chishm's launcher :)

#53037 - falcon!!! - Mon Sep 05, 2005 6:40 pm

honolulu wrote:
OMalone work great with the chishm's launcher :)

But oMalone worked with the previous firmware too...

Can u tell me what's changed really? and which are the improvements?
Thx

#53040 - honolulu - Mon Sep 05, 2005 6:55 pm

yes but with the Mighty Max's launcher you can't load OMalone ;)

#53042 - El Hobito - Mon Sep 05, 2005 6:57 pm

There are no real advantages yet so if it aint broke dont fix it falcon.

Hey chism everything works great now, moonshell 0.31 works like a charm. Still no love with the other compatability issues from before (offical demos/snesds etc)

#53046 - falcon!!! - Mon Sep 05, 2005 7:22 pm

sorry i didnt get your first statement:
"...so if it aint broke dont fix it falcon."
What should be broken? and why?

#53050 - Dannon - Mon Sep 05, 2005 7:49 pm

It's a term, and it means literally what it says, the term "If it isn't broken, don't fix it" in this situation means if your GBAMP is doing everyhting you asked of it, therefore it is working and not broken then there is no point in updating as you'll gain no benefits from upgrading it hence "if you're GBAMP isn't broken and you're happy with it, don't upgrade"

BTW, I have tried using this new firmware again and using the loader and everything seems to be working completely fine, I'm just happy it runs SCUMM

#53051 - falcon!!! - Mon Sep 05, 2005 7:56 pm

ok
so let us know when it will run demos/app/games that previous firmware didnt
(snesds,ds.gba files and official demo)

#53055 - honolulu - Mon Sep 05, 2005 8:35 pm

official demo will be possible ?
_________________
http://honolulu.free.fr/
http://www.int13.net/
http://rcbike.free.fr/

#53056 - falcon!!! - Mon Sep 05, 2005 8:39 pm

i dont know. but why shouldnt they run?
THey run on flasg card and arent more than 4MB, so...

#53092 - chishm - Tue Sep 06, 2005 1:28 am

Dwedit wrote:
Just whitescreens for me, if _boot_mp.nds is far ahead in the file system. Any idea why it fails when the file is late in the system, but works perfectly if it's the first file on the card?


Can you give me the usual diagnostic info:
What filesystem are you using (FAT / FAT32), MBR or not, bytes per cluster, what cluster does the file start on when it works and when it doesn't (in hex please)?
It is either finding the wrong cluster on startup, it is not reading the dir properly, or the file reading code is not working properly.

#53104 - chishm - Tue Sep 06, 2005 3:32 am

I have updated the zip with an example of how to use the bootloader now. The method used will be maintained for future releases of the firmware, so even if I improve it further, you can still use the same boot loader code.

#53107 - joebob180 - Tue Sep 06, 2005 5:08 am

Just out of curiosity...

Any idea why SNESds won't work? Is it the same reason that demos wont work?


Its great that we can now make our own bootloader without the skills of Mighty Max, thanks Chism, for making my life worth living.

#53126 - chishm - Tue Sep 06, 2005 8:26 am

Dwedit wrote:
Just whitescreens for me, if _boot_mp.nds is far ahead in the file system. Any idea why it fails when the file is late in the system, but works perfectly if it's the first file on the card?

Can you download the latest version. Make sure the included _BOOT_MP.NDS loads, then try to load other files using it.

#53128 - falcon!!! - Tue Sep 06, 2005 8:53 am

hey
now that i want to try it out, i just cant do it!
I put flashmp.nds on the CF, loaded with multiboot loader (mighty max) but it says"flash not detected/please insert a movie player!"
Why O.o ?

#53145 - El Hobito - Tue Sep 06, 2005 11:00 am

joebob180 wrote:
Just out of curiosity...

Any idea why SNESds won't work? Is it the same reason that demos wont work?


Its great that we can now make our own bootloader without the skills of Mighty Max, thanks Chism, for making my life worth living.


SnesDs doesnt work due to a conflict in the arm7 code, basically as soon as it makes a call to the sound it crashes, if you add metroid for example you will see it boots but crashes before it gets to the intro (the nintendo logo appears and thats it)

#53146 - chishm - Tue Sep 06, 2005 11:15 am

falcon!!! wrote:
hey
now that i want to try it out, i just cant do it!
I put flashmp.nds on the CF, loaded with multiboot loader (mighty max) but it says"flash not detected/please insert a movie player!"
Why O.o ?

Reading the CF card will lock the firmware. Try it again, but pull out the GBAMP while the flasher is running, wait 10 seconds, then put it back in. Keep reinserting until it says flash detected

Alternatively, use the GBA version through the original firmware.

#53150 - falcon!!! - Tue Sep 06, 2005 12:16 pm

ok it worked

But if i flash it on a cf, it'll be flashed the gbamp or that cf??

(i want to ask:" if i usa another cf, will it be the same?")

#53153 - chishm - Tue Sep 06, 2005 12:36 pm

falcon!!! wrote:
ok it worked

But if i flash it on a cf, it'll be flashed the gbamp or that cf??

(i want to ask:" if i usa another cf, will it be the same?")

It is flashed onto the GBAMP. You can use any flash card, as long as you put a _BOOT_MP.NDS file in the root directory.

#53154 - falcon!!! - Tue Sep 06, 2005 12:52 pm

well
your firmware is good!
But anyway it seems to me a multiboot loader like mighty max's one, without a BMP in the upper screen but it can run Omalone.
So i'd say it's better :)

#53175 - binarystatic - Tue Sep 06, 2005 4:12 pm

im really not sure what im doing wrong, ive flashed, to version two about 7 times so far, and then when i get two white screens for longer than two minutes, i flash back to the original firmware. (lather rinse repeat) ive tried using your flashmp.nds through wifime, and through making it the _BOOT_MP.nds with the old firmware. Do i just keep getting a bad flash? or am i doing something wrong?

#53180 - El Hobito - Tue Sep 06, 2005 4:43 pm

can you flash it through the gba version, ie run the gbamp in gba mode and run it from the offical firmware loader?

#53191 - falcon!!! - Tue Sep 06, 2005 6:27 pm

i had to remove this firmware, cuz multiboot loader by mighty max didnt work.
I prefer using his multiboot so i can run some ds.gba files.

#53193 - honolulu - Tue Sep 06, 2005 6:35 pm

multi loader and firmware is different, you can flash your ds with the last hack firmware and use the multiboot loader by mighty max if you want. you can also load the chishm's multiboot loader with the multiboot loader by mighty max ;)

but I can launch the mighty max loader with your loader chishm

(sorry for my poor english ;))
_________________
http://honolulu.free.fr/
http://www.int13.net/
http://rcbike.free.fr/

#53194 - falcon!!! - Tue Sep 06, 2005 6:40 pm

:\
I couldnt!! Did u really manage to run might max multiboot with last firmware??
How?
groan...i'll retry... if chism's last firmware worked with muliboot loader i'd like to use it (for ds.gba^^)

#53199 - falcon!!! - Tue Sep 06, 2005 7:11 pm

please tell me how u make multiboot loader (mighty max) run using the boot_mp.nds provided by chism.

If i start gbamp using chism boot_mp.nds and i click on multiboot.nds (mighty max) it doesnt work :(

I'd like to have chism boot_mp.nds cos it's fast scrolling, but i also want multiboot loader for running ds.gba

#53206 - honolulu - Tue Sep 06, 2005 7:47 pm

with that you have both loader in your cf ;)

boot_mp.nds (mighty max)
multiboot.nds (chism)
_________________
http://honolulu.free.fr/
http://www.int13.net/
http://rcbike.free.fr/

#53207 - falcon!!! - Tue Sep 06, 2005 7:49 pm

yes but i'd like to do the opposite.

But i cant! is it possible? to run might max from chism BOOT_MP.nds?

#53225 - honolulu - Tue Sep 06, 2005 9:45 pm

no it's not possible for me :(
_________________
http://honolulu.free.fr/
http://www.int13.net/
http://rcbike.free.fr/

#53227 - falcon!!! - Tue Sep 06, 2005 9:53 pm

nor for me :(
SO i will keep multibot loader as (boot_mp.nds) and chism boot_mp as second fast scrolling viewer

The first to run ds.gba, the second to run omalone :)

#53240 - binarystatic - Tue Sep 06, 2005 11:42 pm

El Hobito wrote:
can you flash it through the gba version, ie run the gbamp in gba mode and run it from the offical firmware loader?


i tried that way too and it didnt work, ive literally tried every possible way i can think of. and i figured maybee it was that the _BOOT_MP.NDS file wasent the first file on the card so i formatted it and copied that file first, still no luck. I think im gonna wait till a non-beta version is out. however i think the idea behind the new firmware is nice, plus i would be extatic if the nds loader gets implemented into moonshell!

#53245 - CoolkcaH - Wed Sep 07, 2005 12:05 am

To me it's the same as with binarystatic. Just two white screens and I've tried everything.

I flashed the v1 firmware and the new loader doesn't work well with it. It loads but if I load any .nds it comes back to the menu.

Mightymax's loader works.

#53248 - chishm - Wed Sep 07, 2005 12:37 am

I have updated it for you to try. It should fix problems with slow compact flash cards.

@ ColkcaH
The menu won't work with FW v1. The menu is an example of what can be achieved with my new firmware, and is a hack job put together in under an hour.

#53249 - CoolkcaH - Wed Sep 07, 2005 1:12 am

Still two white screens even without any file on the CF..

#53305 - chishm - Wed Sep 07, 2005 10:27 am

CoolkcaH wrote:
Still two white screens even without any file on the CF..

Try it without any CF card inserted, and report back what happens.

#53320 - CoolkcaH - Wed Sep 07, 2005 2:33 pm

Without the CF it enters gba mode and shows the gbamp warning screen (can not find card), then stops at the screen "This product is not sponsored...".

My CF always worked with the v1 firmware but I can dump sectors if you want.

#53332 - binarystatic - Wed Sep 07, 2005 5:35 pm

chishm wrote:
CoolkcaH wrote:
Still two white screens even without any file on the CF..

Try it without any CF card inserted, and report back what happens.


Same thing, just the original firmware telling me i need to insert a cf card. And i also tried the update, still two white screens. is it possible that my cheap cf card is the problem?

#53343 - unchticalin - Wed Sep 07, 2005 6:43 pm

I'm french

2 screan white with _BOOT_mp.nds

if start loader with wifi => boot
if start loader from flashme => 2 screan white

#53347 - honolulu - Wed Sep 07, 2005 7:34 pm

unchticalin je suis aussi fran?ais je peux peut etre t'aider ?


I'm also french, I can pehaps help you ?
_________________
http://honolulu.free.fr/
http://www.int13.net/
http://rcbike.free.fr/

#53380 - chishm - Thu Sep 08, 2005 1:55 am

Alright, I think I have found the problem. unchticalin gave me the idea and CoolkcaH helped me find it. It is in the way my firmware detects first boot. I was looking for a 0 at 0x027FFFFC. This works if there is a game card in slot 1, but doesn't otherwise.

I have uploaded a new version which should hopefully fix this issue. Download it and reflash to see if it works. Alternatively, try sticking an official game card into your DS's slot 1 and boot that way.

#53394 - mrnull - Thu Sep 08, 2005 4:29 am

Works great for me (FlashMe + No DS Game Inserted.) Ran MoonShell, OMalone, and Nibbles. I guess this means no more Movie Player functions though? Anyway, great job. Now just to make it pretty.

#53404 - chishm - Thu Sep 08, 2005 6:21 am

mrnull wrote:
Works great for me (FlashMe + No DS Game Inserted.) Ran MoonShell, OMalone, and Nibbles. I guess this means no more Movie Player functions though? Anyway, great job. Now just to make it pretty.

There is still movie player functions, just boot the GBAMP from the DS's firmware. I am not much of a GUI person, that's why I included an example of how to write your own front end. Good to here it worked, jsut gotta fix a few more games before it is no longer beta.

#53406 - The 9th Sage - Thu Sep 08, 2005 6:52 am

Everything I tried to load using your loader (Mighty Max's Loader (which then has no problem loading other NDS files), MoonShell, ScummVM DS, and NesDS) worked properly I'm happy to report. I hope eventually that the loader gets spiffed up slightly though. :) I guess I can say this new version is working great for me thus far. Even NesDS worked on it, and for some reason it stopped working on Mighty's loader...not sure why exactly.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#53407 - chishm - Thu Sep 08, 2005 6:57 am

I am not to interested in working on the front end. As I said, it was only meant to be an example of what can be done with the new firmware. I am hoping the MoonShine actually incorporates it into MoonShell, but if he doesn't do it any time soon I may just have to whip up my own hacked version.

#53412 - The 9th Sage - Thu Sep 08, 2005 7:30 am

chishm wrote:
I am not to interested in working on the front end. As I said, it was only meant to be an example of what can be done with the new firmware. I am hoping the MoonShine actually incorporates it into MoonShell, but if he doesn't do it any time soon I may just have to whip up my own hacked version.


Sorry, I wasn't really meaning to put down the work you've done...I guess that did sound kinda rude.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#53413 - unchticalin - Thu Sep 08, 2005 7:42 am

Works great for me:FlashMe + DS Game Inserted.

edit: now works without ds game inserted

#53430 - chishm - Thu Sep 08, 2005 9:27 am

The 9th Sage wrote:
Sorry, I wasn't really meaning to put down the work you've done...I guess that did sound kinda rude.

Don't worry, no offence was taken. I didn't mean to sound rude in my reply, I was just making it clear (so no one else asks) that I am really only working on the back end. I should probably use more emoticons to make my posts seem happier
^_^
:-D
;-P

#53435 - IxthusTiger - Thu Sep 08, 2005 10:43 am

you guys make me feel fuzzy ^_^

:-D It's like living in Canada! :-D

#53439 - Balmung - Thu Sep 08, 2005 12:34 pm

Hm, i have update my GBA MP2 with Firmware 2.0 (e19) and use the new Firmware Hack from the first Post here in this Thread. But now, when i will start any NDS File from GBA MP2, they boot directly into the GBA MP2 Menu.

All was correct, the _BOOT_MP.nds File was on the CF Card, but he boot only into the GBA MP2 Menu. oO

- formate my cf card don't help
- remove hack, flash e19 new and hack again don't help

Any idea?

P.S. the last version for e18 works perfect.
_________________
Sorry, my english is not that good.

#53459 - Lynx - Thu Sep 08, 2005 3:34 pm

Ok, finally got around to upgrading.. Everything works great for me..

Although your loader example is not pretty, it works great. Hopefully mightmax can "borrow" it for his loader.

Some testing:
_BOOT_MP.nds = MightMax's loader
> Runs Chishm's loader
> Runs Moonshell
> Slow up/down
> doesn't support long file names (yet)
> doesn't run XrickDS
> doesn't run Omalone

The ones that don't run might be because it doesn't appear to clean up after itself. Example would be running DSgoo. You can still see the loader text mixed in with the instructions on the top screen.

_BOOT_MP.nds = Chishm's loader
> Doesn't run MightyMax's loader
> Runs Moonshell
> fast up/down
> supports long file names
> runs XrickDS
> runs Omalone
> runs DSgoo (without text issues)

Basically, It runs everything I have tested with it. So, we just need someone to take your source and make it pretty (hint, hint to mightymax :) )

#53460 - falcon!!! - Thu Sep 08, 2005 3:44 pm

add that mighty max loader can run some ds.gba already ;)

Andf yes. it'd be great to see a fast multiboot like chism's one with good interface and running everything (ds.gba and every nds app)^^

#53470 - The 9th Sage - Thu Sep 08, 2005 4:59 pm

chishm wrote:
The 9th Sage wrote:
Sorry, I wasn't really meaning to put down the work you've done...I guess that did sound kinda rude.

Don't worry, no offence was taken. I didn't mean to sound rude in my reply, I was just making it clear (so no one else asks) that I am really only working on the back end. I should probably use more emoticons to make my posts seem happier
^_^
:-D
;-P


Hah, well I feel happier now. :D I chalk it up to me posting around 2 AM when I should have been asleep.

*edit*
Hm, and I can load Mighty Loader (as I like to call it) with Chism's loader...I wonder if there is something different I'm doing than a few others. It IS the most recent version.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#53473 - falcon!!! - Thu Sep 08, 2005 5:10 pm

Quote:
*edit*
Hm, and I can load Mighty Loader (as I like to call it) with Chism's loader...I wonder if there is something different I'm doing than a few others. It IS the most recent version.


OMFG! Tell me how do u do it! PLEASE!!!^^

#53474 - The 9th Sage - Thu Sep 08, 2005 5:13 pm

falcon!!! wrote:
Quote:
*edit*
Hm, and I can load Mighty Loader (as I like to call it) with Chism's loader...I wonder if there is something different I'm doing than a few others. It IS the most recent version.


OMFG! Tell me how do u do it! PLEASE!!!^^


Er, well... :P

name Chism's loader _BOOT_MP.nds, and put Mighty Max's loader on there in the root directory (should work from any though)...I name it Mighty_Loader.nds but I really doubt that'd make a difference. that's it...I didn't do anything magical to get it to work or anything, heh. Maybe I'm just lucky or something.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#53479 - binarystatic - Thu Sep 08, 2005 5:33 pm

AWESOME IM FINALLY NOT GETTING WHITE SCREENS!

:-) <-- me

Thanks Chism! Works great!

#53535 - chishm - Fri Sep 09, 2005 1:39 am

Lynx wrote:
Basically, It runs everything I have tested with it. So, we just need someone to take your source and make it pretty (hint, hint to mightymax :) )

I like MightyMax's loader for it ability to run .nds.gba files. Mine won't ever do that. If someone writes a menu interface then I can help with the CF access code. Any one here good with GUIs?

#53580 - Lynx - Fri Sep 09, 2005 3:15 pm

Darkain has popped back up, and his gui on his mult-rom loader is pretty nice..

As for nds.gba files, you can use Davr's pme2nds converter to strip the gba header off of the .nds file and then it will work with your loader.. I'm guessing MightyMax's isn't reading the gba header space (or something?).

http://davr.drunkencoders.com

#53746 - IxthusTiger - Sun Sep 11, 2005 1:39 pm

Lynx wrote:
Darkain has popped back up, and his gui on his mult-rom loader is pretty nice..

As for nds.gba files, you can use Davr's pme2nds converter to strip the gba header off of the .nds file and then it will work with your loader.. I'm guessing MightyMax's isn't reading the gba header space (or something?).

http://davr.drunkencoders.com


That's why it only runs ds.gba files that already have .nds available!

(I think...)

#53747 - chishm - Sun Sep 11, 2005 2:18 pm

Lynx wrote:
Darkain has popped back up, and his gui on his mult-rom loader is pretty nice..
As for nds.gba files, you can use Davr's pme2nds converter to strip the gba header off of the .nds file and then it will work with your loader.. I'm guessing MightyMax's isn't reading the gba header space (or something?).
Yes, that's how he's doing it at the moment, but he said he has bigger plans. My loader is fairly simplistic, in that it merely assumes that it is loading a valid NDS file.
IxthusTiger wrote:
That's why it only runs ds.gba files that already have .nds available!
Exactly. However, some files are only distributed as .ds.gba files, and MightyMax's loader doesn't require people to remove the header. I personally just hex edit out the header on such files, but this can't be expected of everyone. It's hard enough trying to tell some people how to place the _BOOT_MP.NDS file in the correct location.
example :-) wrote:
ok, so I have now got a directory named root...


By the way, is anyone still having trouble with this hack? I mean with confirmed working NDS files like Omalone, don't complain about any commercial ROMs.

#53748 - Mighty Max - Sun Sep 11, 2005 2:52 pm

chishm wrote:
[...]
If you are a coder, you can call this on the ARM9:
Code:
WAIT_CR |= (0x8080);  // ARM7 has access to GBA cart
*((vu32*)0x027FFFFC) = fileCluster;  // Start cluster of NDS to load
*((vu32*)0x027FFE04) = (u32)0xE59FF018;  // ldr pc, 0x027FFE24
*((vu32*)0x027FFE24) = (u32)0x027FFE04;  // Set ARM9 Loop address
asm volatile(".thumb\n  swi 0x00\n");  // Reset

and then this on the ARM7:
Code:
asm ("ldr r0, =0x08000000\n"   "bx r0\n" );

to load the NDS located at the start cluster. I will update the GBAMP CF driver with the code necessary to get a file's start cluster too.


That is a very nice way to load the nds. Great that you included the start cluster as a parameter to the boot code. I'm gonna include this method to run the large (OMalon & co) .NDS.

Great Work.
_________________
GBAMP Multiboot

#53771 - Mighty Max - Sun Sep 11, 2005 7:18 pm

Just a quick question:

Do you clear all ram or would it be possible to pass some arguments (via an uncleared region) to the next bootup?
I'm thinking of i.e. a filename so i could redirect opening of datafiles to the corresponding viewer.
_________________
GBAMP Multiboot

#53790 - brian33x51 - Sun Sep 11, 2005 11:44 pm

chishm wrote:
By the way, is anyone still having trouble with this hack? I mean with confirmed working NDS files like Omalone, don't complain about any commercial ROMs.


Nope the new firmwre is great!
Since I only have linux on my boxes I was having grief getting files written contiguously to the FAT16 partition. The new firmware has fixed things.

I guess my only question is whether it's possible to boot the original firmware for the GBAMP still (sorry I'm rather new to the DS, I only got a DS 2 weeks ago and a passme a week ago).

#53805 - chishm - Mon Sep 12, 2005 2:49 am

Mighty Max wrote:
Just a quick question:

Do you clear all ram or would it be possible to pass some arguments (via an uncleared region) to the next bootup?
I'm thinking of i.e. a filename so i could redirect opening of datafiles to the corresponding viewer.

I clear nearly all of RAM, except after 0x023FF800. Be aware that this region is often used for NDS specific data. The NDS header is located at 0x027FFE00 to 0x027FFF70, and there is other stuff written to 0x027FF808, 0x027FF80A, 0x027FFC08, 0x027FFC0A and 0x027FFFF8. Be aware that this may change in future revisions, but I will release the source code when it is no longer in beta (i.e. the code is no longer being modified) so you can see for yourself. Oh, nice loader BTW.

brian33x51 wrote:
I guess my only question is whether it's possible to boot the original firmware for the GBAMP still (sorry I'm rather new to the DS, I only got a DS 2 weeks ago and a passme a week ago).

Yep. Just start the GBAMP without using a PassMe of some kind. If you have flashMe installed, hold Select on startup then choose GBA Game from the NDS menu.

#54042 - LunarCrisis - Thu Sep 15, 2005 3:49 am

The only thing preventing me from immediately upgrading is the 3 second load time. Maybe I'm just being picky, but since this is only for compatibility with programs that don't properly initialize their memory, could there be an option for it to only wipe memory if you hold a given button during start?
_________________
If a tree falls in the forest and no one is there to hear it, why the heck do you care?

#54052 - chishm - Thu Sep 15, 2005 5:30 am

Seriously, 3 seconds is not that noticable. I am going to keep it as a mandatory option, lest I get "OMG MoonShell Crashes!!1! This sux0rs!!!" complaints. Besides, this firmware has many features that make the 3 second load time a worthwhile compromise. For instance, there is the ability to have boot menus that load any file that would normally load straight from the firmware, it has better CF compatibility. Plus if you think waiting 3 seconds is bad, imagine having to defrag your CF after every change to the single allowable boot file like many people had to do with V1. Also, I won't add a button to skip the mem clear, since I am sick of holding buttons at start up :-P . I mean there's already Start for the NDS menu, Select to skip the firmware mod and B to start a GBA game.

I do not mean to flame you. That was a perfectly reasonable request. I just wanted to explain my reasons for the way it works.

#54059 - tepples - Thu Sep 15, 2005 7:06 am

Is there a faster way than 3 seconds? What kind of code are you using to zero the RAM? Is it an unrolled 'stmia' loop?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#54062 - headspin - Thu Sep 15, 2005 8:18 am

He's using CpuFastSet() which as far as I am aware is the fastest way to clear it. DMACopy() is aparently better for moving data around, whilst CpuFastSet() is better for clearing according to the test results from this thread
_________________
Warhawk DS | Manic Miner: The Lost Levels | The Detective Game

#54067 - chishm - Thu Sep 15, 2005 8:55 am

Headspin is correct, its done using CpuFastSet. I tried DMA, and that took like 5 seconds. So yes, its pretty much a stmia loop (according to GBATek). I can't really remove it either, since some programs (MoonShell) don't clear the RAM they are going to use at startup. This is understandable, since 3 seconds is a fairly long time to wait if it's not neccessary. Strangely enough, if I don't clear it, some parts of EXRAM are zeroed at startup, while others are filled with FFs.

#54084 - Lynx - Thu Sep 15, 2005 3:11 pm

3 sec! HA! Try loading up some HEAVY DS apps! 3 sec is nothing!

Anyway, Chishm, do we have an expected release date yet?

Keep up the good work guys!

#54087 - unchticalin - Thu Sep 15, 2005 3:44 pm

the nds original menu boot in 2s

#54128 - falcon!!! - Thu Sep 15, 2005 6:48 pm

i didnt notice the 3 sec waiting

#54155 - chishm - Thu Sep 15, 2005 11:36 pm

Lynx wrote:
3 sec! HA! Try loading up some HEAVY DS apps! 3 sec is nothing!

Anyway, Chishm, do we have an expected release date yet?

Keep up the good work guys!


I suppose it is stable enough to take out of beta. I just want to make sure the code to load ARM7 binaries into shared IWRAM works properly. But since Gladius' WIP SPC emulator is the only app I've come across that does this, it is a bit hard to test.

Yeah, the time does go up if you load something in the 2MB size range, since it has to load it from the CF card. This is like clearing RAM with the added cost off waiting for the CF card (they are sloooow sometimes).

#54196 - DiscoBoy - Fri Sep 16, 2005 12:51 pm

Just want to say that v2 firmware works for me too.
I hade no problem running the usual stuff like ScummVM, Moonshell, XRick, etc.

#54197 - brody - Fri Sep 16, 2005 1:18 pm

Don't know if it will help, but I got a GBAMP the other day and put the v2 firmware on and everything that I have tried so far runs fine.
Thanks for all the effort thats been put into this.

brody

#54326 - chishm - Sun Sep 18, 2005 9:44 am

I just uploaded a new version. This version searches the MBR slightly differently, so it may break on some CF cards. Tell me if it does.

It should also load files into shared IWRAM if they are written that way. I am not entirely sure if this works, since the only app that does this is Gladius' SPC player, which is kinda broken on the GBAMP any way.

#54426 - The 9th Sage - Mon Sep 19, 2005 8:00 am

chishm wrote:
I just uploaded a new version. This version searches the MBR slightly differently, so it may break on some CF cards. Tell me if it does.

It should also load files into shared IWRAM if they are written that way. I am not entirely sure if this works, since the only app that does this is Gladius' SPC player, which is kinda broken on the GBAMP any way.


Hm...I had weird results with this. The first time I tried to use it, I booted it through Mighty's Loader...it created this Memory.bin file on the card, then I tried to load PocketSPC.nds...it got a white screen, then went black and said it failed to init the card, press start to continue...nothing happens when I press start. I think it courrupted the card slightly too, wouldn't work properly until I reformatted the card (for some reason it kept booting directly into GBA mode no matter what I did).

When I tried it by renaming it to _BOOT_MP.nds, it booted up, and PocketSPC didn't work but at least I didn't have the problem I had before...not sure if that was caused by loading it through Mighty's Loader or not.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#54431 - chishm - Mon Sep 19, 2005 8:27 am

Hehehe... Whoops. I accidentally uploaded a debug version of _BOOT_MP.NDS. I fixed it now, I hope. How embarassing.

#54443 - brian33x51 - Mon Sep 19, 2005 3:43 pm

chishm wrote:
I just uploaded a new version. This version searches the MBR slightly differently, so it may break on some CF cards. Tell me if it does.

It should also load files into shared IWRAM if they are written that way. I am not entirely sure if this works, since the only app that does this is Gladius' SPC player, which is kinda broken on the GBAMP any way.


Could you please date tag your zip file or maybe put in a ChangeLog or something to add some sort of minor versioning onto the firmware packages?

#54507 - The 9th Sage - Tue Sep 20, 2005 2:29 am

chishm wrote:
Hehehe... Whoops. I accidentally uploaded a debug version of _BOOT_MP.NDS. I fixed it now, I hope. How embarassing.


PocketSPC still gives that odd "can't initialize FAT" error and won't work, but at least the loader isn't trying to create that memory.bin. :)
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#54540 - chishm - Tue Sep 20, 2005 7:24 am

The 9th Sage wrote:
PocketSPC still gives that odd "can't initialize FAT" error and won't work, but at least the loader isn't trying to create that memory.bin. :)

Yeah, I know. As I said, I think it is a problem with Gladius' code, since it doesn't work via WMB either.

#54594 - The 9th Sage - Tue Sep 20, 2005 6:44 pm

chishm wrote:

Yeah, I know. As I said, I think it is a problem with Gladius' code, since it doesn't work via WMB either.


Oh, sorry about that. I thought you were saying you thought you 'fixed' PocketSPC or something like that. That's strange if it doesn't work via WMB either...I hadn't gotten around to trying that out yet, heh.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#55272 - chishm - Tue Sep 27, 2005 8:38 am

Uploaded a new version (2005-09-27).
Fixes SCUMMVM swapped screens after loading from MoonShell. Unfortunately I haven't figured out why NesDS won't load.

#55522 - joshschw - Thu Sep 29, 2005 1:09 am

it seems to have made my MP into a brick. :p CAn I WMB the flashme.nds and flash it that way?

#55526 - tepples - Thu Sep 29, 2005 1:19 am

If you haven't already used FlashMe then you have to either use a flash card or use ItsaMe (which doesn't exist yet).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#55527 - joshschw - Thu Sep 29, 2005 1:39 am

nah, I have FlashMe, I just wanted to ask since I have to find the drivers, and then uninstall reinstall, etc...

thanks.

#55533 - vb_master - Thu Sep 29, 2005 2:34 am

joshschw wrote:
it seems to have made my MP into a brick.
Try putting on update.e19, and see if it fixes it self.
_________________
Back.

#55762 - sayspo - Sat Oct 01, 2005 7:05 pm

im a total noob, and i dont know wtf this does, of how to make it work ect..
can some body dumb this down?

also, what does this mean?
* A large chunk of the GBAMP firmware is now gone.

#55769 - MoonShell - Sat Oct 01, 2005 9:57 pm

I examined details about the CF card that did not work.
Is there a possibility that the position of FAT cannot be detected though it is not certain yet?
There is 'Number of reservation sectors (IPL sectors)' in 'Position 0x0e/0x0f' of MBR.

It was '1 (IPL=512byte)' in the CF card that did not start.
It was '4 (IPL=2048byte)' in the working CF card.

There is FAT just behind IPL. Therefore, the position of FAT changes when the size of IPL changes.
Is my guess wrong? It is glad when useful.

#55780 - Lynx - Sun Oct 02, 2005 3:44 am

sayspo wrote:
im a total noob, and i dont know wtf this does, of how to make it work ect..
can some body dumb this down?

also, what does this mean?
* A large chunk of the GBAMP firmware is now gone.



Check out here, and see if that's easier to understand: ndshb.com instructions

As for the large chunk of firmware being "gone".. I means there was double information in the firmware that he deleted to make room for the mods we have now. But, it doesn't effect it's use in any way.

#55825 - MoonShell - Sun Oct 02, 2005 10:39 pm

'Number of reservation sectors(IPL sectors) 1 or 4' was not related to GBAMP start.

I think that behavior is different according to whether there is a volume label in the root entry.
Though it is a guess...

The formatter was made referring to the binary dump of a normal CF card.
Please try when there is a person who has 'CF card that doesn't start with GBAMP'. The report is glad.

http://mdxonline.dyndns.org/archives/2005/10/gbampcf_fat16fo.html

#55847 - chishm - Mon Oct 03, 2005 12:08 pm

New version uploaded. It is much faster to clear memory now. I should have listenned to Tepples.

Changes:
* Big speed up when clearing memory - should have listened to Tepples earlier
* Fixed bugs in ARM9 reset function
EDIT: Also slightly changed directory searching so it should pick up _BOOT_MP.NDS when it is the very first file on a disk with no volume name.


Last edited by chishm on Mon Oct 03, 2005 12:39 pm; edited 1 time in total

#55848 - Dudu.exe - Mon Oct 03, 2005 12:35 pm

chishm wrote:
New version uploaded. It is much faster to clear memory now. I should have listenned to Tepples.

Changes:
* Big speed up when clearing memory - should have listened to Tepples earlier
* Fixed bugs in ARM9 reset function


Tepples is god! =]
_________________
http://flickr.com/photos/stuffbox

#55850 - falcon!!! - Mon Oct 03, 2005 1:17 pm

stil i didnt get the advantages of your "firmware"...
It doesnt change anything for me. I instead use multiboot loader, because right now u can't do anything with firmware 2

#55852 - Mighty Max - Mon Oct 03, 2005 1:43 pm

Wow, the speed gain is impressive against the prev version.

@Falcon, it implements an interface for the multibooters to start other nds files. It is mandatory for GBAMP Multiboot.
_________________
GBAMP Multiboot

#55853 - headspin - Mon Oct 03, 2005 1:50 pm

chishm wrote:
Big speed up when clearing memory - should have listened to Tepples earlier


Any chance on being more specific on this? What method is used now?
_________________
Warhawk DS | Manic Miner: The Lost Levels | The Detective Game

#55859 - falcon!!! - Mon Oct 03, 2005 3:21 pm

Mighty Max wrote:
Wow, the speed gain is impressive against the prev version.

@Falcon, it implements an interface for the multibooters to start other nds files. It is mandatory for GBAMP Multiboot.


So if i dont use firmware 2 i cant use your multiboot loader?

#55860 - Mighty Max - Mon Oct 03, 2005 3:28 pm

Yes. I changed that a while back. Its more effective and compatible to have the boot code take parameters instead of emulating the bootup fromin the ram i should initialize.
_________________
GBAMP Multiboot

#55871 - The 9th Sage - Mon Oct 03, 2005 5:36 pm

Mighty Max wrote:
Yes. I changed that a while back. Its more effective and compatible to have the boot code take parameters instead of emulating the bootup fromin the ram i should initialize.


The code of this new firmware seems less quirky that the old version as well...for example, no need to worry about wether you need to defrag your _BOOT_MP.nds file since it compensates for that while loading now.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!

#55906 - chishm - Tue Oct 04, 2005 1:15 am

headspin wrote:
chishm wrote:
Big speed up when clearing memory - should have listened to Tepples earlier


Any chance on being more specific on this? What method is used now?

An arm stmia loop using eight registers at a time. I don't have my code right now, but it is something like:
Code:
mov r0, #0
...
mov r7, #0
ldr r8, =0x02000000  // Start
ldr r9, =0x023C0000  // End
clear_EXWRAM_loop:
stmia r8!, {r0, r1, r2, r3, r4, r5, r6, r7}
cmp r8, r9
blt clear_EXWRAM_loop

I thought CpuFastSet used the exact same method, but it seems a lot faster now.

@falcon
There is almost nothing that the old firmware did that this doesn't do better. Now that I have fixed the speed issue there really is no reason not to upgrade, unless you don't want to risk it.

#55916 - Sebbo - Tue Oct 04, 2005 10:49 am

great stuff chishm, finally decided to put it on, and grabbed the new versions of moonshell and GBAMP multiboot. it all works really well (except for the captured E3 demos, but oh well). thinking of buying another CF card just for homebrew and using my 512 card for moonshell

once again, great work
_________________
Here's some ideas I have for when I know enough to act on them, or for others to have a look at when they're bored: www.wayne.sebbens.com/ds_ideas.htm

#55991 - Dudu.exe - Wed Oct 05, 2005 6:38 am

you shoud hack supercard firmware too to make homebrews like scummvm and moonshell working on it too
_________________
http://flickr.com/photos/stuffbox

#56386 - ninogenio - Sat Oct 08, 2005 10:05 am

so are you any closer chrishm to figuaring out why snesds doesnt work with gbamp as this is one of the apps id really like to try out im guessing that its because it appends the rom to the nds file and its trying to accses cart addresses that dont exsist.

#56389 - chishm - Sat Oct 08, 2005 11:21 am

No, its more complicated than that. The ARM7 crashes which then crashes the ARM9 when it tries to play any sound.

#56432 - Mighty Max - Sat Oct 08, 2005 6:58 pm

I found out why Multiboot wasn't loading when resetting the nds via your method from some .nds files.

I don't know if that applies to snesDS too. But it might be worth the effort.

Originally i used a template to create Multiboot and i let the init code in main() unaltered. Including a call to irqEnable(IRQ_ALL). This however seems to be the root of all evil there. On the very first boot up the deafult IRQ handler is installed, but after you applied a custom one, this stays even after reboot and the IRQ starts code in the nirvana. Which then takes down everything else :p

Could you reset the irqHandler to the default value within your FW?

At least i cleaned up the init code now :p
_________________
GBAMP Multiboot

#56439 - El Hobito - Sat Oct 08, 2005 7:37 pm

ninogenio wrote:
so are you any closer chrishm to figuaring out why snesds doesnt work with gbamp as this is one of the apps id really like to try out im guessing that its because it appends the rom to the nds file and its trying to accses cart addresses that dont exsist.

no because snesds without sound works fine on the gbamp

#56445 - zubiac - Sat Oct 08, 2005 8:14 pm

El Hobito wrote:
ninogenio wrote:
so are you any closer chrishm to figuaring out why snesds doesnt work with gbamp as this is one of the apps id really like to try out im guessing that its because it appends the rom to the nds file and its trying to accses cart addresses that dont exsist.

no because snesds without sound works fine on the gbamp


it does?
does it work with mighty max'es loader too?*

*note: I haven't my DS at the moment to try(DS+euro release of Nintendogs+girlfriend=bye bye DS
_________________
Abusing Cube and DS with all sorts of homebrew and hacks.

#56456 - ninogenio - Sat Oct 08, 2005 9:09 pm

the soundless version of snesds doesnt work for me as it builds a .ds.gba file?

#56459 - zubiac - Sat Oct 08, 2005 9:23 pm

ninogenio wrote:
the soundless version of snesds doesnt work for me as it builds a .ds.gba file?


exactly my thought....

clarification El hobito?
_________________
Abusing Cube and DS with all sorts of homebrew and hacks.

#56478 - BLKGHOST - Sat Oct 08, 2005 10:49 pm

He's talking about the soundless bins

#56491 - El Hobito - Sun Oct 09, 2005 1:19 am

yeah sorry its a special version loopy gave me, pretty much soundless bins

#56502 - chishm - Sun Oct 09, 2005 3:11 am

Mighty Max wrote:
Originally i used a template to create Multiboot and i let the init code in main() unaltered. Including a call to irqEnable(IRQ_ALL). This however seems to be the root of all evil there. On the very first boot up the deafult IRQ handler is installed, but after you applied a custom one, this stays even after reboot and the IRQ starts code in the nirvana. Which then takes down everything else :p

Could you reset the irqHandler to the default value within your FW?

What is the default value? I have been looking through the specs but can't find it. What exactly did you change to get IRQs working correctly? Sorry for being a pain, but I'm not sure which IRQ setting you want changed.

#56524 - Mighty Max - Sun Oct 09, 2005 9:22 am

Sorry for the confusion, i today created a testcase and could not find the difference.

The problem i got is that setting irqEnable(IRQ_ALL) (before initializing IRQ Handlers) works on first bootup, but not on reload. I now checked IRQ_HANDLER, but they are in both cases 0. IME is in both cases 1.

So i'm atm clueless about the reason. (And im clueless why the irq enable was in the template anyways)
_________________
GBAMP Multiboot

#56540 - tepples - Sun Oct 09, 2005 3:54 pm

The difference might be that enabling interrupts while there are pending interrupt sources causes the interrupts to trigger and send the program into nowheresville. Have you tried setting the interrupt service routines before enabling interrupts?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#56547 - Mighty Max - Sun Oct 09, 2005 5:30 pm

Yes of course, i have completely removed that line at this place and only enable where and what i use.

I just wonder why this hangup never happened on the first bootup and just when reloading multiboot from another program. I'd thought such an error would render it unuseable in any case.

*shrugs*

done ;)
_________________
GBAMP Multiboot

#56892 - MoonShell - Wed Oct 12, 2005 5:03 am

The explanation is very difficult. I am sorry.

function FAT_GetDirEntry question.

>if (lfn.ordinal & LFN_END)

This condition doesn't consider deleted entry (LFN_DEL).
ex>lfn.ordinal=LFN_DEL | LFN_END | 5;
'lfnName[(lfn.ordinal & ~LFN_END) * 13]' is 'lfnName[0x85*13]'.
Because MAX_FILENAME_LENGTH is 256, it becomes an access outside the range.

>if ( (lfn.ordinal & LFN_END) && ((lfn.ordinal & LFN_DEL)!=LFN_DEL) )
Is this suitable?

Moreover, because the maximum value of the number was 6bit(=63), I thought that '(63*13)+1' was safe of MAX_FILENAME_LENGTH.

#56930 - chishm - Wed Oct 12, 2005 9:16 am

MoonShell:
Thankyou for your help. I completely missed that bug. I have fixed it now in my local source. It will be uploaded when I am ready (still more to do). The MAX_FILENAME_LENGTH only needs to be 256 because Microsoft has specified that the maximum size of a file name is 255 characters.

What name should I use in my code? Do you prefer MoonShell, MoonLight or Infantile Paralyser?
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#56933 - MoonShell - Wed Oct 12, 2005 9:50 am

chishm wrote:
MoonShell:
Thankyou for your help. I completely missed that bug. I have fixed it now in my local source. It will be uploaded when I am ready (still more to do). The MAX_FILENAME_LENGTH only needs to be 256 because Microsoft has specified that the maximum size of a file name is 255 characters.

What name should I use in my code? Do you prefer MoonShell, MoonLight or Infantile Paralyser?


It had already corrected it. Great.
MAX_FILENAME_LENGTH is up to 255 characters in the specification of Microsoft.
There is no area of 256 characters or more needing if Microsoft decides it. I
am the same opinion.

My name is Moonlight.
Though I was not useful. hahaha.

Another demand.

FAT_fopen returns normal 0. However, 0 might mean the failure like NULL etc.

ex: if (FAT_fopen(...)==NULL) return(false);

Of course, when 1 or more is returned if possible, I am glad though this example is a mistake.

#56935 - chishm - Wed Oct 12, 2005 10:27 am

You were right about the bug. You found it. I think the translator must have changed my statement :-). I have put your name in the source now.

MoonLight wrote:
Another demand.

FAT_fopen returns normal 0. However, 0 might mean the failure like NULL etc

I have been thinking of returning FAT_FILE* pointers instead of an integer in my next release. This will require people to change their code to match. What do other people think of this change? Is it good or bad?
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#56937 - MoonShell - Wed Oct 12, 2005 10:51 am

chishm wrote:
I have been thinking of returning FAT_FILE* pointers instead of an integer in my next release. This will require people to change their code to match. What do other people think of this change? Is it good or bad?


sizeof(pointer) equal sizeof(FAT_FILE*) equal sizeof(int).

Even if 'FAT_fopen' returns any value, it must be unrelated if the file steering wheel is not subtracted mutually.
I do not think that there is a subtraction usually. However, I think note about to be necessary readme.
It mostly thinks software that uses gbamp_cf.c to be able to compile without the change.
(However, warning of Cast will go out... )

#58399 - chishm - Sun Oct 23, 2005 7:15 am

Ok, I now have FAT12 compatibility. This means the V2 firmware should now support every card that V1 did. So if all goes well, and no bugs are reported before the end of the month, I will take it out of beta, and release the source code.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#59825 - chishm - Fri Nov 04, 2005 11:02 am

Okay, it's been over a week, and no one has complained reported any bugs. I'll take the absence of evidence as evidence of absence. This means I am now taking NDS MP out of beta. As an added gift, I have included the source in the zip, so you can do with it what you want, in accordance with the GPL.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#60273 - Mighty Max - Tue Nov 08, 2005 4:02 pm

I've been playing with adding some hack into the hack.

I read out the boot image to a buffer and apply some changes to this buffer, but when i try to flash this buffer back, it fails:

Code:

   WAIT_CR =~ 0x809C;   // ARM9 control and fast cycle
   FlashUnlock();
   unsigned int id = FlashID();


This returns id = 0x03A0FFFF, which does not match the ID i should get. If i ignore it and still try to erase & write, it fails (never returning from erase, fw still complete)

Any idea on what i could do wrong?
_________________
GBAMP Multiboot

#62715 - Dwedit - Sun Dec 04, 2005 10:14 pm

It was updated today to 2.03.
http://www.geocities.com/chishm1/gbamp/
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#62843 - chishm - Tue Dec 06, 2005 10:10 am

I have to thank Gladius and Loopy for their help with the latest update. Loopy spotted the bug that was causing problems with many games, including SnesDS.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#62854 - El Hobito - Tue Dec 06, 2005 1:40 pm

Nice official demos are now compatible with the gbamp!

(no use to me since i have an m3 but still cool!)

#62873 - Lynx - Tue Dec 06, 2005 5:38 pm

Chishm, was that on purpose?

#62880 - El Hobito - Tue Dec 06, 2005 6:05 pm

it does seem to be a bit odd that no ones mentioned it yet

#62883 - MaHe - Tue Dec 06, 2005 6:38 pm

Yeah... BUT IT ROCKS!

EDIT: NesDS works with MoonShell now, YAY!

#62927 - joshschw - Tue Dec 06, 2005 11:41 pm

I notice that once I load the Jump Superstatrs demo, it goes to the menu with the two option, but freezes once i click on one of them. Though that Pokemon Puzzle game worked fine it seems.

#62936 - Mr. Picklesworth - Wed Dec 07, 2005 12:48 am

I only see 2.01 on that page...
( http://www.geocities.com/chishm1/gbamp/ )

Where can I find this mystical new version, and is it a final, safe, happy release?



Edit: Ah, I see. It's a new version in the same archive. Very nice! That submarine tech demo is incredible... Perhaps the best graphics done on DS so far. A bit of a shame that stuff like that wasn't really shown off very much.

My attempts so far to get SnesDS going have failed... no doubt because it's a .ds.gba file. Obviously, I'm doing something wrong.
Are there any neutral (not illegal) roms that are known to work which could be used to point me in the right direction?
_________________
Thanks!
MKDS Friend Code: 511165-679586
MP:H Friend Code: 2105 2377 6896

#62966 - nuatilus - Wed Dec 07, 2005 9:41 am

While trying out the official demos for the first time, I noticed something by mistake. I was able to launch my Advanced Wars cart from my own backup copy on the movie player, while using Mighty Max's multiboot loader. The game was definitely playing from the real cart (I checked by removing both the mp and the real game). I know it isn't anything big, however I also know that none of your previous releases allowed that (I double checked different revisions prior to posting).

Thank you for all of the hard work you've poured into this Chishm.

#62969 - chishm - Wed Dec 07, 2005 10:48 am

El Hobito wrote:
Nice official demos are now compatible with the gbamp!
and
Lynx wrote:
Chishm, was that on purpose?

Definitely not! I purposely left out the CRC code from the public release, and I thought that would stop them from working. Unfortunately I was stupid enough not to make sure, and by the time I realised, it was too late. It would seem that the demos work without the correct CRC in memory, so they must not check it.

Also, about nuatilus' comments:
This is exactly why I didn't want the official demos to work. DO NOT ask about any official demos, I am not aiming to make them compatible. Any questions about ROMs will be met with hostility. You have been warned.

On the plus side, this should hopefully fix a few homebrew apps that used non-standard ARM7 binaries. The problem was in the GBAMP firmware bootstrapper that I used to unlock the card. It set the CPU to User mode, which I now know cannot go back to Supervisor mode. This caused problems with non-standard stack setups, etc. Loopy and Gladius spotted this one.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#62976 - ninogenio - Wed Dec 07, 2005 12:11 pm

lighten up chishm youve done amazingly well getting the mp this compatible you cant very well now make it less compatible lol.

you yourself arent doing anything illegal so you can hardly beat your self up if someone misusses your product.

but never the less me mp is a great little tool now cheers ;)

#62977 - bafio - Wed Dec 07, 2005 12:54 pm

Chishm,

but what is all the fuss about running official demos? They run already with wireless multiboot, and official roms won't ever work (as far as I understand) on GBAMP, because of the access times of the compact flash card (GBAMP not having a fast memory buffer).
People who want to run pirated games already went and bought flash cards, for the rest of us I see no reason why we should not be allowed to run demos, which are something game producer would supposedly be happy if we run.

That's just my idea at least,

Bafio

#62981 - Darkflame - Wed Dec 07, 2005 2:32 pm

Quote:
My attempts so far to get SnesDS going have failed... no doubt because it's a .ds.gba file. Obviously, I'm doing something wrong


Its apperently an incomptaibility with the way the sound is done, see other thread for details ;)

#63009 - Lynx - Wed Dec 07, 2005 8:39 pm

bafio wrote:
Chishm,

with wireless multiboot, and official roms won't ever work (as far as I understand) on GBAMP, because of the access times of the compact flash card (GBAMP not having a fast memory buffer).


Yeah, that is correct.. if Chishm has a say in it.. otherwise, you are wrong.

Quote:

People who want to run pirated games already went and bought flash cards, for the rest of us I see no reason why we should not be allowed to run demos, which are something game producer would supposedly be happy if we run.


Well, running official code, as Chishm has stated more then once, is a step toward allowing pirates to take his work and turn it into something he doesn't want it to turn into. I know it's hard for most people these days to understand that a very few still have morals and don't want to have anything to do with warezing.

Bottom line, it's his choice, so deal with it!

#63023 - bafio - Wed Dec 07, 2005 11:09 pm

Lynx wrote:

Bottom line, it's his choice, so deal with it!


Well, I know it's his choice, but am I allowed to talk about and have a differnet idea or should I only agree?
Obviuos in the end he does what he likes!! I own a copy of the games I run, the others are homebrew. And by the way the firmware is out with source code, so once more, it's a bit hard to control what other people do with it.

Anyway, all my respect and appreciation for the great job to chishm for the contributions he made to the homebrew scene.
This was not about "how do I get mkds rom to run on the GBAMB" if you understand...

Bafio

#63026 - Darkflame - Wed Dec 07, 2005 11:31 pm

Hmz..I have to say after playing around with the Electroplankton demo I am very tempted to buy it.
Its quite hyponotic.

Btw, I was running the Zelda film trailer and the video stoped for 10 seconds near the end...anyone else have that problem?

Wondered if it was the GBAMP, or even Nintendo's Rom (after all 2MB is stunningly high compressed for its length really)

#63030 - chishm - Wed Dec 07, 2005 11:55 pm

Darkflame:
The sound incompatibility in SnesDS was in fact due to the bug that is now fixed. All that is needed now is for Loopy to release some updated bins.

ninogino:
Don't forget to thank Loopy and Gladius. If it wasn't for their help, the bug wouldn't have been found. :)

bafio:
Of course you can have and state your own opinion. The difference between running WMB demos over Wifi and using a GBAMP is that with Wifi, there is no media to store any other files. This means only binaries can be sent, and completely excludes NDS ROMs (as many pirates are no doubt aware of). The GBAMP provides a CF card to store files on.

It has already been proven that an NDS ROM can be streamed from a CF card, by both the Supercard and M3. The problem with doing this is repeated reads (such as to FAT) that need to be cached. The M3 and SC probably use their internal RAM for caching, but there may be workarounds for the GBAMP. So the best way to stop the ROMs from being patched to do this is to prevent them from being loaded in the first place. That's why I was concerned about WMB demos.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#63032 - Sebbo - Thu Dec 08, 2005 12:01 am

yeah, i had the same problem as darkflame, except i ran it over WMB. i think its a problem with the captured rom
_________________
Here's some ideas I have for when I know enough to act on them, or for others to have a look at when they're bored: www.wayne.sebbens.com/ds_ideas.htm

#63038 - ninogenio - Thu Dec 08, 2005 1:33 am

credit where credits due thanks loopy and gladius and chishm!

i like the fact that a lot of homebrew now works that didnt before such as the nds ms emulator used to have no sound but the sound is now back.

#63040 - Darkflame - Thu Dec 08, 2005 1:57 am

Yes, there's some incredibly skillful people doing some wonderful work, and they all deserve our endless thanks.

Quote:
Of course you can have and state your own opinion. The difference between running WMB demos over Wifi and using a GBAMP is that with Wifi, there is no media to store any other files. This means only binaries can be sent, and completely excludes NDS ROMs (as many pirates are no doubt aware of). The GBAMP provides a CF card to store files on.

It has already been proven that an NDS ROM can be streamed from a CF card, by both the Supercard and M3


hmm...theorectically speaking, couldn't it also be streamed over wi-fi ? ;)

Thanks for correcting me about the sound.
By the time I learn anything, I am already out of date :p

#63043 - chishm - Thu Dec 08, 2005 2:17 am

Darkflame wrote:
hmm...theorectically speaking, couldn't it also be streamed over wi-fi ? ;)

Well there's theoretically as in "very possible, but I don't want to do it" (GBAMP) and then there is theoretically as in "If I could squeeze just enough matter into just the right space, I could create my own mini black hole and use it as a garbage bin". :P
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com

#63044 - bafio - Thu Dec 08, 2005 2:37 am

chishm wrote:

So the best way to stop the ROMs from being patched to do this is to prevent them from being loaded in the first place. That's why I was concerned about WMB demos.


Hi, and thank you for your answer, this really makes the point.
I enjoy the demos, hoping new ones will come, and I undestand your concern, when I had to chose what to buy I went for the GBAMP knowing the roms would not work on it, so I didn't know there is possibility related to the demos.
Keep up with the great work,

Bafio

#63051 - The 9th Sage - Thu Dec 08, 2005 4:28 am

Darkflame wrote:

Btw, I was running the Zelda film trailer and the video stoped for 10 seconds near the end...anyone else have that problem?


The one floating around is the beta version of the original E3 Zelda Trailer WMB demo (not enough of it was captured for it to be available, not going in to how the beta came into being ;). The beta just freezes like this, I would have no idea why. It's not supposed to though I don't think, as I have the actual NDS card of the trailer given out to the gaming press and I assure you there's more video to go along with that audio.

The NDS card's video and audio quality is better than the WMB demo in case anyone is wondering, although not perfect. They probably squished it down to fit on a smaller NDS card.
_________________
Now with 20% More Old Man from Zelda 1 than ever before!