darkfader.net /GamePark GP32

News - Detail pages - Links

Game Park 32 (GP32)

This page is dedicated to developing for the GP32 and makes a good resource for developers and games.
Now what's a GP32 you might ask. It's a cool handheld gaming device that is much better than the GameBoy Advance. It's also cheaper and easier to develop for.
It uses SMC (Smart Media Cards) that can store multiple games and also MP3's.


 


#gp32dev

Developers are gathering in #gp32dev on EF-net. (no rom-lamers please :)


News*

When Where Description
29 jun. '03 moved website again because I couldn't access ftp anymore.
why is this news on this page anyway?.. hmmm
6 sept. '02 graphics 16bit display emulation with GDI test app
17 aug GP3D little 3D demo added
8 aug. here i started working on a 3D engine a little
27 july GccTest.zip a) 16 bit video & file I/O without libraries !!!
b) makefile change: arm-elf-objcopy instead of just objcopy (gets rid of a stupid warning :)
c) tested on real h/w... commented out the CLKCON setting.. seemed to crash somehow.
26 july bmp2bin.zip v1.02 - rotation fix :P
  devkits official dev kit overview
  SMC.zip new SMC file library source code
  clock.zip a nice clock that works with the RTC. see morehw page
     
^M    

*) Latest news on top.... older news is removed... also try the !news trigger on #gp32dev


Start

This page is dedicated to provide the basic information and tools you need to know about the GP32.
Specifications, fileformats, conversions, compilers, emulators, SDK's...


News

7 oct 2002 - added link to GCC 3.2

Specs

CPU

- Samsung S3C2400X01 (ARM920T core)
- software chosen speed (safe speed: 20MHz to 133MHz, overclock to SDRAM limit: 160MHz, overclock to CPU limit: 186MHz)
- 16KB Data-cache, 16KB Instruction-cache

Main memory - 8MB SDRAM
Firmware - 512KB flash memory
Display - 3.5" Reflective TFT, 320x240, 65536 colors
Storage - SMC (Smart Media Card)
- current libraries (statically linked) support up to 128MB
USB - mini-USB to PC cable
- unpowered host mode
Real Time Clock - not powered (GPi will be powered) :(
Sound - 16Bit PCM Stereo Sound
- In software: MIDI support (over 32 poly), 4 Channel WAV Mixing, MP3 MPEG(I,II)
Power supply - 2 AA batteries (12 hours use time between charges)
Controls - 8-way microswitched joystick
- A,B,start,select,L,R (L&R are shoulderbuttons on GP32)

GP32

Once you turn on the GP32 with the standard firmware you see an intro animation and then the main menu...

screenshot

Press the SELECT button to cycle through these options:

* GAME - select encrypted program to run. for example commercial games and the "Free Launcher"
* MP3 - MP3 player. files must be in the \MP3 folder
* SMC - PC-Link mode & option to fix filesystem errors on SmartMedia Card by pressing SELECT

You must install the "Free Launcher" first to be able to run free executable (FXE) files.
Just get these...

USB driver

- Download from GamePark development site
- Get my version (Win2K, little patch) from the USB page.

PDUID - The ID of your GP32 is needed to encrypt the launcher.

- This ID is hidden when using the registration process on the english GamePark site.
- You can also get my GPS2 tool to create a GPS file. It's more versatile. instructions here.
- Old PC-Link version (<= v0.9 ?) can create GPS file.

Free Launcher

- .ZPK file installable with PC-Link is downloadable from english GamePark site after registration.
- Visit #gp32 on EFnet to encrypt it. Only accepts PDUID and not for commercial purposes.

Hope it succeeds...
Now you can either flash another firmware or just use some public tools to convert to FXE format.


File extensions

Here's a list of GP32/PC-related file extensions. Some might be the same, but with other extension.
You probably find these more useful in combination with the conversion table.

file extension description
GXB*,AXF,BIN* Arm eXecutable Format: plain binary executable. for GP32, it starts with a branch and 6 address fields
GXE

Gamepark eXecutable Encryption info: contains name, icon, encryption info

GXC Gamepark eXecutable Contents: contains the remaining part of the executable data
GXF Gamepark eXecutable Free/Format: plain executable with icon/application info
FXE

Free eXecutable Encrypted: these executables are encrypted for use with with the free launcher

GPS GamePark uSer: contains the username, password, GP32 ID
GPM* GamePark Media: contains the gamename (not defined), size (not defined), SMC ID
ZPK ZPacKed archive: contains directory structure of an encrypted application
FPK Free zPacKed archive: contains directory structure of a free application
GPK unencrypted zPacK archive
SMC,GP* SmartMedia Card memory dump file
ELF linkage output format which can contains debugging info and more
C/CPP C/C++ source code file
H header file to be included in C/CPP files
O/OBJ object file (compiled source)
S/ASM assembler source code file. for GCC, use uppercase .S extension to enable pre-processing.

*) not official


