jotego / jtcores

FPGA cores compatible with multiple arcade game machines and KiCAD schematics of arcade games. Working on MiSTer FPGA/Analogue Pocket
https://patreon.com/jotego
GNU General Public License v3.0
228 stars 40 forks source link

shouse: screen flip does not work #691

Closed jotego closed 1 month ago

jotego commented 3 months ago

It was reported in Discord that changing the flip setting in Dragon Spirit does not work. @jtmiki, could you test it?

jtmiki commented 3 months ago

I tested it and it does not work. When you ON the Flip setting, it goes OFF automatically. The orientation of the HDMI screen display remains the same, but the CRT screen display turns downwards or upwards during processing and eventually turns upwards. Commit: 1bb5cb0

jotego commented 3 months ago

The flip setting is changed in the service menu. You enter the service menu using the DIP switches. Changing it does change the dip_flip signal in the game module. That affects MiSTer's HDMI rotation settings so it flips the screen but the tilemap seems to be flipped by the software at the same time. So the net effect is no flip in the CRT, while there is flip in the HDMI output because of MiSTer's rotation setting changing.

jotego commented 3 months ago

The flip mode does not work at all. There is no way to flip the tilemap at the moment, even if the flip signal going into the tilemap module is altered manually.

gyurco commented 1 month ago

Where's the flip setting?

The hardware has a software flip register, some games set it, others not. But it cannot be override externally, as it requires some cooperation from the software side (coordinates are different in the two modes).

jotego commented 1 month ago

Use the DIP settings to enter the service mode in Dragon Spirit. You will see options that presumably get saved in the EEPROM. These two screenshots are from MAME:

Default: 0000

And when you turn it on: 0001

gyurco commented 1 month ago

I see now. The current code is aware of the changed coordinates in flip/non-flip modes, but that's all, it doesn't actually draws a flipped screen.

gyurco commented 1 month ago

Just a side question: is 'rotate controls' broke recently? The OSD option is there, but it doesn't do anything even if I switch between 'yes' and 'no'. I also noticed it in kchamp.

jotego commented 1 month ago

I do not remember doing anything to it lately...

gyurco commented 1 month ago

I do not remember doing anything to it lately...

The problem was that MRA tool didn't handle rom index=1 when it was more than one byte. I updated the tool.

jotego commented 1 month ago

I do not remember doing anything to it lately...

The problem was that MRA tool didn't handle rom index=1 when it was more than one byte. I updated the tool.

I see. I normally let jtframe create ROM/RAM files for my cores so I did not notice. Thanks for checking it.

jotego commented 1 month ago

I had to override core_mod calculation for this core as the information coming from dip_flip contradicts MAME's database for Pac-Mania. See f548a46

This task is completed. Thanks @gyurco

gyurco commented 1 month ago

I had to override core_mod calculation for this core as the information coming from dip_flip contradicts MAME's database for Pac-Mania. See f548a46

As I see, Galaga88 also flipped by default.

stiegis commented 1 month ago

Is this being realeased in the next update? Cannot flip cores on a crt monitor but works in hdmi perfectly. No big problem as I can swap joke connectors on the monitor but this is not very practical as other games cannot be flipped then

jotego commented 1 month ago

Is this being realeased in the next update? Cannot flip cores on a crt monitor but works in hdmi perfectly. No big problem as I can swap joke connectors on the monitor but this is not very practical as other games cannot be flipped then

Yes, it will be released in the next update.

stiegis commented 1 month ago

thanks Jotego thats great