65816 Reference

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

Flag Clobber Table

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

General Advice

The most important thing to know about 65816 optimizations is to not try to emulate other CPU architectures. A lot of games (games with a lot of slowdown) have this programming style where the programmer pretends that a couple memory locations are 68000 registers or high-level local variables, and the accumulator is only there as an operand buffer. Please avoid this style of programming. It is

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 ...

SNASM

A SNES 65816 Cross Assembler for the IBM PC

Version 1

Introduction

SNASM is a 65816 Cross Assembler which produces SNES code in Super Magicom format.

SNASM is a fast 2 pass assembler, supporting source and binary include files, generation of listing files and labels files, generation of executable or object files and support for all 65816 instructions and addressing modes.

C ...

Setting Up a Programming Environment

Before you dive into writing Super Nintendo programs, you need the necessary utilities and other things that will simplify your journey of learning how to program this beast.

Documents

  1. One great assortment of files was gathered by Qwertie, it contains documents on the cpu, graphics, etc: snesbase.7z
  2. Yoshi's docs - Oh wait, that's in the zip above. :) (i ...

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 ...