File format conversion table

Here's a conversion table and the needed converter tools.
Note that I left out conversions for copying official games.

from to tool(s) notes / example
GXB/AXF GXE+GXC GXE encrypter It's not publicly released.
FXE GXB/AXF unfxe you'll lose the game title and icon
GXB/AXF FXE FxeMaker also specify game title and icon file
GXE+GXC+GPS

SMC

makesmc/ DevUtil

there are/won't be many device-encrypted programs.
In GeePee32, you can choose any PDUID.

GXE+GXC+GPM SMC(+id) makesmc/ DevUtil + GPS2 you have to insert the SMCID into the SMC file
SMC(+id) GXE+GXC+GPM DevUtil + GPS2 extract files, extract SMC ID
SMC(+id) GXB/AXF GeePee32 + GP32D set breakpoint (/BP=0x0C000000), load game, dump 0x00800000 bytes starting from the breakpoint.
run GP32D on the dump to create a valid GXB/AXF.
original backup too many ;) copy all files to PC, get SMC id with ID tool/GPS2, make SMC file & insert ID, run GeePee32, dump memory & fix it, extract icon/title, re-encrypt.
Note: this is kind of illegal to do.
FPK FXE, * gppk gppk -x blaat.fpk -b blaatdirectory
FXE, * FPK gppk gppk -c blaat.fpk -b blaatdirectory
the FXE should be in a GPMM subdirectory!
commercial game *   you should leave your original games as they are without copying them
ELF GXB/AXF fromelf zfromelf -bin -output blaat.axf blaat.elf
objcopy objcopy -v -O binary blaat.elf blaat.axf
C/CPP O/OBJ zarmcc / zarmcpp zarmcc/zarmcpp -cpu ARM920T -c -O2 -Otime -Wb -zc -I"include_directory" -o blaat.o blaat.c
gcc

gcc -O2 -fomit-frame-pointer -finline-functions -mcpu=arm920t -fno-exceptions -fno-common -fno-builtin -ffreestanding -mstructure-size-boundary=32 -mno-thumb-interwork -c -Wall -I"include_directory" -o blaat.o blaat.c

O/OBJ ELF zarmlink zarmlink -info totals -strict -remove -scan -ro-base 0x0C000000 -output blaat.elf -first "init.o(init)" -entry "init.o(init)" gpfont.a gpfont16.a gpfont8.a gpgraphic.a gpgraphic16.a gpgraphic8.a gpmem.a gpnet.a gpos.a gpsound.a gpstdio.a gpstdlib.a init.o gpstart.o user_init.o blaat.o
gcc gcc -Wall -Wl,-Map,map.txt -L library_directory -T gp32_linkerscript -o blaat.elf gpfont.a gpfont16.a gpfont8.a gpgraphic.a gpgraphic16.a gpgraphic8.a gpmem.a gpnet.a gpos.a gpsound.a gpstdio.a gpstdlib.a init.o blaat.o

Official GamePark dev kits

option amateur (free) professional A ($1400) professional B ($9400)
GP32   x x
EPI Majic JTAG interface controller     x
Interface Card (?)   x x
Monitor output converter   x x
ARM ADS     x

GDS (ARM assembler, compiler, linker, debugger, simulator)

  x  
API for ARM x x x
API for VC++ x x x
Online documentation x x x

Building, compilers, libraries, tools

