Jump to content
IGNORED

atari 2600 programmimg


wingman

Recommended Posts

Hi

 

From reading past post I figured the topic title would get some interest. I have been interested in learning to program the Atari and saw something called the Magiccard on Ebay for auction. At the risk of being crucified I decided to open the topic to learn from the homebrew master (smooch smooch :D ) if the Magicard with manuals would be a good tool to use in starting to learn to program the Atari 2600.

 

Thanks

Wingman

:thumbsup:

Link to comment
Share on other sites

lol

The Magicart was maybe a useful tool back in the day to tinker around with the system. Now it's a collector's wet dream. So not only would you be shelling out some serious $$$ to win the auction, what you'd get is nowhere as useful and user-friendly than cross-assemblers which are totally free of charge.

Link to comment
Share on other sites

Thanks for the reply Nukey. OK I know a little about programming. I wrote a large program in Visual Basic that the cellular company I worked for used to get real time info off 3 cellular switchs for maintenence purposes. Of course it was compiled before it was used. But... I am really an electronic technicain by trade and was really familuare with the switch and taught my self visual basic to get the information to make my job easier so am not extremly familar with programming terms as a programmer would be. Right now I am disabled due to back surgury that damaged the nerves to my legs :sad: and since I have a lot of time on my hands would like to do something useful (at least for me)

 

exactly what is a cross compiler? Is it somehting that compiles from one language to another? If so can you explain a little about what you mean? Also are there disassemblers (decompilers?) that can be run on the Atari programs? can you kinda point me in the right direction. I would look but not exactly sure what to look for? I don't want anyone to do it for me I just want some ideas of where to start looking

 

By the way I didn't get crucified like I expected. Is everyone on vacation or something? :?

 

thanks

Wingman

 

 

lol

The Magicart was maybe a useful tool back in the day to tinker around with the system.  Now it's a collector's wet dream.  So not only would you be shelling out some serious $$$ to win the auction, what you'd get is nowhere as useful and user-friendly than cross-assemblers which are totally free of charge.

854911[/snapback]

:thumbsup:

Link to comment
Share on other sites

A cross-assembler is just an assembler that handles code for chip x on a machine with chip y. In this case, a Pentium assembling code for a 6507.

 

All you need is on this page:

 

http://www.atariage.com/2600/programming/index.html

 

This may also help:

 

http://www.cpuwiz.com/downloads/2600programming.pdf

 

;)

Link to comment
Share on other sites

At the risk of being crucified I decided to open the topic to learn from the homebrew master

854908[/snapback]

The only folks who get crucified are those who want people to program for them. People here are willing to help out those who want to learn.

Link to comment
Share on other sites

As CPU said...cross-assembly is just working between two different systems. With a Magicard, you'd be programming directly on the target platform...the 2600 VCS. With a program like Dasm, you'd be building the program on your modern PC (which has much more flexibility than anything native to the 2600 could ever be). It is capable of taking the assembly (which is nothing more than a text file), and creating the binary which is compatable with the console...which can then be executed with an emulator or burned to a real eprom chip.

 

The syntax for that program goes:

dasm Assembly.asm -f3 -oGame.bin

 

That example builds the binary "Game.bin" from the assembly "Assembly.asm"

 

 

To disassemble existing binaries, you'd need to use a disassembler (like Distella...which was designed to work specifically with 2600 game roms). It's pretty much automatic, just give it a name and it converts the binary to the text file for you.

distella Game.bin > Assembly.asm

 

However, there are a number of options (or "switches") that make the resulting disassembly more readable. Just typing "distella" as the command will list all of them. For common use, I suggest you should use the string "-pafs"...as in:

distella -pafs Game.bin > Assembly.asm

 

However, even Distella may miss areas of the program that are indirect-indexed. If you suspect that an area of data is really coded instructions, you can confirm this by instructing Distella to translate everything into opcodes by using the -d switch.

 

By analyzing a few of these "test" versions, you can create a configuration file that instructs Distella which areas whould be interpreted into code, graphics, or just plain data. The configuration file is just another text file. For example, in a game that has the first 10 pages devoted to code and the rest devoted to graphics, the configuration file's contents would be...

 

CODE F000 F9FF
GFX FA00 FFFF

 

...and you can include this to aide Distella as it creates the disassembly. Use the -c{filename} switch to invoke it.

 

 

So I generally use a few steps when running disassemblies. First with the -pafs switches set (to get everything that Distella finds on it's own), next with the -d switch set (to get any instructions that Distella missed), and finally with the -pafsc switches set (final version).

 

distella -pafscGame.cfg Game.bin > Assembly.asm

 

 

 

 

BTW some of the links are no longer valid in the programming page. For some reverse-engineered disassemblies, The Dig's files can be downloaded here:

http://www.qotile.net/minidig/

 

And HackoMatic II is here:

http://www.atariage.com/forums/index.php?a...e=post&id=33624

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...