Jump to content
IGNORED

Is it just too hard to learn atari 2600 assembly as first language?


ClintTX

Recommended Posts

I have no prior programming experience, I don't know Basic or any high level languages like C and stuff. I'm having a heard time understanding learning 6502 assembly language. I'm doing the tutorials, but I don't know how much I'm really learning as it is kind of just going through someone else's work. The Atari 2600 just seems to have so much to think about with the TIA and RIOT and everything. I try to open up some of my favorite games in stella and go into debug mode and step thru programs line by line to try to understand what is going on in the registers. It's slow going and I don't know if I'll ever be able to actually do much my self as the programs seem to be so long and the structure is hard to understand right now.

Link to comment
Share on other sites

I'd recommend sticking with it. You're probably learning a lot more than you realize. Keep in mind that understanding a program by looking at its disassembly is a very advanced skill. Not being able to step through your favorite game in the debugger should be expected at this point.

 

Just keep playing with the tutorials and experimenting. The best thing you can do while learning is keep everything simple. Lots of small steps towards an easy goal. Changing the background color when the button is pushed would be a good example of a first program to write on your own. Don't be scared to copy paste existing code either.

 

Most importantly. If you get stuck, just post your problem here and attach the source file. Having your code reviewed by others will always be beneficial.

Link to comment
Share on other sites

The short answer is no, it's not too hard.

I'd go further and say it's an exceptionally good first language.

It's fairly simple and will give you a lot of what you need to know as a foundation

for more "advanced" stuff.

 

You're probably just at the steep part of the learning curve. Keep slogging and

in a month or three you'll look back and say 'I really have learned some stuff'

 

The way you're doing it is sort of jumping in at the deep end.

That's not a bad way, but it's probably not the easiest way.

 

You sort have two things to learn simultaneously, the intracacies of the 6502

and the intracacies of the 2600

You need to know the 6502 to do the 2600, but you don't need to know the 2600

to learn the 6502

It's kinda like you want to write a novel in a language you're just learning.

You probably wouldn't try to learn the language ONLY by reading the some novels

but reading the novels isn't at all a bad way to learn the language.

 

There are fairly painless ways to explore simple stuff on the 6502

Two that I like are this Javascript emulator and Michal Kowalski's 6502 emulator

 

And don't over look Batari basic. You can play with the 2600 without knowing all the intracacies,

(you can feed it assembly, it doesn't have to be BASIC). When you're ready, try writing a minikernel

 

 

 

You might want to poke around on 6502.org

Edited by bogax
Link to comment
Share on other sites

I'm doing the tutorials, but I don't know how much I'm really learning as it is kind of just going through someone else's work. The Atari 2600 just seems to have so much to think about with the TIA and RIOT and everything.

Have you seen this post, Learning 6502 assembly language? It points to another site that uses the same javascript 6502 assembler and simulator that bogax linked to, but includes a step-by-step 6502 assembly tutorial that should get you on your way.

  • Like 1
Link to comment
Share on other sites

Have you seen this post, Learning 6502 assembly language? It points to another site that uses the same javascript 6502 assembler and simulator that bogax linked to, but includes a step-by-step 6502 assembly tutorial that should get you on your way.

Thanks, I just found that last night and it's really cool. Darrell, I was wondering if you have released the source code for collectmini yet?

Link to comment
Share on other sites

Thanks, I just found that last night and it's really cool. Darrell, I was wondering if you have released the source code for collectmini yet?

I forgot to post it in my blog, though I did put it up on my site the day after the presentation. Here's a direct link to the source.

 

I'll add it to my blog tonight, had just stepped inside to get a drink - been busy putting up Xmas lights.

Link to comment
Share on other sites

I started giving it a shot a couple of weeks ago and its not as hard as I thought it would be. Have you tried Kirk Israel's Atari 2600 101 on the programming page? I highly recommend it. He explains just about everything on a very basic level- understandable baby steps. If you've been going through other people's code and getting lost, its good for you as well. He's writing really basic stuff that you can figure out how to alter or add to pretty quick. Also, have you read through the Stella manual or Assembly in One Step?

Link to comment
Share on other sites

I just found the Atari age main programming page and the Kirk Israel lessons, I'm starting to get the hang of things slowly now and don't feel quite as discouraged as I did. I think I was expecting to understand how a full game works, but I'm starting from scratch, so just need to slow down some.

Link to comment
Share on other sites

I think I was expecting to understand how a full game works

 

It's very difficult if you don't have the sources, even if you're fluent in asm and 2600 architecture. Sure you'll recognize parts of code purposes, but often have to guess what the programmer wanted to do. For example, because of only 128 bytes of ram, he could re-use some ram locations for different purposes.

The tutorials mentioned up there are great, keep learning, I wish you lot of fun :)

Link to comment
Share on other sites

Have you seen this post, Learning 6502 assembly language? It points to another site that uses the same javascript 6502 assembler and simulator that bogax linked to, but includes a step-by-step 6502 assembly tutorial that should get you on your way.

 

Where do you think the link for Easy 6502 should go in this list:

 

randomterrain.com/atari-2600-memories-tutorial-andrew-davie-01.html#useful_links

Link to comment
Share on other sites

Where do you think the link for Easy 6502 should go in this list:

 

randomterrain.com/atari-2600-memories-tutorial-andrew-davie-01.html#useful_links

 

While I'm not familiar with the other 6502 links, I'd probably I'd put it towards the top because it includes a ready to use environment to interactively learn in. The others require you to have set up someplace else to experiment with the code, which can be a detriment for somebody just getting started. This can be seen by all there posts here at AA by users who haven't been able to get their code to compile and/or run in Stella.

 

The site for Guide to 6502 Assembly Language Programming by Andrew Jacobs appears to be gone.

Link to comment
Share on other sites

 

While I'm not familiar with the other 6502 links, I'd probably I'd put it towards the top because it includes a ready to use environment to interactively learn in. The others require you to have set up someplace else to experiment with the code, which can be a detriment for somebody just getting started. This can be seen by all there posts here at AA by users who haven't been able to get their code to compile and/or run in Stella.

 

The site for Guide to 6502 Assembly Language Programming by Andrew Jacobs appears to be gone.

 

Thanks and thanks for catching the missing web site. Here's that missing web site at archive.org:

 

web.archive.org/web/20141010125750/http://www.obelisk.demon.co.uk/65C02/index.html

 

Do you think the information on the archived version of that site is worth linking to or do you think I should just remove it?

Link to comment
Share on other sites

Took a quick look, might as well keep it. Though I'd use the link to the 6502 part of the site instead of the 65C02.

 

http://web.archive.org/web/20141010125747/http://www.obelisk.demon.co.uk/6502/index.html

Thanks. If you (or anyone else reading this) have anything else that should be added to the Useful Links section or has ideas about reordering the list or removing links that may not be as useful as others, please let me know. Dreamweaver makes it easy to change multiple pages in seconds, so it's not hard to find and replace large chunks of code.

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