Linux is fully usable. I'm currently running mutt/uemacs on it. Keyboard works. I still do not know how to handle LEDs and powersave serial ports, but basic functionality is there. My kernel is here, configured for 4bpp velo 1 with 4MB main and 8MB expanded memory. I'm using 4M ramdisk with telnetd, ftpd, busybox, uemacs, mutt and few other tools. It is able to mount bigger disk using nfs/tcp. Use this bootloader.
To boot, you need: configure kernel for Philips Velo 1; configure serial console tell pbsdboot1.exe it is sharp mobilon, and that it should enable serial (critical) make sure ce2.0 have lots of ram available.
Velo 1 support is merged into linux-vr cvs, get it from there if you are interesed in sources.
Don't dream about completely replacing winCE with linux. It will not work -- current version heavily depends on fact that winCE initialized hardware for us. We do not have enough knowledge to init hardware ourselves.
D. J. Rausch written very good description how to make it work. Thanx.
Current sources of bootloader - get pbsdboot1.uu (make sure you are getting file, not web page) and uudecode it. Use resulting pbsdboot1.exe to boot your velo. Then there's unofficial velo 1 homepage, but it is not too interesting as it talks about windows. Stefan has pictores of velo 500 opened, and velo 1 is probably very similar. Usefull list of handhelds with their technical info (with inaccurate info about velo 1 :-) and links to documentation. Then there's relevant part of BSD sources.
Velo 500 seems to have pr31700ABC, C9818 and UCB1200 chips. Velo 1 probably has pr31500, UCB1100, and they are compatible.
Redhat for mips can be get here, cross-compiler should be here. Manual for drawing horses can be found here.
I tried to measure power consuption of velo 1. I did not have good enough miliapermeter, so I used piece of wire in paralel to get at least relative readings. Later, thanx to erik, I got miliampermeter and tried to convert measurements. They are not what you'd call precise (I had to use 20A range).
System turned off 2.6mA Idle system with screen on 100mA .. 140mA (depending on display contrast) idle linux, no screen, no serial 40mA (currently impossible, I do not know how to turn serial off) idle linux, no screen, serial on, clocks down 20mA (this is possible!) backlight 80mA screen 46mA (depends heavily on display contrast) serial ports 75mA touchscreen 149mA ne2k in magnavox box so much that system will not work from bateries when CPU is in use 190mA (?) [in other test, it looked like it takes 1500mA. Yes, amper and half] CPU crunching 110mA .. 290mA CPU crunching with sound 310mA sound record 258mA sound playback 97mA 1bA = 16mA
Power consumption of ucb1200, touch-screen only: 16mA Power consumption of ucb1200, everythign: 24mA Power consumption of ucb1200 powered off: 100uA
I guessed few MFIO lines: MFIOOutput: 0xf69d0fbc (serial closed) MFIOOutput: 0x769c0fbc (ppp connected) MFIOOutput: 0xf6980fbc (serial opened) MFIOOutput: 0xf69c0fbc (serial opened, backlight) MFIOOutput: 0xf49c0fbc (serial opened, no backlight) MFIOOutput: 0xf6980f8c (serial opened, backlight, irda attempted) MFIOOutput: 0xf6980fb8 (serial opened, backlight, ne2k inserted) MFIODirection: 0xb61f0fb4 these MFIO pins are outputs... MFIO: 0 0x00000001 input 0x00000002 input: any key -- when any key goes down this is generated 0x00000004 reset of motorola chip? leds blink _very_ shortly on this pin going up. 0x00000008 input 4 0x00000010 irda? 0x00000020 irda? 0x00000040 input: spacebar or down arrow 0x00000080 nothing visible 8 0x00000100 nothing visible 0x00000200 nothing (?) 0x00000400 nothing visible 0x00000800 nothing visible 12 1000 input: mic button 2000 input: changes when dtr from host changes; or not? or changes after lot of time? 4000 input: changes sometimes, too. e000 input 16 10000 linux dead (crashed in cli?) -- if serial enabled. Else it toggles "offline/online in minicom" (only if serial was not turned off); 1 == minicom says "offline". Ouch, this might well be power to serial ports. It does 8mA difference. That's not enough for serial power. 20000 power for display. 1 == display turned off 40000 nothing visible (serial! -- power to serial?) 80000 nothing visible 20 100000 nothing visible 24 0x01e00000 input 2000000 backlight 4000000 display goes crazy, toggling it back does not help. (Reset from betty?) 8000000 input 28 0x10000000 nothing visible, power consumption up 46mA 0x20000000 nothing visible 0x40000000 input: serial: depends on pin "RTS" on host 0x80000000 serial: plays with pin "CTS" on host 0x80050000 <-- lines affected by serial IO pin 0x08 is output, but does nothing visible.
2000-5-26 Bought philips velo 1 for 8900Kc.
2000-6-1 Not backing up machine for long time makes linux boot (and destroy nicely-setup ce2). [I actually tried to backup, but windoze took a doze and fallen into suspend, interrupting session that took hour or so] It just booted, up-to Kernel panic: I have no root and I want to scream later that day I got minimal rom image, and started playing. I got my first oops before velo could give me shell. And now I know why: it thinks it has 16Meg of ram.
2000-6-5 I can see only 4meg of ram, but it is okay since I now have small-enough ramdisk First picture on LCD: 4 penguins are much better than no penguin at all.
2000-6-8 pbsdboot1 on ce1.0 dies with ...performed an illegal operation and will be shut down. Exception 0xc0000005 Address: 0 ce2.0 linux behaves much nicely if I tell him remote side is 192.168.55.100
2000-6-15 oops, you press character on serial and machine is dead :-(.
2000-6-16 tpanel needs entry like this: crw-r--r-- 1 0 0 10, 12 Jan 1 00:08 /dev/tp
2000-6-19 I got slip working (with some kernel hacks)! Ouch, I've actually made nfs mount over 9600 line with no flow control! It is not too fast :(. Tcpspray says 0.256KB/sec.
2000-6-20 Tried new version with 115200 but still no flow control. Its much better: Tcpspray says 2.4KB/sec. With 115200 and interrupts enabled while transmitting. Looks _much_ better: 10KB/sec, according to tcpspray. I still can not mount nfs using UDP, but tcp works well.
2000-6-28 I got rom dump, interesting part (keybddr.dll) and my attempt to dissassembly is here.
2000-6-30 MFIO bit 0x02000000 is backlight, and keyboard is on SPI I got keyboard to work! After noticing that in SPI register scancode of last key is left from windows, it was not that hard. (I thought that windows would leave keyboard in working state. They did not: they "powersaved" it, which made my guessing much harder.)
2000-7-6 keyboard now locks only sometimes :-). I have uemacs working on velo, and hopefully will upload romimage tommorow.
2000-7-7 I compiled mutt and sendmail, but they are pretty big (0.7MB and 0.5MB). Machine stayed up running linux with serial ports on for 5 hours.
2000-7-10 I got mutt+ftpd working on toy. Not much space left on ramdisk :-(. Velo seems to be slow at transmits: toshiba to velo 9.6KB/sec velo to toshiba 2.3KB/sec
2000-7-13 After freeing initial ramdisk, I have 1 Meg of space to play with. That make machine actually usefull for reading mail.
2000-8-28 I was able to make pcmcia ne2k work. it gives 34KB/sec in polling mode. Hmm, as a side note, windows can do 2KB/sec max over 10Mbit ethernet. Funny, eh?
2000-8-31 After some fixes, ne2k gives 450KB/sec in polling mode. I boot nfsroot. hmm, it seems that velo is now slow on both serial transmit and receive :-(.
2000-9-2 after fresh boot, intstatus1 = c0000080, int2 = 0, int3 = 0, int4 = 2, int5 = 20040204 after pcmcia removal, intstatus4 = 0? Or was it power key? 2000-9-6 after pcmcia ain use, intstatus1 = c00000a0, int2 = 0, int3 =0, int4 = 2, int5 = e0c42034 MFIOInput is 3ffc3fbf after pcmcia was used, originally it was 3ffc5fbf. 2000-9-16 I can use pcmcia ide card, however in polling mode only, which gives *very* bad performance. 40K/second? MFIOInput is bff83fbd, originaly fff87fbf orig: 3ffc5fbf after: 3ffc3fbf 6000 <- diff orig: fff87fbf after: bff83fbd 4 4002 <- diff 2000-9-27 PCMCIA ide now does slighlty more than 20K/second. Not good. 2001-1-6 Removing bottom steel from velo dock makes it slightly lighter. (It is glued, but it can be easily removed) nokia 2110 - small battery pack 100g nokia 2110 - big pack 160g nokia 2110 120g velo 1 (incl. batteries) 430g velo 1 batteries (>1.6Wh) 50g velo 1 dock (without steel) 250g steel from velo 1 dock 180g computer-to-nokia cable 20g toshiba satellite 4030cdt (inc. batt.) 3000g toshiba battery pack (40Wh) 420g toshiba power supply 570g velo power supply 70g magnavox ~100g? 2001-3-2 PCMCIA ide now works fairly well, with 4mF condensator I'm able to boot with even pretty low battery. Speed of PCMCIA ide is "enough".