Slashdot Mirror


Retro-Computing with FPGAs

zoid.com writes "I ran across a couple of really interesting projects using Field Programmable Gate Array (FPGA) processors. First is the C-ONE project that is a reconfigurable computer. The default mode is a C64 compatible one, but the machine just boots the FPGA from an IDE device at power on, so it could theoretically be pretty much anything. The second one is the FPGA Arcade. This site is about recreating gaming hardware from the past in modern programmable devices. They currently have Pacman, Space Invaders and Galaxian implemented in FPGAs."

40 of 183 comments (clear)

  1. Hardware emulation by gpinzone · · Score: 2, Redundant

    How is this different from what MAME does?

    1. Re:Hardware emulation by cuddles · · Score: 4, Insightful

      Quick quiz: What is MAME? Software, right. Second question: What's an FPGA? Field Programmable Gate Array - a chunk of reconfigurable silicon. Now you tell me :--) Gordon

    2. Re:Hardware emulation by dmaxwell · · Score: 5, Informative

      MAME uses software to simulate arcade hardware using general purpose computing hardware.

      FPGA's are a different beast altogether. An FPGA is similar to a ROM in that patterns can be burned into it but they are far more versatile. FPGA's can have logic burned into them which makes them malleble hardware. An FPGA with a 6502 processor and supporting logic burned into it is NOT emulating say Pac-Man. It is a re-implementation of Pac-Man.

      This guy is implementing an Atari 2600 on an FPGA:

      http://www.mindspring.com/~2600onachip/

      If he pulls it off, one could do neat things like make a super battery efficient handheld. The FPGA is for all intents and purposes a 2600 so there isn't the overhead a StrongARM chip running at 200Mhz would have.

    3. Re:Hardware emulation by whereiswaldo · · Score: 4, Funny


      So far, gaming companies have been pretty generous about letting people copy very obsolete games from the C64 era. I hope that by creating hardware platforms for these obsolete games becomes more widespread, the gaming companies don't start changing their minds. I guess as long as people don't start making a lot of money at it?

    4. Re:Hardware emulation by Anonymous Coward · · Score: 5, Informative

      An FPGA is similar to a ROM in that patterns can be burned into it but they are far more versatile. FPGA's can have logic burned into them which makes them malleble hardware

      Close. You're actually describing a PAL. An FPGA is more similar to RAM. Think of it as the high speed memory of programmable logic devices. When it loses power, it loses it's programming. An FPGA usually reads it's configuration on power-up from ROM or a PC's parallel port if you're prototyping. There's really no "burning" involved.

    5. Re:Hardware emulation by tazan · · Score: 2, Insightful

      Yes I have and in this case it's less than a computer with an interface to an arcade cabinet and about the same as a used 25 year old board from ebay. I'd much rather have a new board.

  2. nice by OwlofCreamCheese · · Score: 3, Funny

    another technology that will likely evolve into robot super monsters that will kill us all.

    --
    -You're wasting your time. Alfador only likes me.
  3. Nice. by cybermace5 · · Score: 3, Funny

    All I can say is: this is the best use of FPGA technology ever.

    --
    ...
  4. Pac-man with an FPGA? by absurdhero · · Score: 2, Funny

    And I thought a binary calculator on an FPGA was really cool. With classic arcade games running on everything but toasters, no wonder arcades are having trouble staying in business.

  5. Game AI by X-rated+Ouroboros · · Score: 3, Funny

    I'm sure they could make a really good version of Pong...

    --
    Simple Machines in Higher Dimensions
  6. This has been posted before by caouchouc · · Score: 2, Informative

    This is a dupe.
    I remember people mentioning that this thing is uneconomical compared to an emulator because of how expensive FPGAs are.

  7. Jeez! by sakusha · · Score: 2, Funny

    You know, they STILL make 6502s, what's the point of doing it the hard way?

    1. Re:Jeez! by Anonymous Coward · · Score: 4, Informative

      Do they make 6502s that can also be 8080s, 6800s, RCA 1802s... just by rebooting? No? Then you're completely missing the point.

      Not that that's anything new for Slashdot.

    2. Re:Jeez! by tazan · · Score: 2, Insightful

      The problems not the cpu, z80's are less than $2. Having a 12" x 18" circuit board made and populated with the other 150 chips on the board gets expensive.

    3. Re:Jeez! by Wildstar128 · · Score: 3, Informative

      65c02 not 6502. There are some differences. 6502 which is the NMOS fabricated model made by MOS Technology aka Commodore Semicondictors (CSG later used). C64 used 6510. The C-1 uses a 65c816 and the 6510 special features are cored into the FPGA (I think) Yet, the two FPGAs have to "emulate" (if you want to call it that) are the VIC-II and SID chip which are *NOT* made anymore. Jeri Ellsworth made special features known as the Super VIC and Monster SID mode on top of the classic features. These include the full enhanced sound and enhanced video modes like 1280 x 1024 resolution and 65536 colors. (More then your eyes can distinctively tell in an animated motion) Dithered imaging - hehehe lets look at 4 Billion RGB Chroma values. Hope you can tell.

    4. Re:Jeez! by SN74S181 · · Score: 2, Interesting

      Have you priced the FPGA prototyping kits recently?

      They're expensive. For one-off projects, it gets expensive really fast. You can't just grab a big FPGA chip and solder it onto your board. The pin density is high enough that you HAVE to have a custom board built, or dedicate an expensive prototyping kit to each project.

      I've seen a few people on eBay selling FPGA chips that have been tin-snipped out of scrapped assemblies, though. Because most FPGA board layouts include feedthroughs-per-hole around the FPGA chip for hardware probing and verification, that is a somewhat workable solution.

  8. Top 5 reasons to become a retro-computer geek by Amsterdam+Vallon · · Score: 2, Funny

    5 -- Your outdated computers will go really well with your outdated hairstyle

    4 -- Reducing costs by purchasing old stuff is an essential part of the 1, 2, 3, Profit! scheme

    3 -- Go back in time and invent the Internet before Al Gore gets around to it

    2 -- 1337 + 666 = 2003, which is a sure sign that now is the time to become a retro geek

    1 -- Being an R.C.G. is a lot like playing an R.P.G., only without the whole play-3-days-straight-get-up-puke-in-bathroom-die-s oon-thereafter routine

    Remember that you can always get free blogging for life at *nix.org

    --

    Reply or e-mail; don't vaguely moderate. Ex-O'Reilly/MIT employee, now a full-time Google employee.
  9. FPGAs are cool... by metlin · · Score: 4, Informative

    ...and cheap. A half decent FPGA can be obtained for about a dollar and odd in most parts of Asia. And that gives you a whole lot more malleability to play around, and you could mess up without really worrying much :-)

    One really cool application is the implementation of various crypto algorithms for realtime simple uses, like this.

    There is also something called the FPGA Design Contest - amazing stuff!

    Games are entertaining I guess, but if we could implement crypto algos and cool AI stuff at home using FPGAs, nothing quite beats that :-)

  10. Custom SETI@Home chip. by Anonymous Coward · · Score: 2, Insightful

    So, could it be done? A FPGA chip reprogrammed to crunch SETI code via hardware?

    1. Re:Custom SETI@Home chip. by swmccracken · · Score: 5, Informative

      Yep, if SETI@Home cared to release such code.

      Open Core's project list gives a list of cores you can download *right now* under the *GPL* and do stuff with. Shows you the kind of things you can do. (I believe you can combine multiple cores onto one FPGA as well, if they'll fit, and they can intercommunicate.)

      I have heard of people talking about a PCI card with a few FPGA's on it; so dedicated programs could download their own accellerator programs to them. It's just an idea at the moment, AFAIK, but hey.

    2. Re:Custom SETI@Home chip. by Space+cowboy · · Score: 3, Interesting

      I thought about doing this for my own radio telescope. One day I might just get around to it :-)

      The interesting thing about using an FPGA would be the speed of the FFT. With FFTW (the Fastest Fourier Transform in the West), I get approx 230 us (microseconds) per fft. Using an el-cheapo FFT, best efforts would be on the order of 15us, or approximately 15x faster... Bung several on a few PCBs, and you're talking super-computer speeds :-)

      Say you use 16 FPGA implementations, that'd be the equivalent of 240 Athlon 1800XP's... With those sorts of speeds, you could do realtime chirp analysis for doppler effects on an incoming signal. That *would be cool* :-)

      Simon.

      --
      Physicists get Hadrons!
  11. Re:Size... by Orion_ · · Score: 3, Insightful

    That's nice...but, this will not be very useful compared to todays apps and emulators...now if they could get the hardware down to size, this would be a great PDA...

    You've entirely missed the point... this is not meant to be a "useful" machine, but rather a hobbyist machine. Something for people who want to be able to tinker and play with a computer with a relatively simple design that allows a programmer to have more or less complete control of the machine. Modern PCs are much too complex to fit this niche.

    Think of it as something like a more advanced version of the C64 (or other 8-bits). Not something for people trying to do serious work -- that's what your desktop computer is for -- but something for people that like really get into the guts of the system.

  12. You arrogant bastard by Anonymous Coward · · Score: 4, Funny

    Who are YOU to assume we don't know what FPGA is?

    How fair do you think the great game of Golf would be if they didn't let females play? Hmm?

  13. It uses a CPU, not an FPGA by udif · · Score: 5, Informative

    The site is currently slashdoted, but as far as I remember, it uses a WDC 65C816 instead of the C64's 6510 CPU. The FPGA is used only for emulating the peripherals such as the IDE interface, 6581 SID sound chip, 2x6526 CIA chips, VIC chip emulation, etc.

    1. Re:It uses a CPU, not an FPGA by swmccracken · · Score: 2, Informative

      It seems you're right; note that the CPU is on a seperate board and the system is desinged to allow you to switch it. (And since the main thing the CPU interfaces to is FPGAs, designing a new CPU board is easy because you can reconfigure the FPGAs to match the new CPU.) It also seems the FPGAs do the inteface the CPU to everything else bits as well.

      It is still possible to emulate the Atari 2600 or whatever - but it involves switching the processor.

      http://www.geocities.com/profdredd/commodoreone/ cm drone.html

      It's not entirely clear where the "monster-sid" is located; it seems it's in (one of the two) FPGAs.

      I think. Unless I'm rong. :-)

    2. Re:It uses a CPU, not an FPGA by kb · · Score: 2, Informative

      The SID isn't in the FPGAs. It's quite impossible to do so because the SID consists of a mixture of analog and digital circuitry and can't be built from logic circuits alone. If you look closely at the C-One's mainboard, you can see two empty sockets which are for two original SIDs.

      Though I really hope that one day someone is nuts enough to produce a SID compatible synth chip, the chip was awesome for its time and still has a distinguished sound that can't be really emulated with curent anlog or virtual synths. And maybe with a new, cheap SID chip the SIDstation wouldn't be so terribly expensive... ;)

    3. Re:It uses a CPU, not an FPGA by cojoco · · Score: 2, Interesting

      I think that this would break many C64 games. The 65C816 has some
      instruction set differences to give the chip more functionality
      over the original 6502. These new instructions were placed in
      "holes" in the original 6502 instruction set, to preserve
      backwards compatibility with old machine code.

      Unfortunately many C64 games used these instructions, which had
      weird but documentable effects, as an anti-piracy measyre.
      They made it harder to reverse-engineer the anti-piracy code.

  14. Why not... by g4dget · · Score: 3, Interesting

    Why not get one of these and run this? You can get a complete system with power supply and nice case for less than just the C-ONE board alone costs.

  15. Re:Any point? by Wildstar128 · · Score: 4, Insightful

    Hallo, the C-One can be many things. Lets not think so outright that the C-One is strictly about "Retro-Computing". It is in ways as ultra-modern by concept that hardware can be reconfigurable. One chip that can be turned into different kinds of hardware. That is a feat that will take incredible CPU power to make as virtual machines. With FPGAs its not virtual and its not emulated. Think of an array of silicon gates that can be rewired on the fly without use of soldering gun or expensive fabrication labs. The C-One's C-64 mode and compatibility is a feat about retro but think of tha past and the future being put into one point. Futuristic hardware concepts can literally be "proven". Now we can make hardware alot like we can make software. We can make efficient hardware with the same efficient principles of efficient software programming with understanding of hardware. What about real-world prototyping. Developers will love this. In all reality, we can even be a DVD Player as well. The future of the C-One would be the use of FPGA technology and a new revolution of software that incorporates hardware add-ons on CD-ROM. Now imagine this, I have this super fancy SuperNintendo cartridge, I can now incorporate a SuperFX chip all on CD-ROM. How, it is called VHDL the revolutionary bridge between software and hardware. Our ability to reprogram the hardware via software. The ability to incorporate our very own hardware in every CD-ROM we sell. Now, we can distribute hardware in 10-15 cent CD-R disc (CD-ROM). This is some of many possibilities we can see. This is only the beginning. Reconfigurable hardware is used in even modern DVD Players and digital setop boxes and other luxeries and state of the art products.

  16. Re:Transmeta by Anne+Thwacks · · Score: 4, Informative
    wasn't code morhping technology supposed to be this?

    No -the opposite - code morphing dynamically adapts the software to fit the hardware- an FPGA dynamically adapts the hardware to fit the software.

    If you want to play with FPGA stuff, then one of the best is the Quickstart Technology board - this includes the download/programming interface and power supply on board - you just plug the board into your parallel port, and you have hardware that can be anything. Powerful enough to do a VAX. (You also have to download the software to do your design, but that's free as in beer!

    --
    Sent from my ASR33 using ASCII
  17. Re:FPGAs are no more uneconomical by Space+cowboy · · Score: 2, Informative

    You're missing the point. You don't try to rewrite a P4 in an FPGA.

    You can (for example) do a 4096 point FFT in a few milliseconds on an el-cheapo FPGA (20$ for 1-off pricing) whereas to get almost 1/10th the performance, you could buy a $400 P4/Athlon. Hmmm $20 vs $4000...

    Horses for courses - the FPGA is a very low-barrier-to-entry solution, but it's not a general-purpose device - the speed tops out around about 400MHz anyway (and that's not a $20 FPGA!)

    Simon.

    --
    Physicists get Hadrons!
  18. Re:FPGAs are no more uneconomical by Space+cowboy · · Score: 2, Informative

    I of course meant microseconds (us) not milliseconds (ms).

    MS strikes again :-)

    Simon.

    --
    Physicists get Hadrons!
  19. This is sooo absolutely cool. by JensR · · Score: 2, Interesting

    I can't believe it. I've been playing around with the c64 and 2600 idea for ages, but didn't have the means to actually do it. And these people did it. It's so cool.

    It's a great way to keep those old arcade game alive - an emulator is only - well- an emulation. The original PCBs age over time and may get unusuble and unrepearable if any custom circuits die completly and become unavailable. Using FPGAs is a great way to keep exactly the same hardware around.

    (And to all those #@!&-ers who ask "why bother?": BECAUSE THEY CAN !)

  20. Sorry to be a curmudgeon.... by SN74S181 · · Score: 2, Insightful


    Sorry for being such a curmudgeon, but this seems like the equivalent of collecting recordings of the Antique Road Show in lieu of collecting real antiques.

    FPGA technology is cool and all that, and there's a limited supply of vintage hardware that makes it a hobby with limited growth potential for marketers and banner advertising on enthusiast websites, but I can't think of a reason why it's cool to emulate a C64 with an FPGA, at least not for more than a few minutes. Do something new and cool with your new stuff.

  21. Pffft by freeweed · · Score: 2, Insightful

    If you're gonna be a complete jackass, why not ask: why not just buy an original c64? You can pick them up for $5 at the local junk shop here. Disk drive, another $2. I'm pretty sure your mini-itx boards cost more than $7.

    Yeesh, why is it that every time someone does something neat/cool/original, we have to moderate up the 'BUT THERE'S ALREADY ANOTHER WAY TO DO IT' trolls?

    --
    Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
  22. Re:FPGA as standard PC Hardware? by orangesquid · · Score: 2, Insightful

    Ah, but we're going to have to wait for the push for "bigger, faster, less efficient, home mini-iron" to finally fizzle out so we can start engineering some *real* modern CPU designs (instead of just shrinking and cooling).

    A reconfigurable CPU like that would let computers do all sorts of things amazingly quickly; you can do almost anything in logic and asynchronous calculations run as fast as the signals can move across the chip.

    --
    --TheOrangeSquid Is it any wonder things seem so awry? We swim in a sea of confusion and don't have to think to survive
  23. Parallelizing FFT by yerricde · · Score: 2, Informative

    In that sense an FPGA is no less serial on FFTs than a CPU, right?

    Sure, you have to clock the FFT data into the internal memory of both an FPGA and a CPU. However, on an FPGA, unlike on a CPU, you can make as many multiply-accumulate units as you want up to the size of the FPGA, all operating in parallel. Large n-point FFTs can be parallelized with up to n multipliers.

    --
    Will I retire or break 10K?
  24. FPGA Graphics Card? by BigDish · · Score: 2, Interesting
    Here's an interesting thought. I see someone mentioning that some cryptography company uses FPGA's on a PCI card in a PC. What about taking that one step further, and making the GPU on video card a FPGA? Imagine if, when you launched a game, it would be able to reconfigure the card optimally for that game. Rather than leaving parts of the GPU unused, it could convert them into something it can use.

    This would also allow graphics cards to be upgraded, for instance, if today's graphics cards were FPGA based, DirectX 9 support could be added to existing cards.

    Are we going to see this technology this year? I doubt it. But 5 years down the road, I bet your graphics card will be based on an FPGA.

  25. Re:FPGAs are no more uneconomical by Space+cowboy · · Score: 2, Informative

    Well, yes, the data has to be presented, but not necessarily sent out of the FPGA - this is the basis of the 'Platform FPGA' architecture. As long as you can realise your processing within the FPGA, your output may be of significantly less bandwidth.

    Pins aren't that limited either - you can get an FPGA with well over 1000 i/o pins, 168 1-clock-cycle 18-bit multipliers in hardware, and as many as will fit in firmware - with 8M "gates", that's a pretty nifty piece of hardware.

    Not that you would, but clocking 512 pins at 200MHz gives you 12.8 GByte/sec both in and out...

    The way you'd more likely use it though is to embed some of the processing subsequent to the FFT onboard as well, to reduce the output overhead - say you're looking for zero-crossing, or correlation, or anything where the output bandwidth is significantly less than the input (most signal processing tasks are...)

    Simon.

    --
    Physicists get Hadrons!
  26. Re:Any point? by dual_base_33 · · Score: 2, Insightful
    Configurable computing is the future. These little projects bring us one step closer to what I see as 'The Final Platform' :)

    FPGAs are starting to be put into into mainstream graphics cards after being the commercial high end graphics world for many years.. ... Next stop will be replacing the desktop CPU...

    One day all machines will just be a big lump of FPGA's and a cooling system... :)

    Now if someone will write a netlist that lets be play flash files in hardware and play mpegs and divxs, we will have the ultimate set-top box and gaming platform.. New streaming video format? Just upgrade the netlist and the format is supported in hardware. One minute a Pintendo64, the next a Playstation.

    Its the last step before nanotech...

    Resistance is useless... :)

    --
    sigs are natural, sigs are good, not everybody has one, but everybody should...