I've just finished a first version of the first scene. So here is a small dev log about it.
By the way, I think the demo will be called something like "The one which started it all".
This sentence comes from a thread by @McTrinsic that I read some days ago
But I could call it "Amiga Love"
The idea of this scene is to show the authors (Agima) and a kind of title.
Agima's logo is a generally rotating A. At each demo I try to add a little original touch.
Here the A will be formed from the rotation of 6 triangles.
The scene starts by initializing a dual playfield, two separate fields of 8 colors (3 bitplanes) each.
For more info on the dual playfield, you can see: https://github.com/alaintreesong/amiga_ ... lPlayfield
But there are plenty of other better docs on the web.
The bitplanes are 320 x 224. If the ntsc display is detected, I center the screen differently.
On winuae it looks pretty centered. But if anyone has an NTSC display, I'd love a little feedback.
It is possible that it is a bit low.
The A is reconstituted in the background field which is double buffered.
So the whole thing is 75kb of memory which is more than half the available chip. Glups
It's a relatively simple 2d geometry, basically a 2d rotation with a reduction of the radius as you go along.
It's drawn with a blitter (turbo draw, blitter fill, blitter clear instruction from Amos).
It gives this :
Once the logo is reconstituted it rotates (a simple rotation on the y axis, always rendered with the blitter)
Then the idea is to display the Amiga logo (so the "V").
Amos is really a basic dedicated to the Amiga. In that it is more than a basic of course.
One of the "magic" chips of the Amiga is the COPPER. This coprocessor knows 3 instructions and executes a program at each scan (vbl) called copper list.
The copper list allows you to execute an instruction associated with a position of the electron beam of the image (it was the time when the screens worked like that).
One of these instructions allows you to change the value of an Amiga register that affects the color, resolution, position of a bitplane, a sprite, etc.
This is how even in 2 color mode, you can end up with beautiful rasters for example.
Amos manages the copper in the implementation of the instructions for us. By example an Amos "screen" opened "Screen Open" is in fact an abstraction that leads to a copper list allowing the creation of this screen.
Another instructions are "rain","rainbow","set rainbow" which allow to change the value of a color for a given line. This command is a bit restricted, for example you can't change two colors on the same line.
This is a pure limitation of Amos but not of the Amiga. However I use 6 colors of the foreground to overcome this limitation.
Then the "V" of the Amiga appears with a small reflection made with the copper.
To finish I make appear an Amiga 1000 to set the scene : it is a demo that must run on A1000 !
If you want to test the ADF, it is here :
I put a temporary music, 1-2-4-5-8 from Goto80. I will change the music every time until I have the music from mAZE.
It's normally perfectly smooth on an A1000 pal but I have some small slowdown on NTSC on the logo formation part (the rest is at 60fps).
I'll see if I can fix that when I finalize the scene.
In scene 2, I'm going to do a little scrolling while continuing to play on the rasters (so the copper).
Feel free to give any feedback.