The Contest

Posted by on in Blogs

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.

 



Comments

  • Guest
    David Dean Saturday, 1 April 2006

    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.

  • Guest
    J Doll Saturday, 1 April 2006

    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!

  • Guest
    David Dean Saturday, 1 April 2006

    OK, you got two of us. 8-)

  • Guest
    Ivan Revelli - Ivan Revelli Sunday, 2 April 2006

    delphi .... loving it

    please picture ....

  • Guest
    Hrvoje Brozovic Sunday, 2 April 2006

    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.



  • Guest
    David Intersimone Monday, 3 April 2006

    > 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.

  • Guest
    Sean Sang Monday, 3 April 2006

    This is so cool! Pictures would be great

  • Guest
    Thiago Vidal Monday, 3 April 2006

    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!

  • Guest
    J Doll Monday, 3 April 2006

    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!

  • Guest
    Michael Swindell Monday, 3 April 2006

    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 :)

  • Guest
    C Johnson Monday, 3 April 2006

    Funny.



    Less funny is how a simple VCL based hello world crossed the 200k barrier a few delphi compiler versions ago...

  • Guest
    xSpiky Monday, 3 April 2006

    For ARM architecture use FreePascal (only crosscompile), for MacOS, gameboy or many other platforms too.

  • Guest
    Eddie Shipman Friday, 28 April 2006

    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.

  • Guest
    Warren+A Postma Friday, 28 April 2006

    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 8x8 cell. At 160x200 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

  • Guest
    farshid Saturday, 29 April 2006

    submit

  • Guest
    Dominique Louis Monday, 1 May 2006

    FreePascal - http://www.freepascal.org">http://www.freepascal.org has just released an initial version of their Win64 compiler. At the moment it's definately more portable than Delphi.

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: