Flea86 Retro Gaming System Project

35 replies [Last post]
clok1966
Offline
Joined: 01/21/2009
so high in the sky
Matt Barton wrote:

After considering the discussion in some depth, I suggest either dilithium or tylium. Actually--deutronium might work just as well.

matt I think you and are in the same boat here on this discussion , this is all so far over my head I cant even see it looking up :)

Oh and Matt if you do know what they are talking about.. guess im the only one in the boat :)

Valentin Angelovski
Valentin Angelovski's picture
Offline
Joined: 12/24/2010
Dilithium
Matt Barton wrote:

After considering the discussion in some depth, I suggest either dilithium or tylium. Actually--deutronium might work just as well.

Hi Matt,

Sounds like somebody's been peeking under the canvas before the grand unveiling lol

Your suggestion for dilithium is actually a key secret element in my design - it allows faster-than-light program execution. Of course, our application is for vintage-PC use, not for systems control on the USS Enterprise. Therefore, this process must be slowed down using liquid nitrogen to allow for correct 8088 emulation rates :-P

Now that my secret's out, I am forced to redesign my system using an alternative element - unobtanium, used to elegantly describe the prospects of achieving perfect system emulation through software within our lifetime ;-) oh wait... d'oh!

Cheers Valentin
PS: Parody isn't something I am quite familiar with, but I am learning..

Valentin Angelovski
Valentin Angelovski's picture
Offline
Joined: 12/24/2010
True IA-32 inside FPGA..
Nathaniel Tolbert wrote:

It looks like a 1500k gate spartan wouldn't be enough. I looked all over the place and there are cores for emulating ia-32 based processors, but no true 386, or 486 emulation. That's apparently much harder and takes a lot more logic gates than a Spartan III would have. It looks like they are making good progress on that new Altera board, which allowed them to have full VGA, Mouse, and emulate a SB16 roughly. It's only 12.5MHz right now but I'm pretty certain that they can get the speed up. The highest end board they are using has 280,000 some odd logic gates. I don't know how many they are using, but I'm guessing a fair amount.

Well, going by the following chart:

CPU Transistor count
--------------------------------------
8086 ~29,000
68000 ~68,000
80386 ~275,000

It becomes clear why the 80386 on it's own would be a very hefty chip to implement in an FPGA. To complicate matters, achieving a 100MHz equivalent clock rate would probably require even more logic ( >3-stage pipeline, enhanced cache controller i.e. leaning more towards 486 tech.) to be included, thus taking up even more FPGA area?

Not impossible, perhaps, but probably presents a formidable challenge for the competent HDL system designer IMHO

Anyways, all this talk about chips is making me hungry - time to order a pizza and then go another 'beta-testing' round on the Flea86 prototype :-)

Cheers Valentin

Matt Barton
Matt Barton's picture
Offline
Joined: 01/16/2006
After considering the

After considering the discussion in some depth, I suggest either dilithium or tylium. Actually--deutronium might work just as well.

n/a
Nathaniel Tolbert
Nathaniel Tolbert's picture
Offline
Joined: 11/06/2010
It looks like a 1500k gate

It looks like a 1500k gate spartan wouldn't be enough. I looked all over the place and there are cores for emulating ia-32 based processors, but no true 386, or 486 emulation. That's apparently much harder and takes a lot more logic gates than a Spartan III would have. It looks like they are making good progress on that new Altera board, which allowed them to have full VGA, Mouse, and emulate a SB16 roughly. It's only 12.5MHz right now but I'm pretty certain that they can get the speed up. The highest end board they are using has 280,000 some odd logic gates. I don't know how many they are using, but I'm guessing a fair amount.

n/a
Valentin Angelovski
Valentin Angelovski's picture
Offline
Joined: 12/24/2010
You're right..
Nathaniel Tolbert wrote:

You would be very surprised about the size of FPGA you would need to implement an old 386/486 design. The thing that takes the most logic gates in the design is actually the memory controller. If you integrate the memory into the FPGA you can save yourself gates that way. An AGA Amiga is inherently more complex than a PC due to the fact of how many DMA channels the machine has, 4 for just the audio subsystem. PC's have 8 channels only. The most difficult part of recreating a PC in an FPGA would most likely be the interrupt timing hooks. You could probably emulate a PC with a Spartan III no problem.

You may indeed be right: perhaps a 1500K-gate Spartan III might just do it, or maybe it's overkill - I don't know. Problem I have with FPGA's from a personal perspective, is that for some very strange reason, I could not derive any joy in instantiating CPU and chipset components to build a workable system. Seems equally bizarre then, that I would find joy in taking a chip one would normally find in a whitegoods appliance or smart-card, forcing it to behave like a much larger system..

Each to their own, I guess :-)

I do have a digilent eval board (200K-gate spartan-3) here on the bench that I haven't played with in nearly five years - no doubt alot has happened with the technology since then. I might have another look them again one day..

Cheers Valentin

