Back in 1988 I was working for Media Cybernetics in Silver Spring, Maryland, walking distance to Washington, DC. Some software archaeologists may remember Dr HALO, which was a really cool graphics program based on the HALO graphics library. HALO was their cash cow and I was then their principal engineer and manager of the HALO group. I came to a trade show in San Jose on their behalf in 1988 on my first ever trip to California. An east coast expatriate then living in San Carlos took me in his 1964 MGB on a hair-raising ride on Tunitas Creek Road, up the coast highway through Half Moon Bay and on to Gray Whale Cove State Beach. We stopped for the obligatory photo shoot that so many tourists still do till this day. I was a hard core East Coast type then but this was soon to change. I took one look at the endless sky overlooking Gray Whale Cove and I was hooked. Within a year I had taken a job with Software Publishing Corporation in Mountain View, California. So I packed up my two daughters and then wife into the family Volvo and drove cross country from Silver Spring, Maryland to California in five days. Just in time for the Loma Prieta earthquake of 1989.
Texas Instruments came to Media Cybernetics as a then market leader with their latest bleeding edge graphics chip, the TMS34010. The 34010 was a true 32-bit processor with thirty-two 32-bit registers, bit addressability (and variable field width!), and a few graphics instructions. It sat in its own address space on an ISA card, where it communicated with the outside world through memory mapped registers. It was basically an embedded device that ran in true parallel with the host processor. Our development board had no BIOS, no OS, only the 34010 and its own address space. Only the open steppe. So management in its infinite wisdom agreed to port the HALO 2D graphics library in time for the upcoming trade show in San Jose, a ridiculously short 6 weeks away. I didn't step back fast enough when they asked for volunteers, so I "volunteered" for the work. Between myself and another guy on my HALO team we managed to port the entire HALO graphics kernel from 8086 assembler to 34010 assembler.(As a principal engineer and manager I rated a screaming 10 Mhz 286 with a full 640 KB, he had only a 6 Mhz 286 with 512 KB of memory.) I designed a way to download and bootstrap the HALO 34010 kernel onto the 34010 device, using only a simulator and a serial port built into the 34010 device. We had no hardware assistance for debugging. A truly Herculean achievement. You could do a warm reboot and the 34010 device would still be running, merrily drawing graphics from a vector list on its own display. Way cool. And this was way back in prehistory, in 1988. Truly revolutionary. Try doing that with a dual-core x64, dual-graphics card computer.
The HALO graphics library was then start of the art, in the pre-Windows era. (All basically Windows would do then was basically start up, say "Insufficient Memory", and exit.) HALO supported every imaginable graphics card on the market (even resolutions up to 2048 x 1762 x 8 on a monitor so large we needed to call the power company before we started it up!:)), 14 or so different language bindings including Turbo Pascal, Modula 2 and Ada, scanners, printers, and real time 24-bit video capture. The principal market for HALO was the numerous CAD software companies then in existence. The HALO API provided for true device independence for those who followed the rules. We even had a graphics card that was only addressable from protected mode. This was the era of the 286 (the 386 was still a glimmer in Intel's eye), and there was no easy way to switch back to real mode from protected mode. So we had devised a way to switch into protected mode for every frame buffer access, and then switch silently back to real mode. No mean feat, because switching back to real mode meant doing a soft reset.
I am an independent contractor with an extensive background in system level software development and an expert knowledge in 2D graphics. I have been operating since 1991 as a sole proprietorship. I also have an extensive background on embedded devices providing innovative and unorthodox solutions to low level system issues. I have been helping developers for years to get the operating system to do the things they want it to do, and to fix the things that it should do.Resume Email Home