Phodrive 0.3 And Sources


phoda

Member
Joined
Apr 1, 2003
Messages
297
Location
US when working, Brazil when vacationing!
Website
Visit site
Hello all

Attached to this post is a new version of phoDrive - now it is 0.3.
Some users experienced lockups with phoDrive 0.2 - which happened because of some interrupt issues. They are now apparently solved (thanks Fiu and A600 for the feedback!). Version 0.3 hopefully will not generate any lock-ups.

I also want to use the opportunity to clarify a few things regarding phoDrive:

phoDrive essentially is Squidge's GPDrive 0.5 with some tweaks. The file transfer code is exactly the same, and the main tweaks done are:

* Interface: GPDrive basically shows messages scrolling up on the screen. phoDrive gave GPDrive a more user friendly interface, showing the type and size of SMC used, as well as a message window showing when the program is Reading / Writing on the SMC or when the program is idle.
* Reset protection: GPDrive would allow you to accidentally reset your GP (pressing Select) in the middle of a file transfer whereas phoDrive allows for reset only on idle state.
* SMC access: GPDrive does not initialize the SMC on startup. This works fine when GPDrive is used after the SMC is accessed by another program (such as Windups). However, GPDrive does not correctly access the SMC when started directly from a firmware before the SMC is read. phoDrive solves that issue by initializing the SMC before trying to read it.
* Auto cache saving (version 0.2 and above): cache is auto-saved using a timer implementation, reducing the possibility of problems if you turn off your GP32 without pressing the select button.

I really loved GPdrive and wanted to have that as a part of a firmware. I began by building a firmware combining Wind-ups 1.0 and GPdrive 0.5. However, after doing so, I noticed GPdrive did not initialize the SMC. After Squidge released the sources to GPdrive I was able to simply add the GpFatInit() function in the beginning of the code and voilá, everything worked.

Then, I started to fiddle around making a more user friendly interface - that's when GPDrive 0.1 came out and also my own firmware called "phodaFW" (see thread here), which combined Windups 1.0 and phoDrive 0.1 using Aquafish's firmware building tool.

Slubman then came up with his own firmware, incorporating phoDrive 0.1. This immediately made me throw my own phodaFW in the trashcan and use Slubman's Firmware. I have never reflashed my GP ever since :)

phoDrive 0.2 came out because I wanted the program to automatically save the cache instead of the user having to press "select" to save it. I thought of doing this using a timer. After reading a thread that talked exactly about this I just moved forward and gave it a try. It worked, but lockups appeared.

phoDrive 0.3 supposedly has no lockup problems and should be the "stable" version from now. I have no updates or changes planned for the future, as I am happy with the program as it is.

My programming abilities are pretty limited. phoDrive is, as a matter of fact, 90% Squidge's original code (I have never messed with the USB routines). The 10% is just the user interface an the tweaks described above. All credit must go to Squidge for the development of GPDrive and also phoDrive. I am very happy that something that I have started for my own purposes became useful for more people in the GP32 community, but I am pretty limited on updating this code and will only do so sparingly (phoDrive 0.1 was made last year).

Attached to this post are the sources of phoDrive 0.3. I have compiled those using devkitADV, which worked right off the bat. I have also produced sources with a makefile that works under the latest version of devkitARM (R13, I think). However, the display was showing some flicker which I disliked, the FXE had a bigger final size (with the same version of b2fxec) and I frankly have no time (or programming ability) to look into all that. :blink:

Hopefully version 0.3 will have no remaining issues and I do hope Slubman will release a new version of his firmware using phoDrive 0.3 :)

GPDrive (and phoDrive) work with Windows XP right off the bat as mass storage USB drivers are available as standard in XP. I have also seen a lot of people asking regarding phoDrive / GPDrive functionality under Linux or Windows 98. I have found threads on this board that talk about successful experiences with both systems

phoDrive/GPDrive with Windows 98: here

phoDrive/GPDrive with Linux: here
 
Last edited by a moderator:
phoda posted on Jul 12 2005 at 03:51 PM said:
* Auto cache saving (version 0.2 and above): cache is auto-saved using a timer implementation, reducing the possibility of problems if you turn off your GP32 without pressing the select button.
I really really like that :D many thanks phoda + squidge!!
 
Last edited by a moderator:
I still remember when I used gpdrive/phodrive back in the days when I didn't have a SMC reader. It really is much faster than the original transfer with PC-Link. I want to thank (allthough I did this before, but i am going to repeat it) squidge for making that awesome tool, and phoda for tweaking it slightly, allthough I am not using it anymore.
 
Horscht posted on Jul 12 2005 at 06:39 PM said:
I still remember when I used gpdrive/phodrive back in the days when I didn't have a SMC reader. It really is much faster than the original transfer with PC-Link. I want to thank (allthough I did this before, but i am going to repeat it) squidge for making that awesome tool, and phoda for tweaking it slightly, allthough I am not using it anymore.
Well said...
I would also like to do the same.
 
Last edited by a moderator:
Back
Top