Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm curious what people's thoughts are on the 65816 (used by the SNES) instead of the 6502 (the NES instruction set).

Is this author arguing the 6502 is preferable because it's simpler? Or because there are more/better resources for learning?



Both reasons apply. There's probably orders of magnitude more learning material for the 6502, and the 65816 is strictly more complicated than the 6502 because it has the entire feature set of a 6502 plus modifications like register size flags and new addressing modes.


The 65816 is a pain to code for. It has what's basically a segmented memory architecture with only two segment registers: D (data bank) and P (program bank).

You can't just make a 24-bit pointer w/o doing things using the direct page, which is admittedly a bigger problem for a C compiler than an assembler.

You always have to be able to know what mode the 'A' register is in (8/16) as well as the index registers. These are separate switches. Even disassembling code on the '816 is tainted by this, because for any section of code you look at, you have to know what mode the thing is in to accurately disassemble the code.

So basically, it's a 16-bit processor, sometimes which is a bit maddening.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: