MISTer (Main Core)

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Moderators: Mug UK, Zorro 2, spiny, Greenious, Sorgelig, Moderator Team

Locked
paulbnl
Captain Atari
Captain Atari
Posts: 151
Joined: Wed Oct 24, 2018 9:43 am

Re: MISTer (Main Core)

Post by paulbnl »

JamesF wrote:I have problem with custom resolution that used to work on older builds.
video_mode=1920,48,32,80,1200,3,6,26,154128
When rebooting mister with this custom resolution I see static screen and OSD will not display.

But using this 1080p custom resolution video_mode=1920,48,32,80,1080,3,5,23,138653 and everything is okay.. boots normally.
Which version does it work on? I have tried older menu and MiSTer versions but couldn't get it to work at all. The oldest I tried were versions 0627.

Log:

Code: Select all

U-Boot SPL 2017.03+ (May 23 2018 - 19:09:48)
Trying to boot from MMC1


U-Boot 2017.03+ (May 23 2018 - 19:09:48 +0800)

       Watchdog enabled
DRAM:  1 GiB
socfpga_bridges_reset: FPGA not ready, aborting.
MMC:   dwmmc0@ff704000: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Autoboot in 0 seconds
reading menu.rbf
2373808 bytes read in 206 ms (11 MiB/s)
reading /linux/zImage_dtb
8821023 bytes read in 752 ms (11.2 MiB/s)
## Flattened Device Tree blob at 01863270
   Booting using the fdt blob at 0x1863270
   reserving fdt memory region: addr=0 size=1000
   Loading Device Tree to 03ff6000, end 03fff6ae ... OK

Starting kernel ...

[    0.300483] rtc-m41t80 1-0068: Can't clear HT bit
Starting logging: OK
Populating /dev using udev:
Minimig by Dennis van Weeren
ARM Controller by Jakub Bednarski
MiSTer code by Sorgelig

Version 191017

Looking for root device...
FileLoad(open) File:/media/fat/config/device.bin, error: -1.
Using SD card as a root device
Init SPI.
Identified 8BIT core
Core name is "MENU"
** altcfg: no cfg
INI_PARSER : Start INI parser for core "MENU".
INI_PARSER : Opened file MiSTer.ini with size 4424 bytes.
INI_PARSER : line(0): "[MiSTer]".
INI_PARSER : Got SECTION 'MISTER' with ID 1
INI_PARSER : line(0): "key_menu_as_rgui=0".
INI_PARSER : Got VAR 'KEY_MENU_AS_RGUI' with VALUE 0
INI_PARSER : line(0): "forced_scandoubler=0".
INI_PARSER : Got VAR 'FORCED_SCANDOUBLER' with VALUE 0
INI_PARSER : line(0): "ypbpr=0".
INI_PARSER : Got VAR 'YPBPR' with VALUE 0
INI_PARSER : line(0): "composite_sync=1".
INI_PARSER : Got VAR 'COMPOSITE_SYNC' with VALUE 1
INI_PARSER : line(0): "vga_scaler=0".
INI_PARSER : Got VAR 'VGA_SCALER' with VALUE 0
INI_PARSER : line(0): "hdmi_audio_96k=1".
INI_PARSER : Got VAR 'HDMI_AUDIO_96K' with VALUE 1
INI_PARSER : line(0): "keyrah_mode=0x18d80002".
INI_PARSER : Got VAR 'KEYRAH_MODE' with VALUE 0x18d80002
INI_PARSER : line(0): "volumectl=0".
INI_PARSER : Got VAR 'VOLUMECTL' with VALUE 0
INI_PARSER : line(0): "vscale_mode=0".
INI_PARSER : Got VAR 'VSCALE_MODE' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "vscale_border=0".
INI_PARSER : Got VAR 'VSCALE_BORDER' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "rbf_hide_datecode=0".
INI_PARSER : Got VAR 'RBF_HIDE_DATECODE' with VALUE 0
INI_PARSER : line(0): "menu_pal=0".
INI_PARSER : Got VAR 'MENU_PAL' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "hdmi_limited=0".
INI_PARSER : Got VAR 'HDMI_LIMITED' with VALUE 0
INI_PARSER : line(0): "fb_size=0".
INI_PARSER : Got VAR 'FB_SIZE' with VALUE 0
INI_PARSER : line(0): "fb_terminal=1".
INI_PARSER : Got VAR 'FB_TERMINAL' with VALUE 1
INI_PARSER : line(0): "osd_timeout=30".
INI_PARSER : Got VAR 'OSD_TIMEOUT' with VALUE 30
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "bootcore_timeout=10".
INI_PARSER : Got VAR 'BOOTCORE_TIMEOUT' with VALUE 10
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "reset_combo=0".
INI_PARSER : Got VAR 'RESET_COMBO' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "dvi_mode=0".
INI_PARSER : Got VAR 'DVI_MODE' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "video_mode=1920,48,32,80,1200,3,6,26,154128".
INI_PARSER : Got VAR 'VIDEO_MODE' with VALUE 1920,48,32,80,1200,3,6,26,154128
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "video_info=3".
INI_PARSER : Got VAR 'VIDEO_INFO' with VALUE 3
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "vsync_adjust=0".
INI_PARSER : Got VAR 'VSYNC_ADJUST' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "direct_video=0".
INI_PARSER : Got VAR 'DIRECT_VIDEO' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(4): "".
Calculate PLL for 154.1280 MHz:
Fvco=462.384018, C=3, M=9, K=0.247680(1063779041) -> Fpix=154.128006
Incorrect amount of items in video_mode parameter: 0
Calculate PLL for 74.2500 MHz:
Fvco=445.500000, C=6, M=8, K=0.910000(3908420239) -> Fpix=74.250000
Incorrect amount of items in video_mode parameter: 0
Calculate PLL for 74.2500 MHz:
Fvco=445.500000, C=6, M=8, K=0.910000(3908420239) -> Fpix=74.250000
FileLoad(open) File:/media/fat/config/MENU_gamma.cfg, error: -1.
FileLoad(open) File:/media/fat/config/MENU_scaler.cfg, error: -1.
Send HDMI parameters:
video: 1920, 48, 32, 80, 1200, 3, 6, 26,
PLL: 0x4, 0x20504, 0x3, 0x10000, 0x5, 0x20201, 0x9, 0x2, 0x8, 0x7, 0x7, 0x3F67FAE1, Fpix=154.128006
FileLoad(open) File:/media/fat/config/Volume.dat, error: -1.
sending keymap: 48
Loading config MENU.CFG
Found config: 0000000A-00000000
get cfgstring 0 = MENU
get cfgstring 1 = (null)
get cfgstring 2 = (null)
**** BG DEBUG START ****
n = 5
udevadm settle failed
done
JamesF
Captain Atari
Captain Atari
Posts: 159
Joined: Sat Dec 15, 2018 6:46 am