You can use ARM SDT 2.50 evaluation version also circulating in the GBA dev scene, request ARM ADS evaluation CD or use GCC, which is free to use.
Of the GP libraries there are VC++, ARM & GCC versions available. The VC++ ones can only compile to Win32 executables and supports no assembly code.

GccStuff.zip - GCC version of the libraries + linkerscript + makefile + some test code.
bin2o.zip - see toolbox - binary to GCC object file converter. Use '-n' option to disable thumb interworking.
batch.zip - v1.01 - a nice set of batch files (.cmd) to make smc-directory structure, calling an encrypter, makesmc, xcopy, sync, emulator, and other things.
ads1_2_eval.ZIP - ARM ADS 1.2 evaluation. Use Z*.exe to skip the annoying trial message.
Cdilla_LMS_Rewind.zip - illegally extend evaluation period
gcc3.0.4-blaat.zip - some precompiled GCC
GCC 3.2 - precompiled for i386: arm-elf-gcc-3.2, arm-elf-newlib-1.10.0, arm-elf-libstc++-3.2, arm-elf-binutils-2.12
just extract to same directory.


Promotion games / VC++ SDK

Instead of releasing games that require an emulator to run on the PC, you can also compile natively as a Win32 binaries.
For this purpose GamePark released the VC++ version of the GP32 SDK.
It can use Smart Media Card files to access game resources.
screenshot


Emulator

A working emulator is GeePee32 which was made by FireFly.
(link to emulator and the firmware are somewhere on my site)
The emu can load SmartMedia Card files and additionally an executable.

parameter description
/RUN runs executable or bios automatically
/SMC=blaat.smc inserts SMC containing executable and/or data
/GXB=blaat.gxb/axf loads executable at right address and runs from there
/FXE=blaat.fxe loads executable at right address and runs from there
/NOSPLASH don't show the startup screen

You can convert your way to get the right files, just look at the conversion table.
Also try experimenting with SMCID & PDUID with the GPS2 tool.
Note that it is not allowed to play illegal copies!!!


Misc links

.

Encryption / ID tools

GPS.zip - v1.02 - PDUID/SMCID utility (CLI).
GPS2.zip - v1.02 - new PDUID/SMCID utility (GUI) with PC-Link support.
GPS2.gif - instructions for the GPS2 program
gplogo.bmp - GamePark logo (32x32, default palette). color index 239 (255,102,255) is default color key for transparency.
SecuLock - some ideas for improved copy-protection


ARM-linux

We're all trying to get linux running. The hardware is kind of supported.
Problems might be the loader & an SMC block device driver.

empee.daug.net - project page for 'Linux for GP32'
http://sourceforge.net/projects/gp32linux - sourceforge project page

linux-2.4.13.tar.gz - linux
patch-2.4.13-ac8.gz - linux patch
patch-2.4.13-ac8-rmk1.gz - linux patch
2400-patch2-4-13.zip - linux patch for S3C2400X & kernel install guide

loaders - overview of linux loaders
LARTware - precompiled cross-compiler (rather old version)
JTAG for LART - an example of JTAG
redboot - maybe we can use this for a tiny loader?
BootLinuxWithoutFlashing - don't need to flash a firmware to get it running
bootldr - another loader
USB and linux - some driver for 5-in-1 reader can be found here
MMC driver - SMC is based on MMC
Vitals Systems - vLinux has S3C2400X support
Mizi - the Linuette linux distro will probably be used for GPi32


My libraries

Some libraries... do whatever you want with them.


MyLib 3
Indepent of BIOS and GamePark library

GccTest.zip - v1.00c - GCC source that switches to 16 bit video mode and provides file I/O using smfs.
There will soon be a version that works for ARM ADS compiler. Just because it generates better code.


MyLib 2
Selectable debug interface including GpDebug for emulator. USB output doesn't work yet. Still uses the GamePark library.

MyLib2.zip - all files
GpDebug.zip - v1.00 - new debug console & file server for use with MyLib2 or higher.


MyLib 1
Porting-library for GCC to provide basic systemcalls and debugging features including 80x40 textmode console. Uses the GamePark library.

MyLib.zip - Tested with DevKitAdvance (use "ar d libg.a syscalls.o" to remove the dummy syscalls for DKA).


