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.

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.

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 sprites2) 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.

Strip figther works centered with the latest changesCadash (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.

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_CheatsEnable invincibility and then choose Level 9 - boss will appear soon and after defeat him the graphics will be messy.

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.

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?

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];

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.

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.

great updateMany 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.