65816 Reference

65816 Reference - Internal Registers, Addressing Modes, Instructions, Datasheets, Manuals etc.

ASM Hacking for Dummies

This document was written for the aspiring ROM hacker with little to no experience in 65c816 programming.

ASM Tutorial Part 2

Are you familiar with all the previous lessons yet? If so, that's great.. with all of that knowledge, you can do a lot of cool stuff - but you can always get better at ASM and make awesome stuff by learning more. So here's Part 2 of the tutorial, which for now only explains a bit of intermediate stuff. Don't worry, everything will be explained easily.

Lesson 6: Indexing

So... you know ...

Flag Clobber Table

Describes how each of the nvmxdizc flags change when different instructions run.

Instruction Wrapping

Program Counter Increment
  • Always wraps within the bank, at any point in the opcode.
Absolute -- a
  • Word reads in native mode will carry into the next bank.
Absolute Indexed X -- a,X
  • Adding X may carry into the next bank.
  • Word reads in native mode will carry into the next bank.
Absolute Indexed Y -- a,Y
  • Adding Y may carry into ...

Jay's ASM Tutorial

Introduction

This is a tutorial on 65816 ASM used in the SNES, made easy for dumb people to understand (sorta). In case you are wondering, I don't program in this language, so it is possible that I will write something incorrectly in this tutorial. If so, you can e-mail me at tennj@yahoo.com, to complain about how I suck at tutorials. Learning ASM language isn't easy. If ...

PHP

All about the PHP instruction

Timing

This is a document intended to describe various aspects of SNES timing. It will probably not be useful unless you already know a good bit about the SNES.

xkas

xkas (acronym for: cross-knight assembler) is a cross-assembler for the WDC G65816 processor, specifically tailored for use with SFC/SNES programming and translations but also supports GBA Thumb CPU (ARM7TDMI Thumb). The documentation below is for the most recent version of xkas.

Features

  • Supports All 256 Opcodes
  • Supports Labels / Sublabels / +/- Labels
  • Supports Math
  • Supports ASC ...