Minimig (Amiga) core discussion

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

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

onaryc29
Atari freak
Atari freak
Posts: 54
Joined: Mon Dec 10, 2018 9:47 am

Re: Minimig (Amiga) core discussion

Postby onaryc29 » Wed Nov 27, 2019 8:21 am

l0g4n wrote:
Have you tried turning off cache chipRAM? It works for me.


With the latest version everything is fine, but thanks for the response (perhaps this is already off in my config, i have to check that).

@petarku : i manage to save some time to have a small minimig session and play canon fodder :) First this game is great, too bad i could not play longer, second, i did not notice any scrolling pb appart the inherent slow framerate during the game itself. By the way, just before the mission, there is a cinematic with an helicopter where the scrolling is perfectlty smooth (my guess is 50Hz), do you have also pb there?

petarku
Atariator
Atariator
Posts: 20
Joined: Fri Apr 12, 2019 9:20 am

Re: Minimig (Amiga) core discussion

Postby petarku » Wed Nov 27, 2019 4:26 pm

onaryc29 wrote:
l0g4n wrote:
Have you tried turning off cache chipRAM? It works for me.


With the latest version everything is fine, but thanks for the response (perhaps this is already off in my config, i have to check that).

@petarku : i manage to save some time to have a small minimig session and play canon fodder :) First this game is great, too bad i could not play longer, second, i did not notice any scrolling pb appart the inherent slow framerate during the game itself. By the way, just before the mission, there is a cinematic with an helicopter where the scrolling is perfectlty smooth (my guess is 50Hz), do you have also pb there?


thanks for taking the time to try cannon fodder. for me the first visible issue with scrolling is on mission 2 phase 1 when you are moving your troops and screen is scrolling and trees are showing scrolling issues.
I tried your mister.ini with added 1920x1200 settings you recommended but still it is far from ideal. It could be something with my dell monitor settings but i am not sure. if you have time we could chat on pm to give me hints what i can try , i would really appreciate any help as the only reason why i prefer to use my good old amiga at the moment is that display on hdmi on dell 2410 monitor that is coming from mister is giving me headache. Games like cannon fodder and ruff n tumble scrolling looks bad. Maybe it is just some setting that need to be tweaked , either in mister.ini or on the monitor(although for the hdmi monitor settings should be more simple as there is no phase and pixel etc). I am using standard amiga 1200 settings in miminig . 2mb chip , 8 mb fast , 4:3 ratio. Let me know if you have some time to give any hints and we can continue conversation using pm as i dont want to pollute the thread.
Thank you one more time..

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Thu Nov 28, 2019 1:02 pm

What would be the best choice for the Video option: Video area by: Blank or Blank+?

I see in the code that blank+ option switches horisontal data enable signal generated directly by bitplanes DMA.
Would that be the preffered and most accurate option?

apolkosnik
Atari maniac
Atari maniac
Posts: 78
Joined: Sat May 18, 2019 3:20 pm

Re: Minimig (Amiga) core discussion

Postby apolkosnik » Thu Nov 28, 2019 1:09 pm

sonycman wrote:What would be the best choice for the Video option: Video area by: Blank or Blank+?

I like the look of Blank+ on 4:3, but it is mighty annoying when watching some demos, when the tiny logo suddenly jumps left or right some pixels because the display mode was changed.

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Thu Nov 28, 2019 2:06 pm

apolkosnik wrote:
I like the look of Blank+ on 4:3, but it is mighty annoying when watching some demos, when the tiny logo suddenly jumps left or right some pixels because the display mode was changed.

So what is the difference between the options actually?

It seems like the "non-plus" option can display some border area, while the "plus" restricted to active bitplane pixels only?

I'am guessing here because i have not working minimig yet before me...

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5847
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Minimig (Amiga) core discussion

Postby Sorgelig » Sat Nov 30, 2019 8:00 am

Amiga has no strict border area. Any line can have individual border. Blank+ tries to guess the visible area. Actually this option appeared before adjusting was implemented. So, now, it's better to use non-plus blank and adjust the positions for required video modes.

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Sat Nov 30, 2019 9:29 am

Thanks, Sorgelig.

If the blank+ option could accurately guess visible horizontal display area, it would be no problem further to precisely center it in HDMI framebuffer, which makes any hor. position adjusting not needed at all.

