by Hukos » Sat Mar 4, '17, 4:02 am
Assembly language is a low-level programming language. What that means is that its operations are largely 1:1 to binary machine code (or close enough, anyway). Because programming in binary is not fun, so this was considered a step up.
However, we've largely moved on past assembly onto higher level programming languages because high level programming languages are more abstract.
In C++, this is how you would get a console to display a simple message:
------
#include <iostream>
int main ()
{
std::cout << "Hello!" << endl;
return 0;
}
----
The important thing to know is that std::cout is just a command to display some text on a console (like the command line). That's pretty easy, right? Well, doing the same thing in assembly takes far more lines of code, because you have to specifically tell the program to do some important stuff that higher level languages already do for you.
The Sega Genesis (or MegaDrive) in particular uses the Motorolla 68000 (sometimes called 68k) processor so that's the assembly language you'd have to learn in this case. I've heard other people say m68k is one of the easier assembly languages to learn, but I still can't hack it for the life of me.
To understand why assembly can be nightmarish to read, look at this and tell me if you have any idea what's going on:
----
move.w #$068A, D0
move.b #$0A, D1
add.b D1, D0
jsr Object1
Object 1
mulu.b $#03, D1
divu.w D1, D0
rts
-----
Does that look terrifying to you? Because it does to me. And as far as I know, that is braindead simple level of code. There was a period where I tried to learn that stuff but I got burnt out on trying to learn how.
I've peeked at the Phantasy Star disassemblies, but I'd have absolutely zero clue how to extract any music data from them, that's for someone far smarter than I am.
Last edited by
Hukos on Sat Mar 4, '17, 4:02 am, edited 1 time in total.
I feel the way you would