Genesis Core

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

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

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

Re: Genesis Core

Postby Sorgelig » Mon Jan 21, 2019 2:03 am

Shazz wrote:I'll contact Kabuto to see exactly what he is torturing the VDP to remove the borders and get a test screen.

it's not a secret. The link you've posted describes how this trick is working.
I didn't implement it because i didn't implement the border at all. This effects requires the border obviously. And since games don't use the border, there is no point to do this just for a single demo. Border will just waste the screen area.

guvner
Atariator
Atariator
Posts: 25
Joined: Sun Dec 09, 2018 12:32 am

Re: Genesis Core

Postby guvner » Mon Jan 21, 2019 11:33 am

I'm not sure if this is as bug or if it's simply not supported yet, but I noticed, that saving in Phantasy Star IV and the genesis port of Cave Story doesn't work.

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

Re: Genesis Core

Postby slingshot » Mon Jan 21, 2019 1:35 pm

If those ROMs are bigger than 2MB, most probably they need bank switching for the backup RAM.

guvner
Atariator
Atariator
Posts: 25
Joined: Sun Dec 09, 2018 12:32 am

Re: Genesis Core

Postby guvner » Mon Jan 21, 2019 3:03 pm

Yes, they are over 2 MB. Phantasy Star IV is 3 MB, Cave Story is 4 MB.

Milongero
Atariator
Atariator
Posts: 24
Joined: Sun Nov 25, 2018 2:24 pm
Location: Germany

Re: Genesis Core

Postby Milongero » Thu Jan 24, 2019 8:08 pm

Hey

want to play Aladin with the newest core. Aladin will not move his legs. he is sliding over the ground. Going back to the core (31.12.2018) everything is OK!

Lutz

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

Re: Genesis Core

Postby Sorgelig » Thu Jan 24, 2019 8:45 pm

Turn off 6 button support and NEVER enable it again.

bitfan2011
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 111
Joined: Sat Dec 29, 2018 5:46 pm

Re: Genesis Core

Postby bitfan2011 » Thu Jan 24, 2019 11:09 pm

is it possible to add overclocking the way people mod their real MD hardware? it's just overclocking the 68000, right?

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

Re: Genesis Core

Postby Sorgelig » Fri Jan 25, 2019 2:43 am

no idea what they overclock.
it's a console, not PC. All games are written for standard frequency.

SuperBabyHix
Atari nerd
Atari nerd
Posts: 44
Joined: Sun Jan 24, 2016 10:36 pm

Re: Genesis Core

Postby SuperBabyHix » Fri Jan 25, 2019 6:27 am

If I remember correctly most people overclock the 68k to 10Mhz. I think this really only helps for the handful of games with polygon graphics (LHX Attack Chopper, Hard Driven, Test Drive 2?), but it doesn't do miracles. The only other benefit I can remember is it gets rid of the slowdown when you lose all your rings in Sonic.

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

Re: Genesis Core

Postby JamesF » Fri Jan 25, 2019 5:25 pm

@Sorgelig
Are you open to suggestion about horizontal position adjustment on analog output?
I can see that the Genesis image is slightly to the right compared to the SNES core or real console.
Snes core position is ideal as the real console.
I use a calibrated Sony Trinitron with no overscan, all borders are visible.

bitfan2011
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 111
Joined: Sat Dec 29, 2018 5:46 pm

Re: Genesis Core

Postby bitfan2011 » Fri Jan 25, 2019 10:48 pm

BTW doesn't the real Gen/MD output a "border" similar to what an SMS does? I always thought it was kind of cool when I was younger, because some games would use the border color (whether intentional or not) to set the "vibe" of a scene. The border would fade to dark during night scenes, etc.. I think It may just be a "full bleed" background layer which gets filled with solid colors, not sure.

User avatar
DrOG
Atari Super Hero
Atari Super Hero
Posts: 651
Joined: Sun Jul 31, 2016 8:23 pm
Location: Gyula, Hungary

Re: Genesis Core

Postby DrOG » Sat Jan 26, 2019 6:53 am

See Sorgelig's post at the top of this page:

