#28695 - effigy - Thu Nov 04, 2004 6:21 pm
I've been thinking about making an interface making it possible to run software indirectly from some storage media other than a cart.
As I have no experience of GBA-development I thought I'd ask here.
What I need to know is how fast a standard ROM in a cart is, or maybe the question should be: At what speed would the device connected to the GBA need to send data from the ROM to make sure that the GBA isn't slowed down?
Does any of this make any sense at all? :P
/Karl
#28698 - tepples - Thu Nov 04, 2004 6:53 pm
As far as I know, you need to seek and read 16 bits within 240ns, and you need to read each 16 bits more in 120ns. You'll probably need 100ns or faster RAM, and you'll probably need an extra battery for the storage device.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#28710 - ampz - Thu Nov 04, 2004 9:50 pm
If you are thinking about using flashcards like compact flash or SD, forget it. They are way too slow in terms of access times.
#28721 - Cyberman - Fri Nov 05, 2004 1:10 am
And it's been asked about/thought about before, there are different ways of doing things, however it does require more than just the 'glue and tape' approach. :D
Cyb
_________________
If at first you don't succeed parachuting is NOT for you.
#28761 - tepples - Fri Nov 05, 2004 5:06 pm
CF, SM, SD, and even CD-ROM are perfectly fine storage media if you put a RAM in between them and the GBA. However, the only kind of RAM that is large and cheap is DRAM, and DRAM drains power; better to have an external power supply for the CD reader and the memory.
Or you could make a CF or SM or SD reader that loads only multiboot programs and lets programs load in more data from flash at runtime; this would work in a similar way to how the Famicom Disk System worked.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#28861 - effigy - Sun Nov 07, 2004 10:05 pm
Thanks for your replies!
I'm getting closer to my degree in CS, and I was thinking about doing something like this for my thesis... Some sort of mass storage media connected to a micro processor which when you power up the gameboy gives you a menu of whatever is stored on the mass storage media. Then you select something and the program is loaded into memory. It's all very sketchy, and I suppose it would be a lot like the game wallet. I just don't like the idea of having to flash the card every time I want to use a different program.
#28880 - ampz - Mon Nov 08, 2004 12:31 pm
Why would you have to flash your card everytime you want to use a different program?
Normal flashcards can hold 10-100 programs simultaneously.
#28901 - tepples - Mon Nov 08, 2004 4:39 pm
ampz wrote: |
Why would you have to flash your card everytime you want to use a different program?
Normal flashcards can hold 10-100 programs simultaneously. |
Try holding "10-100" GBA Videos simultaneously, and then see how much storage you need. I'd say load the game from CD or HD into a RAM.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#28914 - ampz - Mon Nov 08, 2004 5:43 pm
Well, I just assumed he was talking about general games/programs.
#28927 - tepples - Mon Nov 08, 2004 8:23 pm
It's beside the point, as "general games" are up to half the ROM size of GBA Video titles. Try holding putting 100 commercial-size games on one "normal flashcard". Nope.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#28931 - ampz - Mon Nov 08, 2004 9:07 pm
Well, I said 10-100.
You can easily fit 10 commercial games onto a decently sized flashcard.
But yes, for large amounts of media (video and/or audio) and very large commercial game collections, you need more.
But I would not consider harddrives and CD-ROMs viable alternatives.
1: The GBA powersupply is not powerful enough to power a harddrive or CD-ROM.
2: It would make the GBA not-so-portable.
Compactflash and SD cards are a bit more interesting.
#28933 - tepples - Mon Nov 08, 2004 9:25 pm
ampz wrote: |
But I would not consider harddrives and CD-ROMs viable alternatives. - The GBA powersupply is not powerful enough to power a harddrive or CD-ROM.
- It would make the GBA not-so-portable.
|
Stick the CD and the battery in your pocket and hold the GBA in your hands.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#28937 - ampz - Mon Nov 08, 2004 10:08 pm
Or plug a 4GByte compact flash card right into your GBA.
#28949 - keldon - Tue Nov 09, 2004 2:11 am
Or you can alternatively use:
- a CD drive with its own power supply
- minidisk Data Disks (read/write at 2x CD speed, possibly read faster)
- portable hard-disks ( if speeds permits it )
They can all run from their own power supply because other media using these technologies all fit in our pockets.
What's wrong with using DRAM if it runs from its own power source? Thinking of its constant refreshing, I'd guess it drains a lot of power.
---
But is this not a workable general idea to work with (or one that can be worked with):
Large Storage Media ---> Low Storage Media (using cache like mechanics) ---> Gameboy Advance
Large Storage Media and Low Storage Media will share their own power. Low Storage media will hold a record of recent memory requests to decide which data to store in its memory for longest.
The large storage media must be faster than GameBoy Advanced access, but Low Storage Media is used in between so that less power is consumed.
Large Storage Media may even be network access, so long as it is above 20MB/s
#28963 - ampz - Tue Nov 09, 2004 7:33 am
keldon wrote: |
But is this not a workable general idea to work with (or one that can be worked with):
Large Storage Media ---> Low Storage Media (using cache like mechanics) ---> Gameboy Advance
Large Storage Media and Low Storage Media will share their own power. Low Storage media will hold a record of recent memory requests to decide which data to store in its memory for longest.
The large storage media must be faster than GameBoy Advanced access, but Low Storage Media is used in between so that less power is consumed.
Large Storage Media may even be network access, so long as it is above 20MB/s |
You don't understand. It's not the bandwidth, it's the latency.
No secondary storage have a low enough latency.
#28974 - keldon - Tue Nov 09, 2004 2:44 pm
I thought DIMM had a latency around 5-7ns ?!? Well I'm not going to pretend I know a lot off the top of my head; but if it is around 7ns it can act as the memory while the game is being played.
The data is loaded from the large storage media to the low storage media when the device is switched on.
#28976 - ampz - Tue Nov 09, 2004 3:26 pm
keldon wrote: |
I thought DIMM had a latency around 5-7ns ?!? Well I'm not going to pretend I know a lot off the top of my head; but if it is around 7ns it can act as the memory while the game is being played.
The data is loaded from the large storage media to the low storage media when the device is switched on. |
DIMMs are fine for your "low storage media", but you said:
Quote: |
Large Storage Media and Low Storage Media will share their own power. Low Storage media will hold a record of recent memory requests to decide which data to store in its memory for longest. |
Such a arrangement is not possible.
#28986 - keldon - Tue Nov 09, 2004 5:13 pm
Yes, my mistake. I should have written my alterations.
After your post I realised that it was not possible. I have not checked latency but it is pretty obvious that disc based storage is impossible, using the low-storage media as cache.
So the low storage media would hold the current game, and the large storage media could hold the 10-100 games. The bootloader will always be accessible through the low-storage media. When the bootloader loads a game, it waits for the CD to copy its data to large-storage media and then begins execution.