65c816 Code Snippets
65c816 Code Snippets - Hopefully useful code snippets for the 65c816.
65c816 Code Snippets - Hopefully useful code snippets for the 65c816.
This document was written for the aspiring ROM hacker with little to no experience in 65c816 programming.
So... you want to make a block that freezes Mario only when he's small?
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.
So... you know ...
Those infos are from bsnes source code (there's only differences from Original Mapping) :
$00-$1F $8000-$FFFF : ROM/PSRAM/Data Pack
$80-$9F $8000-$FFFF : ROM/PSRAM/Data Pack
$00-$0F $5000 : MMIO
$10-$17 $5000-$5FFF : SRAM
$20-$3F $6000-$7FFF : PSRAM (From offset $6000 of PSRAM) (Direct Access)
$40-$7D $0000-$FFFF : Memory Pack [HiROM mode]
$40-$4F $0000-$FFFF : ...
BS-X Satellaview Header
Basic ca65 Usage for SNES Programming
BRR, or Bit Rate Reduction, is the sound encoding scheme used by the SPC700, the sound chip in the SNES.
Breath of Fire 2 technical notes
Compression Formats
Below is a decompressor and recompressor for GD Leen. This has been updated to compile with GCC, below that is the original unmodified file.
//------------------------------------------------//
// Decompressor and Recompressor: GDLeen ver 1.0 //
// //
// Coded By: John C. (Bongo`) ...
Version 1.0 - Copyright 2003: The Dumper
The Game Doctor SF3/SF6/SF7 backup units for the SNES use a 512 byte header.
The format is as follows (all numbers are hexadecimal):
0000-000F
47 41 4D 45 20 44 4F 43 54 4F 52 20 53 46 20 33 "GAME DOCTOR SF 3"
This is the ID string for a Game Doctor SF header.
0010
SRA ...
Gau_Veldt (formerly gau@netbistro.com) I'm now gau_veldt and on hotmail instead of netbistro.com
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
Tutorial on writing to DSPRAM without any SPC700 code
Fix grammar
Learning 65816 Assembly
Aceman2000's Tic-Tac-Toe tutorial
How to use Markdown
Megaman X3 / Rockman X3
A few games on Super Famicom supports Memory Pack and Satellaview content.
Memory Pack can be accessed through the 3rd menu from the top and left.
Content must be at the start of Memory Pack, must be HiROM and 4M.
$A080E0 (0x80E0): "JYAN-OH TOHRYUMON SFX (SAT-VIE ...
4-2-21 15:17 : Created article
Old BBS Messages related to SNES or Programming
All about the PHP instruction
bazz's controller input tutorial
S-DD1
The SA-1 is a coprocessor capable of running at four times the base speed of the SNES main CPU when access does not conflict with that of SNES CPU, DMA or HDMA processing. It provides additional shared RAM, visible to both the SNES CPU and the SA-1, and optionally backed up by battery referred to as BW-RAM with a maximum install RAM size of 256 KB (2 Mbit).
Version 1
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.
Sprites are important to every game.
SPC is an audio format for playing native SNES audio.
The ST-0010 is a DSP chip from Seta; it is actually a NEC uPD96050, as confirmed by decapping. It's only used, and barely so, in 1 game:
The development PCB for this chip has the serial SETA ESP-0019C SHVC PCB
and the following chips:
DSP Crystal
=========
Seiken Densetsu 2 / Secret of Mana
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.
a
Space Funky B.O.B.
Once you've programmed a game or other bit of data for SNES, you'll probably want to try to, well, test it.
Although for most software these choices are, mostly, about preference. Most games which require Expansion Chips other than the DSP-1 may require less than favorable methods of testing (either emulation or reproduction cartridge).
...
Zelda - A Link to the Past Decompression Code
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.
The Super Flash Cart 64M (SFC) is an 8MB SNES cartridge with flash memory and battery RAM. It comes with a separate programmer. I obtained the following information by hot-swapping the cartridge into an already-powered SNES running probing programs, and making minor modifications to its mapping scheme.
The SNES has a 24-bit a ...
Translucency
Useful Ruby Snippets
bazz's NMI-VBLANK tutorial
Widespread Programming Myths, These are myths that frequently show up that mislead people into writing bad code based on false perception of what the system actually does.
Part 1 of bazz's VRAM tutorial
Part 2 of bazz's tutorial
Fixed typo
Quote: Krazystyle
To the Xband Community... I've been pretty hard pressed to release these files into public domain. I wouldn't be doing this if I honestly didn't feel like maybe one day the right group of people getting ahold of these files could potentially bring justice to the original device. Attached in the following link is a zip file containing documentation of i ...
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.
Below is an example of using Xkas to patch an existing game. The game is Super Mario World and the patch was coded by Videogamer555, you can also view the original thread.
Firstly you need the SMW ROM without a header, and should expand the ROM ...