Graphics

Check toolbox page for graphics converter suitable for GP32.

GP32_16bit_GDI.zip - display emulation in Windows GDI

first.zip - simple source code that uses backbuffer and flips between an image and XOR-pattern. Uses the ARM SDK.

Magnify

A simple graphics buffer manipulation test... it copies the whole picture each frame and then applies a magnifying glass effect onto a small area.

screenshot
Magnify.fxe.zip - free executable version of Magnify
Magnify.src.zip - source code (uses SDK)

3D graphics engine

I made a simple 3D engine. Initially in VC++ but it now works on GP32.
Technical details:
- triangle filler, no perspective correction, no lighting, 16 bit color
- 6-plane Cohen-Sutherland recursive triangle clipping
- lot of transformation, indexed, no triangle strips, spherical environment mapping
- standard qsort of visible triangles on W-value
- default speed: 66MHz
- memcpy for clear & probably slow syncing
- all written in C/C++, compiled with ARM ADS

screenshot
GP3D.zip - 17 aug 2002 - zip containing fxe and datafiles
hold START or SELECT and some other button to move the object or camera and A/B to zoom in/out


Descent

I was porting Descent (D1x opensource) to GP32.
hmm.. currently stopped. too bad for ya.
-O, debug, fixed point in C, texture mapper in C, 60 MHz -> 0.6fps
-O3, fixed point in C, texture mapper in C, 60 MHz: -> 3fps, hangs(?)
-O, debug, C, 60 MHz, no texturing -> 12fps
gotta optimize as you can see :)

screenshotscreenshot
(these screenshots are made with old version of GeePee32 emulator)

Descent.exe - self-extracting RAR with SMC file. Somehow does not work with latest version of emulator or hardware:/.
project page - associated project page on project site


Emulator debugger

These are old libs... see MyLib/GpDebug for newer debug library
#EmuDebugLib.zip - library + batch file to make EmuDebug work with GeePee32
#EmuDebug.zip - debug console (see Toolbox page for more info)


Firmware

Disclaimer: Flashing firmwares voids warranty & I do not take any responsibility for any damage.

Try out flashing on emulator first and make sure the GP32 is in a stable condition during erasing/programming (check batteries!). Also let it finish until it says it's completed.
The firmware consists of a BIOS (always use the latest) & menu part.
Use gpfw tool to split or link the bios & menu (.gxb/.axf) part so you can either make your own menu's or use them in eachother.

DumpFW.fxe.zip - makes a backup of the firmware. you need 512KB free space on your SMC !
fw.fxe.zip - GP32 Firmware Upgrade utility. note that some reported failed flashes and are unable to boot their gp32.
fw157e.zip - Official firmware. You must own a GP32 in order to use this.
combofw.zip - combo firmware (BIOS 1.5.7e + PacRom v0.2 (made by Pacman) + PC-Link v1.02). press START to run PacRom, otherwise pclink is started.

Note: I recommend you to get the latest Pacrom version.


Links

There are more links on the subpages!

Talk
yahoogroups - GP32 mailing list
boardsvr data - Garbage of the messageboard
gpzigi.com - Korean GP32 forum
empee.daug.net - empee's message board
GamePark docs

Other GP32 sites
gp32.150m.com - Video Class encapsulation of ADS graphics library
GP32 projects - most #gp32dev projects are listed here. please make good use of it.
BlackThunderStudios - here you can find Pacrom (firmware replacement) and more
gp32emu.com - news, info, links
devrs.com - Jeff Frohwein's site has also many links to sdk's, docs, tools, etc...
FireFly's gp32 page - FireFly is writing an emulator. also ported Heretic
handheldhunter - Some more pictures of GP32 internals
Steve's site - "GP32 + GP32DEV FAQ 0.1"
bobbyd's site - GP32 Dem0zzzzz
teoarsa - some stuff here... GCC + libs
gpvgb - gameboy emulator
~erm - Wolf3D port
Tom Forsyth - Doom
Hitmen GP32 (groepaz) - some handy tools, modplayer, GCC compiling guides
Jeff's GP32 FAQ - Frequenty Asked Question
deadcoderssociety (Jouni aka mr_spiv) - unfxe, FXE-aware disassembler, FXE cruncher, Mac dev stuff
pdroms - GP32 public domain roms
oedalpha - gpTorus, gpRobot