Re: MISTer (Main Core)

Post by JamesF »

@Sorgelig, paulbnl.
Do you see the problem in paulbnl's log?
Incorrect amount of items in video_mode parameter: 0
?
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: MISTer (Main Core)

Post by Sorgelig »

i don't see problem from the log. Latest lines show the parameters sent to the core.
Anyone is welcome to improve HDMI output. From my side i've done everything i could and currently i have no plans for that.

1920x1200 is beyond the official max 1920x1080. It may work or may not.. On my MiSTer it works ok.
paulbnl
Captain Atari
Captain Atari
Posts: 151
Joined: Wed Oct 24, 2018 9:43 am

Re: MISTer (Main Core)

Post by paulbnl »

Finally found the issue. The full 1920x1200 framebuffer simply does not fit in the allocated 8MB and it hangs.

Changing the fbsize to half resolution makes it work.
onaryc29
Atari freak
Atari freak
Posts: 61
Joined: Mon Dec 10, 2018 9:47 am

Re: MISTer (Main Core)

Post by onaryc29 »

great it works, thanks paulbnl!
Grabulosaure
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 112
Joined: Tue Sep 05, 2017 9:35 pm
Contact:

Re: MISTer (Main Core)

Post by Grabulosaure »

You can try to change the framebuffer console resolution from the command line, but using reduced colour depth :

Code: Select all

