Jump to content
IGNORED

it's fun to play on the F. P. G. A.


Recommended Posts

Have you heard about MicroCore Labs' FPGA implementations of retro CPUs? Check out the blog with a lot of interesting details and photos, there are also links to YT videos which show how these can be used as drop-in replacements for original CPUs. Recently one of the cores has even been open sourced.

 

It will be interesting if someone can do a 100% cycle-accurate 8088/8086 to run some of these old games that basically flip out when run on something too fast. Case examples being software designed for the PCjr/Tandy 1000, and original IBM 5150 PC model where they basically blow up on anything faster. (Ultima 2's divide by zero error being the one that comes to mind, but there's plenty of other games that simply run too fast, or emit hissing sound/noise instead of beeps because the PIT is too fast)

Link to comment
Share on other sites

  • 3 weeks later...

Smokemonster ROM/BIOS pack open source preservation project (GitHub)

 

To learn more about this very interesting to FPGA devices' users game preservation project watch the interview with Smokemonster by RetroRGB (go to 18:41):

 

https://www.youtube.com/watch?v=xnDvFr6Lpqo

 

I wonder whether it will be adapted for computer FPGA cores (MiST, for instance) as well...

Edited by retro_fan
Link to comment
Share on other sites

Smokemonster ROM/BIOS pack open source preservation project (GitHub)

 

To learn more about this very interesting to FPGA devices' users game preservation project watch the interview with Smokemonster by RetroRGB (go to 18:41):

 

https://www.youtube.com/watch?v=xnDvFr6Lpqo

 

I wonder whether it will be adapted for computer FPGA cores (MiST, for instance) as well...

48 minutes? Summary plz...
Link to comment
Share on other sites

48 minutes? Summary plz...

 

I gave you the timestamp, and I thought it would be best to here it from Smokemonster himself. :P But yeah Wolf_ explained it quite well: "Basically instead of distributing roms Smoke is switching to a 100% legal program that simply renames and organizes roms how he would set them up. It does this by recognizing hashes (think little built in id numbers every file has) so as long as the id says the contents of the file match what he is looking for it will make sure the file gets named and moved properly regardless of what name it has, and even if it has the same name as something in his packs if the hash (once again think id number) doesn't match it won't move that file incorrectly, which makes it obvious if you have the wrong file.

For the vast majority of a pack just downloading the "goodroms" or "no intro" version would set things up as you would want but the issue is that (imo and probably many others as well) one of the most amazing appeals of the packs is that it includes a very detailed database of pre-patched, pre-translated, hacked, and homebrew games (as well as tools like the 240p test suite and the everdrive/analogue system files) which would require anyone wanting to build the list from scratch to track down and do all of that themselves. Luckily however this means that his lists will never be taken down and vanish from the internet, or that he would get in potentially life ruining trouble for just being a genuinely awesome guy and as long as the lists are around if any single fan of them feels up to it they can make the complete packs available to everyone and if anyone gets a take down notice they can just pass the baton.

 

Right now for example someone has already uploaded them on an archiving site which I won't name in this thread (but has been named in Smoke's thread on epforums).

 

tl;dr: I really hope everyone can see how amazing it is that the Smokemonster packs are now preserved forever in a completely legal way and if anyone wants to download them the only thing that has ultimately changed is where they are located. Please don't be distasteful and insist that the man that has given literal hundreds of hours to researching and archiving these lists should host them himself and put himself at risk when he has already done so much for everyone."

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

https://www.youtube.com/watch?v=Y1Wwa8csFjk

 

"Dissecting FPGAs from bottom up, extracting schematics and documenting bitstream formats

 

