Skip to content

4. Understand the MiSTer core

sy2002 edited this page Apr 30, 2022 · 21 revisions

Understand the MiSTer core

Before you start porting, you should first understand how the MiSTer core works. In the optimal case, you own a MiSTer and can actually experiment with the core. But this is not mandatory. There are also a lot of YouTube videos about many cores. It is important that you get an overall "feeling" for the core, because this helps you to understand a lot of things, including MiSTer's core configuration string (CONF_STR).

MiSTer is a very structured project, so we can rely on certain files and folders to be always present:

  • rtl folder: Contains the actual core. Most MiSTer cores are enhanced version of MiST cores or other cores. Therefore the MiSTer team encapsulates everything related to the core itself inside the rtl folder. This is the most important folder when it comes to your porting efforts.

  • sys folder: This is the MiSTer framework that provides similar services than the MiSTer2MEGA65 framework. Normally, you do not need this folder.

  • *.sv file on the root folder that is named like the core: This is your starting point for any porting effort, because you will be able to study the "wiring" of the MiSTer core: How does MiSTer actually connect different parts of the core with its own framework? Which kind of glue logic is necessary? What options does MiSTer offer to the users? ROMs? Drives? As you can see, there a lot of important things in this file, so it is mandatory to study it carefully.