#119603 - Risine - Sat Feb 24, 2007 5:37 pm
What's happening when you run a DS homebrew program from a GBA Card (Ez-flash 2) on a DS?
Does it run at the speed of a GBA, or at the speed of a DS? ( concerning all memory accesses,vram,...)?
#119604 - Diddl - Sat Feb 24, 2007 5:44 pm
I#M not sure, but I think in GBA mode only the slow ARM7 CPU will work.
GBA: 33MHt ARM 7
NDS: 33MHt ARM 7 and 66 MHz ARM 9 + big VRAM + 3d graphic + touchscreen + bigger screen and 2 screens
#119607 - tepples - Sat Feb 24, 2007 6:19 pm
Diddl wrote: |
I#M not sure, but I think in GBA mode only the slow ARM7 CPU will work.
GBA: 33MHt ARM 7 |
Say what? In GBA mode, the ARM7 is underclocked to 16.78 MHz. The undocumented EWRAM overclocking register is also unavailable.
The DS screen updates 0.29% faster than the GBA screen, causing one repeated frame about every six seconds. This may cause an occasional flicker in a program that tries to exploit the pseudo-interlaced screen, along with a display lag of up to one frame.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#119621 - Risine - Sat Feb 24, 2007 8:52 pm
And what are the consequences on RAM accesses? Read&Write? Are they affected?How?
#119633 - GrizzlyAdams - Sat Feb 24, 2007 10:58 pm
Risine wrote: |
What's happening when you run a DS homebrew program from a GBA Card (Ez-flash 2) on a DS?
Does it run at the speed of a GBA, or at the speed of a DS? ( concerning all memory accesses,vram,...)? |
DS homebrew is loaded to main ram so cart speed has no effect on the actual program running. There are very few DS homebrew apps that actually run from GBA cart address space. I think DipStar might be one of said apps.
#119710 - Risine - Sun Feb 25, 2007 2:36 pm
Hummm, and what is that "undocumented EWRAM overclocking register is also unavailable"?
Is EWRAM the RAM allocated/desallocated by new/delete functions?
If so, does that mean that this unavailable register affect EWRAM access speed? How much?
#119713 - tepples - Sun Feb 25, 2007 3:16 pm
Risine wrote: |
Hummm, and what is that "undocumented EWRAM overclocking register is also unavailable"?
Is EWRAM the RAM allocated/desallocated by new/delete functions? |
Yes. It's also the RAM where code gets put in DS mode and in GBA programs linked as "multiboot".
Quote: |
If so, does that mean that this unavailable register affect EWRAM access speed? How much? |
It doesn't affect the EWRAM speed unless the program writes to it, and very few non-test programs do this.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#119804 - Risine - Mon Feb 26, 2007 2:56 pm
I don't understand, if EWRAM is the memory allocated with new/delete, then all the programs use it, don't they? All programs allocates memory to write and read ( bitmaps,data,sound,...)
#119806 - tepples - Mon Feb 26, 2007 3:07 pm
All DS programs, all "multiboot" GBA programs, and most "cart" GBA programs read and write EWRAM. But almost none of them read and write the register used to overclock EWRAM.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#119935 - Risine - Tue Feb 27, 2007 5:27 pm
Do you have numbers ( cycles number ) regarding R/W in RAM in both modes?
And is it possible to run at the "DS speed" changing this registry?
#119981 - HyperHacker - Wed Feb 28, 2007 1:23 am
There's no known way to clock the CPU up to 33mhz in GBA mode; it's probably not possible except perhaps with some hardware mod (which you could do on a GBA anyway). AFAIK the RAM is the same speed. You can't change the RAM speed in GBA mode on a DS; this was never a documented feature, so Nintendo was not obliged to include it.
_________________
I'm a PSP hacker now, but I still <3 DS.
#120014 - Ant6n - Wed Feb 28, 2007 9:41 am
you saying its possible to overclock gba?
#120087 - dantheman - Thu Mar 01, 2007 12:10 am
It's possible, though the only real use would be for slow emulators like SNES Advance. There was once a company that installed mods called GBAccelerators, where you pressed a certain button combination to overclock/underclock the GBA (max speed was about 1.8x if I'm not mistaken), but they apparently went MIA a while ago.
#120123 - HyperHacker - Thu Mar 01, 2007 4:29 am
I recall hearing some games would crash when that mod was used too. Anyway it should be possible to overclock pretty much anything, though maybe not safely.
_________________
I'm a PSP hacker now, but I still <3 DS.
#120172 - Epicenter - Thu Mar 01, 2007 2:14 pm
Last I checked the GBA's ARM7 ran at ~16 MHz, NOT 33. The NDS' is rated for 33 MHz but only runs at this speed in NDS mode; it might break compatibility with some GBA games that ran unthrottled based only on the CPU's maximum possible speed rather than timing themselves by regular system interrupts.
However overclocking the GBA and NDS isn't too ideal. Unlike overclocking, say, the Megadrive/Genesis, you're not raising the clockrate of just the ARM7 or ARM9 execution core; you're raising the master system clock and therefore speeding up everything, making games run faster than they're supposed to, and screwing up audio pitch. Indeed if I performed such a modification on the GBA I'd only use it in slow emulators that I could set to Frameskip 0 so they slow down instead of skipping frames, and rendering web pages in Opera.
#120178 - Risine - Thu Mar 01, 2007 4:36 pm
So, to resume all that thread, using GBA flash card makes the DS program run like on a GBA, at the GBA speed, not the DS speed, doesn't it?
What's the "speed" difference between the GBA and DS speed? *2? (16 to 33 Mhz )?
What are the consequences on 3D use?
#120219 - HyperHacker - Thu Mar 01, 2007 9:57 pm
Using a GBA flash cart will not affect the CPU speed. It might be slightly slower because accessing GBA ROM takes a tiny bit longer than accessing RAM, but you aren't likely to notice a difference for the most part. 3D works fine.
_________________
I'm a PSP hacker now, but I still <3 DS.
#120230 - Dracker - Thu Mar 01, 2007 10:20 pm
Completely different concept. When you use a GBA flashcart in a DS to run DS code, the ARM7 will run at the DS speed, 33 MHz.
_________________
--Drack
Onyx DS Lite, M3 Perfect Lite, Flashme V7, Flashed using SocketMe
Gamecube DOL-001 with Qoob Pro
Wii, not modded.
#120240 - Risine - Fri Mar 02, 2007 12:04 am
I'm getting mad!!! :)
So, a DS program launched from a GBA cart runs at the DS speed????
So, I really don't understand the 48 cycles for 1 short writing in RAM!!!
#120245 - dantheman - Fri Mar 02, 2007 12:11 am
It might be simpler to forego all mention of the "cart" used and put it this way: in DS mode, the ARM7 runs at 33 MHz. In GBA mode, the ARM7 runs at 16.78 MHz. It doesn't matter which slot it's booted from if it's in DS mode.
Launch a slot-2 Supercard in GBA mode and boot a GBA homebrew application, and it will run at the slower speed. Launch the Supercard in DS mode and boot a DS homebrew application, and it will run at the faster speed. Launch the Supercard in DS mode but select a GBA application, and the DS will switch to GBA mode and will use the slower speed.
Last edited by dantheman on Fri Mar 02, 2007 5:22 pm; edited 1 time in total
#120278 - OOPMan - Fri Mar 02, 2007 7:49 am
Except you reversed the speeds :-)
It runs at 33mhz in DS mode and 16.78mhz in GBA mode :-)
_________________
"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI
You can find my NDS homebrew projects here...
#120311 - dantheman - Fri Mar 02, 2007 5:21 pm
Erm, yeah, that's what I meant. Curse my Lysdexia...
I'll edit the post to fix it. Thanks for the correction.
On a side note, the wiki article for Lysdexia used to simply redirect to Dyslexia, and I found it hilarious. It's a shame it doesn't do that anymore.
#120326 - Risine - Fri Mar 02, 2007 10:00 pm
Well, it seems I'm running at the good "NDS speed" then. :)
Still have to understand those damn 48 cycles/write in RAM, can't believe it's so slow, I must have made a mistake somewhere for sure. :(