Date : Thu, 26 Aug 2010 00:54:18 +0200
From : anders.carlsson@... (Anders Carlsson)
Subject: BBC Micros used in retro programming class
Mark McDougall wrote:
> I've had a few funny experiences with
> non-programmers trying to "dip their toes in the water".
Do any of you hang around in Commodore circles as well as the Beeb?
If you do and if you followed the comp.*.cbm newsgroups a couple of
years ago, you may have heard about the Commodore Scene DOOM
project.
Basically, a mag called Commodore Scene posted a bounty to anyone who
was able to implement DOOM or a similar game to be run on a stock C64.
Most of the veteran coders from the demo scene, those who know what it
takes to calculate and render 3D scenes, said it would be extremely hard
to do. It is one thing to make a demo that playbacks a well defined
pattern of movement, enemies etc, but a completely different task to
make a game engine that can handle all possibilities in a decent speed
and frame rate.
If I recall correctly, the bounty was raised to somewhere around $1,000
or more, just like with the right amount of money, everyone's C64 in the
world will become more powerful.
So what happens? Well, a bigmouth who posted a lot but had no previous
track record of programming says "I will do it". He even gets to lend a
rather uncommon and expensive 20 MHz SuperCPU expansion (a bit like your
second processors, but perhaps even harder to come by) and starts coding.
A couple of weeks later, someone asks what he has accomplished, and he
mentions a percentage like DOOM is 10% complete, 20% complete. However he
has no screenshots, code fragments or anything to back up those numbers.
Eventually he posts a bit of machine code that someone identifies as copy
pasted from a web site. Apparently he has no clue what the code does, but
pretends he wrote it and says there are only so many ways you can write a
program in machine code - eventually they will look identical!
Another fellow then sets up a small competition: Implement Bubblesort in
6502 machine code. Assume an array of 100 or so characters (8-bit int).
Submit your source code to the organizer, and when the compo is over the
entries will be published in order to show how much variation you can get.
There were a little over 20 entries. Some were more optimized than others.
Many were highly similar, but I don't think two generated the exact same
6502 code. Thus it was some kind of proof there are many ways to program
in machine code, and yet this was a short exercise.
Our friend with the DOOM project also tried to implement Bubblesort. He
posted some 6502 source code full of bogus instructions. Even with the
help of others, it took him days or weeks to get the routine working.
Now what were the odds that someone with this kind of blazing programming
skills would succeed where others could smell the failure on beforehand?
Eventually, I think the SuperCPU was returned to its rightful owner.
The DOOM project still lives on as a FPS challenge with more loose
requirements, but as far as I can tell, nobody has volunteered to have a
go about it. At least not as a hires game with many frames per second.
Oh well, sorry for the lengthy off-topic post but I thought it would be
suitable in the context.
With a decent CPU upgrade, I am sure everything would be different, e.g.
a BBC Micro with ARM7.
Best regards
--
Anders Carlsson