Garth prompted me to look into the state of play of reverse-engineering the 65ce02 - this is a rarely seen successor to the 6502 with a number of improvements and at least one new bug (
in decimal-mode SBC).
A preliminary datasheet from 1988 can be found in
the usual place nearby. Quoting from the description there:
Quote:
The Commodore 65CE02 is an enhanced version of the popular 8-bit 6502. designed with entirely new
internal architecture and manufactured in 2-micron, double-level-metal, CMOS technology for high speed
and low power consumption. The 65CE02 is code and pin compatible with existing 6502/65C02s.
The instruction set has been streamlined, removing most dead cycles which occurred due to page
boundaries and micro-code pipelines, allowing existing code to run up to 25% faster. Additional instructions
and addressing modes allow even greater program efficiency. Add to this operational speeds of up to
10MHz (100ns instruction cycles) and the 65CE02 is capable of a 350% decrease in program execution
time compared to a standard 4MHz 6502.
The visual6502 project has amassed a
collection of chips for deprocessing, photography, polygon capture and eventual rebirth as an in-browser emulator, but progress is slow. So far there are online transistor-level simulations of
6502,
6800, and
ARM1.
But elsewhere, nearby, John McMaster has been decapsulating, deprocessing and photographing a variety of chips, including both a
revision 1 and a
revision 2 of generously donated 65ce02s. This was tricky - a double-layer metal chip needs careful etching to expose the lower layer without too much damage. You'll find high-resolution photos and zoomable slippy maps at those links.
Pavel Zima has then gone on to capture the layers as polygon data and to draw up schematics of various parts, as stated on
his website:
Quote:
65CE02 CPUImproved version of 6502 from Amiga A2232 serial port card and as well part of Commodore 65 CPU. Opcodes taken from preliminary manual and corrected by reverse engineering of the chip photograph:
65CE02 opcodes.
Drawings of the layers of the revision 2 of the chip are here:
65CE02 layers. Original microscopic pictures are here:
http://siliconpr0n.org/archive/doku.php ... :65ce02-r2.
In the layers - pads are darker blue, metal2 is blue, metal1 is green, polysilicon is red, p-diffusion is pink, n-diffusion is light blue, n-well is grey, vias from metal2 to metal1 are yellow or dark blue if grounded or red if powered, vias from metal1 to polysilicon or diffusion are white or light blue if grounded or pink if powered.
Areas in layers images are here:
65CE02 areas.
It seems promising that, from the digitised layer information, someone could convert to the data structures needed for a visual6502-style transistor-level simulation. (As has been done
previously, by Quietus, for the RP2A03 NES chip, which embeds a copy of a 6502.)