Sunday, March 06, 2005

Good Ole Days

This is all leading up to why we chose Windows CE. It's taken me longer than I thought I would, and I think I should (quickly) explain our previous and current systems before I discuss our Big Decision.

No engineering company is complete without the folklore of its past, and ours is no exception. We began with the first controller, as most companies do. It practically used vacuum tubes and mechanical relays to accomplish the ridiculously easy task of checking the glue level and sounding an alarm if it got too low. That grew into controllers that were dedicated to looking for some particular pattern of events. They were hardware-only. We even sent our customers manuals with instructions for how to set a row of 8 DIP switches to represent binary distances! We quickly left that behind in favor of the enormous, 8-bit power of the Boss Bear, which featured a 2-line, 40-character display.

Unfortunately, the Boss Bear BASIC programs were limited to 32K, which meant that as the program matured we had to strip out features to include others. Sometimes 3 or 4 lines of code were crammed into a single line of text to save space. Variables names were shortened to the minimum, comments were left completely out. That suited George just fine, who would rather not comment anything anyway. George was and is the longest-tenured programmer here. He has a slight build, wears his hair long, and works part time. He lives away from the office but commutes in once or twice a month. He's quirky to work with and at the same time he's one of the most likeable guys in the world. In some ways, he reminds me a lot of Mel; the guy could probably write a compiler in 8 lines of code using only pointer arithmetic, preprocessor directives and macro expansion. Uncommented, of course. One day I'll have to write about George, but that's a post for another day.

Well, the world of Boss Bears came and went, and we pushed into the age of embedded boards running on Intel chips with our next system. It was written in a mixture of C/C++ and ran on a 486 DX2/66 on the STD bus. It used a 10.4" EL display and had a full keypad and dedicated buttons on the front. It was a marvel of its day. The display used to burn in within weeks, but that was a small price to pay compared to the potential of this 486 powerhouse!

The program ran on MS-DOS 5, which was overclocked to give us a 50┬Ásec polling loop. It used the Zinc Framework. If you've never heard of Zinc you're not alone. In fact, the nine of us who have heard of Zinc are the oddballs. Zinc employed a write-once, compile-for-anything idea. It wasn't actually "anything," but they started with compile keys for 31/2 major OSes: DOS, Windows, Unix and OS/2. Zinc was too far ahead of its time. If the tides of history had flowed a little differently, it might have been what Java is today. Unfortunately, the company fell on hard times and was bought by WindRiver. But WindRiver couldn't figure out what to do with it and later sold it to PSA, a group of former Zinc consultants.

Eventually, though, our customers demanded more and more powerful machines, so the next version was born. We stuck with the STD bus but upgraded the processor to a Pentium, sans bunny people and blue people, which ran as hot as that SBC form factor would allow. The display was upped to a 12" TFT running at 640x480 but the effective area stayed the same. The right side and bottom were covered with a two-column keypad for data entry and a button strip for commonly-used functions.

Astute readers have probably noticed a pattern emerging from generation to generation. In each new system, software grew more powerful and took over what had been dedicated hardware before. Previously, for example, for an important toggle button we had a physical pushbutton that was mounted into the face of the controller, and wired into I/O. Now it was done with a screen overlay.

And the next controller, the Oswald Project, called for zero hardware buttons. Instead, a single 15" display running at 1024x768x16bpp would take care of all controller functions. But we had a problem: Zinc couldn't drive anything higher than 640x480 without a new graphics library. And that library didn't work on the version of Zinc that we had. And the license for the version of Zinc that we had was expired.

The time was ripe to pick a new development system and toolchain. Up next: our choice of OS (for real this time).


At 3/07/2005 10:04 AM, Blogger AIM48 said...

Wonderfull, Great writing

At 3/07/2005 2:17 PM, Blogger The Moth said...

I am glad Mike got you blogging about this. You seem to have a great story-telling ability. Subscribed!

At 3/07/2005 4:24 PM, Blogger Stacey said... glad you clarified, I always wondered why you choose Windows CE!

At 3/07/2005 10:57 PM, Anonymous the gnat said...

Quite a leap to move to Windows CE. Can't wait to see what lies ahead.

At 7/12/2006 7:07 AM, Anonymous Anonymous said...

Keep up the good work
» » »

At 2/06/2007 7:31 PM, Anonymous Anonymous said...

This is very interesting site... Certified pharmacy assistant Dodge caravan fault codes 1996 Side effect of buspirone Cologne river cruises effexor xr for hotflashes expect getting off of effexor Wellbutrin and thyroid function Hamiltons eczema cream Acura tl + aftermarket princess seat cover area discount karastan rug Buy diazepam with no prescription Volkswagen passat diesel

At 3/17/2007 12:12 AM, Anonymous Anonymous said...

Enjoyed a lot! film editing schools

At 4/26/2007 1:53 AM, Anonymous Anonymous said...

Where did you find it? Interesting read Offline slot machine downloads Didrex buy line quot gt Mature girl cum Magnetic business card case Arizona property tax rate Car insurance agency utah Electric wheelchair scooters honda motorcycles Fabiano marco car prints Threesomes cock


Post a Comment

<< Home