In this talk I describe the basic makeup of FPGAs and how I reverse engineered the Xilinx 7 Series and Lattice iCE40 Series together with the implications. FPGAs are used in many applications ranging from networking, wireless communications to high performance computing, ASIC prototyping and so forth. They would be perfect to create true open source hardware but we would still be bound to use proprietary toolchains provided by the manufacturers. To generate a valid configuration file this toolchain needs to know every single wire, switch, possible connection, logic block and the corresponding bits to configure each them. In other words you are required to have the blueprints of the FPGA in your toolchain to be able to do the place&routing and generation of the bitstream file from your netlist. Naturally manufacturers do not like to disclose this information, possibly because someone could reverse engineer valuable intellectual property cores. I will explain each component used in FPGAs from Lattice and Xilinx, like switchboxes, the interconnect, logic blocks, memory blocks. Furthermore I will talk about how I reverse engineered the 7 Series from Xilinx and the iCE40 from Lattice. At the end I will demonstrate how to create your own bitstream by hand, implementing a small logic circuit and testing it live on a Zynq 7000 FPGA from Xilinx."

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Thanks Newsdee,

 

That looks awesome. Sorry to keep hammering out questions but I have a couple!

 

Can this potentially run like a Roland MT-32 or SC-55 in any way shape or form (I have the original units).

 

How do you install games? Does it function like a real 486 once you enter the core?

 

Do you know if GOG.com games would work on this puppy?

 

It is looking like I need to figure out where and how to buy the components to this thing... but I have no idea where to start.

 

Thanks!

Link to comment
Share on other sites

I love these FPGA machines (I have various types) so happy to answer any questions.

 

I'm not sure what you mean by running like a MT-32? If you mean support for the soundcard, its possible technically, but on these things I always recommend just looking at what exists now. Since there is no guarantee when a developer might add it.

 

The core works like a real 486. It takes a VHD file for a hard drive and IMG files for floppies. You can open the VHD on Windows (or Linux) and just copy files to it.

 

I haven't tried it myself but if GOG titles work on Dosbox they should work here. I assume they have no DRM, so you can just copy them inside the hard drive image.

 

The main board can be bought directly from the manufacturer or on a website like Mouser:

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=167&No=1046

 

Then you need at least an SDRAM board which you can find here:

https://www.cbmstuff.com/products.php?cat=3

 

You don't need the I/O board or the RTC board to start. In fact the 486 core will even run without the SDRAM board, but I do tecommend getting it for the other cores. The Genesis core also runs without SDRAM expansion.

Edited by Newsdee
Link to comment
Share on other sites

How much better is the MiSTer compared against the original MiST? It's a broad question, but it seems like this is an off-the-shelf replacement?

Some things are similar because MiSTer is a successor/descendant of the MiST project. But which one is better is a bit subjective.

 

Technically the MiSTer has a much bigger and better FPGA, a 110K LE Cyclone V with extra 800 Mhz ARM MCU on chip, versus the 25K LE Cyclone III of the MiST with a tiny MCU on the PCB.

 

MiSTer has HDMI out, an Ethernet port, and supports many more USB devices. ARM MCU runs a barebones Linux for all housekeeping such as loading files from SD card or act as FTP server.

 

The MiST on the other hand has two DB9 joystick ports than can receive Amiga style 2 button controllers, and MIDI ports which can also be disabled to act as serial port for connection to a real modem, allowing the ST and Amiga cores to use the internet for instance.

 

In theory MiSTer could run all of the MiST cores and has already cores that the MiST cannot handle because it has no space (486 and Genesis). That said not all cores were ported yet and there is no timeline when that will happen. Being fully open source means that developers work on it when they are willing. Not unlike SE in the very early days.

 

Another key difference is a MiST can be more easily assembled as the Cyclone III can be hand soldered, whereas the Cyclone V needs industrial equipment. This led to various clones popping up, and eventually Lotharek to decide stop production of the official MiST for now. In any case that means the PCB for MiST can eventually be produced by anybody. With the code being open source, that means anybody can pick up the torch if the original devs leave.

 

MiSTer on the other hand is built around an industrial FPGA education board which have become fairly cheap (not the case when MIST was created). This means there is a risk the company stops producing it, but two things makes this irrelevant (IMHO). First, current production volumes are fairly big as the market is broader for these cards (its not just for retro computing but used for university FPGA education), and second there are similar boards where the MiSTer code can be ported to. One person is looking at making it run on a VGA only board which is slightly cheaper, for example.

 

Looking at clone cards there are models of MiST with SVideo and Composite video out, such as the MISTICA, which can be appealing for those wanting to game on CRTs

 

