dip POCKET pc

Datasheet legend
Ab/c: Fractions calculation
AC: Alternating current
BaseN: Number base calculations
Card: Magnetic card storage
Cmem: Continuous memory
Cond: Conditional execution
Const: Scientific constants
Cplx: Complex number arithmetic
DC: Direct current
Eqlib: Equation library
Exp: Exponential/logarithmic functions
Fin: Financial functions
Grph: Graphing capability
Hyp: Hyperbolic functions
Ind: Indirect addressing
Intg: Numerical integration
Jump: Unconditional jump (GOTO)
Lbl: Program labels
LCD: Liquid Crystal Display
LED: Light-Emitting Diode
Li-ion: Lithium-ion rechargeable battery
Lreg: Linear regression (2-variable statistics)
mA: Milliamperes of current
Mtrx: Matrix support
NiCd: Nickel-Cadmium rechargeable battery
NiMH: Nickel-metal-hydrite rechargeable battery
Prnt: Printer
RTC: Real-time clock
Sdev: Standard deviation (1-variable statistics)
Solv: Equation solver
Subr: Subroutine call capability
Symb: Symbolic computing
Tape: Magnetic tape storage
Trig: Trigonometric functions
Units: Unit conversions
VAC: Volts AC
VDC: Volts DC
Years of production:   Display type: Graphical display  
New price:   Display color: Blue  
    Display technology: Liquid crystal display 
Size: 4"×8"×1" Display size: 240×64 pixels
Weight: 18 oz    
    Entry method: Spreadsheet calculation 
Batteries: 3×"AA" alkaline Advanced functions: Trig Exp Hyp Lreg Grph Cmem RTC Snd Mtrx 
External power: 6VDC 300mA   Memory functions: +/- 
I/O: Portfolio bus, memory cards     
    Programming model: Spreadsheet data 
Precision: 13 digits Program functions: Jump Cond Subr Ind  
Memories: 128(0) kilobytes Program display: Text display  
Program memory: 128 kilobytes Program editing: Text editor  
Chipset: Intel   Forensic result:  

dip.jpg (72679 bytes)On another page, I described the Atari Portfolio as the world's first pocket-size IBM compatible computer. In a sense, this is true; but Atari was not the company that developed this machine. That proud claim goes to a little-known British company, Distributed Information Processing of Guildford, UK, whose POCKET pc became the Portfolio after Atari purchased the product from them.

I do not know if the machine was ever sold in stores under the dip brand name. I have my doubts; after all, even though it carries the dip label, the machine's keyboard already features an Atari logo key. Then again, the machine has a genuine serial number, and the appearance of a finished product, so...

My fondness for this little machine has not diminished. Although the built-in applications are a little Spartan, and the internal memory is a meager 128 kilobytes, it already foreshadowed the era of the handheld or pocket "companion PC" that has enough features to let you perform simple tasks on the road, and transfer the results to your desktop computer later.

My biggest lament is that like its distant Windows CE cousins, the POCKET pc is not really programmable. Oh, you can write plenty of applications for it using external tools (like your 16-bit C compiler on your desktop PC) but there are no built-in programming tools. No BASIC interpreter. Not even a lousy copy of that standard MS-DOS tool, DEBUG.COM.

Except... well, the built-in spreadsheet application does offer some "programmability" after all. Because it has a conditional function (@IF) and a loop sum function (@SUM), complex algorithms can be implemented using a properly consturcted spreadsheet.

To demonstrate this, I decided to try and implement Gamma function using the POCKET pc's spreadsheet application. More specifically, I am using the Lanczos approximation to compute the natural logarithm of the Gamma function to an accuracy of approx. 12 digits. A conditional expression allows me to compute the Gamma function for negative values:

  A B C D


@IF(A1>0,C1,@LN(@PI/D1/@SIN(@PI*A1))-C1) +D3+(D1-0.5)*@LN(D4)-D4 @ABS(A1)
2 1 2.5066282756348 +A2*B2 5.15
3 1/D1 225.52558461918 +A3*B3 @LN(@SUM(C2..C7))
4 1/(D1+1) -268.2959738413 +A4*B4 +D1+D2-0.5
5 1/(D1+2) 80.903080693462 +A5*B5  
6 1/(D1+3) -5.0075786397052 +A6*B6 @EXP(B1)
7 1/(D1+4) 0.01146848954348 +A7*B7