"Racing the beam" — omg I know exactly what you mean. We used to set the beam to different color at the beginning and the end of our vsync'd routine to figure out how many scan lines worth of CPU time per frame we could afford to use. I remember the address $dff180 for this purpose (color palette 0, which would always show on the edges of the screen outside of the bitmapped area). We didn't have the Internet to teach us that trick either, all word of mouth! Didn't know there were people still trying to squeeze more out of that chipset nowadays.
I use the same trick today! I have some "benchmark" macros set up which forcibly override the background color when I want to see where in the frame my operations are taking place.
> Didn't know there were people still trying to squeeze more out of that chipset nowadays.
You will be amazed. The demoscene has gotten insanely good since around 2017. Here are some of my favorites that all run on a stock Amiga 500 (with the trapdoor memory):
Wow. Thanks for posting these. Reminds me of 8080MPH / Area 5150.
I don't know enough about amiga chipset limitations to know which bits I should be impressed more by, but a doing this on a 68k @ 7mhz with 1MB RAM is impressive enough.
Wow... Looking at the links on one of these, I see that the tooling has evolved a lot from the days of just text editing + assembly https://tbl.nu/2019/08/20/Tooling/
I genuinely wonder what's the profile of those people who find the time to write games on the Amiga! but I suspect younger people aren't interested in such old computers, and people who grew up with them are busy with family and professional obligations. And if they're not, they are so many projects to work on which are equally fun, which you could use to keep up to date for instance.
In any case, it's very cool, so thanks for sharing.
I was born in 1991, and we had an Amiga 1000 before eventually upgrading to a PC running Windows 95. So, I was always nostalgic for Amiga, but my passion grew once I began to understand more about the unique and powerful chips driving its capabilities.
Today, I work full-time as an independent game developer. I think it's fair to say that making an Amiga game has been a lifelong dream of mine, and I finally have the skills to make it happen. I want to help demonstrate that with today's tools and proliferation of knowledge, we can breathe new life into our beloved classic hardware by creating gaming experiences with modern design principles.
Wow your family had enough money to own both an Amiga 1000 and a PC running Win95? Did y'all have enough money to buy NeXT and other weird things? I dumpster dived for computers until the mid 2000s in Palo Alto because we couldn't afford much. Pentiums were scores! But the energy costs of running them at home was expensive.
Yes, the desire is very, very understandable! The question is not about the desire.
Now that you're.a grown-up with.a full-time job, and likely some personal life, working for the game industry known for its time pressure — how do you find the time to work on an Amiga game?
> I suspect younger people aren't interested in such old computers
Maybe not young enough to count in this group, but I love a lot of computers that were a bit before my time. I've went through the trouble to acquire a Commodore 64, recap it, and install some third-party modifications (needed to replace the PLA, but also added a mod for dual SID and a "region switch" - the region switch one is quite involved since it needs two VIC-IIs and two oscillators you can switch between.) Not the only computer I have enjoyed digging into: I have an MSX2 as well that I find very charming, though I haven't done a whole lot.
The one thing I will say is that finding time to actually try to write code for these machines is hard :) But I imagine it's just simply a matter of devoting some nights and weekends to it when inspiration strikes, not unlike most hobby work done by people who have day jobs.
I think retrocomputing is a fantastic hobby that is fascinating and rewarding. If I had one complaint, it would not actually be the amount of time it takes, it's honestly the price and difficulty in acquiring components. Seems like a lot of people have cashed in on anything that is "antique" or "vintage" in the computer market and hope for large returns. This is a shame.
As for older folks, I can't speak to it directly. But it certainly seems that some of the folks who are still writing Commodore 64 demos are doing so in large part to reconnect with their childhood. Possibly one of the most obvious artifacts of this are demos that pretty much tell a story as such, like the relatively recent demo "Mojo" by Bonzai and Pretzel Logic[1]. And obviously, attempting to do "serious" story telling in something like a demoscene production is a bit corny, but I find it very endearing in spite of that, so I'm glad they're doing it.
In any case, it's a hobby that takes a lot of time... but I guess if you want to find time that badly, you find ways.
I present you a friend [1] building interfaces for new game controllers to old computers. Here interfacing a Nintendo Balance Board to play Decathlon in the Commodore 64 [2].
I'm 5 years older than the original post author. In the beggining of the pandemic, I collected enough Atari, Amiga, and few other materials to learn assembly for fun. There's even a Udemy class on it:
https://www.udemy.com/course/programming-games-for-the-atari...
My reasoning was because I worked from home, I would have more spare time. Sadly the reality is... no. Oh well, time to continue working on those :D
> A run-of-the-mill Amiga 500 has 512kb of "Chip RAM" and 512kb of expansion RAM
Nitpick: a stock A500 had just the 512kB Chip RAM. Many users opted to add the A501 RAM expansion with an additional 512kB Fast RAM which was not directly accessible by the graphics hardware. Although labelled as Fast RAM, it was slower than actual Fast RAM due to the expansion architecture.
Most A500 owners had the 512KB trapdoor expansion. Much software, including games like Monkey Island, would not run w/o at least 1MB total ram.
Today, there are widely-available, cheap trapdoor expansions of open hardware design that offer 1.5MB slow, 512KB (for 1MB total) chip, as well as RTC.
I've always wondered what Japanese console style games would look like on the Amiga and whether it was underpowered or I just didn't like the design of most of it's games.
Bonk got a fab conversion by Factor 5 but they were wizards.
(aside: I feel like people played on a different Amiga than I did. It had great looking games, for sure, but so did by Nintendo NES and I don't look back on either of them so fondly.)
Still, very cool to show how these animations were made
I remember having both and the Amiga seemed 2 generations ahead honestly. Not surprisingly given the shear hardware differences. Amiga really was an everything and the kitchen sink system. High end 32bit CPU, graphics acceleration, amazing audio, literally 256 times the ram of the NES.
Even the SNES didn't come close. Wasn't until the Sega Saturn era that we saw something that could outperform it.
Amiga has its strengths, but I find that the SNES outperforms it in video games, because the SNES graphics chips were designed for video games first and foremost.
One major reason is sprites: Amiga can display 8 4-color sprites, or 4 16-color sprites, and the colors are shared with the bitplanes.
SNES can display 128 16-color sprites, and the sprites get 8 palettes all to themselves.
This leads to much more colorful-looking visuals on SNES. Since Amiga is all bitplanes, enabling more colors and higher resolution results in a massive performance hit. Most game entities would need to be blit on top of the background, and then the background "restored" every frame that entity moves. SNES' native support for multiple tile layers and good sprites means that the CPU can do a lot less work to achieve a lot more.
Amiga can do some very cool stuff that SNES can't, especially with the blitter, but SNES is much more practical and powerful for video games.
> because the SNES graphics chips were designed for video games first and foremost.
So was the Amigas chipset - it was originally designed as a games console and pivoted to a home computer when the games console market tanked in the early 80s.
Assuming you are not rewriting the palette scanline-by-scanline...
Amiga is stuck with 16 colors for the whole bitmap screen unless extra-halfbrite mode is used, then it goes up to 32 colors (extra colors must be half as bright as the base colors). Using the hardware sprites (3 colors + transparent) can add up to 12 more colors.
Meanwhile on the SNES, the most-used video mode has two background layers with 15-color tiles (plus transparent), and one background layer with 3-color tiles (plus transparent). 8 different palettes can be selected, for 128 colors.
Then there are sprites too, lots of sprites can be on the screen at once. 15-colors (plus transparent) for a sprite, and 8 different palettes can be selected.
Then afterwards, color math can be applied, you can make graphics use additive blending (light effects), subtractive blending (darkness effects), or 50% transparent blending.
32/64 colours, assuming no rewriting, but given the very existence of the copper was motivated by being able to change values like that, plenty of Amiga games exceeded that. Some very substantially.
The copper was also used to multiplex sprites, so again the limitation is per scanline.
And assuming things wouldn't be changed per scanline is assuming a shoddy job - very few games on the Amiga would not make at least some use of the copper to extend the number of sprites or number of colours on screen.
I have very vague memories from the time when Lemmimgs was released, something about the sprite/copper that allowed it to display those Lemmings efficiently. Of course the Atari ST had the exactly same game which puzzled me, though presumably it used brute force.
I think it's more likely it "just" had more colours, and possibly used a different graphics mode for parts of the screen. Lemmings strikes me as a game where the size and number both precludes using sprites for all of them, and where moving the Lemmings themselves shouldn't be computationally costly enough to be a problem.
Though the Amiga does allow changing the positioning of the screen over a larger bitmap, so e.g. panning the levels without much/any copying might have been an option? Doesn't require the copper, though.
As is was already noted, scanline-level techniques were commonly used in Amiga games.
A few of the more sophisticated efforts could be argued to be technically superior to anything on the SNES; consider Shadow of the Beast 3 or Lionheart.
reply