So that is not the case, am I right?
I`am curious because I need to implement my own VGA to HDMI bridge, and these details would help a lot :)

optiroc
Atariator
Atariator
Posts: 18
Joined: Fri Nov 23, 2018 9:19 am

Re: Minimig (Amiga) core discussion

Postby optiroc » Sat Nov 30, 2019 10:04 am

It’s possible to have a very narrow active display. I think I last saw it in the game Flood during loading screens, which gets stretched massively with the Blank+ option. So adjusting the crop is a lot more predictable. I have tuned a pretty nice vadjust file which includes consistent crops for all common resolutions. I’ll attach it here when I get home to my MiSTer.

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Sat Nov 30, 2019 11:18 am

optiroc wrote:It’s possible to have a very narrow active display. I think I last saw it in the game Flood during loading screens, which gets stretched massively with the Blank+ option.

Narrow active area also could be centered in the framebuffer (and thus on the screen) without any manual adjusting, but only if the scaler is not used afterwards.
I`am planning to use 576p resolution without scaler, so that lores and hires displays would fit in it almost perfectly with only narrow borders.

Super hires resolution is not that much needed for the Amiga, I suppose?

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Mon Dec 02, 2019 3:43 am

Hello.
I want to simulate the CPU cache, integrated in memory controller (file cpu_cache_new.v).

I far as i understand, by default it is disabled, so i need to enable it by setting right bits via cpu_cache_ctrl signal?
This signal is connected directly to CACR CPU output, so this could be done only in code running on it.

Am i right?

Could the cache be activated with 68000 cpu mode, or it must be 68020 only?

Thanks in advance!

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5847
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Minimig (Amiga) core discussion

Postby Sorgelig » Mon Dec 02, 2019 8:33 am

Cache is always activated for FastRAM in 68000 mode (CACR = 1), but for obvious reason it doesn't give more than ~30% of performance increase. When accessing ChipRAM in 68000 mode, the cache is unreachable as CPU has to use chipset for cycle accuracy.

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Mon Dec 02, 2019 11:26 am

I see.
So to test chip ram cache i need to switch to 68020, enable turbochip option and then issue movec #1 to CACR register?

Thanks again, Alexey.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5847
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Minimig (Amiga) core discussion

Postby Sorgelig » Tue Dec 03, 2019 7:56 am

sonycman wrote:So to test chip ram cache i need to switch to 68020, enable turbochip option and then issue movec #1 to CACR register?

May be. Cache is always enabled in Workbench.

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Wed Dec 04, 2019 8:34 am

Alexey, recently in sdram_ctrl.v you've had changed CPU chip select signal to composite ramsel:

Code: Select all

wire ramsel = cpuCS & (~&cpustate | ~cpuU | ~cpuL);


I just can't understand why. Did you trying to prevent memory write access when no byte strobes are asserted?

Was this change really neccessary?

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5847
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Minimig (Amiga) core discussion

Postby Sorgelig » Wed Dec 04, 2019 5:15 pm

sonycman wrote:Alexey, recently in sdram_ctrl.v you've had changed CPU chip select signal to composite ramsel:

Code: Select all

wire ramsel = cpuCS & (~&cpustate | ~cpuU | ~cpuL);


I just can't understand why. Did you trying to prevent memory write access when no byte strobes are asserted?

Was this change really neccessary?

it's hard to explain just one line.
It's part of whole optimization and migrating CPU to 28MHz domain.

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Thu Dec 05, 2019 6:35 am

Sorgelig wrote:it's hard to explain just one line.
It's part of whole optimization and migrating CPU to 28MHz domain.

Ok.

Another recent unmentioned commit was:

Code: Select all

denise: latch the pixel data later

Was that the part of same optimization as well, or another bugfix?

Ps: on ultrascale+ this core passes all the timings (with just little positive slacks, though).
I'am curious to see how it will work :)

DokDave
Atarian
Atarian
Posts: 3
Joined: Sun Jul 14, 2019 6:08 am

Re: Minimig (Amiga) core discussion

Postby DokDave » Tue Dec 10, 2019 9:17 pm

Has anyone noticed that the screen size adjustment controls are not working in the 20191204 release? Hitting the arrows does nothing. I went back to the 20191111 version and the adjustment controls are working fine there.

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Wed Dec 11, 2019 10:27 am