I didn't implement the border at all. Since games don't use the border, there is no point to do this just for a single demo. Border will just waste the screen area.

PhantombrainM
Captain Atari
Captain Atari
Posts: 184
Joined: Fri Mar 16, 2018 9:10 am

Re: Genesis Core

Postby PhantombrainM » Sat Jan 26, 2019 10:50 am

DrOG wrote:See Sorgelig's post at the top of this page:

I didn't implement the border at all. Since games don't use the border, there is no point to do this just for a single demo. Border will just waste the screen area.


It's used by some games for example Sonic The Hedgehog especially for Pal systems.
MISTer has black borders on top and bottom on my CRT. The original console has the same color as the blue sky instead of the black borders.
So this trick let you think it's a full screen game and you don't notice if you don't know ;) There are other games as well.

I think it's not so important for HDMI but for CRT it is usefull.
Maybe it can be implemented on analog side only? Or a switch (on/off) in the GUI ;)

cheers,
PhantombrainM
Two beer or not two beer? - Shakesbeer.

MonsterDunk
Atarian
Atarian
Posts: 2
Joined: Mon Dec 31, 2018 7:43 pm

Re: Genesis Core

Postby MonsterDunk » Sun Jan 27, 2019 9:00 pm

Hey all! I found an audio issue in Bimini Run (USA). The in-game music and speech are played back at a much higher pitch and speed than they should be. I've seen other folks mention an audio issue or two over the last couple months, but nothing that sounded quite like this, so I figured I'd bring it up.

Keep up the great work!

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

Re: Genesis Core

Postby slingshot » Tue Jan 29, 2019 11:28 pm

PhantombrainM wrote:
It's used by some games for example Sonic The Hedgehog especially for Pal systems.
MISTer has black borders on top and bottom on my CRT. The original console has the same color as the blue sky instead of the black borders.
So this trick let you think it's a full screen game and you don't notice if you don't know ;) There are other games as well.


If overscan color is implemented (not hard), it doesn't mean you'll have the border open effect in Titan2 working automatically.

bitfan2011
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 111
Joined: Sat Dec 29, 2018 5:46 pm

Re: Genesis Core

Postby bitfan2011 » Fri Feb 01, 2019 7:50 pm

slingshot wrote:
PhantombrainM wrote:
It's used by some games for example Sonic The Hedgehog especially for Pal systems.
MISTer has black borders on top and bottom on my CRT. The original console has the same color as the blue sky instead of the black borders.
So this trick let you think it's a full screen game and you don't notice if you don't know ;) There are other games as well.


If overscan color is implemented (not hard), it doesn't mean you'll have the border open effect in Titan2 working automatically.


I just figured if you're going for faithful recreation of the experience, that famous SEGA border would be part of it... It was always part of SMS gaming during that era.

bitfan2011
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 111
Joined: Sat Dec 29, 2018 5:46 pm

Re: Genesis Core

Postby bitfan2011 » Fri Feb 01, 2019 7:52 pm

SuperBabyHix wrote:If I remember correctly most people overclock the 68k to 10Mhz. I think this really only helps for the handful of games with polygon graphics (LHX Attack Chopper, Hard Driven, Test Drive 2?), but it doesn't do miracles. The only other benefit I can remember is it gets rid of the slowdown when you lose all your rings in Sonic.


This sounds like something that could yield new discoveries if it were to be implemented
IMO reducing flicker and slowdown is a niiice feature to have in these cores
Doesn't seem too much like a perversion to me
NES, SMS, Gen, SNES are the main candidates

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

Re: Genesis Core

Postby JamesF » Mon Feb 04, 2019 6:17 pm

@Sorgelig.
Will it be possible to add a switchable First-Order Lowpass (-20dB/ Decade) filter at 3.4kHz, just like the original Genesis model 1 had?
Many Genesis fans seek these models for their great sound, and this lowpass filter is essential part of it.
On the original console it's a simple RC filter on the analog audio signal.

BTW, the audio changes to sys_top.v make the Genesis core sound excellent now through HDMI.
Only thing missing for perfect sound with this core is a LPF like the original console.

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

Re: Genesis Core

