Forgot your password?
typodupeerror
Hardware

Preserving Great Tech For Posterity — the 6502 290

Posted by timothy
from the double-secret-reverse-engineering dept.
trebonian writes "For great old hardware products like the MOS 6502 (used in the Apple II, the C64, the Nintendo NES), the details of the designs have been lost or forgotten. While there have been great efforts to reverse engineer the 6502 from the outside, there has not been the hardware equivalent of the source code — until now. As Russell Cox states: 'A team of three people accumulated a bunch of 6502 chips, applied sulfuric acid to them to strip the casing and expose the actual chips, used a high-resolution photomicroscope to scan the chips, applied computer graphics techniques to build a vector representation of the chip, and finally derived from the vector form what amounts to the circuit diagram of the chip: a list of all 3,510 transistors with inputs, outputs, and what they're connected to. Combining that with a fairly generic (and, as these things go, trivial) "transistor circuit" simulator written in JavaScript and some HTML5 goodness, they created an animated 6502 web page that lets you watch the voltages race around the chip as it executes. For more, see their web site visual6502.org.'"
This discussion has been archived. No new comments can be posted.

Preserving Great Tech For Posterity — the 6502

Comments Filter:
  • by DancesWithRobots (903395) on Thursday January 06, 2011 @11:53PM (#34787224)
    But wasn't the C64 processor a 6510? I could be wrong.
  • by Amorymeltzer (1213818) on Thursday January 06, 2011 @11:56PM (#34787252)

    Yes [wikipedia.org], but the difference ain't much.

  • Not so fast... (Score:5, Informative)

    by jimmydevice (699057) on Friday January 07, 2011 @12:06AM (#34787338)
    "the details of the designs have been lost or forgotten. While there have been great efforts to reverse engineer the 6502 from the outside, there has not been the hardware equivalent of the source code — until now"
    The schematic for the 6502 has been available for years on the net. Printed on one sheet of photo paper at 1200 dpi, every transistor is visible. It's quite amazing.
  • by Anonymous Coward on Friday January 07, 2011 @12:28AM (#34787452)

    Well, the current doesn't, either, technically; the orthogonal EM field transfers energy along the conductors.

  • nontrivial! (Score:5, Informative)

    by sillivalley (411349) <sillivalley@com[ ]t.net ['cas' in gap]> on Friday January 07, 2011 @12:48AM (#34787564)
    The 6502 as used in the Apple ][ had some interesting quirks -- such as dummy read cycles that appeared on the bus when executing indexed operations. Woz used these dummy memory cycles in designing the original Apple ][ disk controller to whack the disk controller state machine. Undocumented at the least! Some of the Apple ][ disk copy protection schemes (particularly for games on 5 1/4 inch floppies) also relied upon undocumented behaviors in the processor, such as some of the "unused" opcodes.
  • by Anonymous Coward on Friday January 07, 2011 @01:11AM (#34787708)

    The problem with the site is that it requires several million dollars in EPA compliance work to clean up the water table surrounding the plant, which is pretty severely contaminated.

    Its been a real hot issue in the plant's township for a few decades now.

  • Re:Painful (Score:5, Informative)

    by oldhack (1037484) on Friday January 07, 2011 @01:29AM (#34787788)

    6502 made up for lack of registers with extra addressing modes, but they were relatively uniform across the instruction set, making the instruction set simpler and more orthogonal, whereas many x80 instructions designate specific (and different) registers for operand, making the instruction set rather ugly. You could see the nasty root of x86 instruction set even then, although, as you said, it wasn't so bad because 8080/z80 was much simpler.

    6502 didn't have multiply either, and it's true z80 was more powerful in several ways.

  • Re:nontrivial! (Score:4, Informative)

    by NixieBunny (859050) on Friday January 07, 2011 @02:48AM (#34788168) Homepage
    Woz wasn't the only person to abuse the 6502. Don Lancaster took advantage of the address bus behavior or the chip when executing NOPs to make his cheap video display (the TVT 6-5/8) board. He basically used the processor as a 16 bit counter that could be loaded under software control during the horizontal blanking time. So the CPU chip became a video chip.
  • Wot no BBC Micro? (Score:4, Informative)

    by mustrum_ridcully (311862) on Friday January 07, 2011 @05:40AM (#34788860)
    Thought I should mention the BBC Micro (aka Acorn Proton), manufactured by Acorn Computers (RIP) who gave the world the ARM microprocessor, as it also used the 6502. BBC micros equipped with a 6502 2nd processor were actually used to develop the first generation of ARM processors. So yes the humble 6502 is a pretty important processor, if Acorn had used the 6800 or 8088 then we might not have the ARM processor today.
  • Re:Painful (Score:4, Informative)

    by TheRaven64 (641858) on Friday January 07, 2011 @05:54AM (#34788914) Journal

    The 6502 is also interesting from an historical perspective because, along with Berkeley RISC, it was one of the inspirations for the ARM architecture. ARM was created by a small team at Acorn to replace the 6502 in their product lines. Being able to easily port code from the 6502 was considered a requirement, but the design would probably have been similar to the 6502 anyway because that was the architecture that the team was most familiar with.

    ARM isn't a simple extension to the 6502, as the 8086 was to the 8080, but it was designed to be the chip that people using the 6502 wished they were using (within the constraints of what was actually possible in the '80s).

  • by Dr_Barnowl (709838) on Friday January 07, 2011 @06:18AM (#34789016)

    It's not about the hardware being unsuitable - it clearly was, since the machine came with win2k3 server out of the factory (or it wouldn't have an original license sticker on it). It's about it being a royal pain in the ass to actually install Windows on some hardware.

    The major issue with systems like these is probably drivers for the disk controllers. You obviously can't install an OS without using the disk controller. Everything else you can install afterwards. But what if your OS install disk doesn't have a driver for the disk controller in your machine?

    For Windows, the answer has historically been to bang F6 at the appropriate moment during installer boot and shove a floppy disk containing a special "OEM" driver in. What's that? Your machine no longer has a floppy drive because they are an obsolete technology? It doesn't work with your USB floppy drive because there is only a limited set that are supported? Then you are left cooking your own install disk with the OEM drivers on it, using nLite or similar.

    Linux tends to solve this problem by just having drivers integrated into it. One of the advantages of the Linux driver development model is that because the source is available for most drivers and most devices in a similar class need similar driver code, adding a new driver typically just involves adding either a very small abstraction layer or sometimes just a row in a list of supported devices, so the basic kernel can have support for a vast selection of devices in a relatively small space which happily fits on an install CD. Drivers only get thrown out of the main kernel when they get extremely obsolete AND a maintenance headache, so Linux tends to support more and more hardware each year.

    With the Windows proprietary model, of course, everyone has their own super-secret-sauce driver, so it's impossible to fit them all on the install disk. Older drivers must be frequently dropped from the disk image or it won't fit in 700MB. Hence OEM floppies and banging F6. Drivers for ubiquitous consumer hardware are probably more likely to be on there than obscure server hardware, so I'm not surprised you had a different experience.

    I suspect the GP poster also encountered a lot of problems finding device drivers for the other components in his server, like the network adapter.

  • Awesome! (Score:4, Informative)

    by chiark (36404) on Friday January 07, 2011 @07:00AM (#34789186) Homepage Journal
    To me, Chuck Peddle is an absolute inspiration. He's not done the easy thing, or the materialistic thing, but the right thing many many times in his career.

    These were the early days of the computer revolution, and I strongly recommend Brian Bagnell's book, Commodore: A company on the edge, to anyone remotely interested in the era... It's a healthy dose of realism and a perfect antidote to historical revisionism that seems to be coming from a couple of areas in the States...

    The guy is a hero, as were the small teams laying the foundations that, ultimately, means we all have more interesting jobs. No article on the 6502 should fail to mention Chuck Peddle and the team at MOStek, which ultimately became part of Commodore... History tells us that what becomes part of commodore burns brightly, but briefly...

    Get that book, it's great.

  • by hlavac (914630) on Friday January 07, 2011 @07:06AM (#34789200)
    Not true. In C64, the on-CPU 6510 specific I/O accessible at addresses $00 , $01 has been used for switching the Basic ROM, character ROM, attribute color memory and I/O mapped area on/off in the CPU address space, allowing you to access to the parts of RAM normally obscured by them.
  • by carlhaagen (1021273) on Friday January 07, 2011 @08:00AM (#34789446)
    Not sure why the original poster claims that the 6502 core design was lost in time. WDC (Western Design Center http://www.westerndesigncenter.com/wdc/ [westerndesigncenter.com] ) bought the core design and the rights to license it many many years ago. These are the guys behind a few variants building on top of the 6502 as well, like f.e. the 65816 used in the Super Nintendo.
  • by narcc (412956) on Friday January 07, 2011 @08:02AM (#34789462) Journal

    I learned FORTH on a KIM-1. Who else remembers the classic article (I think it was in Byte) "How to write a compiler in 50 words or less"?

    You're thinking of "Forth Extensibility: Or How to Write a Compiler in Twenty-Five Words Or Less"

    It was in Byte -- August, 1980 (The Forth Issue)

    Archived here, with others, as a gigantic PDFs [exotica.org.uk]

  • Re:Not so fast... (Score:4, Informative)

    by ishobo (160209) on Friday January 07, 2011 @09:01AM (#34789752)

    Available from Western Design Center, started by Bill Mensch, the person who co-designed the 6502 with Chuck Peddle. Both also helped design the 6800. WDC ha seen selling the 6502 based products since the 1979. Both the Apple IIe and IIc used WDC product, the 65C02. All the second source products over the years have been lisenced from WDC. WDC has been able to sell products based on the original 6502 design because they co-held the patents with MOS.

    It is still sold in its original 40-pin plastic DIP. Verilog soft cores are available too.

(1) Never draw what you can copy. (2) Never copy what you can trace. (3) Never trace what you can cut out and paste down.

Working...