skaro
Junior Member
Posts: 94
|
Post by skaro on Dec 29, 2015 1:19:44 GMT -6
I was going to text you (Ixos) but its late, I'm drinking, and I don't want to blow your phone up. I know that its archaic compared to what you're doing but I really wants to learn. How would I go about teaching myself 6502 assembly language? What would be the best way to learn it? I've been watching a bunch of videos on hacking NES ROMs and parts of it look relatively easy. I understand what they are doing when they are tinkering with graphics and colors. I get how they are changing text. Originally I thought 6502 used hex but after watching some vids it looks like base14. Whatever, i'm good with converting decimal to base anything. I can solder. I would have to figure out the program they are using to split and write the two ROMs but even that doesn't look to hard. So at first I'm going to play around with this stuff but long term I want to make my own games. To do that I'm going to have to learn 6502.
After watching parts of these again it does look like HEX. When he pulls up the ROM it has 16(?) columns of two digits, zero through F (which would be HEX). Now the part to the right of that is the 6502 language, correct?
The reason I thought it could be base 14 was because the color pallet only went from zero through D. Whatever, that dosent matter.
Anyway, how would I go about learning 6502? What would you suggest?
|
|
skaro
Junior Member
Posts: 94
|
Post by skaro on Dec 29, 2015 1:33:27 GMT -6
Here is the one on text. Forgot to add it.
|
|
|
Post by Ixos 2: the Sequel on Dec 29, 2015 18:56:53 GMT -6
Google is your friend: www.6502.org/tutorials/skilldrick.github.io/easy6502/www.i-programmer.info/news/98-languages/4474-learn-6502-assembler-the-easy-way.html (I think this is just a link to the above page, though.) www.dreamincode.net/forums/topic/152401-nes-game-programming-part-1/ (I think this talks about writing in C actually, which I guess isn't what you want) www.retrocollect.com/News/learn-how-to-make-your-own-nintendo-nes-games.htmlhttps://www.reddit.com/r/retrogaming/comments/3q78qh/how_do_i_programmake_a_nes_game/ https://www.reddit.com/r/learnprogramming/comments/1i8vtp/i_want_to_write_an_nes_game_i_have_basic/ You say this is much more primitive than what I'm doing, and that's probably true, but also probably a whooooole lot harder. What I do every day doesn't involve a whole lot of programming logic, pretty much just knowing what the libraries do and wrestling them into submission so they'll actually do it (to not sell myself too short, I do have to use logic every once in awhile). I mean, I'm just making the site talk to the database and whatnot. C# is pretty high level (which means that the very expensive tools I get to use do a lot of the nitty gritty work for me), whereas assembly/assembler/6502/whatever is a lot lower level - which means you have to do most of the work yourself ("closer to the machine"). Having said all that, if you really want to learn to write code, probably starting with some beginner's tutorials online is a good way to start. You should be able to find some free ones to get you started (the links above may or may not be good). Other than that, practice and patience, and lots of both. You aren't going to write a Pong knock off in a month, let alone anything like a good (or even shitty) NES game. Not trying to discourage you, just wanting to give you an idea of what you're getting into (I've been a professional software developer for like three years, and my code still sucks). If you're not married to 6502, there is a ton of stuff out there. Lots and lots of free lessons and whatnot on the interwebs, for various languages. Might not be a bad idea to just pick a beginner's tutorial at random and work through it, doesn't matter what language, just to see if you actually like programming or not. Because I guarantee there's going to be a whole lot of writing, rewriting, debugging, and cussing before you get anything to happen (except for Hello World, that's just dumb and every damn tutorial will start off with it). But if the brief satisfaction you get from seeing the goddam machine do what you told it to do when you told it to do it outweighs the blood, sweat, and tears it took to get to that point, you're probably going to like it. Assembly language or no, Google really is your friend. Programming is hard, and not that many people are good at it, but the ones that are like to put what they know on the internet for others to see. Google-fu is all about knowing what question to ask (they even have college courses for this, from what I understand...what a world, what a world...), and my Google-fu has become very strong since I started programming (if I do say so myself). Stackoverflow.com is probably the best site on the web for programming questions. Just be careful - this thing is like TVTropes - it's part of the StackExchange network with lots of different question and answer sites, and they have links on every page to Hot Network Questions (one of them on the first 6502 page I went to is "Why is Kylo Ren fixated on just one of his parents?", which if it hadn't already been (maybe?) spoiled for me, reminds me "DAMN YOU INTERNET!!!!"). Sorry I don't have any good advice. My own experience was a desire to earn a paycheck without doing manual labor for it, and my desire to keep programming is to keep earning that paycheck. (And I do enjoy seeing the goddam machine do what I tell it to do when I tell it to do it...)
|
|