Beginning Amiga Demo Programming

category: code [glöplog]
Hello there
Im looking to write some simple amiga effects to get a feel for how demos are made for that machine. I owned one a while back and it was great but I never really programmed for it, and now it's long since gone.

I do however, have WinUAE (and I've bought some ROMS) and I'd like to set things up so I can use a modern editor on my machine and work that way. I'm not bothered about emulation at present, more in how the machine was programmed and how 'classic' effects like golden raster bars, twisters and that amazing wobbly text are done.

Is there a good place to look, or go to learn more about this? What programs would you say are essential and what would your workflow be? Some kind of virtual mounted drive and a particular compiler inside an emulator for example?

added on the 2017-06-16 18:47:15 by oni_ oni_
there are plenty of cross dev options out there which would make your life a lot easier, especially as you can mix C and asm together. I've not tried any of them out yet and opted for DevPac within WinUAE, but I wouldn't recommend that approach.
added on the 2017-06-16 19:24:49 by djh0ffman djh0ffman
There's a great video tutorial series by Photon / Scoopex on Youtube. Definitely check that out.
added on the 2017-06-16 20:01:26 by Preacher Preacher
+1 on the tutorials by Photon of Scoopex. If you can't get it going from those, then you're hopeless and should forget the whole thing.
added on the 2017-06-16 20:43:24 by yzi yzi
You could have put a link! :p

Amiga Hardware Programming Tutorials by Photon/Scoopex

This Tutorial covers everything, including making graphics/music and including it in your code. It´s very oldskoolish, though, but in your case that´s a perfect fit i guess! ;)
For your question about workflow/environment, you should go with the first link littlejerome posted!
Hannibal/Lemon. has set up a splendid modern environment there with everything you´ll ever need included.
Only thing you need to do to use it is install Visual Studio Community Edition first.
There are basically two paths:

1. Pure assembly + low-level banging the hardware more directly: use AsmOne running on the Amiga or emulated Amiga itself. This is the real authentic Amiga demo coding way, with more street-credibility. I think AsmOne is a very nice experience.

2. Cross-development, with C + asm, maybe following recommended ways of using system libraries. There's the VBCC compiler system by Volker Barthelmann and contributors http://sun.hasenbraten.de/vbcc/
VBCC is just beautiful in every way. It makes very good and optimized code. And people have made even

Myself, I've made some simple stuff with AsmOne, starting with Photon's excellent video tutorials, and I liked it a lot. Then I made some more simple stuff with VBCC, trying to obey system-friendly ways, using system libraries. I liked that too.

I recommend at least starting from Photon's videos and AsmOne, if only to get a grasp of the underlying system. I'm not sure if it's possible to really understand what the system libraries or some ready-made frameworks do, and what they try to hide from you in the name of "management", if you haven't banged the hardware directly.
added on the 2017-06-17 12:14:08 by yzi yzi
... And people have made even some sort of contraptions for debugging using an IDE and emulator.
added on the 2017-06-17 12:18:03 by yzi yzi
Hey there! Thanks a lot for the replies. These all seem pretty sweet and I'll give them a look in! I'll try a few and see which fits but cheers for the heads-up!
added on the 2017-06-17 21:54:02 by oni_ oni_
Hi oni!

The AMIGA Hardware Reference Manual actually does a really good job at explaining how the Amiga hardware works from a programmer's point of view. It is not just a reference manual.

It doesn't cover the AGA chipset features, so if you want to make demos for AGA Amigas, you need to look further (but do learn the basics first - AGA is just an extension of the same principles). There is a description of the additional features here, and a convenient register reference in AmigaGuide format or as part of the ASM-One package.

For the bumps along the way, there is usually friendly help to get in the forums here, on the Amiga Demoscene Archive and the English Amiga Board.

Welcome to the Amiga scene! :-D
added on the 2017-06-17 22:55:03 by Blueberry Blueberry