Where do I start if I want to contribute?

Discussion of developmental aspects of the MiSTer Project.
DeadPangolinWalking
Posts: 4
Joined: Fri Jan 01, 2021 9:01 am
Has thanked: 3 times

Where do I start if I want to contribute?

Unread post 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.
KremlingKuthroat19
Posts: 237
Joined: Sat Aug 22, 2020 3:08 am
Has thanked: 27 times
Been thanked: 49 times

Re: Where do I start if I want to contribute?

Unread post 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.
DeadPangolinWalking
Posts: 4
Joined: Fri Jan 01, 2021 9:01 am
Has thanked: 3 times

Re: Where do I start if I want to contribute?

Unread post 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.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Where do I start if I want to contribute?

Unread post 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.
DeadPangolinWalking
Posts: 4
Joined: Fri Jan 01, 2021 9:01 am
Has thanked: 3 times

Re: Where do I start if I want to contribute?

Unread post 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.
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: Where do I start if I want to contribute?

Unread post 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.
DeadPangolinWalking
Posts: 4
Joined: Fri Jan 01, 2021 9:01 am
Has thanked: 3 times

Re: Where do I start if I want to contribute?

Unread post 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?
ExCyber
Posts: 221
Joined: Sun May 24, 2020 3:33 pm
Has thanked: 12 times
Been thanked: 71 times

Re: Where do I start if I want to contribute?

Unread post 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".
User avatar
aberu
Core Developer
Posts: 1161
Joined: Tue Jun 09, 2020 8:34 pm
Location: Longmont, CO
Has thanked: 244 times
Been thanked: 404 times
Contact:

Re: Where do I start if I want to contribute?

Unread post 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.
birdybro~
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: Where do I start if I want to contribute?

Unread post 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.
User avatar
Threepwood
Posts: 133
Joined: Mon May 25, 2020 9:14 am
Has thanked: 4 times
Been thanked: 23 times

Re: Where do I start if I want to contribute?

Unread post by Threepwood »

Newsdee wrote: Sun Jan 03, 2021 3:15 am There is a good technical report from one if the original core authors:
http://www.cs.columbia.edu/~sedwards/pa ... puting.pdf
That file seems to be missing, but an archived version can be found here: https://web.archive.org/web/20201109034 ... puting.pdf
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: Where do I start if I want to contribute?

Unread post 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!
Post Reply