Page 1 of 3 123 LastLast
Results 1 to 20 of 44

Thread: Newbie Wanting To Learn Assembly

  1. #1
    Insert Coin (Level 0)
    Join Date
    Apr 2008
    Posts
    12
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default Newbie Wanting To Learn Assembly

    I want to learn assembly for older games.. 8-bit and 16-bit. I have no experience in any programming language whatsoever.

    What's a good site that will teach me assembly or what should I go about learning this?

    Note: I'm posting this thread in several different sites so you might see this thread elsewhere.. just wanna get the quickest reply..

  2. #2
    Apple (Level 5) Superman's Avatar
    Join Date
    Feb 2007
    Posts
    1,025
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    It somewhat depends on how motivated you are. But since you have never done any programming before, I would recommend taking a class.

    Programming isn't something you can just "pick up". You need to learn the basics that are common or related to many programming languages. Then you can focus on the type of programming that interests you most.

  3. #3
    Insert Coin (Level 0)
    Join Date
    Apr 2008
    Posts
    12
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Quote Originally Posted by Superman View Post
    It somewhat depends on how motivated you are. But since you have never done any programming before, I would recommend taking a class.

    Programming isn't something you can just "pick up". You need to learn the basics that are common or related to many programming languages. Then you can focus on the type of programming that interests you most.
    Thanks for the quick reply.

    Sorry, I wouldn't want to take a class on it. I am motivated to learn this though..

    And I was hoping there'd be a few websites that would teach me enough to experiment on my own and learn different things on my own.

  4. #4
    Super Moderator Moderator
    Custom rank graphic
    Aussie2B's Avatar
    Join Date
    Apr 2004
    Location
    USA
    Posts
    9,280
    Thanks Thanks Given 
    35
    Thanks Thanks Received 
    133
    Thanked in
    111 Posts

    Default

    Heh, yeah, if it was that easy to pick up a programming language, then programmers wouldn't be in such high demand and paid so well.

    Try taking some college courses and see what you think of it. The first computer science course I ever took focused on C++, but we got to do some Assembly in my second (the C++ course was a prerequisite). We could only really get into the simplest of the basics in that semester, though, so if you expect to start programming your own games or being able to understand the code of older games, you're gonna be in it for the long haul.

  5. #5
    Great Puma (Level 12) jb143's Avatar
    Join Date
    Nov 2007
    Location
    St. Louis
    Posts
    4,250
    Thanks Thanks Given 
    5
    Thanks Thanks Received 
    69
    Thanked in
    62 Posts

    Default

    I'd definatly recomend learning C or BASIC first. Assembly is hard enough to grasp even if you know how to program already. Expecially if your doing graphics and games.

    Something else to keep in mind...there are C compilers for older systems that actually work quite well as long as your not wanting to do something super fancy. I've programmed the gameboy this way before and was always surprized by how fast the programs would run.

    Edit...
    by the way...I taught myself how to program by trying to make games starting back in 3'rd grade. I only took the classes in college to learn how to program efficiently. So, it can be done but it's still a lot of work.
    Last edited by jb143; 05-06-2008 at 04:21 PM.

  6. #6
    Cherry (Level 1)
    Join Date
    Sep 2006
    Location
    Chicago
    Posts
    345
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    If you want to learn programming, I don't really think that assembly is the best way to start. In order to understand it, you really need to understand what is happening under the hood. Reading a bunch of opcodes won't make sense to you. Unfortunately, you need to understand a lot of theory first.

    I'd either learn C, or a good basic assembly book for x86 is called Assembly Language Step-by-Step. It goes into the background of exactly what a computer does and how all the internals work. In my opinion, understanding that is essential to programming a low level language. In addition to simply understanding the languages, you really need to adopt a new way of thinking in order to program...using loops and other common programming logic. Even a language like BASIC would help get your mind in shape for programming.

    And as I always tell people learning to code for a console is the worst way to learn to code. Start with a well documented system like a PC and then maybe make the switch to easy, more documented systems like the Gameboy that are not very complicated.

  7. #7
    Ladd Spencer (Level 17) Sniderman's Avatar
    Join Date
    Jul 2002
    Posts
    9,319
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    This forum at Atari Age discusses all matters of programming. Right now, there are several "Please help me learn Assembly programming!" threads already in progress. Poke around there and see what you can find out.

    As for learning assembly in the comfort of your home, I suppose it's possible - if you're the kind of person who can self-teach themselves a foreign language. If you can sit down, read a book or a few web sites and learn to speak Portugese, you may have a shot. Lots of study and discipline to not throw in the towel after 20 minutes of "what the hell does THAT mean?!?!"

    /been there, done that myself...
    Still Around...Still Gamin'...

  8. #8
    Insert Coin (Level 0)
    Join Date
    Apr 2008
    Posts
    12
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Quote Originally Posted by jb143 View Post
    I'd definatly recomend learning C or BASIC first. Assembly is hard enough to grasp even if you know how to program already. Expecially if your doing graphics and games.

    Something else to keep in mind...there are C compilers for older systems that actually work quite well as long as your not wanting to do something super fancy. I've programmed the gameboy this way before and was always surprized by how fast the programs would run.

    Edit...
    by the way...I taught myself how to program by trying to make games starting back in 3'rd grade. I only took the classes in college to learn how to program efficiently. So, it can be done but it's still a lot of work.
    I'll try learning BASIC first, then. But where do I go to learn BASIC? I don't want to take a class.. I mean is there a site like http://learncpp.com is for C++?

    And I don't literally mean teach it but I mean to help me learn it..
    Last edited by UnsafeData; 05-06-2008 at 04:32 PM.

  9. #9
    Insert Coin (Level 0)
    Join Date
    May 2008
    Posts
    19
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Err, telling someone to learn C right off the bat and no other programming languages is a little bit too much in my opinion. Going from the bottom up (bottom as in something like html) would be much better. HTML doesn't take long to learn at all, as it isn't really hard.

    http://www.w3schools.com/

    Try there for programming languages.

  10. #10
    Insert Coin (Level 0)
    Join Date
    Apr 2008
    Posts
    12
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Quote Originally Posted by LightL View Post
    Err, telling someone to learn C right off the bat and no other programming languages is a little bit too much in my opinion. Going from the bottom up (bottom as in something like html) would be much better. HTML doesn't take long to learn at all, as it isn't really hard.

    http://www.w3schools.com/

    Try there for programming languages.
    Why start with HTML?

    And I did learn HTML from there but I don't do any web design and I'm not great at it, but I know the basics fairly well.

  11. #11
    Peach (Level 3) Cinder6's Avatar
    Join Date
    Jan 2007
    Posts
    679
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    PSN
    Cinder6

    Default

    Quote Originally Posted by LightL View Post
    Err, telling someone to learn C right off the bat and no other programming languages is a little bit too much in my opinion. Going from the bottom up (bottom as in something like html) would be much better. HTML doesn't take long to learn at all, as it isn't really hard.

    http://www.w3schools.com/

    Try there for programming languages.
    HTML isn't even a programming language. Why learn it? I self-taught myself C when I was in Jr. High; it wasn't very hard at all. Now I'm taking classes on it, and find myself way ahead of the pack. I stamped out 90% of my bad habits just by reading things online and participating in message boards.

    As for Assembly, I agree it's a bit of an undertaking for your first language. One thing to know is that each architecture has its own syntax and way of doing things. In general, though, what you learn in one architecture translates pretty easily into another; it's just something to be aware of.
    Knowledge is Power.
    Power corrupts.
    Study hard.
    Be evil.

  12. #12
    Great Puma (Level 12) jb143's Avatar
    Join Date
    Nov 2007
    Location
    St. Louis
    Posts
    4,250
    Thanks Thanks Given 
    5
    Thanks Thanks Received 
    69
    Thanked in
    62 Posts

    Default

    Quote Originally Posted by Cinder6 View Post
    HTML isn't even a programming language.
    I was going to say the same thing

    Anytime I actaully need to use assembly I usually write it out in C first and then translate it by hand. BTW...Has anyone here ever programmed for a MIPS processor? The C to assembly translation is incredibly straight forward. Not so much for older systems though.

  13. #13
    Insert Coin (Level 0)
    Join Date
    Apr 2008
    Posts
    12
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Quote Originally Posted by Cinder6 View Post
    HTML isn't even a programming language. Why learn it? I self-taught myself C when I was in Jr. High; it wasn't very hard at all. Now I'm taking classes on it, and find myself way ahead of the pack. I stamped out 90% of my bad habits just by reading things online and participating in message boards.

    As for Assembly, I agree it's a bit of an undertaking for your first language. One thing to know is that each architecture has its own syntax and way of doing things. In general, though, what you learn in one architecture translates pretty easily into another; it's just something to be aware of.
    Well I want to program for 8-bit or 16-bit consoles like an Atari 2600 or an NES.

    But what sites do you recommend for reference? Sites to help me learn C? The Atariage forum should help me with Atari.


    Quote Originally Posted by jb143 View Post
    I was going to say the same thing
    Me too but I but then I got a little confused why someone would mention HTML..

  14. #14
    Super Moderator Moderator
    Custom rank graphic
    Aussie2B's Avatar
    Join Date
    Apr 2004
    Location
    USA
    Posts
    9,280
    Thanks Thanks Given 
    35
    Thanks Thanks Received 
    133
    Thanked in
    111 Posts

    Default

    Quote Originally Posted by jb143 View Post
    Has anyone here ever programmed for a MIPS processor? The C to assembly translation is incredibly straight forward. Not so much for older systems though.
    I'm just finishing up a course on MIPS architecture this semester. We translated a lot of C code into MIPS Assembly for practice. It was pretty fun. Definitely a lot simpler than the Assembly I had to do years ago.

    I still can't stop thinking of the dang rabbit in Super Mario 64 every time I hear "MIPS", though, heh.

  15. #15
    Banned
    Poofta!'s Avatar
    Join Date
    Feb 2005
    Location
    Brooklyn nYc
    Posts
    2,673
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Xbox LIVE
    bow to postulio
    PSN
    MofoicDisaster

    Default

    im gonna chime in and agree with what everyone just said, youre not learning assembly to start off by yourself. you might not even be able to learn BASIC/C++ unless youre a certain mentality.

    id recommend screwing around in VB just a little to get a sense of what programing IS. most people will get bored/annoyed and quit there. if you like it, then drop it quick and take an intro to programming course at the local community college. i second madman77's book recommendation, you really should learn how the pc talks to itself before you start telling it how to do things.

    although i never tried, the for dummies books might be of SOME help in at least introducing you (and holding your hand along the way) to some basic principles and tricks of programming in BASIC or C++ so youd be much more at ease with going to a website (or jsut running the language) and trying to mess around doing new things.

    Assembly will come after, probably a year or so. and as was mentioned, Assembly is platform specific, althoug the theory is the same. youd probably wanna start with something really simple like the GB (there is also a lot of help available for this particular platform).

    i hope you have some art skills too, as photoshop will probably be a huge part of whatever youre making (pixel art at the least, maybe even 3d).

    if you dont wanna learn anything and jsut make a [relatively] simple rpg, the rpg maker windows program is pretty user friendly and can go quite in depth (or so i hear).

    good luck! but phrases like ' i dont wanna take a class ' already sets you in the wrong direction.

  16. #16
    Flawless Rawkality Flack's Avatar
    Join Date
    Aug 2003
    Location
    OKC, OK
    Posts
    14,273
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    4
    Thanked in
    3 Posts

    Default

    You're not going to like this answer, but already in this thread you've pretty much convinced me that you will never learn assembly programming.

    I've been peripherally involved in the "hacking" scene for twenty-five years now, and there seems to be a never-ending flood of people asking, "can you teach me to hack?" The very core of hacking is being curious about computers/networks/systems. It is a thirst for knowledge that can only be quenched through exploration. So to say "teach me how to hack" is like saying, "teach me how to be curious and show initiative." Even if there were a magic class that taught you every hacking technique known to man, what would be the point of instilling it into a person that can't even use Google to learn the basics of a topic they claim to be interested in?

    Programming is pretty much the same thing. Programming, at its core, is solving problems by using instructions a computer can understand. I can't tell you how many times I've sat at a keyboard, racking my brain trying to solve a logic puzzle. I can't tell you how many times I've woken up at three in the morning, shouted "aha!" and run to a computer with a programming solution. I can't tell you how many times I've written programs, figured out a better solution than my initial one, and the scrapping weeks of works in a second.

    Programming is all about solving problems and patience, two things you showed you lacked in your initial post. First, you admit to cross-posting on multiple sites because you couldn't stand to wait the couple of hours for someone to respond. Then, you showed me you didn't want to spend the five minutes of searching on Google it might take to turn up a few tutorials or, god forbid, a book you might be forced to read.

    I'd be willing to bet my bank account against yours that you'll never produce anything in assembly. That being said, I'd love for you to prove me wrong. There is no magic shortcut when it comes to programming. You'll need to read, learn, practice, experiment, and most of all, show a little initiative. If you want to get started, well, here ya go.

  17. #17
    Insert Coin (Level 0)
    Join Date
    May 2008
    Posts
    19
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Quote Originally Posted by UnsafeData View Post
    Why start with HTML?

    And I did learn HTML from there but I don't do any web design and I'm not great at it, but I know the basics fairly well.
    Just for the fact that it allows for the most basic understanding of what a language does when your coding it. I didn't mean for him to spend a week on it, just understand why things happen, and then go further. Overall though, it's probably not necessary, but it would help understanding how things work on a basic level if he has no idea what's going on in the background.

    Edit: I just assumed that he had started with no experience whatsoever, and from the way he posted, I also came to the conclusion that going with the simpler would be better, as getting confused and frustrated wouldn't really happen as often (if at all, depending).
    Last edited by LightL; 05-06-2008 at 06:28 PM.

  18. #18
    Banned
    Poofta!'s Avatar
    Join Date
    Feb 2005
    Location
    Brooklyn nYc
    Posts
    2,673
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Xbox LIVE
    bow to postulio
    PSN
    MofoicDisaster

    Default

    Flack, you pretty much summerized what i was being nice and avoiding (people seem to think im a prick lol).

  19. #19
    Peach (Level 3)
    Join Date
    Jan 2005
    Posts
    757
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    I wouldn't bother learning modern RISC based assembly language like they teach in college these days. If I were you, I'd go on ebay and find an old book on assembly language for the Commodore 64 or Apple ][, and read it cover to cover. They'll teach you more practical assembly (and programming in general), plus both machines use similar CPUs to the NES/2600. Learning how a modern PC or some toy CPU like MIPS works won't help you much with a NES. I also highly recommend reading some of the manuals and checking out some of the homebrew projects on 6502.org.

    Speaking as someone who programmed (but never finished) a Space Invaders clone for the Sega Genesis, I would NOT recommend writing an entire old school game for the NES purely in assembly. Write the main code in C and do the low level stuff and interrupts in assembly. Unless you want to drive yourself insane.

  20. #20
    ServBot (Level 11)
    Join Date
    Oct 2003
    Location
    Michigan
    Posts
    3,811
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    There's actually a book called Assembly Language Step By Step by Jeff Duntemann that attempts to teach assembly as a first language. Look it up on Amazon or something, and good luck.

Similar Threads

  1. Joystick assembly
    By SegaAges in forum Classic Gaming
    Replies: 3
    Last Post: 04-04-2009, 12:41 AM
  2. Replies: 8
    Last Post: 02-22-2009, 05:11 AM
  3. WTB: v9 PS2 Drive Assembly
    By atreyu187 in forum Buying and Selling
    Replies: 0
    Last Post: 01-18-2009, 07:36 PM
  4. WTB Virtual Boy Clamp Assembly
    By evilmess in forum Buying and Selling
    Replies: 9
    Last Post: 03-03-2005, 07:40 AM
  5. wanting a neo geo cdz wanting to trade..
    By microapple in forum Buying and Selling
    Replies: 1
    Last Post: 07-22-2004, 01:07 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •