Genesis Core

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

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

onaryc29
Atari User
Atari User
Posts: 33
Joined: Mon Dec 10, 2018 9:47 am

Re: Genesis Core

Postby onaryc29 » Sat Jun 01, 2019 7:18 am

I think a good way to go is to have the following options :

Code: Select all

Region : JP, US, EU, Auto
Prefered Region Order : U>J>E, J>U>E,E>U>J


The prefered region order is pretty self explanatory and just listing 3 cases (which imho cover most cases) is simple enough.
The prefered region order shall be grayed if the region is not auto (this way, i think it is more understandable for the user)

new_vmode is signal to force notify about new resolution. Toggling the PAL/NTSC don't set the output video to specific PAL/NTSC immediately. Delay gives some time to make video stable before it will be measured.


Well, on my monitors, i do not see any difference when timer and no timer but perhaps on TV it will. The length of the timer depend on which parameter, is it related on the monitor/tv, is it related only on the scaler? on the core? Because this length is different in the snes core and the genesis one and is 0 in the sms core (and it does not seem to have a region selection in the nes core)

Perhaps this timer shall be implemented in the framework (could be configured through a option)

arit
Atarian
Atarian
Posts: 4
Joined: Sat Jun 01, 2019 9:18 am

Re: Genesis Core

Postby arit » Sat Jun 01, 2019 9:47 am

Wouldn't it be easier to just prompt the user for the desired region after selecting the rom (perhaps with having 'auto' be the first selected or deactivating the prompt if auto is set)?
At least I would then not have situations anymore where I remember that I had forgotten to change the region right after the rom is selected.

Also a small bug report for Landstalker which seems to have been in this core for at least a year (that's when I did not go back any further with releases):
20190303_003505.jpg

The text box is cut off on the top.
The Analogue SG and BlastEm will render it 'correctly' ('correctly' since when using my mega drive + ossc I do not see the last scanline only being display half way through, which may be due it being PAL set to 60hz).
20190407_194736.jpg
You do not have the required permissions to view the files attached to this post.

slingshot
Atari God
Atari God
Posts: 1044
Joined: Mon Aug 06, 2018 3:05 pm

Re: Genesis Core

Postby slingshot » Sun Jun 02, 2019 12:06 pm

Heh, seems this games turns on the bottom window mid-cell.

onaryc29
Atari User
Atari User
Posts: 33
Joined: Mon Dec 10, 2018 9:47 am

Re: Genesis Core

Postby onaryc29 » Sun Jun 02, 2019 8:42 pm

I've made a pull request with my modifications and here is a test version i upload : https://www.mediafire.com/file/bfc1wpf7 ... t.rbf/file

There are several things in my modification :
  • the auto option itself : when the auto region option is selected, the "auto region order" appears (it is not chown in forced region). There are only 3 choices : U>J>E, J>U>E and E>U>J which will cover most cases (but other region selection algorithm can be added, like the first one found, other region order, ...). According the order selected, it will search in the header the preferred one.

    For example, if you have the order U>J>E :
    * for JUE, UE, JU rom, the US region will be chosen.
    * for JE rom, the japanese region will be chosen.
    * for E rom, the european region will be chosen.
  • the region option are only applied when the osd is closed, i think it is annoying to have a video mode modification when the user is switching between the different region choices.
  • the key accelerator modification : before you have F1,2,3 to reset to jp, us or eu. Now it reflects more the osd : F1,2,3,4 to change the region option and F5 to reset the core
  • in the osd i add the key accelerator in the option text description

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4879
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Genesis Core

Postby Sorgelig » Mon Jun 03, 2019 4:33 am

onaryc29 wrote:I've made a pull request with my modifications and here is a test version i upload : https://www.mediafire.com/file/bfc1wpf7 ... t.rbf/file

There are several things in my modification :
  • the auto option itself : when the auto region option is selected, the "auto region order" appears (it is not chown in forced region). There are only 3 choices : U>J>E, J>U>E and E>U>J which will cover most cases (but other region selection algorithm can be added, like the first one found, other region order, ...). According the order selected, it will search in the header the preferred one.

    For example, if you have the order U>J>E :
    * for JUE, UE, JU rom, the US region will be chosen.
    * for JE rom, the japanese region will be chosen.
    * for E rom, the european region will be chosen.
  • the region option are only applied when the osd is closed, i think it is annoying to have a video mode modification when the user is switching between the different region choices.
  • the key accelerator modification : before you have F1,2,3 to reset to jp, us or eu. Now it reflects more the osd : F1,2,3,4 to change the region option and F5 to reset the core
  • in the osd i add the key accelerator in the option text description


You've missed my reply earlier: i will implement auto-region myself. I didn't publish because some other big change is planned in Genesis.
To reset the core: press ctrl+ralt+lalt - it works in all cores.

onaryc29
Atari User
Atari User
Posts: 33
Joined: Mon Dec 10, 2018 9:47 am

Re: Genesis Core

Postby onaryc29 » Mon Jun 03, 2019 8:12 am

and you miss mine, you did not seem to be interest in this feature before and was happy with the actual behavior.

From my point of view there are not a lot of developper on mister project (even if there are talented , i think there are not a lot of vhdl, verilog developper and even less that are intereseted in participate to this kind of project). For this kind of simple feature, which does not imply a lot of knowledge on the hardware side, you should let willing/beginner(in FPGA)/... developper like me do this kind of job... But the code is here, take what you want from it (nothing a priori).

I have several ideas or problems i see in cores, what is the right course of action? make ticket on github? (and i shall not take "it is opensource do it yourself" for an answer now 8) )

Edit : some examples of work that can be done with basic knowledge and which does not seem to be that interesting/important :
* add the video mode timer to core that do not have one (sms)
* code reorganisation : the conf str which now can be one instead of multiple ones (nes, sms, ...)
* there are a lot deprecated options in the osd for several cores (sram save in genesis, sms), option for the old scaler? (scandoubler FX)
* key accelerators
* ...

Experience FPGA developpers can create tickets and beginners can do (or try to do) the job.

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4879
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Genesis Core

Postby Sorgelig » Mon Jun 03, 2019 10:44 am

I still think the extension based auto-region is more convenient and allows to define the region for each game explicitly. At some stage you've convinced me to add a second option for auto-region, so i've told i will explore such possibility.
You threw away old auto-region mode. I don't agree with this. You cannot throw away just because you like something different. May be others use it. My version will include both versions.
Your version disables auto-region if any manual region is selected which is not convenient as well. Manual region selection is just temporary selection for currently loaded game - no point to disable auto-region for further games.

As for OSD improvement propagation - it will be done little by little when I (or dedicated developer if any) will re-visit the core. New options are very new and still in testing stage.
Code re-organization is definitely not for random developer passing by. It's up to dedicated developer as he might be more comfortable to current state.
If you want to take some core and do improvement besides the cosmetic changes - then you are welcome to do it.

onaryc29
Atari User
Atari User
Posts: 33
Joined: Mon Dec 10, 2018 9:47 am

Re: Genesis Core

Postby onaryc29 » Mon Jun 03, 2019 11:16 am

i agree with the ergonomy, except for the file based region selection (and think it is the only core to do that, i even think that the header shall be used to be sure it is a genesis game in the first place, perhaps make checksum verification if it is not already the case), and i should not have try to force my way with the PR. But at one point, perhaps, instead of just do the thing when someone is trying to participate you can discuss the options/ergonomy.

For the task proposal, it is just examples of tasks that an experienced FPGA developper can create for beginner to do, i m sure there are many small developpments that can be achieved by non guru FPGA developper. This way, beginner can improve and perhaps participate to more complicated tasks.

I still have doable developpment for me in my bag, what is the correct way to do it? make a ticket in github and propose to do it?

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4879
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Genesis Core

Postby Sorgelig » Mon Jun 03, 2019 12:02 pm

