PC Engine core

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

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

GreyRogue
Atari maniac
Atari maniac
Posts: 89
Joined: Thu Mar 22, 2018 3:50 am

Re: PC Engine core

Postby GreyRogue » Thu Sep 06, 2018 4:18 am

Sorgelig wrote:No problem. Will wait as much as you need.

Added a change that will fix games that aren't centered properly. I'm uncertain of the behavior in all cases. Reports of unexpected horizontal start positions might help identify the correct behavior for all cases.

This completes all the changes I have for now.

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

Re: PC Engine core

Postby Sorgelig » Thu Sep 06, 2018 2:24 pm

Batman now works!

Atomic Robo-Kid Special: has many garbage on bottom of screen. And it seems should be blanked out. May be blanking problem.

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

Re: PC Engine core

Postby Sorgelig » Thu Sep 06, 2018 3:02 pm

GreyRogue wrote:I'm testing one more fix, if you want to give me an hour.

Some games like R-Type and especially Dead Moon have flickering sprites. What causing it? Not enough bandwidth? MiSTer uses BRAM for system RAM, so if there any limiting mechanism is in core, then it can be removed. Even dual-port access can be added if required.

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

Re: PC Engine core

Postby Sorgelig » Thu Sep 06, 2018 6:02 pm

Strip Fighter II also works correctly now.

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

Re: PC Engine core

Postby Sorgelig » Thu Sep 06, 2018 6:23 pm

Tested 200+ games. Found only few non-working - may be less than 10.
This is very good achievement for console replica!

Some games have graphical glitches non-preventing the playing. Common glitches are:
1) flickering sprites
2) garbage on the bottom. Some games have one line on the bottom wrapped from the top (or probably vertical blanking is too late). Some games have large portion on garbage on the bottom(Atomic Robo-Kid Special) which is not the part of game - so probably again late blanking.

albconde
Atari freak
Atari freak
Posts: 74
Joined: Thu Nov 30, 2017 8:56 am

Re: PC Engine core

Postby albconde » Thu Sep 06, 2018 7:23 pm

Strip figther works centered with the latest changes
Cadash (usa) now works (maybe the dma fix)

Found a game not working now but working in release 20180830 "aoi blue blink"
I have not found any case yet of a game badly centered horizontally, vertically some games lose a line in the top , like darius ,as sorgelig said.

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

Re: PC Engine core

Postby Sorgelig » Fri Sep 07, 2018 8:56 am

Blazing Lazers gets messed graphics and then crash after some boss fights.
If you want to test it quickly, then use cheat menu: http://www.ign.com/wikis/tg16-cheats/Gunhed_Cheats
Enable invincibility and then choose Level 9 - boss will appear soon and after defeat him the graphics will be messy.

misterjbam
Atari User
Atari User
Posts: 40
Joined: Tue Dec 12, 2017 10:36 pm

Re: PC Engine core

Postby misterjbam » Fri Sep 07, 2018 12:17 pm

little graphic bugs with bomberman 93.
But nothing really bad
Thanks for all that work

http://www.bpj-studio.fr/web/bbman.jpg

User avatar
cvenditti
Atari maniac
Atari maniac
Posts: 90
Joined: Sun Nov 19, 2017 12:45 am

Re: PC Engine core

Postby cvenditti » Fri Sep 07, 2018 3:30 pm

Will be great to be able to play the CD ISO too, like CD-ROM² or TurboDuo for example. I try Google but apparently nobody tried on a fpga.

hyperterminal
Atari maniac
Atari maniac
Posts: 91
Joined: Sun Jul 09, 2017 1:43 pm

Re: PC Engine core

Postby hyperterminal » Fri Sep 07, 2018 4:29 pm

Thank you GreyRogue for these great fixes to the PC Engine core.

Here are two screenshots from the game Ninja Warriors:
Image Image

Parts of the player sprite temporarily disappear when there is lots of action on screen. This looks like a sprite limit problem to me. It even occurs on real hardware.

User avatar
AndrewSisk
Atarian
Atarian
Posts: 6
Joined: Mon May 21, 2018 8:50 pm

Re: PC Engine core

Postby AndrewSisk » Fri Sep 07, 2018 6:26 pm

great update!!! :D two player VS games in Street Fighter II doesn't work? the D pad of both controllers seem to be linked to Player one and other controller D pad dose nothing.

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

Re: PC Engine core