Nathaniel Tolbert
Nathaniel Tolbert's picture
Offline
Joined: 11/06/2010
You would be very surprised

You would be very surprised about the size of FPGA you would need to implement an old 386/486 design. The thing that takes the most logic gates in the design is actually the memory controller. If you integrate the memory into the FPGA you can save yourself gates that way. An AGA Amiga is inherently more complex than a PC due to the fact of how many DMA channels the machine has, 4 for just the audio subsystem. PC's have 8 channels only. The most difficult part of recreating a PC in an FPGA would most likely be the interrupt timing hooks. You could probably emulate a PC with a Spartan III no problem.

n/a
Valentin Angelovski
Valentin Angelovski's picture
Offline
Joined: 12/24/2010
bitplane graphics support
Chip Hageman wrote:

Mode 13h is linearly mapped, I believe. Any support (or planned support) for doing banked or the various assorted bitplane EGA modes? Or without dedicated video support hardware, is it to difficult to sustain decent frame rates on anything over than 64k of screen data?

Good question(s). Since I am currently working on this problem, I believe my upcoming blog post will be able to throw some light on these points..

Cheers Valentin

Valentin Angelovski
Valentin Angelovski's picture
Offline
Joined: 12/24/2010
FPGA vs software emulation
Nathaniel Tolbert wrote:

You could use a Spartan FPGA and hardware emulate the functionality of a 386/486 machine. With the programmable gates you could program the ability for DMA usage as well. With an FPGA you could successfully emulate on a hardware level a 386/486 at probably close to 100MHz.

While I may be no expert on the the matter (my forte's mainly in commercial embedded systems/CPLD implementation, but very little FPGA experience), but to do the above IMHO (and optimized for speeds in the ballpark which you mention) would take quite a large (thus expensive) FPGA along with a design effort considerably greater than my own thus far. For your interest, there's also the team working on the zet processor, who are pushing for an advanced (ultimately 386+VGA+SB) solution residing in an FPGA.

The main point I want to make is this: Software emulation running in a commodity processor will nearly always be cheaper, though slower and/or less accurate than doing things through hardware. This is just my opinion, as others more familiar with hardware-based solutions may have another view..

Nathaniel Tolbert wrote:

There are a group of people that are doing the same thing for the Amiga platform as we speak. Natami is the most talked about but there is no guarantee on when that is coming out. The Suska project has successfully released an Atari ST replacement board with all of the functionality of the Atari ST computer in an FPGA. I don't know much about it because the creator is very tight lipped, but Jens Schoenfeld of Individual Computers fame is working on his CloneA project which I believe originated as an FPGA, although it may be past that at this point. Also take a look at a device called the Minimig. It is an FPGA re-implementation of an Amiga 500.

Using FPGA's in an Amiga clone makes alot of sense IMHO, since it's custom chipset is reasonably complex from a hardware point of view. Yes, I have been following their progress on a.o, from Dennis's announcement of his minimig and natami through to latest minimig AGA version. I'm also aware of efforts to clone the Atari ST, including the project using an off-the-shelf 32-bit coldfire processor to perform the 68K emulation..

Nathaniel Tolbert wrote:

All of these things are really cool. As is your project. Sadly for me, the computer games I enjoy the most wouldn't run on your machine well at all.

I understand your point (let's see: Doom, UFO, C&C, Warcraft, x-wing, syndicate.. am I getting warmer? lol), there are some 386-based games I miss too.. Someday, I would like to attempt an advanced version of this project using a 32-bit micro..

Nathaniel Tolbert wrote:

But there are groups of people out there that wouldn't even think twice about purchasing such a device as you have created. I say sell it and make a fortune off of it! Retire and drink beer all day.

To be perfectly honest, I did this thing for the challenge. I err, don't know about the rich part, but if this thing makes a few people happy in the process, I will drink to that! :-D

Cheers Valentin

Nathaniel Tolbert
Nathaniel Tolbert's picture
Offline
Joined: 11/06/2010
You wouldn't need an ARM processor....

You could use a Spartan FPGA and hardware emulate the functionality of a 386/486 machine. With the programmable gates you could program the ability for DMA usage as well. With an FPGA you could successfully emulate on a hardware level a 386/486 at probably close to 100MHz. There are a group of people that are doing the same thing for the Amiga platform as we speak. Natami is the most talked about but there is no guarantee on when that is coming out. The Suska project has successfully released an Atari ST replacement board with all of the functionality of the Atari ST computer in an FPGA. I don't know much about it because the creator is very tight lipped, but Jens Schoenfeld of Individual Computers fame is working on his CloneA project which I believe originated as an FPGA, although it may be past that at this point. Also take a look at a device called the Minimig. It is an FPGA re-implementation of an Amiga 500. All of these things are really cool. As is your project. Sadly for me, the computer games I enjoy the most wouldn't run on your machine well at all. But there are groups of people out there that wouldn't even think twice about purchasing such a device as you have created. I say sell it and make a fortune off of it! Retire and drink beer all day.

n/a

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.