At school, I met Philippe (« Johnny-B« ) who was also using an Amiga 500 to create arts and musics. We decided to create something together. I would create the assembler program and he would create art and musics.
We spend many days and nights talking and creating this demo. It is a single screen demo (with a small intro).
There is a small story in the texts. It is in french but I can explain what is said inside: This is the story of 4 characters: Johnny-B, Me (Oriens), the computer (Amiga), and the manufacturer (Commodore). During the demo, the computer is taking control of the demo and add some text. It is a 4 characters dialogue.
I can not remember why we decided to called ourself « Hawk« . I guess this was because a hawk looks nice. The logo with the colored hawk is really nice. The starting text said:
« Once uppon a time. In a land of confusion. A band was reborned from dust. And it was called: Hawk »
This was surely a reference to Genesis. The dust is something linked to the phoenix (close to hawk 🙂 ). So we were reborned and born at same time. Nice shot.
As the text had many special characters, we typed it into a basic program (surely gfa basic, I do not have it anymore) and then convert it to assembler table.
Demo can be downloaded there: Hawk_1989_FirstDemo.dms
Run it on a A500 with standard 512KB ram or WinUAE with similar configuration.
Source code and data are there: Sources
Sadly some data are corrupted but the source code is complete (see commented version HERE).
As you can see the source code is very long. Assembly is a fast language but instructions are very basic. So everything take lot of lines.
Here is the full video of the demo: (12 mins)
Music is a cover of Alba – Only Music Survives (1985).
Intro of music features voices from « Dragnet » (radio or TV show, I do not know).
« (Their job…) to enforce the laws, and preserve the safety of decent citizens. »
Music module can be downloaded here (109 Kb)
The first messages are in « hi res », that means 640×512 pixels resolution.
The main screen is composed of 4 parts:
1/ The running men (3 plans, 8 colors, 1 transparent)
2/ Small scrolling. 1 plan (means 1 color)
3/ Big scrolling. 1 plan (means 1 color)
4/ The « Hawk » logo (4 planes, 22 colors).
A bit of technical infos:
Check the commented source code : DEMO.S
The commodore Amiga 500 have been released in 1987. The main cpu is a 68000 motorola at 7 Mhz. The fastest language to program is directly 68000 assembly. There is 512 Ko of RAM. There are dedicated processors that make that machine very interesting. We’ll see that later. The display can be 320×256 pixels up to 640×512 pixels. It can display 32 colors from a palette of 4096 colors.
Back to the demo. There are 4 running characters and two scrollings. Horizontal scrolling is done using the « blitter » processor (made for copying data). Once one character is out the screen on the left, another one is copied on the right. The interesting part is about the colors and reflect effect. It is using the processor called « Copper« . This is surely one of the main technical fabulous thing of the Amiga. The « copper » is a processor that can execute « lists ». These lists are synchronized with display. It can wait position on screen and then put value in « registers ».
The registers you can change are the one located in memory $dffxxx. A complete list of these registers is HERE. You can change colors, scrolling values, video pointer, and many others.
For example, in this demo, you can see:
Each line is composed of one wait instruction (from line 48 (0x30) to line 92 (0x5c) ) and one register change: $dff180 is the register for background color (color 0). The copper can only change register after adress $dff000, so only need to write « 180 » to access $dff180. This is a nice vertical blue gradient. This is the gradient behind running character. So using the copper, you can create color on screen using no pixels. The bitplanes are free for other uses.
That means all gradient colors and water effect are not using any cpu.
That also mean that the number of colors is higher that is really displayed. There are 27 colors displayed with bitplanes. The total colors one screen is 88. The 61 extra colors are created using the copper.
The source code is complete. But some data are corrupted. Source code is a bit ugly and have some strange labels (« hihi » « superman »). All is written in assembly 68000.
A game have been release during that time, it was « Shadow of the beast ». The graphics and background animation were fabulous. As you can see the copper is used for creating the back gradient. It is also used to create all the parallax scrolling, but we’ll see that later.
After the demo have been finished:
The demo was sent to our contacts (by postmail! no internet 🙂 ) and it also have been added to one compilation (dms link above). One of my friend Laurent « GLG » (means « Gaston LaGaffe », famous comic strip character) added it into one of his compilation. I coded one small intro for this pack.
And here is the menu of that compilation
No idea if lot of people saw this demo but we were quite happy with it.