vmode f rgb16
(The scaler, when used with input video, stores only the source image, high resolution output is generated "on the fly", so it usually it doesn't uses as much memory as the framebuffer mode)
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: MISTer (Main Core)

Post by Sorgelig »

Half-res FB resolution on 1920x1200 is pretty much good resolution.
Anyway, MiSTer has no GPU and will have hard time to work with 1920x1200 in Linux.

P.S.: FB has no 24bit support due to extremely low performance in this mode. So only 32bit for true color is supported and it definitely wont fit to 8MB with 1920x1200. so either 16bits or half-res should be used in 1920x1200.

P.P.S: FB supports indexed 8bit color mode which is enough for text use. And it's fastest mode.
paulbnl
Captain Atari
Captain Atari
Posts: 151
Joined: Wed Oct 24, 2018 9:43 am

Re: MISTer (Main Core)

Post by paulbnl »

Shouldn't automatic fb_size be half size above 1000 width? It seems this was intended but it still ends up full size.

https://github.com/MiSTer-devel/Main_Mi ... o.cpp#L437
JamesF
Captain Atari
Captain Atari
Posts: 159
Joined: Sat Dec 15, 2018 6:46 am

Re: MISTer (Main Core)

Post by JamesF »

1. Why direct_video is not in mister.ini yet (HDMI limited 16..255 already is)?
2. To 'overcome' the HDMI artifacts I use 1440x1080 for now, it's 4:3 and full 1080p.
I'm never going to use mister with 16:9 aspect ratio anyway... I know some people like it though. 8O
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: MISTer (Main Core)

Post by Sorgelig »

paulbnl wrote:Shouldn't automatic fb_size be half size above 1000 width? It seems this was intended but it still ends up full size.

https://github.com/MiSTer-devel/Main_Mi ... o.cpp#L437
yes, it's supposed to be automatic halfres if fb_size=0 (or undefined).
Need to verify why it doesn't work for you.
JamesF wrote:1. Why direct_video is not in mister.ini yet (HDMI limited 16..255 already is)?
It's not a problem to omit it. It simply means direct_video=0
MiSTer may work without MiSTer.ini at all. All parameters will have default values. Just forgot to update the ini.. Will be included later.
paulbnl
Captain Atari
Captain Atari
Posts: 151
Joined: Wed Oct 24, 2018 9:43 am

Re: MISTer (Main Core)

Post by paulbnl »

Hmmm fb_size cannot be 0 because min is 1. So auto cannot work.

https://github.com/MiSTer-devel/Main_Mi ... fg.cpp#L55
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: MISTer (Main Core)

Post by Sorgelig »

paulbnl wrote:Hmmm fb_size cannot be 0 because min is 1. So auto cannot work.

https://github.com/MiSTer-devel/Main_Mi ... fg.cpp#L55
probably it's a typo.. I will re-check the code.
Currently, if you comment fb_size out in ini file, then it will be 0.
User avatar
Xtro
Atari maniac
Atari maniac
Posts: 95
Joined: Fri Jan 09, 2015 11:47 am
Location: Spain

Re: MISTer (Main Core)

Post by Xtro »

Lately was noticing some jerky movement of mouse pointer in minimig core, I thought was due to recent changes to the core but found that ao486 core was showing same jerkyness. Reverting to old Mister_Main solved the issue, with butter smooth mouse movement. MiSTer_20191014 is the first framework that makes this bug happen, maybe something to do with "Fix OSD input lag"
User avatar
Paradroyd
Captain Atari
Captain Atari
Posts: 300
Joined: Tue Sep 10, 2013 10:50 pm
Contact:

Re: MISTer (Main Core)

Post by Paradroyd »

Xtro wrote:Lately was noticing some jerky movement of mouse pointer in minimig core, I thought was due to recent changes to the core but found that ao486 core was showing same jerkyness. Reverting to old Mister_Main solved the issue, with butter smooth mouse movement. MiSTer_20191014 is the first framework that makes this bug happen, maybe something to do with "Fix OSD input lag"
I also noticed this in the Minimig core. I can really notice it if I try to move the mouse in circles, even on a workbench desktop, but also in the terminal program "term", which in my setup runs in a HiRes, non interlaced NTSC screen.

I have not tried it in other cores yet.
- Paradroyd
@paradroyd on Twitter, @paradroyd@mastodon.sdf.org on Mastodon
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: MISTer (Main Core)

Post by Sorgelig »

Xtro wrote:Lately was noticing some jerky movement of mouse pointer in minimig core, I thought was due to recent changes to the core but found that ao486 core was showing same jerkyness. Reverting to old Mister_Main solved the issue, with butter smooth mouse movement. MiSTer_20191014 is the first framework that makes this bug happen, maybe something to do with "Fix OSD input lag"
i've tried to disable that fix for OSD and didn't notice the difference in mouse move in Minimig.
You can disable it by adding break; into line aroun 3080 in input.cpp so while(1){} will exit after first input query. So if you can, then try and see the difference.
User avatar
Xtro
Atari maniac
Atari maniac
Posts: 95
Joined: Fri Jan 09, 2015 11:47 am
Location: Spain

Re: MISTer (Main Core)

Post by Xtro »

Sorgelig wrote:
Xtro wrote:Lately was noticing some jerky movement of mouse pointer in minimig core, I thought was due to recent changes to the core but found that ao486 core was showing same jerkyness. Reverting to old Mister_Main solved the issue, with butter smooth mouse movement. MiSTer_20191014 is the first framework that makes this bug happen, maybe something to do with "Fix OSD input lag"
i've tried to disable that fix for OSD and didn't notice the difference in mouse move in Minimig.
You can disable it by adding break; into line aroun 3080 in input.cpp so while(1){} will exit after first input query. So if you can, then try and see the difference.
We tried your fix and indeed it does not solve mouse jerkyness. I have tried different cores, like fxcast, macplus and ao486 and they don't exhibit this problem, only ao486 mouse movement lags when disk access happens in Windows 95, but this is normal behavior on PCs.
All minimig cores show mouse jerkyness when accesing adf disc, for example while loading workbench 1.3 if I move mouse and has this jerkyness nomatter which version of minimig core (don't remember if this was normal behaviour on real Amigas). The difference is that when finished loading disc, MiSTer_20191014 and upwards still shows this jerkyness. Maybe has something to do with disk access? I think it is not related to CPU because trying fx68k or tg68k gives same results.
Milongero
Atari User
Atari User
Posts: 41
Joined: Sun Nov 25, 2018 2:24 pm
Location: Germany

Re: MISTer (Main Core)

Post by Milongero »

Sorry

I made a mistake.
User avatar
rsn8887
Atari User
Atari User
Posts: 30
Joined: Mon Nov 11, 2019 7:20 pm

Re: MISTer (Main Core)

Post by rsn8887 »

I also noticed jerky mouse pointer movements when using Minimig on my Mister which I received just a few days ago. I managed to make the mouse pointer much much smoother by buying a different mouse with less dpi. However, it is still nowhere as smooth as on a real Amiga 500 or Amiga 1200, where the mouse motion is always perfectly butter smooth.
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: MISTer (Main Core)

Post by Sorgelig »

MiSTer.zip
this version should fix mouse jerkyness in Minimig.
You do not have the required permissions to view the files attached to this post.
User avatar
the80scomputers
Atari User
Atari User
Posts: 41
Joined: Sun Oct 06, 2019 8:29 am

Re: MISTer (Main Core)

Post by the80scomputers »

Sorgelig wrote:MiSTer.zip
this version should fix mouse jerkyness in Minimig.
Fixed!

Thank again.
JamesF
Captain Atari
Captain Atari
Posts: 159
Joined: Sat Dec 15, 2018 6:46 am

Re: MISTer (Main Core)

Post by JamesF »

The DS4 doesn't have long battery life at all and the bright blue light doesn't help.
To preserve some battery can we make the blue light less strong?
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: MISTer (Main Core)

Post by Sorgelig »

JamesF wrote:The DS4 doesn't have long battery life at all and the bright blue light doesn't help.
To preserve some battery can we make the blue light less strong?
I've no idea. I never explored this option.
But since you care - you will have to find the technical info :)
JamesF
Captain Atari
Captain Atari
Posts: 159
Joined: Sat Dec 15, 2018 6:46 am

Re: MISTer (Main Core)

Post by JamesF »

That's easy, here: :D
http://eleccelerator.com/wiki/index.php ... ualShock_4

HID OUTPUT 0x11
RGB values.

All these addresses, registers, and CRC32 calculations are way over my skill.
Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6348
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: MISTer (Main Core)

Post by Sorgelig »

JamesF wrote:That's easy, here: :D
http://eleccelerator.com/wiki/index.php ... ualShock_4

HID OUTPUT 0x11
RGB values.

All these addresses, registers, and CRC32 calculations are way over my skill.
Currently i'm busy by other things. But you still can help to shorten the time of implementation.
DualShock 4 is supported directly by kernel. So you don't have to deal with hid reports directly. Probably you can simply send the data to kernel module through sysfs (using simple echo >/...). So you can explore this area.
JamesF
Captain Atari
Captain Atari
Posts: 159
Joined: Sat Dec 15, 2018 6:46 am

Re: MISTer (Main Core)

Post by JamesF »

I would like to make a small and simple feature request that everybody asking for a long time.

"Recently Played" list in each core.

This is a very useful feature that all flashcarts, emulators, etc. have but mister is currently missing.
A small file can be written when a rom is loaded with 10-15 recently played games.
This should be less writes to sd card than automatic save function, since it does this only once per rom load.
List will behave like a simple queue (fifo), with new entries at the top, and old entries deleted from bottom when the list is full.

Thank you.
Locked

Return to “MiSTer”