onaryc29 wrote:I still have doable developpment for me in my bag, what is the correct way to do it? make a ticket in github and propose to do it?


If it's a bug, then can make PR directly.
If it's some improvements or enhancements, then it's better to discuss first to make sure the current ways is on purpose or may be there are some contradicts.

onaryc29 wrote:i even think that the header shall be used to be sure it is a genesis game in the first place, perhaps make checksum verification if it is not already the case

I'm sure this will break many games.
From broken ROM/header the maximum you can get is non-working game. So, there is no reason to force checksum (if there is such) check.

onaryc29
Atari User
Atari User
Posts: 33
Joined: Mon Dec 10, 2018 9:47 am

Re: Genesis Core

Postby onaryc29 » Mon Jun 03, 2019 1:26 pm

well i was thinking more of a warning if the checksum is not correct, in order to check that the file is legit (i think no hack will pass the test), but i was just thinking out loud. For this, i think an information section would be needed somewhere (i.e. in the osd, the current region can be added, number of players, ...)

So for some minor enhancements :
  • aspect ratio : you have 4/3 and 16/9. i was thinking adding 16/10 (and i do not know the 8/7 one apply as well as in the snes core) or perhaps have a more flexible way to change this, perhaps have a separate list for the x axis and y axis, but keeping the simple generic option. Personally, i prefer the 4/3 but sometimes games graphic with a bit wider aspect ratio is pretty good too. But i do not know if the 2 parameters (VIDEO_ARX and VIDEO_ARY) support this kind of settings.
  • check in the header that it is a megadrive/genesis game : perhaps just a warning, but how the core support loading a *.bin non genesis game.

User avatar
kitrinx
Captain Atari
Captain Atari
Posts: 164
Joined: Wed Sep 26, 2018 6:03 am

Re: Genesis Core

Postby kitrinx » Mon Jun 03, 2019 1:37 pm

onaryc29 wrote:Edit : some examples of work that can be done with basic knowledge and which does not seem to be that interesting/important :
* add the video mode timer to core that do not have one (sms)
* code reorganisation : the conf str which now can be one instead of multiple ones (nes, sms, ...)
* there are a lot deprecated options in the osd for several cores (sram save in genesis, sms), option for the old scaler? (scandoubler FX)


Some of the things you listed there aren't deprecated, like scandoubler FX, sram save. FPGA experience is great to have, but MiSTer has both structural complexity and some "idiomatic" conventions as well that one should be aware of. There are many use-cases, some which you may not have considered. Your intentions seem good, though, and you seem to have a desire to improve the user experience. That's a welcomed thing. It might be worth hopping into the Classic Gaming Discord where a lot of the other devs hang out or making friends with an existing dev to help learn the nuances of the platform.

User avatar
kitrinx
Captain Atari
Captain Atari
Posts: 164
Joined: Wed Sep 26, 2018 6:03 am

Re: Genesis Core

Postby kitrinx » Mon Jun 03, 2019 1:46 pm

onaryc29 wrote:[*] aspect ratio : you have 4/3 and 16/9. i was thinking adding 16/10 (and i do not know the 8/7 one apply as well as in the snes core) or perhaps have a more flexible way to change this, perhaps have a separate list for the x axis and y axis, but keeping the simple generic option. Personally, i prefer the 4/3 but sometimes games graphic with a bit wider aspect ratio is pretty good too. But i do not know if the 2 parameters (VIDEO_ARX and VIDEO_ARY)


Please be careful with the aspect ratios. There *needs* to be some way for a user to find the good ones correctly, as I don't expect a user to know that NES for instance needs a 128:105 aspect ratio to look correct or 10:11 in gameboy. It's best to not overwhelm the user with choice either, it's not really a good thing. There's only one actual correct aspect ratio, after all. What is the demand for 16:10? Is it worth using up a status bit for this, some cores are already running out.

onaryc29
Atari User
Atari User
Posts: 33
Joined: Mon Dec 10, 2018 9:47 am

Re: Genesis Core

