From GameBrew

Last Updated2009/12/29

AVEC is a GPS vector mapper for the Sony PSP.

This program reads and displays MP (polish format) map files which are very common among the Garmin custom mapping scene, and can make use of a GPS device connected to the PSP serial port to display your current location on the map. A seperate version of this program makes use of the PSP-290 USB GPS device.

A built in converter (or seperate Windows converter program) can be used to convert to a custom indexed file format that greatly improves drawing speed at higher zoom levels.

The Program also has a Find Place by Name feature, and a Track Up Display Mode that work similarly to the respecive modes of a commercial GPS unit. One objective for this program are to discover, and expand on functionality that is not available in commercial GPS units.

This is an entry from the Neo Summer Coding Compo 2009 (PSP Applications, 1st place).


For Firmware 1.50:

This version of the AVEC program uses serial port to connect to GPS devices.

To install, copy the program folder to the homebrew game folder of your PSP.

It could be the /PSP/GAME150/ folder for newer firmware, or /PSP/GAME/ folder for original 1.50 Firmware.

The program will also work with original 1.50 Firmware as long as the program folder is kxploited.

For Firmware 3.xx:

This version of the AVEC program uses USB port to connect to the PSP-290 GPS.

To install, copy the program folder to the homebrew game folder of your PSP.

This should be the /PSP/GAME/ folder, or /PSP/GAME3xx/ folder (xx representing the last digits of your Firmware version).

User guide

You will need to obtain Garmin compatible maps for this program, for more information (setup, tutorials and troubleshoot etc) please refer to the enclosed readme.


The first time the program is started, you will see an intro screen which shows the functions of most buttons. This screen is disabled for future sessions because it is only displayed when a config file does not exist, and a default config file is created by the program on it's first session.

Maps should not be too large, since the program drawing will slow down as map files get larger. One large city at a time should work at a good speed, or a topograph of a mountain, but it's best to experiment. Testing was done with individual detail map tiles from the Garmin Mapsource Metroguide Australia CD.

When a map is loaded, the starting position is at the upper right most point of interest or line. The map is initialy displayed at the highest preview zoom level where the entire map fits in the screen area, and wire polygons are displayed.

Zooming in any closer than the initial zoom level will remove the wire polygons, and zooming in a little further will reveal full map detail. Points of interest are only shown at high zoom levels.

If you use a map with any land contour lines, it is assumed by the program to be a topographic map, and the background will be coloured a shade of green, otherwise the background is black.

Map display

From the main menu is where GPS mode can be toggled, and other configuration options can be set and saved. GPS mode must always be switched on manually. This option is not saved.

A new map file can also be selected from the file browser on the left side of the menu screen.

A GPS information bar will appear at the bottom of the screen which displays the last time, speed, and location aquired from the GPS device.

The user mode version of the program also displays a GPS signal strength meter while GPS mode is active.

Red bars indicate no signal. Orange bars represent satellites in view. Green bars represent the number of satellites used to aquire the current position fix.

Find a place on map

The Find a place on the map option allows you to enter a place name and have the program locate the position of that place on the map. The place can be a point of intrest or any line type such as a street or creek for example.

You do not have to enter the entire name. Just enter enough letters to narrow down the search.

If the place is a street, or other type of line, it will be coloured pink when it is displayed on the map to help you locate it until you search for another place.

While in viewer mode you can use the analogue joystick to point at a street, and it's name will be displayed.

GPS mode

In GPS mode, the current street name at your location will be displayed if it is touching the crosshair.

The names of all streets in view are displayed at the highest zoom level.

The functionality of the program dealing with street names only works if names are available in the map file.

Many open source maps do not contain much street lablel information. Original Garmin Mapsource products are best for this.

The track up display mode will allow you to rotate the map with the joystick while GPS mode is off, and while GPS mode is on, track up display mode will auto rotate the map in the direction of travel aquired from the GPS device.

3D terrain mode

