Didj
Contents
Project Summary
The Didj is a toy produced by Leapfrog marketed for educational games for 5-10 year olds. Although it has a proprietary graphical front end, it runs a generic Linux distribution on an Arm based processor. Soon after the Didj's release, it was discovered that the cartridge port contained pins that allowed for serial console access with root privileges. After this discovery, work began to modify the Didj into an accessible emulation device.
Since development began, much has been accomplished, including:
- Discovered that the Arm chip is the same as on the GP2X Wiz, only at a lower clock speed.
- Created cartridges that support SD cards
- Accessed the UART features in the cartridge slot
Project Goals
Here is a place to list all the the goals or wants that we have for this project.
- GP2x / GP2x Wiz
- Port Libraries
- Flash Player
- Emulation (Wiz Emulators)
- NES
- SNES
- Gameboy BW/Color/Advanced
- Gamegear
- MAME
- Atari 2600
- Colecovision
- Others
- GUI
- Custom or Modified
- Customizable Themes
- Custom or Modified
- Homebrew Games
- Overclock Processor
Tutorials/How To's
- How to extract files from the firmware .exe
- Adding Serial Console
- Gain access to the Didj as a thumb drive from Windows.
- Creating a Kernel Build Scratchbox
- LFConnect Update Server Bypass
- Boot Didj From UART Connection
- Mount Didj File System Under Linux
- USB Mounting Under Windows and Linux
Technical Information
- Home Brew Cartridge and Custom Bootloader
- Initial Memory Map Dump
- The #edev guys (#edev on irc.freenode.net) located THIS on the leapfrog site.
- Didj Linux and root filesystem source is here
- busybox isn't listed
- The linux kernel source is now available from LeapFrog.
Discussion
- Didj Project Forum
- Cozybit boasts of their involvment in integrating Linux with the Didj
- Hacking around with the Leapfrog Didj
- Didj Homebrew Forum (Empty?)
- Hackaday Posts
Graphics Hardware
- Resolution: 320x240
- Display Modes: RGBA 565
- MLC: Multi-layer controller provides HW compositing for up to three graphics layers
- One 24-bit 2D layers (no HW accel)
- One 16-bit 3D layer
- One YUV video layer (no HW accel)
- Graphics API OpenGL ES 1.1: A reduced instruction set version of OpenGL for embedded systems. OpenGL is a 3D graphics programming interface. Proprietary interface to Multi- Layer Display controller for 2D RGB and YUV video buffer support. FreeType Font renderer. Theora video codec plays OGG-Theora files.
Chip List
Processor
- OEM branded version of the MagicEyes Pollux VF3520F Datasheet
- Appears to be the 393MHz version of the same processor in the GP2x Wiz
- Marked with:
- "LF-1000" - LF-1000 Specifications
- "ARM"
- "N12N1D"
- "H0815"
Memory
- 1 QImonda HYB25DC25616OCE-5 - 32megabyte sdram Datasheet
- 1 Micron MT29F2G08AAC - 256megabyte nand flash 8-bit Datasheet
Audio
- 1 Cirrus Logic CS43L22 - audio codec Datasheet
Display Driver
- 1 Giantplus GPM758A0 - 320x240 TFT Pinouts and Specifications
Power
- 1 Intersil ISL7665SACBAZ - Programmable Over/Under Voltage Detector Datasheet
- 3 TI TPS62050 - Adjustable Step-Down Converter Datasheet
Crystals
- Oscillators
- 12MHz xtal
- For usb
- 27MHz xtal
- For the Processor*
- Barrel xtal
- For the RTC 32.768KHz*
- 12MHz xtal
Test Pads
- Possible JTAG on pads
or touch screen interface?
- TP8 - Vcc
- TP9
- TP10
- TP11
- TP12
- TP13
- TP14 - Vss
Ethernet?
There is info of a CS9800 Ethernet controller used on the development board
* See the processor datasheet page 20.
Cartridges
Original Cartridge
Manufactured by Sandisk
- s740878-1
- 4620329
- 0621
- 151-10043-07-a
Custom Cartridges
Home Etched Didj Breakout Board
- Easy to make at home (can be made with a radioshack kit and a dremel)
- The board layout was designed in eagle.
- This cartridge locks in just like the real thing.
- It is easy to do just superglue a small piece of FR4 in the corner and dremel a notch out. (see dimensions below)
- You will also need a spacer on the top and bottom and those dimensions are also included.
Hack an Original Cart
- Modify an original cart to have a uart output
Claudes Cartridge
- Features
- Jumpers (For custom bootloader)
- SD Card (Enabled through the custom bootloader)
- USB through a FTDI chip
- Optional NAND
- Claudes Website
- Claudes Schematic
- Claudes Gerber Files
SD and USB Serial Cart
- Features
- Fits (mostly) within the Didj
- Includes an FTDI FT232RL USB-Serial adaptor for Bootloader and Serial Console
- Includes SD card slot
- Includes solder jumpers for custom bootloader
- Open Eagle source files (CC Attribution, Non-Commercial, Share Alike)
- Front and Back PDF
- Eagle files
- BatchPCB public design
- Comments welcome!
- Gerbers haven't been made yet. Please post comments here, or as a message to me.
- I think the design is correct based on Claude's schematic and Awesomenesser's diagrams, but I can't be sure.
- Later, I'll have this produced by BatchPCB, I'll post a link to the public design on that site, if others want boards made.
File System Info
- rootfs / rootfs rw
- /dev/root / jffs2 ro
- none /proc proc rw
- sysfs /sys sysfs rw
- /dev/ram0 /tmp tmpfs rw
- /dev/mtdblock1 /flags jffs2 rw,sync,noatime
- /dev/mtdblock2 /mfgdata jffs2 ro,sync,noatime
- /dev/mtdblock10 /Didj vfat rw,noatime,fmask=0022,dmask=0022,codepage=cp437,iocha rset=iso8859-1
- /dev/mtdblock11 /Cart vfat ro,noatime,fmask=0022,dmask=0022,codepage=cp437,iocha rset=iso8859-1