#105878 - racarate - Thu Oct 12, 2006 9:40 pm
Hi everyone,
I just got the M3 player for my GBA and I must say -- the software is terrible.
Are there any documents out there that explain how flashcard software works? I understand that the GUI must be just like regular GBA programming, but what about the File I/O?
I am curious if it would be possible to write a custom flash card manager. It might be a fun community project.
_________________
Neko: I love meow-tain climbing!
Need anything? I'll even save your game!
#105897 - tepples - Thu Oct 12, 2006 11:25 pm
There is an open source movie player, but it's for the DS.
File I/O on an M3 is just like file I/O on a PC: fopen(), fread(), fclose(), etc. The trouble is that the latest release of devkitARM+libfat doesn't have opendir() and thus can't get a list of files from the card.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#105905 - Dwedit - Thu Oct 12, 2006 11:53 pm
What is known on the M3:
Accessing the CF/SD Card
Switching between 32MB Ram and Bios/CF
Write Enabling the 32MB Ram
What's not known on the M3:
Bankswitching the SRAM
Writing to the flash bios
And for comparison, what's known on the GBAMP V1/V2 (CF):
Writing to the flash bios
Accessing the CF
And the GBAMP V2 has nothing else.
So you could make your own BIOS for the GBAMP V2, but not yet on the M3.
Right now, there are no open-source movie playback programs. I wonder if the GBA is powerful enough for MPEG? Moonshell is slow enough on the DS with MPEG, could the GBA possiblly handle something like that? Other than that, it's difficult to come up with an ASM optimized video codec that would decompress quickly on the GBA and get a good enough compression rate. Even if the M3 or GBAMP's built in software sucks, they managed to get video playback down pretty well.
As for game loading and other related tasks, that could be done with no problems.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#105989 - racarate - Fri Oct 13, 2006 10:53 pm
Thanks for the replies.
I agree that the current solutions work pretty well.
I am more interested in the "how" of writing this kind of video playback software.
For example, when I convert movies using the included software I wonder what kind of format it is converting to.
And when I play the movies back I wonder how the software loads the movie -- is the movie file linked in as a C array or is accessing the flash card a totally different endeavor.
Mostly I wonder how things differ from a traditional .gba file.
Also, I didn't even realize that M3 had 32MB RAM! Is there any site that has better documentation than the official site?
Thanks!
_________________
Neko: I love meow-tain climbing!
Need anything? I'll even save your game!
#105992 - tepples - Fri Oct 13, 2006 11:03 pm
racarate wrote: |
For example, when I convert movies using the included software I wonder what kind of format it is converting to. |
It appears to be a proprietary video compression format designed around a low-complexity decoder. Known features of most video codecs include representing solid color or low detail areas with fewer bits and copying blocks of the previous frame to the current frame.
Quote: |
And when I play the movies back I wonder how the software loads the movie -- is the movie file linked in as a C array or is accessing the flash card a totally different endeavor. |
The CF card is a block device; it allows the GBA to or write a 512-byte block at once. A "file system" is a data structure on the CF card that describes which blocks belong to which files.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#105993 - Dwedit - Fri Oct 13, 2006 11:29 pm
I haven't verified this yet, but I think the M3 may use the same odd mirroring format in its bios as the original GBAMP.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."