darkfader.net SMC

SmartMedia Card

SSFDC/SMC

SmartMedia Cards (SMC) are also called Solid-State Floppy Disk Cards (SSFDC).
They have a physical to logical block mapping to be able to erase a complete block. Caching should be done to extend the life of the cards since they have a limited number of writes.
Because of the fast increase of densities, the original specifications have been extended to maintain compatibility.
An SMC consists of zones, where each zone have 1000 logical blocks out of 1024 available. This means that at low-level specification, there can be 24 bad blocks per zone. On 128MB cards, this costs 3MB.
The cards have card identification fields, and by default have a partition table. When you format with Windows using an SMC to PC card adapter, it could end up partitionless and a strange formatting so devices like GP32 will not be able to read any of it. The SSFDC-forum recommends the use of FAT12/16 as filesystem for compatibility, but could easily be combined with EXT2 or other filesystem. Because Windows won't allow you to create multiple partitions, you could copy a raw disk image to "\\.\PhysicalDriveX", where X is some number (be careful chosing the right disk!). You can also use WinImage, WinHex and such similar program to copy raw data from/to a disk, edit a disk directly or edit a disk image. Hehe... you don't even need obscure Linux tools.
You can also write-protect SMC's by placing a conductor shaped as a circle at the right place. Windows should report it's read-only when trying to write to it: 

The GamePark (well... more Samsung) SMC library unfortunately does not check if the SMC is read-only though. This could be hardwired (there's a write-protect pin on an SMC) or the library can be modified (since GP32 can read out this contact).


Downloads

SMC.zip - v1.00 - SMC file library, SMC to RAW converter, RAW to SMC converter.
makeraw.txt - example of how to make a raw disk file with dual file-system under linux
dual.raw.zip - This disk dump (16MB) has a FAT12 and an EXT2 partition on it :)
HexWorkshop.gif - use a hex-editor to read/write SMC's... you'll need a cardreader and select 32000 sectors, not 32001 :)

SMIF.lha - taken from AmiNet: "Cheap SmartMedia interface + sourcecode"
smfs221.zip - official Samsung sourcecode: SmartMedia File System (get smfs221.PDF too)
seccom21.zip - official Samsung sourcecode: SMC flash test


Links

hkems - EMS PC Cardreader (5-in-1) (wait for 2nd version! WinXP compatibility etc)
sysinternals - A sync tool to flush the cache of drives. Useful when you're using batch files.
SmartMedia data recovery - some nice page about FAT12 & smartmedia
SSFDC Forum - much info and specs about SmartMedia
Phison - linux driver for 5-in-1 cardreader
SystemSoft - ATAManager can be used to manage partitions on CompactFlash and SmartMedia cards
Winbond - FLASH Memory Controller (W78E727E) used in the EMS 5-in-1 cardreader
WinImage - WinImage is a nice tool to edit disk image files.
WinHex - Read/write data from/to files/disks.

GP32 USB port

The USB port can be used as host (unpowered?) or device.

The default GP32 bulk usb driver is based on a Microsoft example and can cause blue-screens :)
Examples that use this are the pclink protocol, GpDebug or any other application that uses GP's communication library.

Future plans are to make GP32 are fully-compliant multifunction device that has removable storage media, audio, serial port, game controller, and possibly video out.


PC-Link

PC-Link is the GamePark USB tool/protocol to transfer files between PC & GP32.
Get original PC-Link program from GamePark's site.
I made a command line version with a direct execution option to make it easier to develop.

pclink.fxe.zip - v1.01 - PC-Link... if you want to use/make firmware replacements. Note: for ID retrieval use the original PC-link+GPS2 or ID tool.
pclink101.zip - v1.01 - some people reported problems with 1.02 and i don't know what it is and i didn't backup 1.01 source code :)
pclink.zip - v1.02 - command-line PC-Link tool. file upload & direct execute.
GP32USB.zip - v1.01 - PC-link compatable USB driver based on the buggy bulk-usb driver example (same as GamePark uses) but I fixed the annoying "unsafe removal of device" warning (if you had any problems with that when turning on/off the GP32). Includes patched source file.
GP32 USB Driver for XP - FireFly has compiled a new version using the XP-DDK and hopefully won't give any bluescreens anymore.


