#24 - Costis - Wed Jan 01, 2003 3:28 am
Hi,
Just to start this board out, I'd like to post about my new hardware project for the GBA. As many of you know, GBA cartridges currently have three different save game formats: SRAM, Flash ROM, and EEPROM. SRAM data can be downloaded/uploaded to/from any cartridges with Flash Advance linker hardware or similar. Flash ROM should be compatible as well with most linker hardware although it is not supported in software. I've investigated accessing cartridge EEPROM (which in my opinion is the far most interesting of the three) from the linkers and I haven't been successful. I believe that this has to do with the way the linkers access the GBA cartridge bus using a non-sequencial read method, while EEPROM should be access with sequencial reads. If this is true, then that would explain why EEPROM cannot be accessed from GBA programs by using ldrh/strh instructions (non-sequencial) and only destination increasing DMA (sequencial). I have found a USB command on the Visoly USB linker which I suspect to perform sequencial (multiple) reads\writes, however I have yet to succeed in using this command correctly. Therefore, I have decided to build a little hardware project in spare time just for fun.
The EEPROM chip in GBA cartridges that use EEPROM for saving has only 8 pins: CE, WR, RE, A23, D0, VDD, GND, and another GND pin. Out of those, only 5 will be needed as data pins. The PC parallel port has 8 input pins and 8 output pins, which are more than enough to use without any form of multiplexing. The EEPROM is also asynchronous so (accurate) timing wouldn't have to be taken in account at all. I believe I'll use 3.3V Zener diodes to step down the 5V parallel port voltage to 3.3V for safety (I'll try to find a good data-sheet for the EEPROM and see the maximum voltage, etc. levels that it can take.) Other than the diodes and a few wires, I believe that just a GBA cartridge connector and a parallel port connector are needed for the project. I used my old Gameboy GameShark's cartridge connector and found a spare parallel port connector from my spare electronics components. I'll post back with my results, schematics, more details, and maybe even software too when I finish it. This project is just for fun and isn't really intended for any practical use. I would greatly appreciate feedback on the idea and find out if there's any interest at all.
Thanks,
Costis
Just to start this board out, I'd like to post about my new hardware project for the GBA. As many of you know, GBA cartridges currently have three different save game formats: SRAM, Flash ROM, and EEPROM. SRAM data can be downloaded/uploaded to/from any cartridges with Flash Advance linker hardware or similar. Flash ROM should be compatible as well with most linker hardware although it is not supported in software. I've investigated accessing cartridge EEPROM (which in my opinion is the far most interesting of the three) from the linkers and I haven't been successful. I believe that this has to do with the way the linkers access the GBA cartridge bus using a non-sequencial read method, while EEPROM should be access with sequencial reads. If this is true, then that would explain why EEPROM cannot be accessed from GBA programs by using ldrh/strh instructions (non-sequencial) and only destination increasing DMA (sequencial). I have found a USB command on the Visoly USB linker which I suspect to perform sequencial (multiple) reads\writes, however I have yet to succeed in using this command correctly. Therefore, I have decided to build a little hardware project in spare time just for fun.
The EEPROM chip in GBA cartridges that use EEPROM for saving has only 8 pins: CE, WR, RE, A23, D0, VDD, GND, and another GND pin. Out of those, only 5 will be needed as data pins. The PC parallel port has 8 input pins and 8 output pins, which are more than enough to use without any form of multiplexing. The EEPROM is also asynchronous so (accurate) timing wouldn't have to be taken in account at all. I believe I'll use 3.3V Zener diodes to step down the 5V parallel port voltage to 3.3V for safety (I'll try to find a good data-sheet for the EEPROM and see the maximum voltage, etc. levels that it can take.) Other than the diodes and a few wires, I believe that just a GBA cartridge connector and a parallel port connector are needed for the project. I used my old Gameboy GameShark's cartridge connector and found a spare parallel port connector from my spare electronics components. I'll post back with my results, schematics, more details, and maybe even software too when I finish it. This project is just for fun and isn't really intended for any practical use. I would greatly appreciate feedback on the idea and find out if there's any interest at all.
Thanks,
Costis