With the idea of using my Game Boy Advance as a Peronsal Digital Assistance (PDA) I took on the task of adding modern connectivity to the GBA system.
For this I chose USB, it is the de-facto standard and very widely supported (Windows, Linux, MacOS and others have native, good, support for the standard). USB is easy to use as it does not require the end-user to configure the device once it has been attached, it is truly plug & play.
Though these pages don't reflect it well, the project is complete (and was successful). There will be very few updated to this section, unless I decide to move all my code here for other reasons that completeness/tidyness. All my code is already in the Project Report Disc Content, which is available for download below.
I have been awarded a 2:1 and am now done with my CompSci degree at Warwick Uni, so I can place my project report and it's accompanying disc's contents online in the hope it will be useful to others. Since creating this site about 18 months ago, I have been contacted by about a dozen individuals who are doing similar projects; and my weblogs show that the report was downloaded over 700 times in September 2005 (Update: It was downloaded 495 times in Sept 2006). Also, I'm really honoured to find I'm linked to by lvr.com, I bought their USB Complete book and found it immensly useful.
This project aimed to enable a Nintendo Game Boy Advance (GBA) to be used as a personal digital assistant by creating a USB communication interface between a Windows PC and a GBA, which would require no hardware-specific drivers or user-configuration.
USB v1.1 is implemented on a Microchip PIC16F877 micro-controller (using the CCS compiler add-on) and a Philips Semiconductor PDIUSBD12 low-level USB chip which handles interactions with the USB bus.
An interface with GBA is achieved via UART and then use the USB implementation by means of the (USB-IF defined) Human Interface Device (HID) class to transfer user-data.
USB, Embedded System, PIC, Game Boy Advance, Hardware, PDIUSBD12, PIC16F877
Incidently, my project (and hence report) was awarded 73%.
If you have any problems using this site, or queries related to this project, I'd be happy to hear from you and see if I can help.
Areas which may be of interest to you:
Taken directly from the project specification.
Powerful Personal Digital Assistants (PDAs) and smart-phones are becoming common place and are increasingly used to entertain their users with games. This is fine for those that predominately want an organiser and think of games as a bonus, but what about those that prefer the games, but would still like some organisational capability? Portable games consoles are powerful enough to run simple PDA-like applications but they lack the connectivity that PDAs and smart-phones have in abundance.
To create an interface between a PC and a Nintendo Gameboy Advance (GBA) system which is as easy to use as any existing PDA and to create some proof-of-concept software that shows the use of this interface to communicate between the two.
Effectivly the aim of my project is to implement the USB standard using some hardware, and then utilise this to as a communication channel between a GBA and a PC. The main focus is the USB implementation, which is quite complex — as anyone who has skimmed the USB 2.0 (Basic)3) Specification will know.