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.

DS Flash Equipment > FAS1 v1 release - Write FlashAdvance Pro carts from Slot-1!

#148031 - Smiths - Tue Jan 01, 2008 2:26 am

Thanks to inspiration from Stonebone and his updated utils http://forum.gbadev.org/viewtopic.php?t=8682 for FlashAdvance cartridges, I have created a NDS program which will take GBA roms from Slot-1 and flash them to a Flash Advance Pro cartridge in Slot-2!

FAS1 (FlashAdvance Slot-1) is based off of tftpds' source, but requires no wifi transfer.

[Images not permitted - Click here to view it] [Images not permitted - Click here to view it]


Code:
FAS1 (FlashAdvance Slot-1) v1.2
by Smiths (smiths/AT/emuholic/DOT/com)
http://www.emuholic.com
Source SVN @ http://code.google.com/p/fas1/
===========

based off of tftpds v2.5 by Sten Larsson (stonebone@planetunreal.com) and Gustav Munkby (grddev@gmail.com)
http://www.itstud.chalmers.se/~larssten/nds/
http://forum.gbadev.org/viewtopic.php?t=8682

About
-----
Old FlashAdvance cartridges for the Gameboy Advance used a Parallel Port device for flashing files to the cartridge from a PC. It's hard to find a newer PC (especially a laptop) with a Parallel Port. Based off of tftpds, FAS1 (FlashAdvance Slot-1) lets you place Gameboy Advance games in a folder "GBA" on a Slot-1 device (M3/R4/SuperCard/G6) and flash those files to a FlashAdvance 256 cartridge (only model tested) sitting in Slot-2 of your Nintendo DS.

Like tftpds, it uses Jeff Frohwein's GBA FLinker tool to do the writing, writing at a rate of 18s/meg. A full file (32 megs) takes about 9.5 minutes.

Also, it allows you to backup Bank 1 of your SRAM (64KB) to the cartridge in Slot-1. Restoring to the Flash Advance's Bank 1 is also supported.

Usage
-----
1) FAS1flasher.nds can be put wherever you launch homebrew from on your Slot-1 Device.

2) GBA ROMs (with extensions .gba [games] and .bin [Pogoshell] should be placed in a subfolder called "GBA" on your Slot-1 Device.

3) Launch FAS1Flasher.nds and you'll be presented with a menu on the bottom screen showing GBA ROMs found on your Slot-1 Device.

4) Selecting a title in the bottom menu will present you with on-screen information about the file, along with an estimated writing time.

5) Press "Start" to begin flashing the file (currently it flashes it at the first position of the FlashAdvance cartridge (offset 0). Later versions may let you change the starting position to create a multi-rom cartridge. Honestly, you should be using PogoShell for multi-rom compilations anyway.


SRAM Support
------
Pressing "Y" will switch between the ROM flashing and SAVE flashing menus. Saves must be put in a "SAVES" folder in the root of your Slot-1 device.  Saves are selected like ROMs, and are written to the first 64KB bank of SRAM on the FlashAdvance Pro cartridge.

Also, pressing "Select" will back up SRAM Bank 1 to a file called "BANK1.SAV" in a "SAVES" folder on your Slot-1 device.

Bugs/Limitations
------
Like tftpds, it only has been tested/writes to FlashAdvance Pro (aka Turbo FA). Support for other carts could be implemented. cartlib.c has the information for other cartridges, and flashcartfile.cpp contains the "file->write" command which is called from the main.cpp WriteRom() function.
If you have any other flashcart, implement support for it and please submit the code! Those cartridges are still useful!

Also, seeing as how it's been forever since I've coded, and basically am re-learning everything based on what I need done... the source is probably very messy(???).

Thanks
------
Sten Larsson           For getting the ball rolling with tftpds for flashing
and Gustav Munkby      from within the DS, and the fwgui program.

Jeff Frohwein          Flashcart code from GBA FLinker
                       http://www.devrs.com/gba/software.php#misc

GuyFawkes          Emuholic allows me to whore free stuff. Costis and JB helped
Costis             in #emuholic with random things as my head began to hurt.
JustBurn


Download and SVN @ http://code.google.com/p/fas1/


Last edited by Smiths on Tue Jan 01, 2008 10:42 pm; edited 2 times in total

#148070 - Smiths - Tue Jan 01, 2008 10:37 pm

I've updated it to v1.2, which adds the ability to have a bunch of .SAV files in a "saves" directory on your Slot-1 and choose which file to restore to bank 1.
Huzzah for the few that could find this useful. Basically it was programmed for my own usage; I just think it's worth releasing (and since it's GNU I had to release source things)

#148095 - IxthusTiger - Wed Jan 02, 2008 5:42 am

Thank you!

#148137 - Tockit - Wed Jan 02, 2008 8:04 pm

any chance something like this would ever work on m3 perfect, or supercard lite?

just for the purpose of consolidating files, really, more than anything else.
_________________
-01011101001010101010 (frank)

#148145 - Diddl - Wed Jan 02, 2008 10:48 pm

wonderful, thanks. so my old flashcard is usable again!

#149485 - Smiths - Sun Jan 20, 2008 11:12 pm

I updated it to v1.4, fixing some GUI bugs and adding an L+R+START key combo to boot Slot-2.. since I found myself loading up FAS1, backing up the SRAM, then going "wait.. i should be able to just start my PogoShell again quickly!

So get it @ http://fas1.googlecode.com/

#149488 - dantheman - Sun Jan 20, 2008 11:51 pm

Sounds good. Shame nobody was ever able to figure out how to write to Flash2Advance Ultra carts outside of the official client and the shareware FlashManager program. A DS-side F2AU flasher could be handy at times.

#149498 - Smiths - Mon Jan 21, 2008 5:17 am

if2a is around.. has anyone ever found the authors and if they're still alive? it has basic read/write, no?

It has to be possible to do what if2a is doing but internally. It's just taking windows/linux/etc. flashing routines and making the input be a file on Slot-1. it's all FAT.

#149499 - dantheman - Mon Jan 21, 2008 5:42 am

From my understanding, if2a was never able to get F2AU support working entirely. I tried it a few times but was never able to get it to work correctly. I think it was able to detect the card once or twice but I couldn't read or write to it. I think, though I'm not entirely sure, that F2AU support wasn't in the Windows build, or maybe it was something about Windows XP USB support being messed up or something. It's been a long time since I checked it out, so I forgot most of the details aside from the fact that I couldn't get it to work at all.

EDIT: Hm, looking at the site again, it should be working. I dunno, maybe I was doing something wrong or had a driver conflict when I tried it last.

#167079 - vvedge - Sat Feb 28, 2009 10:54 am

Hi !

Sorry for digging this one year old thread but I really wanted to thank you a lot for this great tool !
My FAPro 256 was lying in its box since I was too lazy to get its old parallel interface to work... now it will get some revival :)

I'm just wondering why it's only possible to backup bank1 (64kb).
Is there any harware limitation ?
I remember using pogoshell in conjunction with sram explorer and 256kb bank backup.
Any chance you could update your tool with this feature (256kb bank dump) ?

Also, do you think you could provide some info on internal bank management in FAPro 256 ? (bankswitching, page offset (?))
I'm wondering if with those infos, cori1492 could update his pokepatch tool to make it works with FA cards... (sorry for this pokefreak query, please ignore it if it upset you and answer to the 256kb save question :) )

Again thanks for your tool, it already is awesome in its current state !

VVedge