This repo serves as the home for the MiSTer Main binaries and the Wiki.
For the purposes of getting google to crawl the wiki, here's a link to the (not for humans) crawlable wiki
If you're a human looking for the wiki, that's here
Main MiSTer binary and Wiki
License: GNU General Public License v3.0
This repo serves as the home for the MiSTer Main binaries and the Wiki.
For the purposes of getting google to crawl the wiki, here's a link to the (not for humans) crawlable wiki
If you're a human looking for the wiki, that's here
For those of us not using Windows (e.g. Mac and Linux users) - are there any instructions to manually partition (and copy files to) the SD card, so we can use our usual system tools to get MiSTer setup?
Start the game and watch the intro, you can see glitchy lines.
This happens with latest bsnes v107 too but only when "Fast PPU" hack is turned on, also happens on Snes9x.
Does not happen on real console.
Can you add menu options for hibernate to disk or suspend to ram. This would be great sense the de10-nano does not come with a on/off switch by default. It would let you "turn off" and resume mister from your keyboard/mouse/joypad. If you add this it might also be good to add a ini option to set a idle timer for like 30 minutes.
/cheers
Hi Team,
I'm not sure if this is MiSTer or minimig related, so please close if not MiSTer.
It would be great if you could allow the config files for minimig to be customised. For example "Workbench 3.1 A1200 AGA - NTSC" for example
It looks like some people are worried about latency issues. You may want to add this question to FAQ or something.
Actually, how tight is the ARM's integration with FPGA in this case?
Regards
Defining UP + START as the menu combo works in cores only if pressing (and holding) START first. Otherwise, auto-fire period is incremented and it gets displayed on the screen.
So I transferred the new main (20190609) via FileZilla, but now I get a black screen when booting. I can still access the cores via FileZilla, but I can't control from the MiSTer hardware itself. I tried sending the file from both ASCII and Binary mode in FileZilla, but no differences.
What can I do about this?
I noticed that the sys folder has some inconsistencies between core to core. For example, I was playing around with the menu core and noticed that the pattern generator in lite mode for HDMI is random noise while in the FpgaGen core it is a checkered display.
I think that would make it more organized for porting cores if each project is using the same system files.
My idea would be to have no sys folder in each of the cores but rather a script that pulls the sys folder from a Github repository. Yes, if you edit the sys folder, then it could break compatibility for some cores but I think that would be a way of keeping each core up to sync with the latest sys folder.
So if changes were made to the sys folder, it would propagate to each of the cores. Also, updating the cores would be a breeze by simply pulling from the sys repository again.
As a newcomer to MiSTer, it is difficult to be able to understand and create/port a core when each example core has slight variations in the sys folder.
@sorgelig What are your thoughts on this?
I've been using MiSTer with a VGA-SCART cable connected to a TV without any issue up to 20190515.
I tested newer versions from the working one to the latest, and none of them display the menu with my setup, just something that appears to be a very fast rolling menu.
So it seems that something broke between 20190515 and 20190525. I noticed two commits in the history between those releases relating to video changes, which are 448cc2c and 414861e. Just in case that helps.
Thanks!
Hi there,
I'm trying to get a Waveshare HDMI display working with the MiSTer. As the h/w resolutions are pretty much inverted, the 1080p@60 does mostly show garbage and I can see that the display is also rotated.
Waveshare documented their recommended settings for the RaspberryPi (hdmi_timings=1080 1 26 4 50 1920 1 8 2 6 0 0 0 60 0 135580000 3
) here but I wasn't able to successfully translate this to a custom MiSTer video_mode. Even if I would, I assume it would still need to change hdmi orientation somehow, which doesn't seem support at this point?
Any help/input on this is highly appreciated!
Hello.
since Mister_20190318 the "define core buttons" feature is broken : with my USB Sony "analog" controller, it does not detect the "LEFT" and "UP" buttons anymore. MiSTer_20190302 is working fine.
some debug that may help (when I press and release the UP button then the LEFT one):
strace -pxxxx -e "trace=!clock_gettime,poll"
read(19, "\237\240\222\\305\244\r\0\3\0\1\0\0\0\0\0", 16) = 16
ioctl(19, EVIOCGABS(ABS_Y), {value=0, minimum=0, ...}) = 0
read(19, "\237\240\222\\305\244\r\0\0\0\0\0\0\0\0\0", 16) = 16
read(19, "\240\240\222\\205\243\10\0\3\0\1\0\200\0\0\0", 16) = 16
ioctl(19, EVIOCGABS(ABS_Y), {value=128, minimum=0, ...}) = 0
read(19, "\240\240\222\\205\243\10\0\0\0\0\0\0\0\0\0", 16) = 16
read(19, "\254\240\222\\5;\17\0\3\0\0\0\0\0\0\0", 16) = 16
ioctl(19, EVIOCGABS(ABS_X), {value=0, minimum=0, ...}) = 0
read(19, "\254\240\222\\5;\17\0\0\0\0\0\0\0\0\0", 16) = 16
read(19, "\255\240\222\\304]\4\0\3\0\0\0\200\0\0\0", 16) = 16
ioctl(19, EVIOCGABS(ABS_X), {value=128, minimum=0, ...}) = 0
read(19, "\255\240\222\\304]\4\0\0\0\0\0\0\0\0\0", 16) = 16
Similar to how the MiST project does it, it would be nice, as more, newer users come to the platform, that they can go to a single repo to bootstrap the MiSTer environment.
Thoughts?
When I look at the top results, I see that that MiSTer takes 50% cpu, which means that one core is running at 100%.
CPU: 25% usr 24% sys 0% nic 49% idle 0% io 0% irq 0% sirq
Load average: 1.00 1.01 0.96 2/65 2463
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
857 1 root R 20248 4% 50% /media/fat/MiSTer /media/fat/Arcade-MrDoNightmare_20180313.rbf
A quick look at the code confirms my suspicion that the process is indeed busy waiting. Which is unwise from a power consumption and heat standpoint. I was wondering if this is by design?
Possible to have a history of the last games played in past x number of days?
Possible to add games to a favorite list?
I was reading this page: https://github.com/MiSTer-devel/Main_MiSTer/wiki/Core-porting-notes
At the very end it mentions
Scaler uses "Video and Image Processing"(VIP) modules from Megacore IP bundled with Standard Quartus license. Free/Web version of Quartus can compile the scaler code, but it will work as a trial version - video will work around 1 hour and then will start to blink. Trial version won't have RBF and can be uploaded to FPGA only through USB Blaster.
Scaler code is distributed in vip.qsys form. You need to open vip.qsys in QSYS and regenerate the code. After that, you will be able to compile the Full version.
Looking at the modern ZX Spectrum core's github though, it seems like this IP was removed from the project back in February: MiSTer-devel/ZX-Spectrum_MISTer@3b23a8f
This is great news, as it means the project can be fully built with the free edition.
Does it make sense to remove this line? (I can do it, but I'm very new to this project so didn't want to step on any toes on the wiki, and maybe I'm incorrect with this suggestion)
I am using a Raphnet 2 controller Wii classic to USB adapter. Starting from Main release 20190427 both controllers will act as controller 1.
Log 0422
Input event: type=EV_KEY, code=316(0x13c), value=1, jnum=0, ID:289b:002c
FileLoad(open) File:/media/fat/config/kbd_289b_002c.map, error: -1.
PS2 code(make)(ext) for core: 117(0x75)
Input event: type=EV_KEY, code=316(0x13c), value=0, jnum=1, ID:289b:002c
PS2 code(break)(ext) for core: 117(0x75)
Input event: type=EV_KEY, code=316(0x13c), value=1, jnum=0, ID:289b:002c
PS2 code(make)(ext) for core: 117(0x75)
Input event: type=EV_KEY, code=316(0x13c), value=0, jnum=2, ID:289b:002c
PS2 code(break)(ext) for core: 117(0x75)
Log 0427
Input event: type=EV_KEY, code=316(0x13c), value=1, jnum=0, ID:289b:002c
FileLoad(open) File:/media/fat/config/kbd_289b_002c.map, error: -1.
PS2 code(make)(ext) for core: 117(0x75)
Input event: type=EV_KEY, code=316(0x13c), value=0, jnum=1, ID:289b:002c
PS2 code(break)(ext) for core: 117(0x75)
Input event: type=EV_KEY, code=316(0x13c), value=1, jnum=1, ID:289b:002c
PS2 code(make)(ext) for core: 117(0x75)
Input event: type=EV_KEY, code=316(0x13c), value=0, jnum=1, ID:289b:002c
PS2 code(break)(ext) for core: 117(0x75)
On my setup, the µSD card shows up as /dev/mmcblk0
and partitions as /dev/mmcblk0p1
, etc. This breaks the create_sd.sh
script, which assumes /dev/sdX
and /dev/sdX1
, etc. Note the subtle difference: an extra p
inserted for partitions in my case.
I worked around this with cd /dev/ && ln -s mmcblk0 mmcblk0p
and then specifying the latter symlink as device name to the script.
I don't use windows and i'm searching for a howto. There is a deprecated guide in the wiki,
but the new linux-image-creator only creates images. Thanks!
I’d like to request for the OSD to track screen orientation. The core could use a letter in the config screen to inform about the default orientation. The OSD should follow suit. If the user selects to rotate the screen, then both the game and the OSD should rotate together.
This is important for vertical arcade cores.
See video: https://www.youtube.com/watch?v=x0xQTgUb26Y
Summary: In newer cores, the settings menu appears to be broken. The entry being changed does not correspond to the entry you have highlighted; it will change a value higher up in the menu instead.
After some experimentation it seems it was introduced in cores on or after May 10th, 2019
Is it possibly something about my setup? Note in the video it doesn't happen with an older Genesis core loaded
Hi Sorgelig,
As per your message, please regard this issue as identification (and not an issue).
I should be in a position to upload the dev in the next week or so (beta version), albeit it is undergoing continuous development as I intend to add the FDC for the MZ80K/A/700 and additionally develop the new machines MZ80B/MZ800. I am making it all as one emulation with configuration albeit the MZ80B will be a seperate sub-module.
Many thanks in advance,
Brgds,
Philip
Hi!
Some controllers/adapters lacking the HOME/MENU button, but providing combos for it (like START + SELECT), have trouble to get the menu to show up. Instead we get auto-fire enabled to either SELECT or START.
My proposal is to add a disable_autofire (defaults to 0) option to MiSTer.ini that will disable auto-fire and make those controllers having the HOME button key combo to work fine (at the expense of losing auto-fire).
Let me know if that's something you think it's fair so I can implement, test and open a PR.
Cheers!
Just want to leave my two cents here, but you/we should consider tagging releases and attaching binaries as supported by github. This will make maintaining the version history a lot more transparent.
Currently only HDMI Monitors are supported by MiSTer.
To support DVI Monitor only the "HDMI Bit" in the hdmi initialisation needs to be cleared.
A new config switch in MiSTer.ini like:
dvi_mode=1 ; set to 1 for DVI-Monitor
could enable the usage of those displays.
I have already working a demo implementation of this feature (MiSter and a modified C64-Core). Because almost all MiSTer cores use the same framework this little patch would enable all cores to be working on my DVI displays.
If I succeeded in making a universal SD card image that people could write to their SD cards with any tool (dd, Etcher, Apple Pi Baker, Win32 Disk imager, ...) on any operating system, would you consider accepting something like that into the project?
The image would be small enough to contain the basic installation and reduce the download size. A script in the MiSTer interface would then resize the MiSTer_Data partition to the maximum free available space on the SD card. Just like Raspbian and other projects for the Raspberry Pi do.
According to my research the only caveat is that the MiSTer_Data partition has to be the last in the list so that it can be truncated to save space in the image. This may mean changing the partition scheme around which you may not want to happen.
Let me know your thoughts. If you don't like it, I won't waste time on it.
PS: I made a macOS SD installer script so that at least macOS users can create an SD card without having to boot into a Windows 10 VM.
Now when I press the space bar to skip mapping a button, the OSD assigns the space bar to the button instead of skipping.
Expected Result:
Both buttons should be required to be pressed at the same time in order to initiate Clear All. Each of the individual buttons should be able to be bound.
Current Behavior:
Pressing the first button triggers the Clear All preventing the button from being mapped.
Big fan of the project. I am a newcomer just exploring this and trying to implement my own core for the fun of it.
I spent a few hours trying to figure out the CONF_STR
and exactly how it works. Once I got into main.c it started to make more sense. Anyway, I think adding a Wiki page for this would be immensely helpful.
Unfortunately, I don't have the time but here is a start for notes:
https://gist.github.com/addisonElliott/a790a91f4120ff8cada2b4dc8e98be77
I envision that adding to it with some examples, pictures would be really helpful. It isn't too difficult to understand once it is laid out.
Hello,
xxxxx@xxxxxx:~/FPGA/mister-fpga/Main_MiSTer$ make sharpmz.cpp In file included from /usr/arm-linux-gnueabihf/include/fcntl.h:289:0, from sharpmz.cpp:34: In function ‘int open(const char*, int, ...)’, inlined from ‘int sharpmz_file_write(fileTYPE*, const char*)’ at sharpmz.cpp(67, 20): /usr/arm-linux-gnueabihf/include/bits/fcntl2.h(50, 26): error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments __open_missing_mode (); ^ In function ‘int open(const char*, int, ...)’, inlined from ‘int sharpmz_file_write(fileTYPE*, const char*)’ at sharpmz.cpp:67:20, inlined from ‘short int sharpmz_read_ram(const char*, short int)’ at sharpmz.cpp(1576, 28): /usr/arm-linux-gnueabihf/include/bits/fcntl2.h(50, 26): error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments __open_missing_mode (); ^ In function ‘int open(const char*, int, ...)’, inlined from ‘int sharpmz_file_write(fileTYPE*, const char*)’ at sharpmz.cpp:67:20, inlined from ‘short int sharpmz_save_tape_from_cmt(const char*)’ at sharpmz.cpp(1917, 40): /usr/arm-linux-gnueabihf/include/bits/fcntl2.h(50, 26): error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments __open_missing_mode (); ^ Makefile:37 : la recette pour la cible « sharpmz.o » a échouée make: *** [sharpmz.o] Erreur 1
Ubuntu 16.4 / x64 / Xenial LTS.
Arm version : gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9)
Quick & dirty fix :
in file sharpmz.cpp
owner can read and write
Regards
Ever since updating to the latest MiSTer binary (20181229) I cannot run either form of Locutus73's updater script (locally installed/any version, nor the online updater which locally just uses curl to pull the latest script online).
Downgrading to the 20181227 version fixes the issues completely.
Hi,
Can someone tell me where the HDL source is for the FPGA design for MiSTer? I was not able to find it searching through the repos on github.
Thanks
Hi,
I saw pictures with heatsink and fan everywhere so i assumed it is necessary, but i did not find any information(had not finished the 28 Pages thread in the Atari forum), so it took me quite a while to find the correct size. (got it from measuring the board from its pdf specs from teratec)
You do not mention the cooling in the wiki, and i thought you might want to add a line to the "How to start" section of the MiSTer wiki.
Something like:
A Heatsink (plus fan?) for the Cyclone V chip is recommended (because ...). The cyclone 5 is approximate 21,5mmx21,5mm, so the Heatsink should be minimum size of XXmmxXXmm and maxXXmmxXXmm because of other parts on the board.
To fit in the MiSTer - Case a maximum hight of xxmm is recommened. (or maybe the hight shouldbe small in general because of io-board?
(i ordered 22x22x10mm, but i did not recieve board and heatsinks yet, so i can not test it yet)
regards Uwe
I've tested a few joysticks with MiSTer and found that some seem to miss button down/button up events, eg you press and release DPad left, but it will continue to register as held down. Of the three I've tested:
Logitech F310 in XInput mode - works fine, no missed events (that I can tell)
8bitdo wireless dongle for switch (XInput), paired with a ps4 controller - very occasionally misses events
Xbox 360 wired controller - Frequently misses events, essentially un-useable
Could be get a part link for the bridge usb mini's?
Possible to use a button combination to open OSD for controllers with limited number of buttons? Such as select + Down?
The currently used kernel is already 2+ years old, and I was missing the usbip
(USB over IP) functionality while waiting for my USB hub to arrive. So I ported the changes to the currently latest socfpga-4.19 branch (https://github.com/makigumo/linux-socfpga/).
I cherry-picked all relevant changes made to socfpga-4.5, without the backported fixes or modules.
But I needed to update to more recent versions of exfat, which is working fine, and rtl8812AU modules. Unfortunately I don't have such a wireless card, so I could not test this, so this might require some work.
I'm not sure how to proceed, because a pull-request would be massive.
NeoGeo Turboload is instable. Sometimes needs loading twice on some sets.
Check against this (it always fails):
Metal Slug 4 Mame Set is the only working set so far. Darksoft had always graphical issues.
Since Turboload Metal Slug 4 Mame has also graphical issues and is not working anymore.
Mister Main up to commit fb6cab7 working fine always.
Currently you can only map one key to one action. Often I use 'select' OR 'left shoulder' as the MiSTer Menu action, but this is an issue with games that use the 'select' or 'left shoulder' buttons. Retroarch solved for this by allowing multiple keys to be mapped, so that you can press 'select' AND 'X' at the same time to access the menu.
Does this make sense? I think this could be very useful for users like myself that primarily use controller-based cores without a keyboard attached.
So, last week I damaged the FPGA on my DE10 board by accidently supplying a ESD shock to the button housing of the OSD menu on the IO board. The shock killed both GPIO pins for the OSD and USER buttons. I was using the IO board 5.5
I'm wonder if there is any protection that we can put in, maybe a diode somewhere?
Maybe this is a user issue, as we take that risk by using a bare PCB not in a case, but I figured I should report the issue and at least make a suggestion for someone who is more knowledgeable than me.
I think MiSTer would really benefit from a gamma slider, especially for those people who use scanline filters, but even for those who don't use any scanline filters. I noticed the Genesis core was noticeably darker than my Mega SG without scanlines turned on, so it would be nice to be able to adjust the gamma to better match other devices.
This is similar to issue #41 (which was closed as "Won't Fix"), but with a more specific and compelling usage case in mind.
Most Amiga platforming games use the joystick UP for "jump", which is really annoying when folks today are predominantly using gamepad-style controllers with all kinds of extra action buttons. In emulators, my strong preference is to map two controller buttons (D-pad UP, and one of the many action buttons) to the Amiga joystick's UP, so that I can have a dedicated jump button for platformers. But switching over to using my MiSTer is a step backward for usability, because I'm stuck using the D-pad's "up" for jump.
Would it be possible to add a special option, only for the Minimig core, to allow mapping a second controller button to UP?
I was previously asked to move over my bootstrap tool that I wrote in Node.js, but I've recently restarted a port to Golang, which theoretically will be able to run on the MiSTer itself without requiring any additional dependencies.
Would it be possible to get admin rights to the repo so I can continuing building on it, handling issues and pull requests if any? I also plan to add some tests and continuous integration etc.
Thanks,
Chris
after upgrading to Release 20181031 all cores fail to configure all of the needed joystick buttons (never gets to configuring an OSD button). No joystick changes save nor do any of the programmed buttons work for the current session in their unsaved state.
Reverting to the previous release (20181019) resolves all of the issues.
Since the mister supports zip, would it be possible to add goodmerge support?
There are many other cool things about the 7z collection but those are the big ones. If you can already open the 7z files, the rest is easy enough just to sort or auto run files with [!]. I have a lot of info on how goodmerge works if needed.
I tried to create some BOM for the other boards:
RTC:
https://octopart.com/bom-tool/95qomeBj
IO Board:
https://octopart.com/bom-tool/KurIZPWc
I doubt these are perfect - but it might save some time.
The SDRAM BOM is incorrect - the capacitor count should be 5, not 1.
https://octopart.com/bom-tool/7Rk7V11w
Hi @sorgelig, I've been learning on how to compile and run SoCs apps for our MiSTer, I started with the Main MiSTer.
I'm a Mac user I soon noticed is not a good platform to develop for this kind of boards, most of the frameworks are only available for Win and Linux. No problem with that I can use a VM to develop.
What I noticed is that for example Main_MiSTer you are using Windows and Visual Studio for development but I will want to provide a guide for developing on Win and Linux, this will bring much opportunity to other users to start developing for the platform and I think this is always good.
I managed to get a quite good and capable dev environment using Quartus Prime and ARM DS with eclipse.
I would like to know, if you are interested, if I can create a README in the project or a Wiki page describing how to setup and start developing for mister from scratch.
What do you think?
NOTE: This may possibly be a hardware bug with the DE10-Nano. However, I believe this needs to be documented somewhere for the MiSTer community to see if others are having the issue and discuss if there is a possible resolution (even if it ends up requiring a hardware modification).
My Setup: So in my main setup my HDTV is connected to an audio receiver via HDMI which uses ARC (audio return channel) to pass audio from the TV to the receiver, as well as let me control the receiver for things such as adjusting the volume via the TV remote. This is a standard feature of HDMI since version 1.4 (if your TV and receiver support it).
The Issue: When the MiSTer (DE10-Nano) is connected to my TV and powered off, HDMI ARC does not function at all for anything. This means any audio from the TV or devices connected to the TV is not passed to the receiver, and the TV cannot control the receiver (adjust volume, power receiver off). Once the DE10-Nano is powered on, ARC will start working again but the behavior is sometimes inconsistent. Audio will start working, but sometimes the control functions (volume adjustment) won't work. Unplugging the HDMI cable from the DE10-Nano 'fixes' the problem.
Troubleshooting Performed: I removed all cables (even power) from the MiSTer except HDMI, and the issue was still present. I also removed the IO board and SDRAM board, but the issue was still present. I could plug the HDMI cable back in afterwards and audio on ARC would continue working, but once I power cycle the TV the issue would return if the HDMI cable is connected to the DE10-Nano. Enable DVI mode on MiSTer didn't seem to help either (which makes sense since the issue is present when the DE10-Nano is powered off). I tried different HDMI cables between the TV and receiver, and between the TV and MiSTer. It also behaved the same on multiple HDMI ports and even on a HDMI switch connected to the TV (even when the switch was powered off).
HDMI pin 14 is responsible for ARC. I've heard some devices can cause issues with ARC if pin 14 is connected to ground. I checked HDMI pin 14 on the DE10-Nano with a multi-meter and it doesn't appear to be connected to ground.
Anyone Else? Does anyone else have this issue with their DE10-Nano/MiSTer when connecting it to a HDTV that also has the TV connected to a receiver via HDMI with ARC? I realize connecting the MiSTer's HDMI directly to the receiver would probably be a work-around, but all the HDMI ports on my receiver are full (and some devices have to be directly connected to the receiver as the TV doesn't pass all surround sound formats to the receiver via ARC).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.