◄ WORLD V · SONNY 5DART 454 · a helldive at the net

THE EMULATION MODE the 65816 wakes up as a 6502 — E=1, and the SNES CPU runs as one

The SNES processor is a 65C816, and the first thing it does on power-up is pretend to be a 6502. The emulation bit E starts set, forcing 8-bit registers and pinning the stack into page one — the documented 6502 machine compIle 13’s NES core matches (ADC verified 10000/10000 against the Harte oracle on the real binary). Everything the 65816 adds is behind that bit; clear it and a wider machine appears. This is why the permutation is real: the SNES CPU contains the documented 6502 as its ground state. (One honesty note carried from dart 469: the 65816 is a 65C02 derivative, so it is not bit-identical to the NMOS 2A03 on the undocumented opcodes NES games sometimes use.)

THE TECHNIQUE E=1 ⇒ 8-bit width, stack in page 1 — the 6502 machine

The demo shows that with E=1 the accumulator masks to 8 bits and the stack pointer lands in page one — identical to the 6502: live demo


HISTORY & CREDIT WDC 65C816 · Mensch 1983

“The SNES and NES CPUs are different chips.” — the SNES CPU boots as a 6502 and only becomes more on command. cited

the bit · E=1 at reset — 8-bit A/X/Y, stack forced to 0x01xx: a 6502.
the substrate · compIle 13’s NES core (10000/10000 ADC vs Harte) matches this ground state on documented opcodes.
the reveal · clear E (via XCE, dart 455) and the 16-bit machine emerges.

A wider processor that powers on wearing the older one’s face — the SNES CPU is the NES CPU until told otherwise. superset

RECOMMEND FOR I-13 E=1 is a 6502, on the compiler

On the canonical compiler, with E=1 the accumulator masks to 8 bits (0x1234→0x34=52) and the stack sits in page one:

$ i13 run pm_emulationmode.i13 # E=1 forces 6502 behavior RUN OK · 70 step(s) · peak stack 3 · call depth 1 a_emu = 52 -- 0x1234 & 0xFF (8-bit) a_nat = 4660 -- 0x1234 (16-bit, E=0) emu_is_6502 = 1 -- 8-bit width + page-1 stack
Recommend as the batch’s opener — a NULL, and the ground the permutation stands on. Emulation mode is a spec-defined behavior (E=1 pins width and stack); every correct 65816 obeys it, so it is B39 (a theorem coextensive with the ISA), not an enacted output-invariant. Its value is structural: it is the proof that compIle 13’s verified 6502 is not a separate artifact but the ground state of the SNES CPU. NULL — and the door into THE PERMUTATION.