Postby Sorgelig » Sat Sep 08, 2018 4:51 am

Fixed in new release.

GreyRogue
Atari maniac
Atari maniac
Posts: 89
Joined: Thu Mar 22, 2018 3:50 am

Re: PC Engine core

Postby GreyRogue » Sat Sep 08, 2018 7:38 am

albconde wrote:Found a game not working now but working in release 20180830 "aoi blue blink"

Fixed in latest pull request (Reading VDC register 0x1 should always read 0, not 0xFF).

Also fixed Toy Shop Boys (incorrect setting of flags for Tsb and Trb opcodes).

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

Re: PC Engine core

Postby Sorgelig » Sat Sep 08, 2018 9:13 pm

GreyRogue wrote:Fixed in latest pull request (Reading VDC register 0x1 should always read 0, not 0xFF).

I've also tried to fix it but unsuccessfully since i've tried to understand why INT_MASK reading prevented Aoi game to run.

By the way, i've added Q13 project files to this core. So, you can install Quartus 13 web edition and compile the Lite version twice faster!
I don't know if you use SignalTap or not, but In Q16+ versions it's kind of broken as Storage qualifier doesn't work reliably. So, Q13 version provides better SignalTap experience.

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

Re: PC Engine core

Postby Sorgelig » Mon Sep 10, 2018 9:05 am

There are 2 types of R-Type ROMs:
1) R-Type Japan comes as 2 separate parts with 256KB each - looks OK.
2) R-Type USA comes in a single 512KB ROM - it works OK, but sprites are dull.. like with missing bitplanes. Playfield looks OK.

What it can be? Different USA/Japan regions have some differences in HW? Or it's game protection to prevent it play correctly on foreigner HW?

User avatar
Newsdee
Atari God
Atari God
Posts: 1227
Joined: Fri Sep 19, 2014 8:40 am

Re: PC Engine core

Postby Newsdee » Mon Sep 10, 2018 10:43 am

As far as I know, the region protection on the PCE is some pins swapped in hardware, plus a software check for US titles (done by the game card).

Is it the only 512kb game showing the issues? I wonder if it's some kind of mapper problem.

User avatar
Newsdee
Atari God
Atari God
Posts: 1227
Joined: Fri Sep 19, 2014 8:40 am

Re: PC Engine core

Postby Newsdee » Mon Sep 10, 2018 10:46 am

According to this thread there is an encrypted ROM for R-Type USA, so try to run the decrypted one to see if it works:
https://forum.fobby.net/index.php?t=msg&goto=76&

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

Re: PC Engine core

Postby Sorgelig » Mon Sep 10, 2018 3:14 pm

If by "encryption" you mean byte swapping between Japan/USA regions, then it's not a problem. Core has byte swap OSD option for this "encryption".

No, it's not because of this. As i've said, the game itself runs fine. Just sprites have reduced colors.

GreyRogue
Atari maniac
Atari maniac
Posts: 89
Joined: Thu Mar 22, 2018 3:50 am

Re: PC Engine core

Postby GreyRogue » Tue Sep 11, 2018 4:21 am

misterjbam wrote:little graphic bugs with bomberman 93.
But nothing really bad
Thanks for all that work

http://www.bpj-studio.fr/web/bbman.jpg

The 16th sprite was not being shown, as the timing wasn't giving it time to read the it's contents during the horizontal blanking. It should work now. Other games with 16 sprites per line would have the same issue. I've only tested with the low res (ie 256 pixels).

Sorgelig wrote:Some games like R-Type and especially Dead Moon have flickering sprites. What causing it? Not enough bandwidth? MiSTer uses BRAM for system RAM, so if there any limiting mechanism is in core, then it can be removed. Even dual-port access can be added if required.

Some of this may have been the above issue, but the 16 sprites per scanline can still show up. It's certainly possible to get all 64 sprites on one scanline to show up with dual-port RAM, and not wasting cycles. The actual hardware only supported 16 per scanline, and some games require this limitation to display properly, so you'd want an OSD option to turn it on and off. For now, though, I'm more interested in getting the timing to match actual hardware, as this can cause many glitches.

Sorgelig wrote:Batman now works!

Atomic Robo-Kid Special: has many garbage on bottom of screen. And it seems should be blanked out. May be blanking problem.

