July '03: updated URLs

Nothing on this page is warranted for correctness, accuracy, suitability, or fitness for a purpose.

On this site...

gcc on iPAQ.
Arcade board information
Radio Control, PIC microcontroller
MAME for Jornada 430. (unsupported).

You can review my resume in PDF format if you are in need of a Software Engineer to develop embedded systems. I may also consider projects involving Pocket PC, GNU/Linux or Windows operating systems.
Contact glenn65535-AT-yahoo-DOT-com.

Off site...

iMAME home page. MAME for iPAQ 36xx (Pocket PC).

GNU/Linux on iPAQ Stuff is the best starting point for Linux on iPAQ.

Vice (x64)

Note: Vice has been updated, my patch is against v1.6
Vice is a most excellent and complete emulator of the CBM 64. Vice-x64 1.6 is provided here, compiled for Arm.
Vice is playable on iPAQ, but there are some issues. For instance, fscrib and xvkb don't seem to work with it. The menus are kind of sprawled out; I've made no adjustments to them. Sometimes x64 hangs at exit. Main window is a little too tall and I can't seem to get rid of the status area at the bottom of the c64 display. Fortunately, there seems to be just enough of the title bar left showing to grab it. Then you can fit the c64 display into your iPAQ display if you switch into landscape mode. If you run a audio system mixer it may be necessary to shut it off before starting x64.

Sample key-binding for x64
Vice let's you configure the num-keypad as Joystick 1. Also needed F1 to start bdash before I could play.
keycode 104 = KP_0
keycode 128 = F1
keycode 113 = KP_8
keycode 114 = KP_2
keycode 116 = KP_4
keycode 111 = KP_6

Sample shell-script to start x64
Vice has menu selections for darn near everything. But the menu system is pretty clobbered on the small screen, so I appreciate the complete support of command-linu arguments that Vice offers. The kernal, basic, chargen, palette, and symkeymap are all shipped with the Vice distribution . Also, setting the joystick 1 device to be the num-keypad, and the autostart option loads the given image and gives the c64 the necessary commands to run it.

./src/x64 -sound -kernal ./data/C64/kernal -basic ./data/C64/basic -chargen ./data/C64/chargen -palette ./data/C64/c64s.vpl -symkeymap ./data/C64/default.vkm -autostart /usr/local/games/lib/xmess/c64/BOULDER1.T64 -joydev1 1

Please go to the Vice homepage and download the source tarball. You will want the docs and other data files that they pack into their distribution.

How to Vice your iPAQ
All I did to it was to modify these two display settings for PAL mode (so leave it in PAL mode!) in the file viciitypes.h:
#define VIC_II_PAL_FIRST_DISPLAYED_LINE 0x33 // 0x10
#define VIC_II_PAL_LAST_DISPLAYED_LINE 0xfb // 0x11f

Compiling it was sort of a chore: had to run the build over NFS with all extra process shut off including X, usually I just build everything on the handheld from the MicroDrive but that wasn't going to work for Vice. A few files are very compiler intensive and had to be compiled with no optimization. Nonetheless, this Vice will run some programs at full speed (sometimes drops display frames) and the audio emulation of SID chip sound very good.

Download: Vice-x64 1.6 for Arm

GTK Applications

(Comments regarding GTK on iPAQ are probably irrelevant by now)
GTK 1.2.8 compiles "out of the box" under arm-gcc. However, in order to have an appropriately sized GTK File Select Widget, try the GTK distro compiled for arm and posted on the ftp server. I looked off of the Squashed GTK Project source to get the adjustments necessary to fix up the huge GTK file-selector widget. "Squashed GTK" has many of the UI elements, including the File Selector Widget, downsized appropriately for a small display.

text editor
Based on source-code from Developing Linux Applications With GTK+ And GDK by Eric Harlow, here is a semi-useful text-editor app. I have made adjustments to the main window size, modified text-widget to force a smaller font, and made the app to load a named-file from command line at startup (useful for launching from file manager program such as emelfm). Is there a non-wrapping text-editor widget for GTK? WARNING: won't prompt to save to a file at exit, so don't forget to save your work!
simple notepad
Download: Notepad App for arm
Download: Notepad source