Other add-ons

device notes
TV module - GP has announced a module to watch TV on the GP32
game controller - might be an idea for Linux/SDL

Links

USB.org - info, specs, links
linux-usb - Linux USB Project
usb devices - linux USB device database
FireFly - PC-Link NameSpace Extension !

darkfader.net <- Game Park 32 <- EXT port

GP32 EXT port

The EXT port (something with partnumber 3050-18R-0.5???) has UART (serial port), JTAG (in-system debugging/programming) & I2C (to attach keyboard, access eeprom)... thus great for developing.
pin-out on devrs.com page (I'm too lazy to post it here :)
See below for links where to get the connector.
Or get a mobile phone connector / data cable (NOTE: charger-cables might not have enough pins to be useful!!!):
- Samsung R200 / R210
- NEC N21i
- please tell me when you find other compatable phones

Here's a picture of a fitting connector... I used the pinout according to GamePark's coloring, but instead of nTRST (optional JTAG signal) I used CTS and added a white wire for RTS.

camshotcamshot

Links

3050 (EXT connector) - http://www.hyupjininc.com/kor/product/3050_1801pin.htm
3050 (EXT connector) - http://www.sebo2000.com/connector/3050%20series.htm
http://www.gameparkdev.co.kr/pdsdata/ioport-en.pdf - pinout
http://www.gameparkdev.co.kr/pdsdata/ioport(gp32)-en.pdf - pinout


UART

You can connect to two serial ports of which the first has full handshaking signals.

GpTerm.fxe.zip - v1.00 - terminal program. set at 115200 baud.
gpterm9600.fxe.zip - v1.00 - terminal program. set at 9600 baud.
Tested with 'dir > com1' & using my Palm. Buttons are sent back as single characters.

Also check wether you want a male or female connector and wether you need a null-modem converter (check links for info).
If you want/need a null-modem, buy/make one with a partial handshaking.
Full handshaking often does not work with terminal programs like HyperTerminal. I do not have the source-code for this program anymore.

To convert 3V <-> RS232 levels, I used a MAX3222, which you can sample for free from Maxim.

Here are pictures of the MAX3222 datasheet, the top part of the box with serial connector and the hole for the JTAG port and the bottom part which holds the circuit.
camshotcamshot

Links

Maxim/Dallas - Get a free sample of the MAX3222CPN chip
lammertbies - Null-modem information


JTAG

Check ARM page for general JTAG info.

jtag.txt - How to use JTAG without the EXT connector. Now updated for Wiggler pinout.
jtag_pins.jpg - Image indicating the pin locations. Only needed if you cannot find a connector!
flashjtag.zip - Some sourcecode to program the flashchip using a parallel cable.


Other add-ons

device notes
RF-module - wireless multi-playing up to 4 players
mobile phone cable - internet play... commercial apps only for GPi32 :/

darkfader.net <- Game Park 32 <- more H/W

Warning

On this page I will put pictures and descriptions of GP32 internals and hardware hacks.
I'll take no responsibility for damages etc...

For JTAG, check ARM and EXT page


Internals

pics - I found more pictures of the internals! these are higher resolution :)
pcb_front.jpg - S3C2400X01-EERO (CPU), LPC3600 (display timing controller), AT49BV040-90VC (flash memory)
pcb_back.jpg - SMC socket, HY57V641620HG (main memory)
display_back.jpg - the back of the display look exactly like the front of the display. weird uh
partlist.txt - some part numbers


Disassemble

disassemble.txt - disassemble & modification guide :)


RTC

screenshot - Real Time Clock (RTC) test program

clock.zip - v1.00 - a simple analog clock RTC program. use L/R buttons to select number and up/down to change the value.

Update!!!: You actually need to disconnect the pin on the CPU leading to C8... it is connected to the core power of the CPU and thus will drain the backup battery. Soo... it's recommended not to apply this patch and just wait for the GPi or something. Sorry.
However, you can still try out the clock demo.


