Jump to content
IGNORED

Atari 5200 Programming


kamakazi

Recommended Posts

I was curious about something. I know the 5200 is basically the 400 even if memory locations and controller functions vary. I know I had a lot of fun programming the Atari 800 I used to own. I also have the book Assembly Language for the Atari Computer. What all would be needed to start developing for the 5200 console through emulation?

 

If I remember correctly, the Atari-DOS came with a tool that converted BASIC programs into BIN files. Is it possible to write 5200 specific code (mainly for controllers), use that program to convert into 5200 BIN ROMs, and then test them on either a real or emulated 5200?

 

Any pointers that anyone may have on developing for the 5200 please let me know. Thanks!

Link to comment
Share on other sites

In theory, Atari Basic itself could be ported to the 5200 although the cost would be in the order of 12-16K of ROM space as the Floating Point would need to be relocated and carried over, and same for some of the Operating System like the S: E: K: handlers.

 

Additional to that, a Basic program could operate from ROM but Basic itself would need reworking so that the variables were still kept in RAM.

 

That in itself would be an interesting, although pretty large programming project.

 

I've been meaning to port a game or two to the 5200 just for practice - don't have the real machine so emulation and getting others to test would be necessary.

 

But, going back to the initial Q... just developing stuff in Assembler on PC-based tools, and running in emulation is the way to go.

Many of the tools that work for the A8 computer will be just as relevant to the 5200, but of course the vast majority of high-level languages will probably be a no-go.

Link to comment
Share on other sites

  • 2 weeks later...

Having just started on 5200 emulation recently, here are some pointers:

  • The kernel is really barebones -- not just no floating point or CIO handlers, but pretty much just IRQ and NMI handlers. There are NO defined entry points in the kernel!
  • GTIA is at $C000 and POKEY is at $E800, but ANTIC is still at $D400. There is no PIA.
  • The controller is whacked not only in the design of the analog stick, but also in how you read the buttons. Basically, Atari hooked up the keypad and one of the triggers to POKEY's keyboard interface in a strange way that makes it unnaturally difficult to determine when keys are held down.

 

You can find some more info on the differences in this article: http://www.atarimuseum.com/videogames/consoles/5200/conv_to_5200.html

 

...And a little more from the PAM Documents package on the Atari Museum website: http://www.atarimuseum.com/ahs_archives/archives/archives-techdocs-5200.htm

Link to comment
Share on other sites

I was curious about something. I know the 5200 is basically the 400 even if memory locations and controller functions vary. I know I had a lot of fun programming the Atari 800 I used to own. I also have the book Assembly Language for the Atari Computer. What all would be needed to start developing for the 5200 console through emulation?

 

If I remember correctly, the Atari-DOS came with a tool that converted BASIC programs into BIN files. Is it possible to write 5200 specific code (mainly for controllers), use that program to convert into 5200 BIN ROMs, and then test them on either a real or emulated 5200?

 

Any pointers that anyone may have on developing for the 5200 please let me know. Thanks!

 

There's MPDOS SuperPro that I developed that lets me compile for Atari 800 and Atari 5200 carts (bin files not BASIC). I have equates defined for the memory map I/O and ROM areas so that they automatically switch to A5200 when you check that box and recompile. This compiler works on PC though so the ROM file generated would have to be burned to an EPROM like 27256 (32K) and tested that way or some emulator. ROM is only 2K on Atari 5200 at $F800..$FFFF and 1K of that is the character set font. You can read the ROM OS by putting it in an Atari 800 by swapping it with the 2K Floating Point ROM which is same pinouts.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...