Postby Sorgelig » Mon Feb 04, 2019 6:30 pm

Implement such LPF and i will add it :)

ghogan42
Atari maniac
Atari maniac
Posts: 90
Joined: Wed Oct 17, 2018 7:27 pm

Re: Genesis Core

Postby ghogan42 » Mon Feb 25, 2019 7:41 pm

Sorgelig wrote:Implement such LPF and i will add it :)


Some Genesis songs were making my ears bleed. I'm looking at you, Thunder Force II,III,IV

So I took a shot at implementing the appropriate filters. I tried to find a working, open, IIR filter and couldn't get one that worked. So I just wrote one.

I made IIR 1st and 2nd order filters and then wrapped them in two Genesis specific modules.

Genesis Model 1 has a 1st order filter somewhere in 2.8-3.7khz and covers all audio.

Genesis Model 2 has a filter similar to model 1 but higher in frequency. And they also have a separate 2nd order filter around ~6.8khz that is for the FM audio only.

JamesF was nice enough to send me audio samples from his original systems and mister and I was able to match the response of the filters very well. I'm attaching plots showing the target response of the filter along with the computed filter response. Shown are the Model 1 and two graphs showing PSG and FM from the Model 2.

Mode1_1_Sim.png

Mode2_PSG_Sim.png

Mode2_FM_Sim.png


I'll send a pull request momentarily but if the code is not good let me know. I've never coded verilog before. I can make fixes and do a better request.

A test build is here. You CAN change the filter in the OSD but the option is below other options so it's off screen at first.
https://drive.google.com/open?id=1vRdzuoXwtjKOkMn0tNoHpO63pTpDtuJN

Also I'm a git noob and I have to rebase. So the pull request will wait a little bit.
You do not have the required permissions to view the files attached to this post.

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

Re: Genesis Core

Postby Sorgelig » Mon Feb 25, 2019 8:37 pm

This is good addition! Especially as an option it will fit for everybody. Feel free to make PR.
May be for you will be easier to backup your current code, then fork my repo again and then apply your changes then make PR.

ghogan42
Atari maniac
Atari maniac
Posts: 90
Joined: Wed Oct 17, 2018 7:27 pm

Re: Genesis Core

Postby ghogan42 » Mon Feb 25, 2019 9:55 pm

Sorgelig wrote:This is good addition! Especially as an option it will fit for everybody. Feel free to make PR.
May be for you will be easier to backup your current code, then fork my repo again and then apply your changes then make PR.


OK. I should fix a couple of formatting problems and make a different pull request. If you want to reject the current pull request you can. Or maybe it will disappear when I re-fork the repo.

paulbnl
Atari freak
Atari freak
Posts: 65
Joined: Wed Oct 24, 2018 9:43 am

Re: Genesis Core

Postby paulbnl » Tue Feb 26, 2019 10:26 am

Re-forking the repo is unnecessary. You should be creating a new branch for every pull request so you don't mess with the master branch. If you create a pull request and then later push updates to the same branch then it will update the pull request.

So you can either use interactive rebase to merge commits, use git reset HEAD~1 to undo the previous commit without losing your changes or use git commit --amend to update the last commit and then push to the same branch.

https://help.github.com/en/articles/changing-a-commit-message

Here is how to cleanly update the master branch from the MiSTer repo:
https://help.github.com/en/articles/syncing-a-fork

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

Re: Genesis Core

Postby Sorgelig » Tue Feb 26, 2019 10:56 am

ghogan42 wrote:OK. I should fix a couple of formatting problems and make a different pull request. If you want to reject the current pull request you can. Or maybe it will disappear when I re-fork the repo.

can you re-calculate your filters for 96KHz sampling rate? It would be good for MiSTer's digital output. I even think to re-use your filters in other cores.

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

Re: Genesis Core

Postby JamesF » Tue Feb 26, 2019 1:14 pm

We spoke about this on discord, that a high tap filter at 20kHz can solve all aliasing issues on I2S and SPDIF with sampling rate conversions.


Return to “MiSTer”

Who is online

Users browsing this forum: glaucon1984 and 4 guests