Memory upgrade

GP32 contains only 8 MB SDRAM, which might not enough for some that try to run linux :)
You also might want to do this to get more than ~160MHz (memory runs at 1 or 1/2 speed of main clock).

Cross-reference:

Configuration Mosel Vitelic Samsung Infineon (Siemens) Toshiba Micron Elpida (NEC, Hitachi) Hynix (Hyundai) Alliance Goldstar (=Hynix?) Mitsubishi Fujitsu
4Mx16 (8MB) V54C365164V K4S641632, KM416S4020/21/30/21 HYB39S64160 TC59S6416 MT48LC4M16 uPD4564163 HY57V641620 AS4LC4M16S0 GM72V661641 M5M4V64S40 MB81F643242
8Mx16 (16MB) V54C3128164V K4S281632, KM416S8030 HYB39S128160 TC59SM716 MT48LC8M16 uPD45128163 HY57V281620 N/A GM72V281641 M5M2V28S40 ?

16Mx16 (32MB)

V54C3256164V K4S561632 HYB39S256160 TC59SM816 MT48LC16M16 EDS2516 HY57V561620 N/A ? ? ?
32Mx16 (64MB) N/A K4S511632 HYB39S5121600 N/A N/A HM5257165 HY57V121620 N/A ? ? ?

You can stack onto the existing chip (piggybacking), but I would recommend to replace it. (use a thin wire and heat the solder).
Other info: 4 banks, 3.3V, LVTTL, TSOP, PC133, CL3
32MB and up do need pin 36 (A12).

address count calculation for 8MB:
CA0-CA7 (A10=auto precharge flag) -> 8
RA0-RA11 -> 12
4 banks -> 2
16 bits -> 1
2^(8+12+2+1)=8MB

SDRAM_FAQ.pdf

Maybe one can rip off a chip of a DIMM or SO-DIMM.
sdram module sizes

Unfortunately I have only these DIMMS:
133-512MB: 16 x 5225805BTT75, 32Mx8 (if it only contained 16 bit chips :/)
133-128MB: 8 x PQ3S816S75-8-T, 8Mx16 (hmm.. small :/)
100-128MB: 8 x TMS3808B4E-7, 16Mx8


CPU upgrade

I get a lot of questions about upgrading the CPU...
Just forget it and buy some PDA. Incompatible pin-layouts of other similar chips would require a LOT of small wires.


Front light

gpzigi has some pictures of front light tests
minebea has some front lights


Tilt sensor

I still have two samples of the ADXL202JE accelerometer somewhere. It has Pulse Width Modulation (PWM) output and measures up to 2G in two directions. So I'll just go find 2 unused pins on the S3C2400X someday... might be interesting.

http://www.analog.com/techSupport/designTools/interactiveTools/accelerometer/adxl202.html

0.06*3.3=0.198V/g

 


Line input

1V/3.3V*1024=310.3... so without amplifier you can get 8 of 10 bits resolution.


Other ideas

- touchscreen
- more buttons, could be analog too
- reset button
- SMC access led
- flash memory write protection (could be software)
- eeprom write protection (dedicated WP signal)
- SMC read-only check (probably need software change only or connect WP signal to read-only detection pin)


DC adapter

Instead of getting the official DC adapter, you could use a GBA DC adapter and swap the polarity to make it work for GP32.
This is very handy if you want to power the GP32 without needing clumsy batteries.

More stuff

Other files that may not be indexed before. bootstrap.zip - Use small loader to flash a firmware. Useful for dumb/slow parallel port JTAG interface.
00000000000000000000000000000000.gpm - ?
ffffffffffffffffffffffffffffffff.gps - ?
SecuLock.txt - just some notes
Macraigor Flash Programmer - GP32 support.zip - flash file definition for Macraigor programmer software
I would use Segger J-Link hardware and J-Flash software nowadays.


Google
 
darkfader.net Web

(C) Copyright Dark Fader darkfader dark fader gameboy advance GP32 gamepark emulator romz games demo blackthunder gba gbc ngpc programming C C++ assembler consoles anime japanese 3D tools utilities development lik-sang pokemon mini