#99443 - MaHe - Mon Aug 21, 2006 6:51 pm
http://www.dslinux.org/index.php?showtopic=1748&st=20#
Now, it was tough to implement it for amadeus, but he deserves a pat on the back (at least). Now, who's gonna implement it in libnds? :P
For all you SCLite users out there: Support for this device is also implemented :)
_________________
[ Crimson and Black Nintendo DS Lite | CycloDS Evolution | EZ-Flash 3-in-1 | 1 GB Transcend microSD ]
#99449 - evil-doer - Mon Aug 21, 2006 8:28 pm
sounds great. im not a programmer or know whats going on here but as i understand it, the supercard has 32 megabytes of ram. why was only 16 implemented?
#99450 - Mr. Picklesworth - Mon Aug 21, 2006 8:35 pm
Well, the actual NDS files for the SC builds are 14 MB for some reason, so that undoubtedly loses a bunch of RAM.
Of course, I don't own a Supercard (and I'm still trying to figure out if the SC CF build has complete filesystem access like the GBAMP build), so don't take my word for it.
_________________
Thanks!
MKDS Friend Code: 511165-679586
MP:H Friend Code: 2105 2377 6896
#99455 - JaJa - Mon Aug 21, 2006 9:19 pm
Only 16 is implemented, because you still want to be able to access your CF card don't you?
The lower 16Mbyte is used for RAM, the upper is for I/O to card.
And yes, the SuperCard build has full read/write access to the CF card.
The builds are 14Mbyte, but some of that was loaded into the SuperCard RAM, when it was emulating GBA Flash. IIRC 11.5Mbyte was put into the SuperCard RAM, but only read only.
The remaining 1.5mbyte couldn't be located in the SuperCard space as it needed writing to.
Leaving about 2.5Mbyte RAM free.
_________________
LAWL HOOGE
My Blog
#99458 - dualscreenman - Mon Aug 21, 2006 9:35 pm
16 MB of this RAM is not usable since it is used for GBA I/O
_________________
dualscreenman wrote: |
What about Gaim DS? Gaim pretty much has support for all IM programs. |
tepples wrote: |
"Goshdammit, the DS is not a Gaim-boy! It's a third pillar!" |
#99461 - Mr. Picklesworth - Mon Aug 21, 2006 10:26 pm
Excellent explanation.
Thanks!
_________________
Thanks!
MKDS Friend Code: 511165-679586
MP:H Friend Code: 2105 2377 6896
#99468 - evil-doer - Mon Aug 21, 2006 11:26 pm
yep, thanks
#99472 - Lick - Tue Aug 22, 2006 12:01 am
Thanks for passing along the news. This will be THE reason to jump over to DS programming (yeah jump back Liran!) for many people. The limited RAM was always a problem but I am sure many manufacturers will get even more space available in their cards (even if it's hard). Great!
_________________
http://licklick.wordpress.com
#99497 - TJ - Tue Aug 22, 2006 2:00 am
So is XIP still going to be used on the SuperCard builds?
#99504 - josath - Tue Aug 22, 2006 2:22 am
The extra RAM has been usable by homebrewers for quite some time now, ever since the unlock codes were discovered. This development, while very neat, isn't really useful for non-dslinux apps.
#99518 - Ryan FB - Tue Aug 22, 2006 4:15 am
So, how exactly do you get SCSD RAM working? I've been at it for a while with no luck. Here's the unlock code DSLinux uses: Code: |
ldr r0, =0x09FFFFFE
ldr r1, =0xa55a
ldr r2, =0x0007
strh r1, [r0]
strh r1, [r0]
strh r2, [r0]
strh r2, [r0] |
Here's where it marks the start of GBA ROM as a usable 16M memory page: Code: |
ldr r0,=( PAGE_16M | 0x08000000 | 1) |
Here's a small C testcase of what I'm trying: Code: |
#include "nds.h"
#include <nds/arm9/console.h> //basic print funcionality
#include <stdio.h>
#define SC_UNLOCK ((uint16*)0x09FFFFFE)
#define SC_INIT 0xa55a
#define SC_ENABLE_SDRAM 0x0007
int main(void) {
sysSetBusOwners(BUS_OWNER_ARM9,BUS_OWNER_ARM9); //sets up WAIT_CR and gives ARM9 access to GBA ROM
videoSetMode(0); //not using the main screen
videoSetModeSub(MODE_0_2D | DISPLAY_BG0_ACTIVE); //sub bg 0 will be used to print text
vramSetBankC(VRAM_C_SUB_BG);
SUB_BG0_CR = BG_MAP_BASE(31);
BG_PALETTE_SUB[255] = RGB15(31,31,31); //by default font will be rendered with color 255
consoleInitDefault((u16*)SCREEN_BASE_BLOCK_SUB(31), (u16*)CHAR_BASE_BLOCK_SUB(0), 16);
*SC_UNLOCK = SC_INIT;
*SC_UNLOCK = SC_INIT;
*SC_UNLOCK = SC_ENABLE_SDRAM;
*SC_UNLOCK = SC_ENABLE_SDRAM;
int i;
for(i = 0; i < 0x300; i++) {
GBA_BUS[i] = 0x0001;
iprintf("%u",GBA_BUS[i]);
}
while(1) {
}
return 0;
} |
The loop should be setting the first 0x300 of GBA ROM to 0x0001, with the printf just showing a whole bunch of 1's, but instead you get whatever data was already in RAM, meaning the writes aren't working. GBA_BUS is set up by libnds to be ((vuint16 *)(0x08000000)).
Edit: Go figure, right after I post the question I realize what's going wrong. SC_UNLOCK must be defined as a vuint16* (volatile): Code: |
#define SC_UNLOCK ((vuint16*)0x09FFFFFE) |
otherwise GCC optimizes out the duplicate writes. After that it works!
#99521 - ssj4android - Tue Aug 22, 2006 5:16 am
Wait, is the 16 MB not usable at all, or just because linux.nds is occupying it?
#99529 - MaHe - Tue Aug 22, 2006 8:59 am
ssj4android wrote: |
Wait, is the 16 MB not usable at all, or just because linux.nds is occupying it? |
All of the input/output to the GBA slot must go through a part of RAM, therefore it's not usable. On the other hand, M3 users are in trouble; M3 must use most of the RAM for I/O, making it just as bad as GBAmp.
_________________
[ Crimson and Black Nintendo DS Lite | CycloDS Evolution | EZ-Flash 3-in-1 | 1 GB Transcend microSD ]
#99533 - JaJa - Tue Aug 22, 2006 9:28 am
Yes, this work only really affects DSLinux, as it's been possible to use the RAM for some time now, as long as the programmer avoids 8bit writes.
_________________
LAWL HOOGE
My Blog
#99546 - daninski - Tue Aug 22, 2006 10:46 am
JaJa wrote: |
Yes, this work only really affects DSLinux, as it's been possible to use the RAM for some time now, as long as the programmer avoids 8bit writes. |
and possibly miniVmac, lazy1 is in that thread soaking up info from amedeus :D
#99591 - jbullfrog - Tue Aug 22, 2006 4:15 pm
can opera browser now be used?
#99593 - Lick - Tue Aug 22, 2006 4:17 pm
Opera Browser can be used!! :D
.. when you buy it from your local store (or import it). No warez please. ;)
_________________
http://licklick.wordpress.com
#99621 - tepples - Tue Aug 22, 2006 6:53 pm
The browser's Wikipedia article still lists no North American release date. At this rate, it'll probably end up just like Kuru Kuru Kururin and Payback: released everywhere but North America.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#99624 - Lazy1 - Tue Aug 22, 2006 7:07 pm
From what I was told, the 8bit write patch won't be included with devkitARM.
So, inorder for me to use the external ram for mini vmac I have to track down every place where an 8bit write is done to gba rom space.
#99626 - MrD - Tue Aug 22, 2006 7:09 pm
Gosh, that's strange... A european release date, but no american one.
_________________
Not active on this forum. For Lemmings DS help see its website.
#99717 - MechaBouncer - Wed Aug 23, 2006 3:52 pm
Maybe because it's Opera and instead of AOL/IE. -_-
_________________
Cobalt/Black NDSL
CycloDS Evolution (firmware 1.55 BETA 3) and EZFlash 3-in-1
Kingston SD-C02G JAPAN 2GB MicroSD
MoonShell 1.71, DSOrganize 3.1129, QuakeDS Pre3, ScummVM DS 0.11.1, Pocket Physics 0.6, OpenTyrian DS 0.3
#99720 - Xtreme - Wed Aug 23, 2006 4:06 pm
MechaBouncer wrote: |
Maybe because it's Opera and instead of AOL/IE. -_- |
No, that's not the reason. There is something else going on. European release might be easier to make than american. I think it will be released later there too.
Opera is from Norway, but Nintendo ordered the DS Browser from them. Opera wouldn't made it without that order from Nintendo.
Something about Microsoft... and Firefox - Firefox is their enemy for IE, like Opera and AOL. "The head of Microsoft's open source business has offered help to get Firefox to work with the upcoming Vista operating system..." -No, this had nothing to do with the quote, just mentioned it as it sounds weird.
Sorry about my wooden english if it had sticks. ;)
_________________
My Theme
DS Lite (FM_V8a) ** R4 Revolution (2GB Transcend) ** SuperCard Lite (2x 2GB Transcend)
#99726 - MechaBouncer - Wed Aug 23, 2006 4:33 pm
Sorry, didn't add and <sarcasm> tags to my comment. It was a bad joke implying how many people here in the US are idiots when it comes to computers and won't use anything besides AOL or the included IE that comes with Windows.
_________________
Cobalt/Black NDSL
CycloDS Evolution (firmware 1.55 BETA 3) and EZFlash 3-in-1
Kingston SD-C02G JAPAN 2GB MicroSD
MoonShell 1.71, DSOrganize 3.1129, QuakeDS Pre3, ScummVM DS 0.11.1, Pocket Physics 0.6, OpenTyrian DS 0.3
#99744 - Sodeju - Wed Aug 23, 2006 6:41 pm
What does this mean for emulators like Snezzi DS and Picodrive?
#99792 - Darkflame - Thu Aug 24, 2006 12:58 am
Nothing I think.
Im skeptical the ram should/will be used for a few reasons.
Especialy if the browser proves to be routeing everything ver nintendos severs, thus makeing it painfully slow.
_________________
Darkflames Reviews --
Make your own at;
Rateoholic:Reviews for anything, by anyone.
#100545 - MechaBouncer - Mon Aug 28, 2006 4:27 pm
Sodeju wrote: |
What does this mean for emulators like Snezzi DS and Picodrive? |
In the case of SnezziDS, because it's written for flashcarts, the games get loaded into and run from Supercard/M3 SRAM anyway. The emulator then runs out of the DS's memory. It would probably be unnecessary for SnezziDS.
_________________
Cobalt/Black NDSL
CycloDS Evolution (firmware 1.55 BETA 3) and EZFlash 3-in-1
Kingston SD-C02G JAPAN 2GB MicroSD
MoonShell 1.71, DSOrganize 3.1129, QuakeDS Pre3, ScummVM DS 0.11.1, Pocket Physics 0.6, OpenTyrian DS 0.3
#100646 - HtheB - Tue Aug 29, 2006 6:48 am
But ScummVM can play Full Throttle then?
This has to be the solution! :D
#100654 - Mrshlee - Tue Aug 29, 2006 9:49 am
This would require a fork of devkitPro because im under the grand impression that Wintermute isn't planning to do allow 8bit write in the current editions.
_________________
MrShlee.com
Projects
Dev-Scene
MyTechpedia