I've improved this, but it's still not quite right. The status bar at the top of the screen was missing (life/score). It now shows up, but it's still cutting off part of it. Timing is not quite right. I made some adjustments and now the 256x240 test image in the 240p Test Suite now shows up completely (including a couple pixels of overscan on the left and right if you turn it on). The overscan test also shows no missing lines. I'm tempted to rewrite the X/Y handling in the 6270 file, as I think a state machine makes more sense than a bunch of if statements...

Also, I noticed the change you made to scandoubler causes issues for my monitor. It doesn't like having the vsync delayed by 3 lines. ie, I did this in my code to make monitor happy:
assign vs_out = vs_in;
//assign vs_out = vso[3];


Latest pull request in the usual place.

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

Re: PC Engine core

Postby Sorgelig » Tue Sep 11, 2018 4:53 am

GreyRogue wrote:Some of this may have been the above issue, but the 16 sprites per scanline can still show up. It's certainly possible to get all 64 sprites on one scanline to show up with dual-port RAM, and not wasting cycles. The actual hardware only supported 16 per scanline, and some games require this limitation to display properly, so you'd want an OSD option to turn it on and off. For now, though, I'm more interested in getting the timing to match actual hardware, as this can cause many glitches.

I'm all for timings matching the real HW. No need to add anything extra. I never had a real PCE, so i have no idea if flickering present on real HW or not. So, it it flickers on real HW, then let it flicker :)

Btw, does current ROM storage implementation have enough bandwidth for PCE? DDR3 has long delay on random access due to latency. But as i see only CPU can access the ROM, so i think games copy all sprites to RAM in advance and don't use ROM reading too often. I can migrate ROM storage to SDRAM if delay is critical.

GreyRogue wrote:Also, I noticed the change you made to scandoubler causes issues for my monitor. It doesn't like having the vsync delayed by 3 lines. ie, I did this in my code to make monitor happy:
assign vs_out = vs_in;
//assign vs_out = vso[3];

Scandoubler delays the data by 2 lines. Also, to make sure of correct work of HDMI scaler, one blanking line is required before VSync. Some cores don't provide enough blanking. Hence 3 lines delay.
Can you explain what's wrong with 3 lines delay? Did you try vso[2] instead? Vertical blanking is delayed by 2 lines as well, so delay VSync by 2 lines should make correct sync.

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

Re: PC Engine core

Postby Sorgelig » Tue Sep 11, 2018 6:17 am

Last Pull Request improved Blazing Lazers a lot! Before it was often crashed after some bosses. For example first or second boss on level 9 would definitely corrupt the graphics and then crash.
Now it's very seldom. For the whole game from level 1, there was corruption at the end of Level 2, but self-recovered, and at the level 9 it was crashed finally. Before this PR it was lucky to pass just 2 levels without crash. So, the changes you did in last PR are related to Blazing Lazers stability. Probably the same problem affected Robo-Kid garbage.

albconde
Atari freak
Atari freak
Posts: 74
Joined: Thu Nov 30, 2017 8:56 am

Re: PC Engine core

Postby albconde » Tue Sep 11, 2018 11:37 am

great update
Many of the games that had problems at the top now display properly as heavy unit or andrea panza kickboxing.
The flicker in out run is also almost solved, only two lines flicker, the same for fantasy zone, only the line after the Menus is badly placed.
The position of the logo in ballistix in the image after psignosys logo is also fixed

The game Yo, bro has problems in the vertical position now, which did not have before.

thanks

PhantombrainM
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 110
Joined: Fri Mar 16, 2018 9:10 am

Re: PC Engine core

Postby PhantombrainM » Tue Sep 11, 2018 5:56 pm

Does latest pull request also fix Darius Alpha / Plus?
It seems it needs to be more down and more right.

VGA to Sony profesional broadcast CRT.
You do not have the required permissions to view the files attached to this post.
Two beer or not two beer? - Shakesbeer.

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

Re: PC Engine core

Postby Sorgelig » Tue Sep 11, 2018 6:18 pm

PhantombrainM wrote:Does latest pull request also fix Darius Alpha / Plus?
It seems it needs to be more down and more right.

yes, it's fixed

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

Re: PC Engine core

Postby Sorgelig » Tue Sep 11, 2018 6:28 pm

But in Darius plus there are glitches in game.
Low 2 lines of info panel scroll out together with play field, and there is some misdrawn line in upper part.


Return to “MiSTer”

Who is online

Users browsing this forum: SegaMan and 2 guests