VOGONS

Common searches


First post, by snorg

User metadata
Rank Oldbie
Rank
Oldbie

I've been thinking about making a homebrew retro system in an FPGA.
Either a 16 or 32 bit cpu (really fast 286 or low end 386)
8 bit VGA type graphics, no 3d, IDE for drives

For someone that has a smattering of an engineering background (nothing beyond 100 level analog and digital electronics, and a bit of programming - many moons ago) how difficult would this be? I don't get much joy out of using modern systems, you can bolt together a working system in no more than a few hours.

I realize a 386 may be too comlex, even a 286 type system might be too much. I don't know that I would write all the software as well, was thinking about using an off-the-shelf OS (linux or something) to avoid having to create an OS from scratch.

Is this biting off more than I can chew? I've seen plans and kits for 8 bit systems but most of them don't appeal to me too much. Anyone out there have any thoughts? If this is along the lines of a Really Bad Idea, maybe an 8 bit system would be better (as far as keeping complexity to a manageable level - something that would actually be able to do graphics and multimedia at the level of an oldschool Mac, Amiga or PC, though would be ideal)?

Reply 1 of 11, by snorg

User metadata
Rank Oldbie
Rank
Oldbie

I may have addressed the "why" (more of a challenge, being able to say 'I built that') but I suppose it may be helpful to know what exactly I want to do with it. I'd like to be able to muck around with graphics programming along the lines of Abrash's Zen of Graphics Programming.

Given I would probably need to set up some sort of retro system considering the vintage of that book, I might learn more building my own from the ground up. If this is not possible without being a retired EE and would take more than a year working part time say 1 or 2 nights a week, maybe I would be better off just building a retro PC.

Reply 2 of 11, by Old Thrashbarg

User metadata
Rank Oldbie
Rank
Oldbie

Here, have a read through this. Keep in mind that it's just an XT-class machine, and there are still some compatibility and speed issues here and there... and it's still (quite rightly) considered a pretty monumental feat amongst hobbyists.

Reply 3 of 11, by snorg

User metadata
Rank Oldbie
Rank
Oldbie

Wow. I only read through the first page so far, but that is pretty amazing.
That's probably beyond me, at this point. If that is far too ambitious, then is there any level of system fit for a rank amateur to attempt? Maybe something like a 6502 based system, mono graphics only, simple sound?
Perhaps something along these lines:

http://www.brielcomputers.com/wordpress/?cat=17

That might be enough of a challenge without also requiring me to be an actual engineer. Looks like some of the add-ons are no longer available, though.

Reply 4 of 11, by WolverineDK

User metadata
Rank Oldbie
Rank
Oldbie

snorg: Please do NOT put down the bong. And don't let let any one say it is not doable or possible. So if you want try to put a 16 or 32 bit pc in an FPGA. Then have fun with it. I remember an old thread on another forum

http://www.assemblergames.com/forums/showthre … dern-2D-Console Where actually one of the guys, he in the end. made his own little 2D console 😀 And the negative force from the thread I linked to, was one guy. Who really made me angry. So fuck him, but hey the thread is good none the less 😀

Reply 5 of 11, by keropi

User metadata
Rank l33t++
Rank
l33t++

since you can fit an Amiga 500 or a 1200 in a FPGA I don't see the reason why a 286/386 pc won't be doable...

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 6 of 11, by WolverineDK

User metadata
Rank Oldbie
Rank
Oldbie
keropi wrote:

since you can fit an Amiga 500 or a 1200 in a FPGA I don't see the reason why a 286/386 pc won't be doable...

So true. Or should I say quoted for truth ? 😀

Reply 8 of 11, by Old Thrashbarg

User metadata
Rank Oldbie
Rank
Oldbie

Such things are doable, yeah, but it's not something that would be wise to choose as a first project.

If you really want to play around with homebrew computers, maybe take a look at the N8VEM project. That's something that was fully intended from the beginning as an open project, so there's plenty of documentation and community support to help you learn as you go, plus it's a pretty modular and flexible sort of system so you can start out simple and then start adding fancier stuff once you get comfortable with it. It's not FPGA, but IMO that's a good thing for a novice, since it's easier to get a handle on how things work when you're dealing with more discrete components.

Reply 9 of 11, by snorg

User metadata
Rank Oldbie
Rank
Oldbie

Well, I haven't gotten through more than a few pages of that thread yet, and it is an interesting idea. So I haven't found out if he actually made it, yet.

It's not so much a question of is it possible, just about anything is possible if you sink the time and resources into it. Someone built the Minimig (a clone of an Amiga 500) into an FPGA so it most likely is theoretically possible to put a high-end 286 or low-end 386 type system onto an FPGA. The problem becomes, is it possible with only a basic understanding of programming and electronics. The guy that did the Minimig was, I believe, an unemployed computer/electrical engineer.

So while it may be possible, perhaps it is not something I'm ready to tackle yet. Maybe something like that Apple I clone board would be more my speed, or perhaps this:

http://www.xgamestation.com/view_product.php?id=33

I guess what I'm looking for is something that will give me:

1. A bit of challenge: don't just plug a chip in and you're done but not to the level of building a CPU out of 7400 series logic chips
2. Be useable as a modern system if I desired (with certain limitations)
3. Be able to be completed in a reasonable time budget (6 months to a year, 1 night a week for 4 hours or so)
4. Reasonable $$$ budget (no more than $200 to $300 tops)

It is possible that what I want to do may not be doable at my skill level, or may cost too much to do, or not be practical.

Reply 10 of 11, by snorg

User metadata
Rank Oldbie
Rank
Oldbie
Old Thrashbarg wrote:

Such things are doable, yeah, but it's not something that would be wise to choose as a first project.

If you really want to play around with homebrew computers, maybe take a look at the N8VEM project. That's something that was fully intended from the beginning as an open project, so there's plenty of documentation and community support to help you learn as you go, plus it's a pretty modular and flexible sort of system so you can start out simple and then start adding fancier stuff once you get comfortable with it. It's not FPGA, but IMO that's a good thing for a novice, since it's easier to get a handle on how things work when you're dealing with more discrete components.

Yeah, that was my main concern, I don't want to set myself up for failure.
The N8VEM was one of the ones I was looking at, along with Matt Sarnoff's Ultimate 6809. He doesn't appear to have finished it yet so there is not really any documentation or schematics for it.

Reply 11 of 11, by carangil

User metadata
Rank Newbie
Rank
Newbie

Its certainly possible but is a lot of work. In college I took a CPU design course where we implemented mips CPUs in fpga. It took a group of 4 students a couple weeks to get a simple CPU going. And mips is risc. A ful x86, even a 386 missing protected mode would be a bunch of work. You would probably have to design your own risc core and translate x86 instructions to micro ops. Basically writing an x86 emulator for your own CPU arch, which is what all the modern CPUs really do internally anyway. Not an easy project.

There are open source CPU cores you can load onto fpgas. You could start with those and make up your own retro-style architecture. you can get really weird with it. make a quad core 8080!