Postby onaryc29 » Mon Jun 03, 2019 2:51 pm

as i said, it was just (bad) examples.

I follow the discord channel for some time now. I do not like the irc like mean of communication (everybody talking at the same time, ...), even if it is quite interesting to follow some development point. But i will give it a try at some point if i have the time.

For the aspect ratio, it was just here for discussion, i've seen that for snes, some games where not correctly thought for scaling the internal resolution to 4/3 aspect ratio (https://www.videogameperfection.com/for ... -for-snes/) and in some emulators you can choose several ones. So 8/7 is understandable even if it is not correct either. I was wondering if it was the same for genesis/megadrive.

Concerning the number of options, generally speaking, i think that having, good default option is necessary to not overwhelm the user with configuration, but it is not good either to limit advanced user. There are ways to do this : an "advanced" part/mode/...

User avatar
kitrinx
Captain Atari
Captain Atari
Posts: 164
Joined: Wed Sep 26, 2018 6:03 am

Re: Genesis Core

Postby kitrinx » Mon Jun 03, 2019 3:15 pm

onaryc29 wrote:as i said, it was just (bad) examples.

For the aspect ratio, it was just here for discussion, i've seen that for snes, some games where not correctly thought for scaling the internal resolution to 4/3 aspect ratio (https://www.videogameperfection.com/for ... -for-snes/) and in some emulators you can choose several ones. So 8/7 is understandable even if it is not correct either. I was wondering if it was the same for genesis/megadrive.

Concerning the number of options, generally speaking, i think that having, good default option is necessary to not overwhelm the user with configuration, but it is not good either to limit advanced user. There are ways to do this : an "advanced" part/mode/...


I am aware of aspect issues with SNES.

https://github.com/MiSTer-devel/SNES_Mi ... 639427d06c

I get where you're coming from with UX and cleanup though, plenty of cores could use some TLC. It's important to know to have the big picture when you're making decisions to change or remove things though, and that's something you can really only get with a bit of time and experience.

It's easy to see in some emulators where the Dev didn't use good judgement in what to add, there's tons of options and you can't find the important things. Many of those options were probably added because of one or two users that saw a youtube video somewhere that made them think they needed it. On mister our OSD (for now) is pretty limited, so adding any option should be considered carefully. Just go with the flow.

If you don't like chatting in public, there's always private messages on Discord. Most of us are happy to speak privately as well.

User avatar
remowilliams
Captain Atari
Captain Atari
Posts: 237
Joined: Mon Apr 02, 2007 1:49 am

Re: Genesis Core

Postby remowilliams » Tue Jun 04, 2019 3:46 pm

Wow, SVP - amazing work srg320 :)

I've had VR freeze twice on me now just running in its demo mode - the OSD still works, the game is just frozen. It doesn't happen right away, it has to be left running for a while. MiSTer is up to date.

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4879
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Genesis Core

Postby Sorgelig » Tue Jun 04, 2019 5:06 pm

PAL version of VR has less chances to freeze, so you can play it while SVP get improved.

hyperterminal
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 126
Joined: Sun Jul 09, 2017 1:43 pm

Re: Genesis Core

Postby hyperterminal » Tue Jun 04, 2019 5:45 pm

Sorgelig wrote:PAL version of VR has less chances to freeze, so you can play it while SVP get improved.


Virtua Racing contains a hidden test program that might be useful for debugging. Simply edit the rom at 0x201E0 and change the value 6610 to 4E71.

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4879
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Genesis Core

Postby Sorgelig » Tue Jun 04, 2019 5:55 pm

hyperterminal wrote:
Sorgelig wrote:PAL version of VR has less chances to freeze, so you can play it while SVP get improved.


Virtua Racing contains a hidden test program that might be useful for debugging. Simply edit the rom at 0x201E0 and change the value 6610 to 4E71.

So you think the whole SVP code written without knowing this?
And you don't need to edit the ROM. just need to press all buttons on gamepad.

hex
Atarian
Atarian
Posts: 2
Joined: Mon May 13, 2019 6:10 pm