I think I`ve found a bug in slow memory access mechanics.

When CPU accesses slow memory address range (starting from $C00000), it being accessed no matter enabled or not in the configuration, as Gary asserts sel_slow signal and bankmapper module does not check for slow memory availability and asserts enable signal in any case.

So we have asserted sel_slow and sel_reg both in one time, which leads to simultaneous access to chipset registers and memory.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5847
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Minimig (Amiga) core discussion

Postby Sorgelig » Wed Dec 11, 2019 2:22 pm

Code: Select all

assign sel_xram = ((t_sel_slow[0] & (memory_config[2] | memory_config[3]))
        | (t_sel_slow[1] & memory_config[3])
        | (t_sel_slow[2] & memory_config[2] & memory_config[3]));

assign sel_reg   = cpu_address_in[23:21]==3'b110 ? ~(sel_xram | sel_rtc | sel_ide | sel_gayle) : 1'b0;


sel_reg won't be enabled if sel_xram is active

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Wed Dec 11, 2019 2:40 pm

Sorgelig wrote:

Code: Select all

assign sel_xram = ((t_sel_slow[0] & (memory_config[2] | memory_config[3]))
        | (t_sel_slow[1] & memory_config[3])
        | (t_sel_slow[2] & memory_config[2] & memory_config[3]));

assign sel_reg   = cpu_address_in[23:21]==3'b110 ? ~(sel_xram | sel_rtc | sel_ide | sel_gayle) : 1'b0;


sel_reg won't be enabled if sel_xram is active

sel_xram is zero when slow ram disabled in configuration, so sel_reg became a one with one of t_sel_slow[] together.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5847
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Minimig (Amiga) core discussion

Postby Sorgelig » Wed Dec 11, 2019 3:36 pm

sonycman wrote:sel_xram is zero when slow ram disabled in configuration, so sel_reg became a one with one of t_sel_slow[] together.

When slow is disabled in config, this area is undefined. Generally speaking it doesn't matter what will be read from unallocated area.

sonycman
Atari freak
Atari freak
Posts: 51
Joined: Thu Aug 29, 2019 3:33 pm
Location: Russia

Re: Minimig (Amiga) core discussion

Postby sonycman » Wed Dec 11, 2019 3:49 pm

Sorgelig wrote:
sonycman wrote:sel_xram is zero when slow ram disabled in configuration, so sel_reg became a one with one of t_sel_slow[] together.

When slow is disabled in config, this area is undefined. Generally speaking it doesn't matter what will be read from unallocated area.


The kickstart autodetect available slow memory by writing to it and checking, that the value remains the same.

Due to this bug, slow memory banks should be always available, and kickstart will always autodetect them and add to the pool.

Then the system should crash due to this mess, as when the program writes to slow memory region, it writes at the same time to chipset registers, breaking the hardware.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 5847
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Minimig (Amiga) core discussion

Postby Sorgelig » Wed Dec 11, 2019 4:22 pm

You are welcome to provide fix.

dBUGBUG
Retro freak
Retro freak
Posts: 11
Joined: Wed Jan 03, 2018 8:07 am

Re: Minimig (Amiga) core discussion

Postby dBUGBUG » Wed Dec 11, 2019 11:58 pm

petarku wrote:thanks for taking the time to try cannon fodder. for me the first visible issue with scrolling is on mission 2 phase 1 when you are moving your troops and screen is scrolling and trees are showing scrolling issues.
I tried your mister.ini with added 1920x1200 settings you recommended but still it is far from ideal. It could be something with my dell monitor settings but i am not sure. if you have time we could chat on pm to give me hints what i can try , i would really appreciate any help as the only reason why i prefer to use my good old amiga at the moment is that display on hdmi on dell 2410 monitor that is coming from mister is giving me headache. Games like cannon fodder and ruff n tumble scrolling looks bad. Maybe it is just some setting that need to be tweaked , either in mister.ini or on the monitor(although for the hdmi monitor settings should be more simple as there is no phase and pixel etc). I am using standard amiga 1200 settings in miminig . 2mb chip , 8 mb fast , 4:3 ratio. Let me know if you have some time to give any hints and we can continue conversation using pm as i dont want to pollute the thread.
Thank you one more time..


@petarku
I can say that I have not obtained smooth scroll on any of my Amiga systems with the Dell U2410 :-(
I dont have a MiSTer though ..
Last edited by dBUGBUG on Wed Dec 11, 2019 11:59 pm, edited 1 time in total.

dBUGBUG
Retro freak
Retro freak
Posts: 11
Joined: Wed Jan 03, 2018 8:07 am

Re: Minimig (Amiga) core discussion

Postby dBUGBUG » Wed Dec 11, 2019 11:58 pm

<snip accidental doublepost>


Return to “MiSTer”

Who is online

Users browsing this forum: Arithmeticae, hyperterminal and 8 guests