1. The capitals stand for STE↩
Save The Earth (2009)
.-'''-. ____ ,---. ,---. .-''-.An Environmentally Aware Defence Force demo for the 20 years of the Atari STE at the Kindergarden 2009
/ _ \ .' __ `. | / | | .'_ _ \
(`' )/`--'/ ' \ \| | | .'/ ( ` ) '
(_ o _). |___| / || | _ | |. (_ o _) |
(_,_). '. _.-` || _( )_ || (_,_)___|
.---. \ :.' _ |\ (_ o._) /' \ .---.
\ `-' || _( )_ | \ (_,_) / \ `-' /
\ / \ (_ o _) / \ / \ /
`-...-' '.(_,_).' `---` `'-..-'
,---------. .---. .---. .-''-.
\ \| | |_ _| .'_ _ \
`--. ,---'| | ( ' ) / ( ` ) '
| \ | '-(_{;}_). (_ o _) |
:_ _: | (_,_) | (_,_)___|
(_I_) | _ _--. | ' \ .---.
(_(=)_) |( ' ) | | \ `-' /
(_I_) (_{;}_)| | \ /
'---' '(_,_) '---' `'-..-'
.-''-. ____ .-------. ,---------. .---. .---.
.'_ _ \ .' __ `. | _ _ \\ \| | |_ _|
/ ( ` ) '/ ' \ \| ( ' ) | `--. ,---'| | ( ' )
. (_ o _) ||___| / ||(_ o _) / | \ | '-(_{;}_)
| (_,_)___| _.-` || (_,_).' __ :_ _: | (_,_)
' \ .---..' _ || |\ \ | | (_I_) | _ _--. |
\ `-' /| _( )_ || | \ `' /(_(=)_) |( ' ) | |
\ / \ (_ o _) /| | \ / (_I_) (_{;}_)| |
`'-..-' '.(_,_).' ''-' `'-' '---' '(_,_) '---'
Compatibility
This demo should work on any STE or MegaSTE with 2 megabytes of memory or more.This demo exploits most of the features specific to the Enhanced machines:
- DMA music and microwire/lmc control
- Hardware scrolling/screen splitting
- Extended palette
- Blitter
- Optimized right border switches
(If you have a MSTE, the machine will automatically be set to 8mhz and with cache disabled, so you can enjoy the fullscreen codepath.)
History:
This intro was started in April 2009 and was intended to be part of the 20years megademo project. Unfortunately is appeared quite fast that it would be hard to meet the executable size requirements (160 kb max on disk).At this point I decided I was better go my own way and do something cool, even if it happens to be huge.
Why was did it take so long to make this relatively small demo?
If you put aside real life things (work, family, ...), the reasons are:
- Had to write the tools while I was doing the demo
- I decided to do all the graphics, code, design, texts, myself, because I hate people, I hate design by committee, and I hate having to change stuff all the time: I'm a horrible person, I know :)
- I had to change the theme and storyline of the demo at least twice, and had to ditch some effects entirely...
Originally, the theme was related to the time travel and the lost position of the Atari brand. Some guy from now, going to a conference by Stephen Hawkins with quantum physics and whatnots, leading to the realisation that time travel was possible, and that it was possible to change the fate of Atari by sending back in time a eeePC with the history of world (until 2009, how the pc won, the fall and rise of Apple), plus some documentation about modern hardware, blue prints of the iPod/iPhone, source code of operating system and tools, list of patents to register before IBM, Microsoft, Apple, and which companies to buy to get old of most important ones, oh, and the game consoles as well.
So in the end using a cluster of Atari STE's our hero manage to send this stuff in the past to M. Tramiel who use it to transform Atari as the number one company in the world.
Back to the future where the eeePC is branded Atari, as the mobile phone and the mp3 player.
That was kind of nice, I even had a speech synthesizer working, and a nice time whirling worm hole... oh... like the effect of Another Kid Story. Had to scrap that and do something else... twice :)
So here we are, now everything is here, in average about one third of the cpu time is just spent waiting in the fullscreen, and most of the top border cpu time is not in use either. So yeah, this demo uses about 2/3rd of the cpu time, too bad the cpu is not sleeping during the remaining third, this would have been good for the power consumption :)
Hope you will like this demo, and that people are not going to be too disappointed, after all I doubt this should have taken 8 months :-/
And mega-thanks to XiA for the optimism and the energy, because I was sick and tired, wanted to be done - fast. Thanks man :)
One last thing, the title, it of course (ok, possibly not obvious1) refers to the fact that we can still use these old machines 20 years after they were made, a testament about the build quality of reliability.
Modern PC's on the other hand have parts breaking all the time, dying batteries, graphic cards got thrown out and replaced, not very good from an ecological point of view to see all this perfectly usable hardware just thrown in the junk hopping that some third world country will have children desolder components in a mist of toxic fumes.
Source code
As usual now, you can find the source code of this demo in the archive, it is probably not the best code of the universe, it assembles only with Devpac due to the heavy usage of macros and specific assembler commands, but most of the code should be not too hard to follow.It's not as clean as I wished, mostly because I had to hack a lot in the few last weeks to get the whole thing to work. Typically some effects are played in the VBL callback while some others are just in the main loop, mostly because I had issue with the music player that happened to take more cpu time than I was accounting for originally. In turn this made the blitter code to be pushed back later in the vbl, leading to the top border synchro to be missed in some cases due to bus contention...
And here is a video of the demo in action: