Jump to content
  • Advertisement
Sign in to follow this  
Zachary.B

Atari ST or Amiga Game Programming

This topic is 628 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

This was an odd thought again this morning was would it be useful to learn how to make games on these systems. After completion port them to work on other systems. Is this older style of game code compatible with newer OS like windows able to be ported. Lots of older and very unique things out there still.

Share this post


Link to post
Share on other sites
Advertisement

Not terribly useful, no.

 

I'm less familar with the Amiga and its specialized graphics hardware, but the ST was a thing before hardware acceleration came on the scene, so everything is blitting through a TOS call or else direct framebuffer manipulation.  Sound is barely supported.  It was a great development platform but easily emulated in spare cycles on todays hardware.  Consider their CPUs had not yet crossed into the MHz realm.

 

Really, if you want to target those platforms, your best bet is to find or make a port of libSDL (or equivalent non-3D framework) and program to that, with the end result of binaries that run everywhere.

Share this post


Link to post
Share on other sites
Memory and cpu time will be your biggest constraints in an old 16 or 8 bit system.

You'll have to approach gamedev entirely differently and a lot of games in amiga etc booted from a separate bootable disk, bypassed a fair bit of the os and window manager and did a lot of things by writing to the hardware registers directly and tons of assemvler/machine code.

I've had a fair bit of experience doing gamedev on older 8 bit systems with 2mhz 65C12 processors from the early 80s and the concepts are similar.

Also you can run your retro dev in an emulator but nothing quite beats buying the real hardware on ebay and getting it running.

Have fun!

Share this post


Link to post
Share on other sites

Memory and cpu time will be your biggest constraints in an old 16 or 8 bit system.

You'll have to approach gamedev entirely differently and a lot of games in amiga etc booted from a separate bootable disk, bypassed a fair bit of the os and window manager and did a lot of things by writing to the hardware registers directly and tons of assemvler/machine code.

I've had a fair bit of experience doing gamedev on older 8 bit systems with 2mhz 65C12 processors from the early 80s and the concepts are similar.

Also you can run your retro dev in an emulator but nothing quite beats buying the real hardware on ebay and getting it running.

Have fun!

 

While I do have some very fond memories of programming 8 bit systems, I'm also very happy not having to deal with them any more. ;) 

Share this post


Link to post
Share on other sites

Point of order, Amiga and Atari ST are 32-bit computers with CPUs running at 7 MHz or higher.

 

That being said, porting from those systems to modern computers is less "porting" and more "rewriting from scratch", and a lot of what you would learn by developing for them has little to no bearing on modern game development.

 

Which is to say, you should only be developing Atari ST/Amiga games if you actually want to be an Atari ST/Amiga game developer - not for any other reason.

Share this post


Link to post
Share on other sites

Point of order, Amiga and Atari ST are 32-bit computers with CPUs running at 7 MHz or higher.

This.

Plus, Atari ST, except for the very oldest models, had support for accelerated 2D graphics, the so-called "blitter chip". Much hype about it back then.

But although most of the information about those systems in the previous posts is wrong, their conclusions are correct. There's no memory management of any kind, let alone virtual memory (just, raw physical addresses) or multiple threads, so... the idea of being able to reuse code is somewhat startling. That, and MC68000 assembler code for the critical functions...

Sound was actually quite awesome for that time, if you were comfortable writing obscure data to hardware registers. Again, this doesn't translate well to how sound works nowadays.

Share this post


Link to post
Share on other sites

If you write your game in C (not even C++ and *certainly* not Java/C#) and provide small abstraction functions, you can write simple 2D games in a way that is portable to almost any platform. C is a portable assembler whereas C++ and things like Java and C# runtimes are terribly complex to port to new platforms). In this case, then the projects you write would be useful to learning. Otherwise it would simply be too different and you might as well learn to develop on platforms you will actually use.

 

Check out this Gameboy advance tutorial.

 

www.loirak.com/gameboy/gbatutor.php

 

So here he writes pixels to a frame buffer (literally just a location in memory). This same system can be done to an SDL_Surface and thus with very few alterations (i.e in #ifdefs) the code is portable to most platforms.

 

2D is pretty straight forward but I have yet to find a 100% perfect solution for platform agnostic 3D accelerated projects. Mainly because it requires specific hardware. My PhD is actually on this very topic.

Edited by Karsten_

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!