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.
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
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
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.
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
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.
(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 handhelds.org ftp server. I looked off of the
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.
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
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.
emelfm 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
Note: make sure ~/.emelfm is writeable.
A "tap-n-hold" is really needed to simulate the right-button
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,
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!