Re: Genesis Core

Postby hex » Tue Jun 04, 2019 6:00 pm

Hi Sorg,
Do you think 32X emulation on Mister will be possible in the next future?
Thank you for you wonderful job...

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4879
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Genesis Core

Postby Sorgelig » Tue Jun 04, 2019 6:41 pm

hex wrote:Hi Sorg,
Do you think 32X emulation on Mister will be possible in the next future?

I don't think so. 2 RISC CPUs and more advanced additional VDP will need more space than left in Genesis core. Also BRAM won't be enough. And it will be enormous work just for 30+ games.

JamesF
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 126
Joined: Sat Dec 15, 2018 6:46 am

Re: Genesis Core

Postby JamesF » Fri Jun 07, 2019 8:19 am

Sorgelig, do you think a "Recently Opened" menu option in each core will be useful?
SD2SNES and Everdrives have 10-20 short list of recently played games, Retroarch too.
It is very convenient option, instead navigating through 2000 roms each time.

The 'recent' file can be saved in the fat/config/, for example "SNES_recent.log".
Just a simple list of locations.

Sorgelig
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4879
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Genesis Core

Postby Sorgelig » Fri Jun 07, 2019 11:51 am

Don't make a garbage can from MiSTer and you won't need to navigate through 2000 roms.
More unintended saves - more chance to corrupt the filesystem.
I really don't care what is done on other platforms. Use Retroarch, SD2SNES and whatever you think is better. OK?
I have no target to compete or mimic other devices.

Get RPi - and you are set.

arit
Atarian
Atarian
Posts: 4
Joined: Sat Jun 01, 2019 9:18 am

Re: Genesis Core

Postby arit » Fri Jul 12, 2019 7:28 pm

Landstalker really must be doing some dirty things :?

Currently I can spot three types of rendering errors with this game:
1. Cut off text box.
2. Some defect where it draws sprites 2-3 scanlines beyond the background tiles.
3. (minor) Flickering of the status bar when switching some screens (e.g. entering/leaving the first town's church or when entering the cave after getting control of the character, maybe if the tile set changes too much?).
20190712_203417.jpg


Going back to the last release which exhibited the text box issue we get the following matrix:

Code: Select all

       1 2 3
v0517  x - -
v0617  - - x
v0627  - x x
v0712  - x x

v0617 fixed 1 but added 3.
v0627 added 2, which can be somewhat influenced in how it displays by using the overclock feature (still absent in v0617 when it is used there). Activating the border feature does not change the behaviour.
v0712 seems to behave identical to v0617.
You do not have the required permissions to view the files attached to this post.

Lodovic
Atari User
Atari User
Posts: 30
Joined: Thu Nov 22, 2018 2:51 am

Re: Genesis Core

Postby Lodovic » Sat Jul 13, 2019 3:58 am

JamesF wrote:Sorgelig, do you think a "Recently Opened" menu option in each core will be useful?
SD2SNES and Everdrives have 10-20 short list of recently played games, Retroarch too.
It is very convenient option, instead navigating through 2000 roms each time.

The 'recent' file can be saved in the fat/config/, for example "SNES_recent.log".
Just a simple list of locations.


Maybe you could rename your favorite games and add something a the beginning of the name so they appear at the top of the list.

JamesF
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 126
Joined: Sat Dec 15, 2018 6:46 am

Re: Genesis Core

Postby JamesF » Sat Jul 13, 2019 5:53 am

I only have around 100 games that I like,, and I don't use the full set in any core so it's not a problem for me.
The idea of a Recent List was denied because it will write to the sd card each time a game is loaded which is not good for the sd card longevity, but automatic saving does the same, so I am not sure why the idea was scrapped.

@arit
I've tested Landstalker and I don't have the issues in your screenshots.
Some noob questions, are you running in PAL mode or with CPU Turbo?
Did you update Linux and Mister main and menu recently?
Image


Return to “MiSTer”

Who is online

Users browsing this forum: No registered users and 3 guests