Update: this is irrelevant, Dillo is now provided with the Familiar Project.
dillo is a web browser built on GTK. A nice feature is that the menu bars tear off to make more viewing space for the document. The only thing I changed in the source is to adjust the font size in dw_page.c and to adjust the main windows size in prefs.h
Note: make sure ~/.dillo is writeable.
dillo browser
Download: dillo browser for arm
Download: source patch of modification for handheld use

emelfm is a file manager using Gtk that features drag-n-drop, dual-pane or single-pane operation, a mini-command-console-command display, user customizable command menu and buttons, and way too much other cool stuff. This is pretty much fully usable, but a few adjustments had to made to the UI.
The "right-click" menu has been made to activate on whatever key is mapped to Left-Ctrl. The drag-n-drop feature is initiated by first selecting a file item with a single click (stylus up, then stylus down), then stylus down again to start the drag. The drag target still responds with the popup menu "Copy/Move/SymLink". Please be sure to practice drag-n-drop on a scrap file to be sure you are comfortable with the interface. It's a little tricky at first but had to be changed, because the stock version makes you drag with the middle mouse-button, which won't work too well on a touchscreen. This is where tap-n-hold would be nice.
The file-list display widgets have been changed to only allow single item selections. If another key/modifier/action were used to activate the "right-click" menu instead of Left-Ctrl, then perhaps Ctl and Shift could be for doing selections, and maybe multiple selections could be used with the drag-n-drop.
NOTE: Works best best if xmodmap is used to configure the keypad as the pc-keyboard arrow keys; some arrow buttons had to be removed from the config dialog to get things to fit! Also is very useful to map Left-Control, Esc, Tab, and Return to the iPAQ hardware buttons.
Note: make sure ~/.emelfm is writeable.
A "tap-n-hold" is really needed to simulate the right-button mouse-click.
emelfm file manager
Download: emelfm file manager for arm
Download: source patch of modification to 0.9.2


Port of xpenguins. Useless but fun. No patches necessary.
Download: xpenguins for arm


USE AT YOUR OWN RISK!!!!!!!! I will NOT be held responsible for ANY damage to your equipment! However, I have used this thing intermittently over past few months with no trouble. Basically, it just uses LM317 adjustable voltage regulator to provide 5V to ipaq. LM317 is spec'd up to 1.5A (iPAQ power supplies are actually rated at 2A) and readily available at Radio Shack. You use the standard (fused!!) vehicle cigarette/accessory connector, and 4.0x1.7mm DC coax style power plug. I didn't check to see what the iPAQ actually draws, but I blew a 1A fuse, and the 1.5 remains alive and well. You MUST mount a heat sink on the TO220 case of the LM317. It will get VERY hot. Don't touch it. Don't let your kid touch it. I am talking 3rd degree burns here. BEWARE!!!!!!
The iPAQ has a sophisticated charge management circuit. When it is done charging, it will cease to draw current through the regulator and the heat sink will cool. The resistor values are calculated from the formula given on the LM317 package. That is, Vout=1.25V(1+R2/R1).
Using R2=470, R1=150, you get 5.17 volts.
I didn't even bother with the caps, but the audio output is affected when playing MP3 while charging. It is a pretty crummy little device, but have you seen how much the iPAQ car chargers cost? Connect the components in whatever way makes you happy, I made a crummy little PCB to put mine on, rudimentary schematic and board layout is here.
I recommend the Sound Feeder Mobile Audio Connector for connecting iPAQ to vehicle sound system (it is one of those little FM transmitter thingies). It gives decent sound quality and only costs about $20. Plus, it provides a variable voltage supply for portable CD, tape player, etc. with inter-changeable coax DC power connectors (i.e. polarity changeable too). However, it can't source 1.5A for an iPAQ!

Misc. iPAQ resources

viewML adaptation
icewm adaptation and others
Search mail archive
1 1