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.

Coding > Linux on GBA

#81988 - DakeDesu - Wed May 03, 2006 8:01 am

No, I am not refering to the stuff available (rather convienantly) at http://linux.gbadev.org

I am looking into downloading and installing a Linux Kernel into a GBA ROM. This mostly for extra functionality that would be gained by adding Linux to the equation.

I've already checked the main kernel tree, and must have missed the portion with the GBA hardware. Then somebody pointed me in the way of uCLinux, and I am checking that out right now.

This is for research for an article that hopefull will make it into an e-zine known as K-1ine. If this shows promise, I may also make games based upon this.

Any suggestions? Pointers? Leads?
_________________
[ Main Site | Kid Radd Fan Project | Forums ]

#81989 - pepsiman - Wed May 03, 2006 8:33 am

DakeDesu wrote:
I am looking into downloading and installing a Linux Kernel into a GBA ROM.

GBA linux isn't very useful as the GBA hasn't got much RAM.
You get a shell and that's about it.
You can download it from here:
http://wwwhsse.fh-hagenberg.at/Studierende/hse02006/uclgba/

DSLinux is much more useful as it includes Wifi, telnet, web browser, games, etc.
http://www.dslinux.org/
http://kineox.free.fr/DS/
http://pepsiman.dslinux.org/

#81992 - DakeDesu - Wed May 03, 2006 9:05 am

Well, what it comes with is not important... I was expecting I'd have to develop most the stuff for it anyways.

Just out of curiousity... how much more RAM does DS have in comparison to the GBA? I knew I'd probably have to lop and chop limbs off of things but if you are suggesting DS instead, it would be nice to know how much less I'd have to cut things off.
_________________
[ Main Site | Kid Radd Fan Project | Forums ]

#82014 - wintermute - Wed May 03, 2006 1:03 pm

DS has 4 megs

GBA has 256k
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog

#82019 - pepsiman - Wed May 03, 2006 3:29 pm

wintermute wrote:
DS has 4 megs

GBA has 256k

Both GBALinux and DSLinux make use of the 32MB of ROM for kernel code and root filesystem to minimise the use of the limited RAM.

#82076 - Dan2552 - Wed May 03, 2006 9:57 pm

gba

Quote:
Memory : 32 Kbyte + 96 Kbyte VRAM (in CPU), 256 Kbyte WRAM (external of CPU)

#82093 - wintermute - Wed May 03, 2006 11:34 pm

VRAM is only writable as 16bit, i.e. if you want to use it for 8bit data you need to read/modify/write a 16bit value.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog

#82119 - DakeDesu - Thu May 04, 2006 2:27 am

I was under the impression that VRAM was short for Video RAM... and I am pretty sure that if I had programs running in VRAM, it would be a bad thing :P

So if I get things straight, it would be easier to make as much use of the 32MiB of ROM space, and only load what I am currently using, rather than load everything at once?

I am not ready to get a DS yet, as I cannot yet afford one yet, and I'd prefer to get a feel for the games that use the touchpad, so I know better what I am doing.
_________________
[ Main Site | Kid Radd Fan Project | Forums ]

#82125 - Dwedit - Thu May 04, 2006 3:22 am

DakeDesu wrote:
I was under the impression that VRAM was short for Video RAM... and I am pretty sure that if I had programs running in VRAM, it would be a bad thing :P

So if I get things straight, it would be easier to make as much use of the 32MiB of ROM space, and only load what I am currently using, rather than load everything at once?

I am not ready to get a DS yet, as I cannot yet afford one yet, and I'd prefer to get a feel for the games that use the touchpad, so I know better what I am doing.


On other systems, VRAM is not easily accessable, but on the GBA, things are different. VRAM can be fully accessed at any time, it's just that if the screen is using it at the same time, it adds a small waitstate before the read or write. Even with the waitstate, it's still faster than EWRAM. You can even store code inside VRAM and execute it there, but then you lose some space which could have been used for graphics.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."

#82126 - tepples - Thu May 04, 2006 3:46 am

DakeDesu wrote:
I was under the impression that VRAM was short for Video RAM... and I am pretty sure that if I had programs running in VRAM, it would be a bad thing :P

Nintendo's GBA-hosted NES emulator, called acNES by the pirate scene, runs half its code from otherwise unused areas of VRAM because reading VRAM (less than one wait state) is faster than reading EWRAM (three wait states).
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#82338 - DakeDesu - Fri May 05, 2006 11:03 am

alright now I am looking for more information on this--but how do I run a program on uCLinux for GBA?

Also I heard somebody mentiion that Thumb instructions could be called from the ROM using RAM elsewhere, and run comparably to ARM7 inside EWRAM. Is it posslbe that I could load only the kernel in to EWRAM (as well as the software that handles VRAM), and run Thumb applications from the ROM. (Yes, I know that ROM memory cannot change itself while running under Arm7/thumb or emulation.)
_________________
[ Main Site | Kid Radd Fan Project | Forums ]