The Contest
A year ago today someone came up with the bright idea to have an internal contest to see who could come up with a Delphi language cross-compiler and a minimal VCL port to the weirdest platform. About 6 months ago Steve Trefethen sent me an email with a link to one of his development machines, up popped one of those JavaScript C64 emulator’s, and about 30 seconds later, a very crude looking classic Delphi "Fishfact" demo with little rectangles for nav buttons was running in the Commodore 64 emulator, I clicked the "next" rectangle….."Angel Fish"! it actually worked! Since the graphics in original Fishfact were already 16 colors, it actually didn’t look that bad. It turned out that Allen and Steve had been leveraging a 6502 compiler port that Adam and Tagawa had been toying around with. About a week later Allen and MarkE had the VCL ported to Apple ProDOS and had Fishfact working on an Apple II emulator - the Fish were 4 color and looked horrible, but it worked! The next day I brought in my original Apple II Plus out of storage. We had an extremely tough time getting it to boot up, but after an afternoon of tinkering with my 22yr old 48k monochrome dual drive beauty we got it working on actual hardware (turned out to be a bad 80 column card - thanks Anders!). The whole team was both blown away and amused to see Fishfact running in glorious shade’s of green on the old beige box. After that everyone wanted to get into the act. A few weeks later Seppy and Jim demoed a modified version of Steve’s C64 port running on a Vic-20 emulator, they had to cut the Fishfact database down to 2 records, but it ran. ChrisH and MarkD teamed up to show off a TRS80 version, running on a Trash 80 and 13" mechanical tuner color TV with a coat hanger antennae that Chris picked up at a garage sale. Each time someone came up with a new working port we all gathered around and had a little beer and pizza bash to celebrate, but it started feeling routine after the 3rd 6502 version.
Then Dan, ChrisB, DaveL, and Jim did something a little different, they resurrected the source from the unfinished Turbo Pascal ARM compiler source code from 1993. After about a month they had a working Delphi ARM compiler for the Apple Newton. They didn’t bother trying to port any of VCL to the Newton; instead they just got the Newton SDK working with their Delphi Newton compiler and rebuilt Fishfact from scratch. Technically they didn’t follow the rules of the contest, but they did get a Delphi language app compiled and working on the Apple Newton PDA, with handwriting recognition! That was absolutely the weirdest at that point. Then in December Dawn showed up one day with a Sony PS2. I thought "this is gonna be good". She had ported the Kylix compiler to MIPS R5900 and with Alastair, Bruneau, Darren and some guys in the Kylix community they also got CLX running on the Linux for PS2 port. Very clever, fishfact worked and you could navigate with the game controller! The controller even rumbled when you reached the last record!!
We pretty much thought the contest was over, then Davidi sent out an email in early February of this year with the subject "I win"… nothing else. With great interest a bunch of us walked down to David’s office to follow up on the mysterious email. If you’ve ever been in David’s office you can’t miss the IMSAI 8080 sitting in the corner. David had moved the IMSAI out to the center of the room, and next to it JohnK was running a simple Delphi app on David’s laptop that counted up prime numbers. (someone thought it would be cute and said in a mock synthesized computer voice “do you want to play a game?”) John cross-compiled it with David’s 8080 Delphi compiler, then David loaded it into the Fischer-Freitas IMSAI mini drive he bought just for this contest (David even showed us the receipt dated November 2005! previously David only programmed the IMSAI with the front panel address switches), he flipped a few red and blue switches, and then little red lights started flashing. First 1 light, then two, then a different two, then three lights, and so on…. Sweet! It was counting up primes in binary! David was a clear shoe in to win now. But DaveW said "don’t give David the trophy just yet".
DaveW had been working on something the whole year, but wouldn’t tell anyone what it was. So last week, Dave finally shows up to the Borland campus with something huge and bulky covered up with canvas in the back of his truck. He pulls off the canvas and it’s his Stern Simpson’s Party Pinball machine. Dave and I are the resident Pinball machine collectors at Borland, and I was pretty surprised that he’d use his Simpson’s Pin for this - it’s one of the best pinball machines ever made and it’s pretty expensive. We dollied the pinball machine up to the 3rd floor. Found a nice central location to plug it in. Dave setup his laptop running his special Delphi Stern MPU compiler and an EPROM burner, shows us the Delphi source, then generated a very cut down "no-VCL" version of Fishfact, burned it to the EPROM, swapped EPROM’s on the Pin’s MPU, turned it on and sure enough, the Delphi Fish Fact app was running on the pinball machine’s dot matrix LED panel. Hit the right flipper and…. "Angel Fish"!
So after an exciting year the big contest is now over. Some of the most interesting entries didn’t actually port a VCL, so we’re removing that requirement from the contest. I have my idea who the winner is, but feel free to let us know your pick.
Happy April 1st!
Michael
Update 4/3/2006: A lightning strike Saturday night April 1st at 11:59pm wiped out all of the contest results, source code, and digital photos. Fortunately Dave stored the original EPROM under a tinfoil pyramid and it was saved from the lightning strike so we can still enjoy Pinball. We’ll also use the 13" garage sale TV for our new XBox 360 - if we can find an HD1080i to RF-Modulator. Happy to report that Davidi’s IMSAI is fine but it keeps trying to dial out to NORAD. Till next year, happy April Fools.
Share This | Email this page to a friend
Posted by Michael Swindell on April 1st, 2006 under Uncategorized |Server Response from: blog1.codegear.com

