MiSTeX-devel / MiSTeX-hardware

Hardware for MiSTeX
Other
62 stars 3 forks source link

MisteX hardware questions #7

Closed ole00 closed 1 month ago

ole00 commented 1 month ago

HI, MisteX looks like an interesting project. Is there an update what are the current hardware components for MisteX base board? I saw that in the past you were using Allwinner D1, there are mentions of Orange Pi 2W and Raspberry Pi Zero. There also seem to be a RPi 2040 IC on the Mistex Board? You don't seem to have pictures how all these boards connect together. Also there seem to be some hardware on the Mistex Base board that looks to be optional (is it?) like HDMI, uSD card etc.

I think for the clarity of the project it would be good to document:

1) what is the bare minimum HW components on the MisteX baseboard:

The purpose of this doc/QA would be to find the smallest (and simplest to build) configuration of a functional MisteX board. For example I don't need HDMI, I'd be happy to use external power supply (Without USB-C) and I don't need SNAC if the Rpi Zero can be used for input.

2) Which SBC is required (Rpi Zero, Orange Pi ?), which one is supported by the Buildroot image? What is your favourite one that will be (likely) supported going forward?

3) Which FPGA modules are supported and could you provide a link where to buy them? If there are multiple, which one is more likely be supported in the future?

Thanks. Apology if these questions are already answered.

EDIT: I can see you have a JLCPCB directory for production and assembly of the base board. That's a good option however it adds costs and from my experience the ICs may not always be available at LCSC, so the production my not be fully done if there is a shortage of particular chip. I would prefer to build MisteX base board on my own - and to make it simple I'd like not to use the small pitch IC and passives (0402 are not very friendly to solder at home) - I guess that would mean redesign of the board - hence my questions above, which are related to very minimal yet functional MisteX base board.

EDIT2: Checking the Aliexpress site for MisteX compatible QMTECH FPGA module, I found this board: QMTECH Intel Altera CycloneV Cyclone V SoC FPGA 5CSEMA6U23 Development Board which may be compatible with MiSTer on hardware level (and seems to have on board SDRAM, reducing the overall costs of the MiSTer system). Therefore, unless a new FPGA core needs more FPGA resources than MiSTer can support, then building MisteX probably does not make much sense (it is still a good hobby project and and and electronic skill exercise though).

hansfbaier commented 1 month ago

Hi, sorry for the late replay, just came back from vacation. Here the answers: 1)

Yes the QMTech CycloneV board may be MiSTer compatible and won't need MiSTeX. Not sure if it is pin compatible, but at worst you will need to recompile the game cores with different pin assignments.

hansfbaier commented 1 month ago

@ole00 By the way, if you want a ready made board, you can ask in our community channel. There are still members with spare boards. https://t.me/+kuN3TVEjBSAxMDg0

ole00 commented 1 month ago

Thank you for the answers. I appreciate your time answering my questions. I like your effort of porting MiSTer to other HW platforms. I would prefer an FPGA with open source toolchain, something like this (the i9 option): https://de.aliexpress.com/item/1005002997672924.html?spm=a2g0o.productlist.main.3.540aLRSTLRSTpn I understand, there is not nearly as much as LUTs on ECP5 (only 44k) compared to Xilinx boards you use, so these may not be a good option for a MiSTer port. OTOH they are slightly cheaper than the QMTECH FPGA boards.

Ready made MisteX board: I think I'll try something a bit different. The idea is to use real retro CPUs and exchangeable audio chips (via pluggable cards with real AY-3 or YM2204) on a base board. Then to have a smaller grade reprogrammable CPLDs and a FPGA to provide a glue logic and a video circuitry for the game/machine to operate correctly with the original software. I'd probably start with a dual Z80 configuration - these were quite popular in 80s and there are some nice machines.

hansfbaier commented 1 month ago

There is an open source toolchain https://github.com/openXC7 And yes the Lattice part is too small. And the system verilog and VHDL capabilities of the open source toolchains are currently the main limitation for MiSTer cores.

hansfbaier commented 1 month ago

That is a yosys problem

ole00 commented 1 month ago

Thanks for the link to openXC7 - I was not ware such a tool exists. Did you attempt to compile MisteX cores by openXC7? If so, did it work?

That is a yosys problem

I'm not sure I understand the context. Did you mean that yosys can be used to compile code for Altera's FPGAs, but currently unable to produce/fit Cyclon V binaries?

hansfbaier commented 1 month ago

Yosys is the synthesis frontend for any architecture. Its system verilog and VHDL parsers have limitations.

ole00 commented 1 month ago

I see, so that means MiSTer and MiSTEX FPGA cores can't be 'compiled' by Yosys (at this time) because of some limitations. I guess the only remedy would be to improve Yosys parser to support the limiting /missing functionality. Is there a list of what is missing / not supported by the parser, specifically for MiSTer/MisteX?

hansfbaier commented 1 month ago

not really I think apart from the yosys issue tracker. I would just try it out, where it falls short