Visdom II

The Visdom II demo is the second major milestone in my demo career. It was created in 1992 and was the first demo that I created as a contribution for something like a computer convention and therefore the first demo for a large audience. The "Halle Project" was an Atari 8-bit demo compilation organized by Carsten Schmitt (CSS) for the computer convention in Halle. This convention was the successor of the "Hobbytronic" which had taken place multiple times in the years before. Many people were impressed by the demo and in fact, it is still one of my all-time favorite creations. Here's an excerpt from a Page 6 article

"This is the official continuation of the Hobbytronic demos comprising demos from groups all over Europe and presented on three disk sides! There are 5 demos each on sides 1 and 2 and 4 on side 3 ranging from the simple scrolling message to effects that you have never seen before on your Atari. It is not possible to detail every demo but if we could only select one it would be the Visdom demo on side 1. This has a large VISDOM logo at the top with a scrolling message at the bottom. The logo is large 'hollow' letters which are filled one by one with a rainbow scroll but what makes this quite stunning is that each rainbow scroll is different! This should not be possible! At the same time, the center of the screen is filled with blended colors in a sort of water reflection that scrolls up the screen. The total effect is amazing and nothing like it has ever been done on the Atari Classic before. This is just one of 14 demos to choose and many have a choice of music and other effects by pressing various keys (try everything). This disk set represents the very best programming to be found on the Atari as those extremely talented programmers from Europe squeeze every bit of power from the Classic. The ethos behind this demo is if we can dream it, we can do it' and boy, have they done it!"

It pushed the Atari to expose the maximum of colors in ways that were unseen before and which exploit many effects in the hardware that were unused or even unknown at that time. Therefore it also became a benchmark for Atari emulators later, as you can see in the screenshots of the Atari800 emulator for example.

The demo was very unique at the time of creation and the main reason for that is that the process of creation was very unique in itself. It took 6 months of tough coding and designing... In 1992 I was stuck in the German Army. After 3 months of basic military service in Holland (i.e. near the end of the world), I ended up in Karlsruhe (i.e. at the end of the world). I was the only one out of 400 soldiers there who did not live in Karlsruhe but 200 miles away. As a consequence, I was the only person left at the barracks after 4 p.m. While the hours from 7 a.m. to 4 p.m. were boring (cleaning the room, painting the tanks, reading porn ...), the afternoon and the evening were boring as hell. Even using retro communication systems was no fun there.
Retro style telecommunications in action
Soon I figured out that the only solution was to bring my Atari XL computer there, including the Amiga 500 cross development system which I had created for my own purposes. The cross-development system called DTrans consisted of a Seka Assembler used as editor, a modified ASM 6502 cross-assembler, a self-made connector cable to link the printer port of the Amiga with the two joystick ports of the Atari, and a self-made OS ROM for the Atari. With a set of command shell tools, it was possible to transfer single files from and to the Atari (put/get) or to even transfer complex programs consisting of several chunks of data (rec). The self-made OS ROM in the Atari checked for a pending transmission upon RESET and then booted from the Amiga with about 14 kb per second. It also contained a very specialized monitor which allowed fast analysis of programs and finding bugs.

DTRANS - Amiga to Atari file transfer JACMON - build in monitor

The later versions of the OS could also be loaded from disk into a modified BIBOMON board where I had exchanged the 16k ROM by 32k RAM with a battery backup. All together this was a very comfortable and powerful environment, comparable to today's cross-development using emulators. And the KickStart power-up screen in the OS is something that I really miss nowadays.
JACROM - Startup screen with an hommage to my Amiga
I created large wooden box (rather a cupboard) which contained two layers one for the Amiga and one for the Atari. Like on a modern computer table, the layers could be pulled out of the box individually. At the bottom of the box, there was enough space to store the Amiga monitor and the TV set for the Atari. Here are some impressions from the last day in the army. On the second image you can see roommate carrying the parts of my wooden computer box
The last day - as you can see I was a bit 'different' :-) My roommate carrying the parts of my wooden computer box
So every day at 4 p.m. I opened my magic box, put the monitor and the TV set on top, pulled the keyboards and sat down on my chair in front of the box, and started coding. The three main effects are the raster split logo, the "Wiggle" and the waving "ImpRes" pattern. The most sophisticated is in fact the "Wiggle".

The wiggle .. in different colors

The raster split in the "Wiggle" effect uses two hardware effects at the same time. It is based on a self-modifying kernel loop that delays the split of $d01a with 1 cycle accuracy. Since this is too coarse to achieve full coverage and reach every single pixel, missile 0 is used in the 5th player mode of PRIOR and quadruple width to color the missing pixels. The original version has a minor bug when choosing the random colors for the "Wiggle" which results in sporadic artifacts created by missile 0 in certain color combinations. Therefore it is recommended to download this fixed version which prevents that and which is a single executable file which can be loaded from DOS.

Wiggle initialization Wiggle kernel

Discovering the famous "GTIA bug" was a side effect of trying to find the exact timing for the raster splits. Because the graphics 9 pixels were hard to distinguish on my old color TV, I used graphics 10 with a flashing color/luminance during the development to find the correct split and missile position (see "braxtab"). But for half of the pixels, the missile position wasn't correct when I ran the split with graphics 9 afterwards. The investigation yielded what I called "ImpRes" (Impossible Resolution) because it was just a fake based on a picture pattern with a very special layout. It gives the impression of having 16 shades in graphics 15 resolution in full overscan.
IMPRES - the impossible resolution .. in different colors
I told TLB about my findings and he used the one pixel delay of "ImpRes" to let the converted version of Peachy's excellent snake picture look more natural in his part on the third disk of Overmind
Peachy's excellent snake picture TLB's conversion in Overmind .
Some years later Polish coders started to exploit the GTIA bug in all variations to create interlace pictures (HIP, RIP, TIP). And though there is of course no "inventor" of the bug in the GTIA, I can fairly say that I was the first to exploit it. And yes - I'm fuckin' proud of it :-).

While the demo runs, you can press "HELP" at any time to display info screens (German) which explain the effects in detail, contains the greetings, and flame wars against somebody who claimed to be the coder of Visdom I, funny nonsense and state that army suxx big time. Pressing "HELP" again displays the next info screen,"SPACE" returns to the demo main screen and "SHIFT" ends the demo and loads the next part of the compilation." Finally, there is also a hidden part included making sure nobody can claim he's the coder this time.
Visdom II Visdom II Visdom II Visdom II Visdom II Visdom II Visdom II Visdom II Visdom II Visdom II Visdom II Visdom II Visdom II

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.