The 3D terrain viewing mode allows you to view and rotate topographic maps in 3D. The map grid, and all points of interest are disabled in 3D terrain mode, as well as all lines other than land contours.

Track up mode allows the user to rotate the map, just as it does in top down view mode.

There are two levels of terrain exaggeration that can be selected in the configutation menu screen.

The red pointer shows your current position at sea level when 3D terrain mode is active. When 3D terrain mode is active in GPS mode, a green pointer shows your current position with the elevation received from the GPS device, and positioned with a y axis adjustment to represent your position on the 3D terrain model.

The green pointer should be directly on top of the red pointer if the altitude is zero, or the GPS has not aquired a three dimensional position fix yet. The green pointer may disappear off the top of the screen if the elevation is higher than the top of the screen in the current frame.





AVEC GPS Special Time Lapse Photography Demo

AVEC GPS V6 Street Labels Demo

AVEC GPS V6 3D Terrain Demo

AVEC GPS V4 Track Up Display and Rotation Demo

Find Place by Name feature with Joystick Angle Letter Selection and Auto Complete

AVEC Indexed Map File Demo

AVEC Early Map Rendering Demo


Square - Display a magnifier window

Cross(hold)+Alanog - Drag the map (track up display mod disable)

Triangle/Start - Activate main menu (GPS mode and other configuration options)

D-Pad Right - Select option (from menu)

Home - Exit application

GPS Mode:

D-Pad/Analog - Enter place name (for search)

Circle - Locate it on the map


Both versions of AVEC V8 are tested with 3.52 M33, and 4.01 M33-2 (with 1.50 kernel mode addon) firmware.

3.52 M33 is the last true 1.50 kernel hybrid firmware, and does not require a 1.50 kernel mode addon.

The AVEC program is known to work with other firmwares as well.


V8 2009/12/29

  • Optimised projection routines to render frames many times faster than any previous version. The search routines are not altered however, and this is where most CPU time is consumed.

V7b 2009/09/30

  • Bug fix for colour coded file list in the file browser.

V7 2009/09/30

  • New implementation for associating groups of adjoining maps with each other, allows automatic transition from one map file to another as the user's position moves of the edge of individual map tiles.
  • Changes to file browser prevent navigation out of the map folder, and filters files appearing on the list.
  • Implemented a new circular file broswer style and operation with the configuration menu now built in.
  • File browser list is now colour coded for easy identification of mp, mpi, and set file types.
  • Right trigger now rotates the map by one degree in 3D terrain mode.

V6 2009/09/25

  • Implemented 3D terrain view mode for topographic maps with two configurable terrain exaggeration levels.
  • Fixed bug present only in user mode version where the grid was not rotating with map while in GPS mode.
  • Removed canvas size option from the configuration menu.
  • Changed position indicator slightly to improve visibility.
  • Added street names to map display at highest zoom level if street names are available in the map file.
  • Fixed zoom routine to ensure highest zoom level is always available.
  • Changed the default GPS mode zoom level to the highest zoom level.
  • Removed delays in image capture routine that were not supposed to be present in any public release.
  • Improved the look and the control of scrolling in the configuration menu.
  • Sound now works in GPS mode for user mode version only. USB GPS routines are running in a dedicated thread.
  • Implemented new compressed mpi file format resulting in faster map file searching and smaller file size.
  • The PSP-290 USB GPS unit can now be plugged in after the user mode version of the program has started.
  • Fixed bug in mpi converter routine. Program would crash if a street name began with an open bracket character.
  • Program no longer adjusts the PSP clock speed. By default, the PSP will run at 222MHz.

V5 2009/09/15

  • Implementation of Deniska's PSP-290 test program routines provides compatibility with the PSP-290.
  • Added signal strength indicator to user mode version of the program for PSP-290.
  • Added colour cycling circle around pointer crosshair to make it easier to see.
  • Improved joystick controlled map rotation feature for track up mode without a GPS device.
  • Greatly improved the speed of rotation routine for faster drawing in track up display mode.
  • Improved accuracy of screen position by removing zoom levels that cause float rounding error. This fixed a bug in the find place by name feature where the found place may not have been on the screen.
  • Fixed bug in screen capture routine. Saved images were horizontaly offset by one pixel.
  • Improved text entry method for find place by name feature by implementing optional analogue selector.
  • Fix to projection routines to resolve a problem that caused some lines and polygons to appear squashed toward the bottom of the screen. This may have added a noticable processing overhead.

V4 2009/09/09

  • Lines for roads increase in thickness at the two highest zoom levels for street maps.
  • Some improvement to map edge detection routine to accomodate large base maps of entire continents.
  • Fixed bug causing two images to be saved for every frame when save frames option is enabled.
  • Zoom level is auto set to high when GPS mode is enabled, but can still be adjusted.
  • GPS parser runs in seperate thread so gps mode is faster, and buttons are responsive in GPS mode.
  • Changed altitude field to speed (kilometers per hour) in GPS information bar.
  • Intro screen is only shown once on first use, then program starts in the file browser screen.
  • Serial port can be restarted if plug is pulled out in GPS mode by turning GPS mode off and on again.
  • Fixed option to show points of interest in GPS mode. This option was present in V3, but did not work.
  • Fixed config loader to prevent program starting in GPS mode, even if saved in configuration menu.
  • Starting in GPS mode caused a problem. This issue may be resolved later to allow starting in GPS mode.
  • Implemented a track up display option in GPS mode so map appears to move in the direction of the vehicle.
  • Implemented map rotation mode using the analogue joystick to rotate the map when GPS mode is off.
  • Implemented image sequence player for playback of previously captured image sequences.
  • Added show grid and canvas size options to configuration menu.
  • Various other improvements.

V3 2009/09/01

  • Fixed extra points of intrest bug introduced with V2.
  • Map can now be dragged when the crosshair reaches any edge of the screen.
  • Inclusion of new utility to convert maps to Indexed Polish file format.
  • Faster map search using Indexed Polish file format making real time GPS navigation possible.
  • Improved speed with original Polish file format, and retained backward compatibility.
  • Improved detection of topographic map type so green land colour is applied faster.
  • Increased map file size limit to approximately 16 Mb.
  • Implemented a backbuffer so screen drawing is hidden and screen flicker is eliminated.
  • Removed Neoflash competition splash screen.
  • Added icons for eighteen point of interest types including summits, campsites, and parks.
  • Fixed a bug that caused an incorrect label to be shown for unnamed lines.
  • Introduced a configuration menu screen and configuration save option.
  • Implemented a search for places by name feature with auto complete text entry.
  • Map files shown in file browser are now sorted in alphabetic order.
  • Various other improvements.

V2 2009/08/20

  • Added border around magnifier window.
  • Added progress bars to interface.
  • Eliminated most of the overhead of searching points by searching points at the same time as lines.

V1 2009/08/18

  • GPS support implemented through serial port.
  • Implemented experimental wire polygon support.
  • Implemented file browser for map file selection.
  • Improved map file parser to work with maps of any location.
  • Decimal degree labels now displayed on map grid.
  • Implemented point and click map navigation method.
  • Implemented feature to lookup names when the pointer is placed over a street or trail.
  • Implemented a magnifier window that follows the cursor position around the screen.

AVEC Demo 11/08/09

  • Basic map viewer for demonstration.


  • Thanks to Deniska, MPH & Psyberjock for perfecting the routines that provide PSP-290 functionality.
  • Thanks to Deniska for getting Daveh's serial NMEA sentence parser code working on the PSP.
  • Thanks to Starcat of the Amiga demoscene for help with vector rotation code and some graphics optimisation.
  • Thanks to Greg, admin of PSP-hacks.com for providing the donation for the PSP-290 GPS device.
  • Thanks to pc-mobile.net for providing a sample PSB USB extension cable for remote mounting of the PSP-290.

External links