RSS Feed
April 1st, 2006 at 3:58 pm
If you can do crosscompiling to so many obscure platforms, then why not officially do crosscompiling to more mainstrain (but non windows) platforms?
These proofs of concept make it clear that it isn’t such a crazy plan.
BTW my vote is for Stern Simpson’s Party Pinball machine.
April 1st, 2006 at 5:40 pm
Pictures please!!!!!!!!!, that is a hard vote, but I would have to say Pinball.
Personally I’d like to see the Dephi language ported to and doing as many things as possible.
PS3 + Linux + Delphi/Kylix = SWEET!
April 1st, 2006 at 6:47 pm
OK, you got two of us.
April 2nd, 2006 at 12:06 pm
delphi …. loving it
please picture ….
April 3rd, 2006 at 4:23 am
IMSAI at my high school had metal switch buttons, brown from dirt from kid’s hands. Entering console boot sequence with this user friendly plastic color switches must be called a cheating, I suppose.
April 3rd, 2006 at 7:57 am
> IMSAI at my high school had metal switch buttons, brown from dirt from kid’s hands. Entering console boot sequence with this user friendly plastic color switches must be called a cheating, I suppose.
You might be talking about the Altair computer, it had metal switches. The Imsai computer came with Red and Blue plastic paddle switches on the front panel. I know, I have one of the early IMSAI computers 4 feet away from where I sit in my office in Scotts Valley.
April 3rd, 2006 at 9:00 am
This is so cool! Pictures would be great
April 3rd, 2006 at 12:40 pm
really awsome!
can we please, have pictures of these?
I’d always dreamed about cross-compiling delphi in everything possible, even an Atari 2600 or a PlayStation as somebody did.
But nowadays, I think the ARM croscompiler is my biggest dream, think about seeing Delphi APPs running on Nokia Cell phones, PDA’s, even the new HP 49G+ calculator runs with the ARM Processor. Not to say some other odd things like air-conditioners, refrigerators, even some microwave ovens have arm processors… would be a very nice thing to do.
congrats!
April 3rd, 2006 at 4:46 pm
Sadly that really did sound like something you all would do. See what your joke started Michael. We want our PS3 and XBos 360 Delphi compilers!
April 3rd, 2006 at 5:31 pm
Lol… i tried to be as ridiculous as I could and to be overly obvious with the April 1 clues. I thought Delphi for Pinball Machines was pretty "out there" - Just goes to show how much everyone want’s Delphi everywhere
April 3rd, 2006 at 6:10 pm
Funny.
Less funny is how a simple VCL based hello world crossed the 200k barrier a few delphi compiler versions ago…
April 3rd, 2006 at 10:35 pm
For ARM architecture use FreePascal (only crosscompile), for MacOS, gameboy or many other platforms too.
April 28th, 2006 at 7:12 am
A friend of mine actually designed and programmed games for the XBox and I asked him if it was possible to compile a Delphi program to run on an XBox. I’ll see if I can find his response in my email archives.
April 28th, 2006 at 1:16 pm
You had me fooled until the seventh line. I used to program the commodore 64, and I remember it well. It had a 320 by 200 screen, with 16 colors, but at 320 by 200, only TWO colors were possible per "character cell" (each character cell is 8 pixels by 8 pixels). So at 320 by 200 resolution, it is possible to show black on white, or blue on white, in a particular cell, but not red, black, and white, for instance, in the same 8×8 cell. At 160×200 resolution (half the horizontal resolution), the color depth doubles, giving you a working palette of 4 colors per cell, out of a total 16 fixed hardware colors. One of those colors is a background color, which is set separately. So, with weird graphics modes like that, even a 16 color IBM CGA/EGA display adaptor era bitmap (like your fishfacts) would not be displayable on a Commodore 64, since it is not capable of even a 16 color bitmap, in the CGA/EGA sense.
But other that that, the rest of the article seems perfectly plausible. I love it.
Warren
April 29th, 2006 at 8:05 am
submit
May 2nd, 2006 at 3:18 am
FreePascal - http://www.freepascal.org has just released an initial version of their Win64 compiler. At the moment it’s definately more portable than Delphi.