So if you like the idea of 100% open hardware or want an ST core right now, or maybe want SVideo/composite, the MiST or a clone might be more appealing, Otherwise the MiSTer would be the state of the art (HDMI) with more expansion potential. Its also cheaper if you go for just the SDRAM expansion.

 

Also just to be clear the cores are practically the same between the two, there is no difference in compatibility (basically they are largely the same Verilog/VHDL code). Only exception is some cores run better on MiSTer (e.g. PC Engine) as the bigger FPGA allows them to be more stable. Game support is the same though.

Edited by Newsdee
  • Like 1
Link to comment
Share on other sites

Newsdee do you mind if I PM you about how to get started with this MISTer thing?

 

I have some questions on setup and what I would need but don't want to clog this thread.

 

One random question that everyone might want to know:

 

So there are these MIDI sound-modules that were popular around the DOS era. They work in Dosbox via a MIDI USB connection. In Dos you needed some kind of UART Card to get them working. I'm wondering if there would be a way to get the MISTer to read the MT-32/SC-55 and function as the old hardware did. Don't know if anyone has done this yet but it does interest me.

Link to comment
Share on other sites

Yes sure, feel free to PM me. There are also forums for the MiSTer where you can find tons of info:

http://www.atari-forum.com/viewforum.php?f=117

 

There is no external midi support for the 486 core at the moment. It is technically possible but it will need a motivated developer to look at it.

 

Note that many of the MiST and MiSTer cores are ports of work done by independent people in open source projects. If the original project gets upgraded, it is pretty straightforward to upgrade the MiSTer core as well.

 

If you want an idea on how it works, you can perhaps check how the Mockingboard sound card is handled for the Apple II core:

https://github.com/MiSTer-devel/Apple-II_MiSTer?files=1

Edited by Newsdee
Link to comment
Share on other sites

  • 8 months later...

So what exactly is the state of MiSTer's available cores regarding compatibility?

There has been lots of progress lately. An Atari ST core is out, a CPC core is out, PC Engine supports the SuperGrafx games, new mappers are added to the NES (including FDS support) right now, many fixes went into the SMS core so most games work now, etc.

 

There are also many cores that are already pretty mature like the Amiga, Atari 800XL/5200, Spectrum, C64, Apple II, etc. They are not 100% perfect (more like 99%) but they support writing back to disk and run almost every game, so that's pretty good.

 

Not everything is done, the GB and Atari 2600 cores are both missing some games for example. But there is more than enough to keep one very busy for a while.

 

Full core list here:

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Edited by Newsdee
Link to comment
Share on other sites

Any reason why there's no SNES/NEO GEO? Not enough juice?

The FPGA used by MiSTer has more than twice the capacity (110K LE) of the FPGA on the Super NT (45K LE).

It's actually the biggest one available at that price point (without going into boards that cost thousands of $) so "juice" is not the problem.

 

There is an existing SNES core which is not open source and hasn't been made available to the public yet:

 

For Neo Geo, there is a project run by Furrtek to document and implement a NeoGeo in FPGA. He is aware of MiSTer but is focusing on documenting first:

https://www.patreon.com/furrtek

 

The bottleneck is that there aren't that many FPGA developers around, and much less interested in retro hardware, and even less people willing to open source their work.

But the community is growing, the DE10-Nano board is an attractive board for anybody wanting to learn FPGA (e.g. students) given the price point (it is actually designed as a low-price learning board by Terasic).

Edited by Newsdee
Link to comment
Share on other sites

I hear MiSTer/De10 is becoming a hobbyist standard rather quickly and gaining all kinds of support.

It finally got noticed by many people following Analogue, plus SmokeMonster gave it quite a lot of coverage.

 

In latest news it now supports MIDI output via USB, which benefits the PC and Amiga cores (and ST is being worked on) if you have MIDI hardware. It's definitely a niche feature, but it was a major bastion of the MiST that was untouched so far. MiSTer is now quite mature as a project.

Edited by Newsdee
  • Like 1
Link to comment
Share on other sites

  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...