Preserving Great Tech For Posterity — the 6502 290
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.'"
Not to split hairs. . . (Score:4, Informative)
Re:Not to split hairs. . . (Score:5, Informative)
Yes [wikipedia.org], but the difference ain't much.
Re:Not to split hairs. . . (Score:4, Funny)
Yes [wikipedia.org], but the difference ain't much.
According to my rough calculations the difference is at least two more than the difference between an 8080 and an 8086.
Re: (Score:3)
Re: (Score:3, Informative)
I used to write 6502 assembly... (Score:5, Interesting)
Re: (Score:2)
I still have my MOSTEK 6502 manual -- 8.5x11 softcover.
Re:I used to write 6502 assembly... (Score:4, Interesting)
Re: (Score:2)
Re: (Score:2)
Man, every time the C64 or the 6502 (or 6510) chip comes up, I get a wave of nostalgia.
Re: (Score:2)
It's not just indexing, it happens with indirect JMP as well. JMP ($01FF) would read the low byte from $01ff and the high byte from $0100 instead of $0200.
Re: (Score:3)
As I recall, it was an indirect jump when the first byte of the operand was at the top of a (256-byte) page (i.e. at address xxFF). The second byte of the operand (the high byte of the target address) should have been taken from the first byte of the next page (xy00), but, due to the bug, it was taken from the first byte of the same page (xx00).
A later CMOS version of the 6502 (the 65C02) fixed this bug.
Re: (Score:3)
Brings back memories (Score:2)
The 6502 was what I learned computer design, assembly, and machine code on. First was a Buck Engineering trainer, then a KIM-1 with an add-on board. I learned the value of coffee when coding. Finally I built my own system with an S-100 style archetecture. Memories indeed.
Re:Brings back memories (Score:4, Informative)
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]
C'mon. It's a cool page (Score:2)
Just admit it -- someone really spent a lot of time on this idea, and it's cool that it works at any speed at all. I've only got an old P4, and it still ticked along quite nicely. Much faster and you wouldn't see anything but flicker-flashing anyhow.
Re: (Score:2)
Shit man, I gave up on that at least two years ago and moved on. Go get a new sound card.
Re:C'mon. It's a cool page (Score:5, Interesting)
You know what's funny, that (the parent's argument) was the song of the Windows fan boys for so long. Now I'm somewhere that I have an abundance of old hardware, and a mix of new and old operating systems. I'm finding it easier to throw Linux on a box, than to pray that Vista or Win7 will work. CPU and memory wise, sure it'll work. But dear god don't try to find drivers for some fairly standard old video card (like a 4Mb to 32Mb PCI card), sound card, or printer. There are three categories for old systems. "Good enough for Win7", "Wow, a great Linux machine", and "don't bother". Why bother with a 1Ghz machine, when I have stacks of 2.0Ghz to 2.8Ghz machines to use. Oh, and if anyone is interested, I stumbled on a stack of probably a dozen 200Mhz Pentium CPU's. I have no idea what to do with them, but they'll probably end up in my own personal museum. :)
We just played a little game with one of our techs. "Can you get Win2k3 to install" on some old Dell servers with the original Win2k3 license stuck on the case by Dell at the factory. Linux? 5 minutes from an install CD I made, or 15 minutes from the distro original CDs. Both are current. Win2k3? 3 days of head pounding, calls to Dell support, downloading and running BIOS updates, and some mystery driver emailed and being told "try this". 24 work hours for 1 server, versus 0.25 work hours. Poor guy, he was a huge Windows fan. By the end of it, he looked like he was going to personally go and bomb Redmond. :)
The best work around I've found is to run Linux on them, and then provide any pesky Windows needs with a virtual machine under VMWare.
I inherited several old printers, which were wonderful old workhorses of their time. My mom still on her WinXP machine, because it still runs any app she wants, and is fine for CPU and memory (2.8Ghz, and I upgraded her memory for 2GB last year). I tried to plug it into my Win7 Home Premium laptop (USB to Parallel converter required for both machines). Nope, sorry, no Win7 drivers available anywhere. No kludges other than "get a new printer". Yet still, it's supported perfectly well under Linux. heh.
I actually haven't had a problem with a new run of the mill system, or even most exotic hardware, for years under Linux.
Re: (Score:3)
There are four categories for old systems. "Good enough for Win7", "Wow, a great Linux machine", "don't bother", and "Commodore 64? SWEET!".
FTFY
Re:win2k3 installed on 900mhz celeron, 1hr, BAZING (Score:4, Informative)
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.
Re:C'mon. It's a cool page (Score:5, Insightful)
Go ahead and do it, it's not like you're not allowed to.
Aww. Can't do it? Boo-hoo. But pooping on someone else's effort is much easier, ain't it?
Sorry, but it pisses me off to no end, every time someone accomplishes something, someone who obviously CANNOT has to stand up and go "What a waste of time, why couldn't they have done X?" Well, maybe because they don't give half a shit about X? And considering the crappy state the Creative-official one for Windows is in, I'd guess it is not trivial to write one without all specs available...
Can't people appreciate what others do even if it ain't their pet project?
"Machine Language for Beginners" (Score:5, Interesting)
Except, apparently, for Richard Mansfield, whose book I devoured. I remember trying to figure out how the heck to get the opcodes into memory. I had nobody to teach me what peek and poker were about, so it took a while.
It's also possible to say that the 6502 and 6510 were perhaps the very last processors that I understood in real, intricate detail. Once I hit the 286 it might as well have run on magic pixie dust. I can't remember ever masking interrupts on an x86. I've only written in languages at the level of C or higher ever since., and I've never embedded assembler to fine-tune performance.
My geek level has diminished.
Re: (Score:2)
I had the same sort of thing with the PDP 11/04, and later, the late and totally unlamented Teledyne 1750a processor. Both of those date me appropriately.
Re: (Score:2)
- Dan.
Re: (Score:2)
Fast forward to my first PC, a 486SX. I learned x86 assembly, but never felt the same kind of complete and utter control over the machine, probably because by that point in my life I didn't really have the time to dedicate to really immerse myself in it.
However it gave me a great intuitive understanding of
Re:"Machine Language for Beginners" (Score:5, Interesting)
Fast forward to my first PC, a 486SX. I learned x86 assembly, but never felt the same kind of complete and utter control over the machine, probably because by that point in my life I didn't really have the time to dedicate to really immerse myself in it.
No it was not the level of immersion. A computer like the C64 had 20K of ROM, hence a kernel that never changed. Always had a 6510 and a VIC chip and 64K of RAM. You could learn every byte inside out. Because the platform did not change over time, there were many volumes of literature written about the internals of this machine.
Your 486 had a bios made by one of several different BIOS vendors, one of several revisions of that BIOS, for the particular chipset on your board. You had an audio card made by one company, a video card made be another company, an ATA controller made by yet another company.
Who else really had your setup? No one wrote a complete manual for what you had. By the time you could figure out the BIOS and figure out what it took to POST the hardware you have, it is time to buy a new computer.
Nowdays there are many levels of abstraction, the one thing it robs us of is the ability to understand exactly what our machines are doing.
Re: (Score:3)
Re: (Score:2)
Re: (Score:3)
I had nobody to teach me what peek and poker were about...
I know it's rather too late to be useful - but I think I found your problem.
Re:"Machine Language for Beginners" (Score:5, Insightful)
You should have moved on to Amiga and its Motorola 68000. That processor sure was MUCH easier to understand than the segment/offset mess the X86 architecture was in.
The 68000 was the last processor I truly understood. It was pretty straightforward too. Very streamlined and quite powerful.
Re: (Score:3)
And today, you're even further away from the silicon. Your instructions ain't the same anymore when they finally get processed.
Sometimes it really seems like a miracle that something sensible comes out of it at all, considering the amount of layers between you and the ALU(s).
Not so fast... (Score:5, Informative)
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.
Re: (Score:3, Insightful)
You mean Balasz' schematic. That's actually also reverse engineered, and has quite some mistakes in it.
Re: (Score:2)
It would be a lot more useful to see the original logic design.
Re: (Score:2)
Color me enlightened.
Re: (Score:2)
Re: (Score:3)
You know, you'd think that wouldn't you. But leak one drawing of one chip for an old government "communications" satellite that never existed, and WOOSH... Swooped up by three guys in a black van, a bag over your head, and then you wake up in a cell in some facility with guys in suits asking lots of questions, but never answering questions like "
Re: (Score:2)
Yep.
And if for whatever reason the schematic cannot be reproduced the schematics for the East German and Russian "illegal" clones can be reproduced without any trouble (sorry, it's been a while so I have forgotten the actual chip numbers).
Re: (Score:3)
According to the wikipedia article on the 6502, it is still manufactured for embedded systems. Thus the diffusion masks must still exist. In which case the design hasn't been "lost"
Either that, or the wikipedia article is wrong.
Re:Not so fast... (Score:4, Informative)
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.
Re: (Score:3)
There are already schematics on google from 2008 (Score:4, Informative)
Re: (Score:3)
The guys that are doing the 6502 simulator have been long aware of this. This is just an independent effort, with some overlap, and some novel stuff. For instance, the schematic doesn't show you the exact area of the transistors, which can be important. By comparing the two you can also identify some mistakes that were made in either process, which is never a bad thing.
Sounds familiar (Score:4, Funny)
An animation with voltages racing around the chip as it executes?
Where's my light-cycle?? I must save my User from the MCP!!
Yes, but can it run Pitfall? (Score:2)
Yep. I like it. (Score:2)
This is cool.
It'll be even better when all the traffic dies down to the point you can load all the images.
nontrivial! (Score:5, Informative)
Re:nontrivial! (Score:4, Informative)
Really lost? (Score:2)
You mean to tell me that the companies who designed or licensed this chip plus the chip fabs themselves have no information on how they were manufactured?
Re: (Score:2)
I suppose it's possible. I mean we did loose the ability to make things like blue glass, green glass, and concrete at least one in the world. Losing schematics is also possible, I remember hearing a few years ago that some company was looking for a particular tube that RCA used to make, because RCA lost the diagram on how to manufacture the tube, whether or not it was ever true I have no idea. It was a passing fancy at the time for me, but even I have electronics that I use today that have tubes in them
Re:Really lost? (Score:5, Interesting)
That isn't all that uncommon. I guess no one recalls the 2009 news stories about the classified "fogbank" material in nuclear warheads. When the gov't wanted to upgrade some nuclear warheads, it was discovered that the material wasn't documented, and no one remembered how it was made.
I couldn't find anything on the lost vacuum tube design, but I wouldn't be totally surprised. There have been plenty of things over the years that were superseded by something better, and the predecessors were forgotten about. Trade secrets often include keeping very little documentation about them, so they won't be accidentally released (or stolen).
I've worked with quite a few things over the years where a working copy existed, but you couldn't replace it. Sometimes it took a virtually clean room reverse engineering to replace it. Sometimes it was hardware. Sometimes it was some application (like a server-side app) where it had been compiled once a decade ago, and no one had a clue where the source was. Well, they *did*, it was just "oh, well Bob did it on his computer. He left 8 years ago. We don't know where to find him", and his desktop had been reformatted, handed down through several other people, and finally retired to the trash a few years before.
For stuff like vacuum tubes, and ancient apps that don't run on modern hardware, it's usually worth doing it fresh. For things like classified materials that keep nukes from spontaneously exploding, that knowledge can be virtually irreplaceable. There are various lost arts, that if you have to fall back to raw materials, we'd be screwed. I like using the loss of civilization and modern technology as an example. If you, I, and a few thousand skilled Slashdotters were dropped on an deserted island (or an alien but Earth-like) planet, how long would it take for us to raise technology from nothing to build a working computer? Assuming an abundance of easily identifiable raw materials, like "hey, that's iron ore", maybe we could build a forge, and make some decent hand tools. We may be able to build primitive radios, but I doubt we'd ever get far enough fab the first solid state chip, much less a CRT or LCD screen, before the first generation died off of old age. The second generation may have a clue, but no true memory of the technology in working form.
Consider other "high tech" items. I love the car analogies, so we'll go in that direction. :) Could we build a car? I know quite a few of us know a lot, but could we actually design and fabricate one from scratch, even with another car as a template. Sure as hell in such a scenario we'd never build the first ECM. Could we get as far as a primitive carburetor? Who am I kidding, we'd probably get stuck on something like how to make tires. :) That's assuming no meeting-hungry managers or aspiring politicians were in the aforementioned group. If that happened, we'd end up stuck in endless meetings forming committees to discuss every feature, and we wouldn't get the first item put down on paper because how to make paper and a pencil would be stuck in committee for the rest of our lives.
The idea of "lives" may be rather short anyways. How many of us are hunter/gatherers and farmers? Not enough to start from scratch.
Kinda ruins those fun aspirations of colonizing alien planets, doesn't it? 1,000 space nerds fly to and are dropped off on a habitable planet circling one of the closest stars, just to die of starvation before establishing a society capable of self sustaining itself, because we don't have the skills to bring our technology up to "modern" levels.
Re: (Score:3)
Re:Really lost? (Score:5, Funny)
You mean to tell me that the companies who designed or licensed this chip plus the chip fabs themselves have no information on how they were manufactured?
Well, sure, but they had them backed up on their Apple /// machines, and ... well ...
Re: (Score:2)
Yeah, I find it hard to believe too. The 6502 was heavily licensed to other companies, and was probably produced in more variations than anything short of the ARM. I would find it very difficult to believe that there aren't plenty of photolithographs stashed away in various files. Now, maybe an actual design document indicating what everything does might be missing, but there should be plenty of film available to reverse engineer from.
Re: (Score:3)
There's a post a few after yours explaining how this chip was designed. A modern chip is designed on computer, and all of the steps from the HDL down to the final masks will be backed up and archived. The 6502 schematic was hand-drawn on a really large piece of paper, then onto Rubylith for production. The schematic may have been lost long before they stopped producing it, because they just needed the mask.
Once they stop producing them, there's no commercial incentive to keep the old designs around, s
Tickled to see this (Score:4, Interesting)
I have fond memories of the 6502. I co-designed and did most of the coding for a computer game for the Apple II (Sundog) and so did a lot of 6502 assembly coding. A few years later, I taught assembly language coding to CS students at BYU, and we use 6502-based systems there as well (which was a vast improvement over the IBM 360 assembly + JCL on punch cards that I had to learn on a decade earlier as an undergrad myself).
Re: (Score:2)
I'm curious: how do you feel about the emulator versions of Sundog being easily downloadable on the Internet?
Re: (Score:2)
Hey Bruce! I wasted many hours playing Sundog on the ST. Thanks!
You should make a version for the iPad!
Re: (Score:3)
The Atari port happened after I left FTL - and, I'll note, it was a great improvement over the Apple version - but I did do a fair amount of 68000 programming over the next few years. A great processor, and it's a shame that the IBM PC reference architecture wasn't based on it.
Just imagine .... (Score:5, Interesting)
Just imagine a beowolf cluster of these? No, let's have some fun with math, instead.
FTFS:
'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.
Okay, bear with me here:
So let's perform a few calculations, shall we? There are 995,000,000 transistors in the Sandy Bridge Quad Core die. There are 3,150 transistors in the 6502. That means that within the space of the Sandy Bridge chip, there could be, instead, 315,873 complete 6502 cores!!
But wait, it gets better! Back in its day, IIRC the 6502 ran at what, 1MHz? 2MHz? With today's technology, we could run each of these cores at least one-thousand times faster than the original! That's like having another thousand times as many 6502 cores.
So, finally, in the space of just one Sandy Bridge Quad Core die, we could have the processing equivalent of over 300 Million 6502 cores!(*)
(*) Okay, granted, it would take a not insignificant amount of space on die to connect all these together, along with a metric ton of lines for sending data and address info to/from each 6502 processor. Nevertheless, I'm just boggled to see how far we've come from the chip that was in the first computer I ever bought!
Re: (Score:2)
Re: (Score:3)
That means that within the space of the Sandy Bridge chip, there could be, instead, 315,873 complete 6502 cores!! ... ...
With today's technology, we could run each of these cores at least one-thousand times faster than the original!
So, finally, in the space of just one Sandy Bridge Quad Core die, we could have the processing equivalent of over 300 Million 6502 cores!(*)
That would make for one bad-ass game of LoadRunner!
Re: (Score:2)
CPU speed (Score:3)
The MAME ROM dumping project has been doing this (Score:2)
A blank space for the electrical outlet... (Score:5, Interesting)
Did you know that the very first 6502 layout had an unused space reserved for an electrical outlet? No, not an electrical outlet on the chip, silly! An electrical outlet on the wall of the designer.
I was writing the software for a firmware-based gasoline pump based on the 4040 when the Mostek 6502 was announced. The pricing and power were a huge breakthrough - we could now afford to use an 8-bit processor instead of 4-bit, and the chip was way easier to interface. We arranged a visit to Mostek and came back with a prized pre-production chip with the lid soldered on. We met Chuck Peddle, and he showed us a prototype of the KIM development board. We also took back with us a 9-track tape of a 6502 assembler (written in Fortran) for installation on the local university's timesharing system, which at the time sold time to the public.
We also met the chip designers and saw the original hand-drawn layout for the chip. No automatic routing software - just drawing on a huge sheet of paper on one wall of one of the guy's offices. There was actually an area of silicon that could not be used because there was an electrical outlet on the wall that they needed for something in the office, so they just didn't draw on that part. The finished design was then rendered in Rubylith, and we were shown a "cell library" which consisted of a set of large drawers with various circuit elements pre-cut in Rubylith.
Since the KIM was not yet available, we built our own development system - first wirewrapped, and later a set of circuit boards, using 44-bit edge connectors and defined a bus We let my friend Rene use the circuit board layouts we had, and he did some additional boards himself, laying down black tape on mylar. We were given a monitor program that would allow us to load paper tapes produced on a TTY connected to timesharing system and do some debugging.
It was a really fun and easy chip to program, and I worked on several other firmware projects using the 6502 over the next few years. I did some 6800 as well, but always preferred the 6502.
Re:A blank space for the electrical outlet... (Score:4, Interesting)
> There was actually an area of silicon that could not be used because there was an electrical outlet on the wall that they needed for something in the office, so they just didn't draw on that part.
Being curious, I just had to look at the actual chip layout in the online simulator [visual6502.org] to see if this was true. You can see a pair of rectangular voids left of the center, near the edge, the lower of which seems to have the right dimensional ratio to have been a space for a wall socket.
It's fascinating to hear the lost bit of engineering history that explains something would otherwise have forever remained a mystery. Somebody should forward this anecdote to the visual6502.org guys.
Re: (Score:3)
Did you know that the very first 6502 layout had an unused space reserved for an electrical outlet? No, not an electrical outlet on the chip, silly! An electrical outlet on the wall of the designer.
It was (don't know if it still is) common for the layout "artist" to include a graphic of his choice on the die [si.edu].
Awesome! (Score:4, Informative)
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.
Re: (Score:2)
Ditto. Those two are on my VERY short list of people I'd most like to meet. They probably had more of an impact on my life, albeit indirectly, than any two other people save my parents.
Still used today (Score:3)
I have a Commodore A2232 seven port serial card in my Amiga 4000 in my datacenter which provides serial consoles to a number of other machines. While other multiport serial cards have RISC processors or large buffers, this card is simply a 3.58 MHz 65CE02 which polls each port and puts incoming characters into its 16k of memory, which the Amiga can access directly. It's a beautiful example of simplicity at work.
45 years from now... (Score:2)
Nah...
We still do it (Score:2)
We pros still de-lid and polish back circuits for reverse-engineering. These days, instead of an optical microscope, you need an SEM to do it. The principle is still the same.
Delicate work, but quite amazing results.
Re: (Score:2)
Amazing bits of history in this thread...
We pros still de-lid and polish back circuits for reverse-engineering. These days, instead of an optical microscope, you need an SEM to do it. The principle is still the same.
Speaking of SEM: TI made a video of an IC running in a SEM.
It showed the current so to speak.
I can't remember if it was the SEM video or Making of a Microchip (MMC01).
Is there any code that can damage the 6502? (Score:2)
And if you use it on the simulator what happens?
ZX Spectrum ULA (Score:4, Interesting)
The same thing has been done to the Sinclair ZX Spectrum ULA.
Little remains of the original Ferranti technical documentation of the Ferranti ULA (which was used for the ZX Spectrum, the 5C- and 6C- series, the same ULA technology was used in the BBC Microcomputer and other European machines during the 1980s). At the time Ferranti was the leader in custom logic until they sat on their laurels and let other companies transistion to CMOS and field programmable logic and eat their lunch.
The guy who did the reverse engineering (Chris Smith, a friend of mine) has written a book about the Spectrum ULA which details the Ferranti ULA and how it was used in the Spectrum. It has quite a lot on the Ferranti ULAs, including how they were made, the process for making the IC, etc. as well as its particular implementation in the Spectrum. This was also done by de-encapsulation (which I think involves fuming nitric acid, rather than H2SO4).
Chris's work can be found here (if you want to buy the book, he gets more of the money if you order it through his website rather than Amazon, but it's also available under the GFDL):
http://www.zxdesign.info/book/ [zxdesign.info]
I think it's very important that this kind of thing is preserved, the early personal computers are a bit like the equivalent of the early Industrial Revolution textile machinery, but fortunately can be preserved at an individual level rather than needing a huge rich museum.
Wot no BBC Micro? (Score:4, Informative)
Re: (Score:3)
I'm actually using a BBC Master now to do some data preservation of a project I did at school in the late 1980s. I've got the data off the SJResearch MDFS-formatted floppies, now just need to get it onto the USB stick (yes, my Master has a USB interface!) I'm actually writing a program in 6502 asm to do the job.
BBC Master with USB (Score:3)
Care to share details of the USB implementation?
And you may be interested in John Kortink's MMC card storage system for BBC B and Master (at http://web.inter.nl.net/users/J.Kortink/home/hardware/gommc/index.htm [nl.net] )
The 6502 was never lost - WDC owns the core (Score:3, Informative)
Re: (Score:3)
That is not correct, they never bought a license. WDC co-held the design with MOS. WDC has been selling 6502 based products since 1979.
Re:Seems their server runs on a 6502 (Score:4, Funny)
No, the website runs on a javascript emulator of a 6502.
Re: (Score:3)
No, the website runs on a javascript emulator of a 6502...
... on a 6502
Re: (Score:2)
No, the website runs on a javascript emulator of a 6502...
... on a 6502
but will it run GNU/lunix... from the cloud?
Re: (Score:2, Informative)
Well, the current doesn't, either, technically; the orthogonal EM field transfers energy along the conductors.
Re: (Score:2)
I'm now a well-adjusted professor using using computational science, numerical simulation, and some of the fastest supercomputers in the world, to solve challenging problems.
+1 unintentional irony
Re: (Score:3)
Re: (Score:2, Informative)
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: (Score:2)
Re: (Score:2)
Re: (Score:2)
I wrote a couple of non-trivial programs assembler programs on the TRS-80, which uses the Zilog Z-80 processor at 1.78 mHz. Wasn't too bad, it has more registers than 6502. The only bad thing was the lack of a multiply instruction.
Re:Painful (Score:5, Funny)
Re: (Score:3)
And we were happy!!
Re: (Score:2, Funny)
Universal truth, Any text following the phrase "Funny story" is 100% guaranteed to be as funny as soya-milk is tasty.
Re:Painful (Score:5, Informative)
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:Painful (Score:4, Informative)
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).
Re: (Score:3)
It was designed to be source-code compatible (assembler source code) so that an assembler for the 8086/8088 when given 8080 code, could still produce 1 opcode per 8080 instruction.
Re: (Score:2)
Dude, balancing a hyperactive Husky on a flagpole was simpler than programming the 8080.
And more rewarding too.
Re: (Score:2)
It's like most things--one gets used to it.
I spent several years writing nothing but 8080 assembly language in the early 1980s using an assembler running on a DEC VMS computer. Pretty much all I had in my office then was a phone, a couple of reference books from Intel, a set of hardward schematics, and a VT-100 terminal. I got damn good at writing "structured" assembly code (lots of single-purpose functions). My last project there amounted to 9k of 8080 code written in three weeks for a real-time monitoring
Re: (Score:2)
Links, please!