james1095

Members
  • Content count

    343
  • Joined

  • Last visited

  • Days Won

    7

Community Reputation

8 Neutral

About james1095

  • Rank
    Advanced Member
  • Birthday 03/04/1979

Profile Information

  • Gender Male
  • Location Seattle, WA
  • Interests Engineering, electronics, mechanical tinkering, aviation, retro computing, retro gaming, hardware hacking

Recent Profile Visitors

1,059 profile views
  1. Super Breakout preview

    I've been tinkering away, working on implementing the bronze age Atari arcade game Super Breakout in VHDL. Just thought I'd show off the playfield generation subsystem which I've successfully got displaying random data I loaded in the video RAM for testing purposes. What this shows is that the video sync circuitry, playfield generator and video RAM are all working properly, next step is to add the CPU and IO subsystems. In hopes of inspiring others to implement other games, I've shared the tested working VHDL for the sync and playfield circuitry, these are used in quite a few games of that era with only minor changes needed from game to game. I've been using an Altera FPGA for development but this code should be platform agnostic, just use romgen to create ROM images. I've got a version of the sync PROM written as combinatorial logic that I'll share once I verify that the result is identical. playfield.vhd sync.vhd
  2. Download Error YAVGA

    It's archived on wayback, I was able to download the source today. https://web.archive.org/web/20131110085527/http://gadgetforge.gadgetfactory.net/gf/download/frsrelease/156/524/YAVGA_Source_1.0.zip
  3. Help with Hamster Book tutorial (newbie stupid question inside)

    That's a math question rather than an FPGA question. I know that I've found read-made sine tables out there before, if math is not your thing you can probably find one already made. Another option is to just make something up using ballpark values, you don't even have to make it a sine wave, you can use the DAC to generate any arbitrary waveform you want.
  4. Computer Space

    I never saw one either, even today I've never seen one in person, I don't think many were made and they were old news by the time I was born. It's not exactly the greatest game but it is *the first* ever coin-op video game, it came before Pong which is widely considered the first *successful* video game but not actually the first. I haven't looked at the size of the ROM but it may fit into block memory, at least part of it. I think the best long term solution is to synthesize the sounds in HDL, I know it can be done, Asteroids, Galaxian and Space Invaders all have analog sound circuits that have been synthesized in VHDL. The schematics are hand drawn and difficult to read but it looks like the thrust sound from Asteroids could be borrowed with minimal changes and the missile sounds are not all that complex. I was able to get Computer Space running on the Cyclone II mini board I was playing with so I'll try to find time to port it to the Papilio, it should be pretty trivial. You only need two resistors to get composite video and then some buttons for the controls so it's easy to rig up even without a wing. I used a small B&W portable TV set and it looked pretty good. I think it's cool that the original game used an off the shelf B&W TV set old enough that it used vacuum tubes.
  5. There are a couple of things that bit me early on. One was a bad USB cable, brand new out of the box it had an intermittent connection. Others I've run across have insufficient current carrying capacity on the power supply lines, this can cause all sorts of weird issues. Some USB ports are inadequate in that regard as well, the Papilio pulls a fair amount of juice and can't tolerate a lot of voltage sag. The other issue I had was with programming bitfiles into the configuration ROM. You have to remember to erase the ROM first before you load a new bitfile. That shouldn't affect loading directly into the FPGA though.
  6. Back to Basics

    That's a good point. I use the Logicstart megawing quite a bit but I do wish it had a microSD card slot instead of the ADC which I've never used. If it did though someone else would be wishing it had an ADC instead of a micro SD slot. The individual wings are perhaps more versatile, however for stuff that simple I tend to just breadboard it or use various little breakout modules from China and connect them with jumper leads. I suppose what that comes down to is it's just really hard to compete with China.
  7. Back to Basics

    Taking ISE out of the loop would make the whole thing pointless though. It's an FPGA, it's never going to be *as simple* as an Arduino, the complexity is part of what makes it so powerful. There could never be enough pre-compiled bitfiles to support even a fraction of the projects out there and it would end up just another MIST/Minimig/Chameleon/Replay etc. Trying to bypass the entire development process would bypass the whole point of using an FPGA and prevent even more people from taking the time to learn. Sure ISE is not the most user friendly software out there but you have to remember that it's a complex professional tool. AutoCAD, Photoshop, 3DS Max, Altium, and other high end professional tools are also not known for being particularly user friendly but that's the price to pay for they power and versatility they offer. The licensing I agree is a bit of a pain but at least it's available for free and if dealing with Xilinx is too much trouble there are "other" places you can acquire ISE and/or a license file if you look around. A few years ago at least Xilinx would send you a free DVD if you requested, I still have one here that I use when I need to install it. Yes the download is large but with a little planning ahead it's no big deal, order your FPGA board then go start the download and go do something else. In some time it will be done and then while you wait for the hardware to arrive you can install it and familiarize yourself with the tool. It would not hurt to have a few more ready to use example projects out there but there's no point in trying to cover all bases. I wonder if a DVD-R of the ISE installer could legally be included with the Papilio boards? Depending on the volume, the cost and overhead to provide that would be relatively low, maybe offer it as an option during ordering for a small fee to cover the cost of the disc.
  8. Back to Basics

    Jack is just one guy, rather than relying on him personally to solve your problems I suggest posting individual questions for the specific problems you're having. FPGA development has a steep learning curve, it took me more than a year of struggling before I really started to get the hang of things. A lot of the errors the compiler spits out are cryptic and not very helpful, often they don't even point to the root cause but are the result of a chain of events back to an error made up higher. What errors are you seeing with the logic analyzer? What errors are you getting when you try to build the other example projects? I can't be of much help with the Zpuino because I've never used it, but SRAM is straightforward to use.
  9. Driving small TFTs

    This has been discussed in the past but recently I came across a nice little 4:3 aspect ratio QVGA TFT which is very easy to use with just about any FPGA project that produces a roughly SD-TV resolution image, ie most early arcade games and 8 bit computers. This is the LQ035NC111, an older but still fairly widely available display which uses a parallel RGB-dotclock interface that does not require any type of initialization sequence to work, shown here running PacMan from fpgaarcade. These displays are nearly perfect for this application due to the 4:3 aspect ratio and resolution conveniently close to most classic arcade games, they're commonly used in those cheap backup camera monitors from China. The modifications to the code are very simple, all you need to do is feed the 6MHz ena_6 to the DCLK pin, reset_h to the reset pin and RGB/Hsync/Vsync to their respective pins then tie the unused RGB inputs to ground. The photo looks really washed out but in reality the display looks quite nice with good color and reasonable contrast. The only small hassle is that these displays have no built in backlight driver so you need a boost converter capable of producing about 20V and driving 10-20mA for the LED string. I lashed it all up with an ebay breakout board but eventually I'll make something more permanent. The plan is to scale down the plans and build some tiny desktop arcade cabinets but it could also be used to build a handheld or desktop version of virtually any game, console, computer or other application that fits in the FPGA and produces a video signal. If anyone hooks one of these up and has difficulty getting it going I'd be happy to help. arcade tft
  10. Back to Basics

    Well one of the big advantages of open source hardware is that anyone can build more of them any time they want provided the components are still available. I see two sides to the hardware situation. On one hand it's always nice to have options, but on the other hand the FPGA development community is so small as it is and every additional platform out there creates further fragmentation. In general I would say that it's a better use of resources to work on the collection of projects that run on the FPGAs rather than creating even more competing hardware platforms. An exception to this, and one that I think Gadget Factory could really excel at is producing peripheral modules to work with the FPGA boards already out there. The Papilio wings are the obvious place to start but it may make sense to expand to some of the various little Chinese dev boards that are out there. It would be great to see more widgets in wing format complete with some example HDL to make them do something out of the box.
  11. Back to Basics

    I think there is *some* value in the schematic based entry, for a total beginner it provides a way to make the FPGA or CPLD "do something" and helps to drive home the point that you are designing hardware rather than writing a program. It's not a bad idea to do a few simple projects using the schematic, but then move on to HDL as soon as you get beyond stuff like blinking LEDs.
  12. Back to Basics

    As far as web based stuff goes the UI looks nice, but it still doesn't solve the issue that I am away from reliable (or any) internet access just often enough that I don't want to rely on it for anything that I can run locally. If a proper desktop application is available I will always use it, web based stuff is a backup that is convenient when I'm not on my own PC.
  13. Computer Space

    I haven't tried this yet but it looks like it should be straightforward to port it to any of the Papilio boards. http://forums.arcade-museum.com/showthread.php?t=364662
  14. New to Papilio Pro & LogicStart

    There's another great book called Free Range VHDL, I found it to be tremendously helpful once I got started. What I did was read the whole book through from cover to cover without worrying too much about soaking it all in, then I went back and started going through the examples and referring to other sections as needed.
  15. Back to Basics

    I think for a beginner oriented board like the Papilio series a newer, larger, more powerful FPGA may be more of a curse than a benefit. Amongst my collection of FPGA boards I find that the two most powerful, a PrimeSense with Virtex5 and a DE2-115 with a large Cyclone IV hardly ever get used for anything. None of my designs come anywhere close to needing such a large FPGA and regardless of what I do with it, the larger more complex devices take longer to compile for, in some cases dramatically so. With so many soft core processors out there I've never even bothered to try the Microblaze or NIOS cores, I've just never had a reason. It would be nice if Xilinx would change the licensing terms for the ISE Webpack to match those of Vivado, all it would take is offering a different license file. Frankly I've never understood why they have any restrictions at all, just give away the fully featured software for personal use and have paid support subscriptions for commercial users like all the microcontroller manufactures. Give away the software for free because it sells hardware which is their core business. Aggressively court hobbyists and students because some of them go on to become engineers and they are likely to keep using the product lines they are familiar with. Anyway, back on topic. What the Papilio boards do lack is IO and memory. The Pro has SDRAM but that does not lend itself easily to retro hardware which is my primary interest. Block RAM within the FPGA is a scarce and precious resource and 95% of the time it's a lack of sufficient memory that prevents a design from fitting in a smaller FPGA. Having external SRAM and ROM or sufficient IO pins to add it opens the door to many more projects.