Jump to content



0

thesis project


6 replies to this topic

#1 AnkhSligh OFFLINE  

AnkhSligh

    Combat Commando

  • 2 posts
  • Location:Oswego

Posted Mon Mar 7, 2005 2:48 PM

For my honors thesis project I would like to learn how to program in Atari assembly. I have been looking at the beginner tutorials here and playing with disassemblies and such. My question is, how far will the tutorials get me, and will I likely be able to learn the language and develop something within a year? The language seems pretty tough but I am fully committed to learning it. I am only familiar with Java programming. If anyone can give me some suggestions or help it would be greatly appreciated.

#2 Robert M OFFLINE  

Robert M

    Stargunner

  • 1,481 posts
  • Rootbeer!
  • Location:Western NY state

Posted Mon Mar 7, 2005 4:23 PM

Hello,

Here is my recommendations.

You need to learn 2 big things.
1. You need to learn how to program the 650x processor.
2. You need to learn how to program the Atari 2600.

If you separate those steps, then the process will be easier in my opinion. If you had previous assembly experience I would say that trying to learn both to produce something in a year would be doable, but you need to learn from a Java background so tackle them one at a time.

1. The 650x family of processors is used in lots of computers at that time period. So I recommend that you either pick up a Commodore 64 or an Apple II personal computer or a really good emulator of either.
2. Pick up a used book that teaches Assembly or Machine language programming for the machine you chose. Consume that book and learn the language
3. Join the Stella mailing list.
4. Write some sample code on that machine with your new language skills.
5. Now you are ready to tackle the Atari 2600. Get the Stella programmers guide. (I'll post a link later).
5. Read Andrew's newbie tutorial on this website, and do the exercises.
Explore and ask questions.
6. Now you are ready to start a custom 2600 project.

Cheers,

#3 vdub_bobby OFFLINE  

vdub_bobby

    Quadrunner

  • 5,831 posts
  • Boom bam.
  • Location:Seattle, WA

Posted Mon Mar 7, 2005 5:43 PM

Robert M said:

1.  The 650x family of processors is used in lots of computers at that time period.  So I recommend that you either pick up a Commodore 64 or an Apple II personal computer or a really good emulator of either.
Just out of curiosity, Robert:

Aren't the Atari 8bit computers 6502-based? And if so, wouldn't it be better to start with them instead of a Commodore or an Apple? At least that way you get a head start on players and missiles, not that they are that hard to understand.

Thanks,

-bob

#4 Robert M OFFLINE  

Robert M

    Stargunner

  • 1,481 posts
  • Rootbeer!
  • Location:Western NY state

Posted Mon Mar 7, 2005 5:50 PM

vdub_bobby said:

Robert M said:

1.  The 650x family of processors is used in lots of computers at that time period.  So I recommend that you either pick up a Commodore 64 or an Apple II personal computer or a really good emulator of either.
Just out of curiosity, Robert:

Aren't the Atari 8bit computers 6502-based? And if so, wouldn't it be better to start with them instead of a Commodore or an Apple? At least that way you get a head start on players and missiles, not that they are that hard to understand.

Thanks,

-bob


That is true. Atari computers used the 6502 as well. I was just listing examples from my experience. The key is to have one of these older systems that have enough RAM and a text interface that will allow more interactive development so the learner has time to get comfortable with the 6502 assembly language before tackling the VCS where if the kernel is unstable debugging can be a nightmare for the inexperienced programmer.

Since there are emulators for all the old 650x based systems. It might be best to find an old Machine Language for beginners book and then use the emulator for the system that happens to be the focus of the book. The goal is not to learn that other system, but to use its enhanced human interfacing abilities to learn assembly coding/debugging techniques.

Regards,

#5 Bruce Tomlin OFFLINE  

Bruce Tomlin

    River Patroller

  • 3,531 posts
  • CD C9 01
  • Location:Austin, TX

Posted Tue Mar 8, 2005 1:44 AM

AnkhSligh said:

I am only familiar with Java programming.
You might want to read this to get an idea of how different the thought process is when programming the 2600. While it's not quite as tricky as self-modifying code on a drum memory, it needs that kind of "out of the box" thinking...

http://www.cs.utah.e...lklore/mel.html

#6 AnkhSligh OFFLINE  

AnkhSligh

    Combat Commando

  • 2 posts
  • Location:Oswego

Posted Tue Mar 8, 2005 1:50 PM

Thanks for everyone's suggestions. I found a 6502 emulator here: http://home.pacbell....hal_k/6502.html . Does that look adequate? I did have some experience with RISC assembly in one of my classes but it was only very simple things like adding to registers, but this emulator looks similar to what I did. I'm in class right now so I can't check it out just yet.

#7 Robert M OFFLINE  

Robert M

    Stargunner

  • 1,481 posts
  • Rootbeer!
  • Location:Western NY state

Posted Tue Mar 8, 2005 3:26 PM

AnkhSligh said:

Thanks for everyone's suggestions.  I found a 6502 emulator here: http://home.pacbell....hal_k/6502.html .  Does that look adequate?  I did have some experience with RISC assembly in one of my classes but it was only very simple things like adding to registers, but this emulator looks similar to what I did.  I'm in class right now so I can't check it out just yet.

That looks like a good tool for learning the 6502. It comes with some library functions to print output, and it appears to have breakpoints and single stepping execution.

As a side note, you shouldn't spend a lot of time learning about interrupts on the 6502, because there are no interrupts in the Atari 2600.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users