Page 1 of 1
Where do I start if I want to contribute?
Posted: Fri Jan 01, 2021 9:07 am
by DeadPangolinWalking
Hey everyone, I was looking to work on open source RTL development and somebody on Reddit pointed me here. I'm new to the open-source concept as a whole and I was just wondering where do I start if I wanted to contribute here.
Re: Where do I start if I want to contribute?
Posted: Fri Jan 01, 2021 3:16 pm
by KremlingKuthroat19
Hey @DeadPangolinWalking. Welcome to the MiSTer forum!
MiSTer is a project aimed at recreating classic video game hardware in FPGA. We're always welcome to any and all developers. Do you have a particular interest (video game consoles, handhelds, computers, arcade boards) or a particular skillset that you think can benefit the project?
There are a lot of ongoing projects now. Would you be interested in working on your own project or assisting other projects as a team member?
If you're looking for projects currently underway or that need assistance I can point some out to you.
Re: Where do I start if I want to contribute?
Posted: Sat Jan 02, 2021 1:04 pm
by DeadPangolinWalking
Hey @KremlingKuthroat19,
I'm not very familiar with classic video game consoles and such. I am interested in computer architecture though and in the process of learning.
I would say I'm proficient in Verilog and I've worked on Xilinx boards such as the Virtex 4 and Zync Zedboard (Artix 7), although not extensively. I would very much like to contribute to a team since, as I mentioned, I am very new to the concept of open-source and would like to learn the ropes before taking a plunge.
Re: Where do I start if I want to contribute?
Posted: Sat Jan 02, 2021 1:17 pm
by alanswx
DeadPangolinWalking wrote: ↑Sat Jan 02, 2021 1:04 pm
Hey @KremlingKuthroat19,
I'm not very familiar with classic video game consoles and such. I am interested in computer architecture though and in the process of learning.
I would say I'm proficient in Verilog and I've worked on Xilinx boards such as the Virtex 4 and Zync Zedboard (Artix 7), although not extensively. I would very much like to contribute to a team since, as I mentioned, I am very new to the concept of open-source and would like to learn the ropes before taking a plunge.
I would love some help! There are a ton of things to work on. Often fixing or implementing an arcade game is one of the first steps to getting involved. A lot of games have good schematics, and some additional info in the MAME source code. Otherwise, on the processor front a few of the existing cores could use upgraded processors, or FPUs and MMUs implemented. The computer cores could use some help as well. Some of the existing cores have clock issues, and timing problems that can use some fixes.
The challenge is to pick up enough information about the old system, so that you can re-implement it in verilog and/or vhdl.
Re: Where do I start if I want to contribute?
Posted: Sat Jan 02, 2021 1:51 pm
by DeadPangolinWalking
@alanswx, thanks for the info! Where do I go about looking for the documentation? Also are the issues you talk about listed somewhere? That should give me an idea if I'm cut out for this or if I'm in over my head.
Re: Where do I start if I want to contribute?
Posted: Sat Jan 02, 2021 2:40 pm
by Newsdee
The Apple II core could use some love, but there's plenty of other systems that can use minor tweaks. It depends on which one system you'd be willing to dig your teeth into.
Re: Where do I start if I want to contribute?
Posted: Sat Jan 02, 2021 3:51 pm
by DeadPangolinWalking
Newsdee wrote: ↑Sat Jan 02, 2021 2:40 pm
The Apple II core could use some love, but there's plenty of other systems that can use minor tweaks. It depends on which one system you'd be willing to dig your teeth into.
I would like to find out more. Can you point me to the relevant repository/documentation?
Re: Where do I start if I want to contribute?
Posted: Sat Jan 02, 2021 6:20 pm
by ExCyber
https://github.com/MiSTer-devel/Apple-II_MiSTer
More generally, to find a particular MiSTer core see the sidebar of the
Main_MiSTer wiki.
Documentation for the core itself is in the README file on GitHub. If you mean documentation about the Apple II, there's a lot out there. I'm far from an Apple II expert, but the most detailed and comprehensive that I know of is "The Apple II Circuit Description".
Re: Where do I start if I want to contribute?
Posted: Sat Jan 02, 2021 6:30 pm
by aberu
DeadPangolinWalking wrote: ↑Sat Jan 02, 2021 1:04 pm
Hey @KremlingKuthroat19,
I'm not very familiar with classic video game consoles and such. I am interested in computer architecture though and in the process of learning.
I would say I'm proficient in Verilog and I've worked on Xilinx boards such as the Virtex 4 and Zync Zedboard (Artix 7), although not extensively. I would very much like to contribute to a team since, as I mentioned, I am very new to the concept of open-source and would like to learn the ropes before taking a plunge.
Some useful perspective can also be gained by looking over the Template for cores and the instructions there as to what is allowed to be changed or not. The version of Quartus used is pretty important as well. 17.0.x. Anything newer can potentially cause incompatibilities and should be avoided. The free Lite version of Quartus can be used if you don't have a copy of Standard.
MiSTer Core Template:
https://github.com/MiSTer-devel/Template_MiSTer
Definitely head to the development forum and peruse some of the topics there as well, might give you some perspective.
Re: Where do I start if I want to contribute?
Posted: Sun Jan 03, 2021 3:15 am
by Newsdee
DeadPangolinWalking wrote: ↑Sat Jan 02, 2021 3:51 pm
I would like to find out more. Can you point me to the relevant repository/documentation?
There is a good technical report from one if the original core authors:
http://www.cs.columbia.edu/~sedwards/pa ... puting.pdf
In general the core needs better floppy support (physically write back to SD card) and ideally hard drive support. Both have been done for other cores so maybe that can help.
if you need help finding technical manuals I can dig for those, the Apple II had great documentation.
Re: Where do I start if I want to contribute?
Posted: Sun Jan 03, 2021 10:44 am
by Threepwood
That file seems to be missing, but an archived version can be found here:
https://web.archive.org/web/20201109034 ... puting.pdf
Re: Where do I start if I want to contribute?
Posted: Mon Jan 04, 2021 4:58 am
by Newsdee
As for benefits, hard drive aupport will allow running Total Replay, an image with 300+ games and a launcher. And of course writing to floppies is for playing adventure and RPG games fully.
It was suggested earlier (by kitrinx I think?) that we could use the save RAM method from NES as easy way to save data instead of writing back to the .dsk/.nib file. It should work fine if you can overlay 128kb of saved data to any original disk data.
For the HDD I believe its easier to implement it using the 2nd SD card as starting point (on the IO board) since its directly accessible to the FPGA.
Hope that helps!