Amiga Copper Demo and Module Music Video
While researching a future post about the Copper functionality of the Amiga’s Agnus custom chip, I decided to really dig in and figure out how the Copper worked and how you would write some of the bare metal custom chip code. The process of making this video made me realize I need to do a few other posts before I can do one about the Copper, as there are a lot of prerequisites to understand it, at least at the level I am now able to understand it at. I also wanted to showcase a lot of the kind of music the Amiga was known for, module music made on music trackers. So here’s a nice, long video, with a real Amiga Copper demo (the kind I know I would make made back in the day, cartoon characters included, if I had these skills in the 90s!) and a lot of really great music to listen to.
How was it made?
- The animation was done in Krita on Android. I used a pixel brush for the in-Amiga emulation to ensure all the pixels lined up with the 320x256 screen I was working on. The rest was done normally with regular brushes.
- I used GIMP to convert the images destined for the Amiga into
16 color PNGs.
The trick to keeping a consistent palette across all of the images was:
- Convert one image to a 16 color image.
- Swap around the colors in the index so that the color index to knock out via the Copper effect was index 0.
- Create new layers to physically swap the color pixels in the image. You have the ability to select all of the pixels of a particular index, and then you can fill a new layer on top of the original to change the color.
- After you’ve swapped one of these around, you can convert the remaining ones using the first image’s palette.
- I used Personal Paint to convert the images from PNGs to IFFs.
- I loaded all of the images, one by one, into memory banks in AMOS Professional. I loaded the first image again into a separate memory bank, but one that preserved screen resolution and palette, to simplify app initialization. I flip through these memory banks to animate Topaz, as the IFF animation tools in AMOS Pro seem a bit broken.
- I wrote a lot of AMOS BASIC, which I hadn’t done since
19971998, and I referenced a lot of Amiga Copper, bitplane (Denise’s territory), and DMA examples. These ones helped out the most: - I ran all of this in FS-UAE, and captured it with vokoscreenNG.
- I edited the video with Kdenlive.
- I converted the music mod files using ffmpeg. It was the fastest way to convert a large number of modules at once for evaluation and movie use. I hope they sound OK!
Code & Assets
I put the AMOS code – the bundled .amos file, the .abk with the animation frames, and a .txt file with the code in plaintext – up on GitHub. The code is released under an MIT license, but the artwork is copyright by me, all rights reserved. I’m no expert at Copper coding, so if there are improvements (besides rewriting it in assembler. Learning 68K assembler is on my list of things to do for R1KR), I’d love to hear them! For it to run fast enough, I emulated a 68030 with JIT enabled in FS-UAE.
Music
All the music is either Public Domain or Creative Commons Attribution 3.0, and it all comes from The Mod Archive. Check out all of these artists’ awesome work! There’s way more there than I could put into this 90 minute video.
-
- Drozerix/M0n50n
- Public Domain
-
- Drozerix
- Public Domain
-
- elPatrixF
- CC-BY 3.0
-
- Zilly Mike
- CC-BY 3.0
-
- Drozerix
- Public Domain
-
- Katie Cadet
- Public Domain
-
- Lagoona
- CC-BY 3.0
-
- Pip Malt
- CC-BY 3.0
-
- JAM
- Public Domain
-
- Katie Cadet
- Public Domain
-
- Andreas Viklund
- CC-BY 3.0
-
- Zilly Mike
- CC-BY 3.0
-
- elPatrixF
- CC-BY 3.0
-
- Drozerix
- Public Domain
-
-
Zilly Mike
-
CC-BY 3.0
-
- Andreas Viklund
- CC-BY 3.0
- Pip Malt
- CC-BY 3.0
- Katie Cadet
- Public Domain
- JAM
- Public Domain
- K. Jose
- CC-BY 3.0
Computer Adventures Of Drozerix
- Drozerix
- Public Domain
- Katie Cadet
- Public Domain
- Pip Malt
- CC-BY 3.0
- Andreas Viklund
- CC-BY 3.0
- M0ns0n/Drozerix
- Public Domain
- Pip Malt
- CC-BY 3.0
- Andreas Viklund
- CC-BY 3.0
- Drozerix
- Public Domain
- JAM
- Public Domain
-
JAM
-
Public Domain
Sound Effects
All sound effects, except for Topaz’s “heh” which was all me, come from Freesound, and are also either Public Domain or Creative Commons Attribution 3.0.
- Light Switch
- TimoSchmied
- CC-BY 3.0
- Hard-drive spin-up/spin-down
- SamsterBirdies
- Public Domain
- TVonoff.aif
- orehek
- Public Domain
- mechanical key medium.wav
- bigmonmulgrew
- Public Domain
- Mouse click sounds
- Masgame
- Public Domain
Changelog
- 2021-06-08: Initial post.
- 2021-09-08: Updated last time I wrote AMOS BASIC code to be 1998, as revealed by the 23 year old code that was discovered.
- 2023-07-10: Video is now hosted on MakerTube.