home   |   the links mine   |   6502 primer   |   large math look-up tables   |   65c02 assembly structure macros   |   simple multitask   |   6502 interrupts   |   zero-overhead Forth interrupts   |   RS-232 primer   |   assembly relevant today   |   NMOS-CMOS 6502 differences   |   6502 stacks treatise   |   workbench computers   |   self-modifying code   |   '816 misunderstandings



The 65816 microprocessor: Common Misunderstandings, Plus Attractions


Forum posts continue to show misunderstandings and fears about the 65816 processor, ones that make 6502 enthusiasts shy about taking the step up to the better processor.  This article seeks to address those, and to clarify things.  It is subject to constant improvement, like my others.

The '816 opens up new freedoms, without any obligation to use features you're not ready for.  It's not a package deal.  Instead, there's a lot of freedom to order "à la carte" or treat it like a buffet table.  Choose what you do want, and leave the rest alone.


First, the common misunderstandings:



These are some of the attractions the '816 offers:


The '816 does not have an MMU; but "address 0" may refer to various different things:


If you're intimidated by the '816, you can initially program it just like a 6502, then add new instructions and addressing modes and use the wider registers little by little as you're comfortable.


See also:



As usual, I must recommend the excellent programming manual, "Programming the 65816 including the 6502, 65C02, and 65802" by David Eyes and Ron Lichty.  This is a .pdf file of a rather large book that is well laid out and is much better than the description there lets on.  Note: There were many problems with the earlier .pdf version that were not in the original paper manual; but in late March 2015, WDC scanned and OCR'ed the paper manual and posted the new, repaired .pdf.


Thanks to forum members BigDumbDinosaur, Dr Jefyll, Chromatix, Drogon, and floobydust for help for this article.


last updated Sep 13, 2021         Garth Wilson   wilsonminesBdslextremeBcom (replace the B's with @ and .)