Page 1 of 1

Rotating Horizontal Cores?

Posted: Sun Jul 31, 2022 5:26 pm
by city41
I am using my MISTer in an arcade cab with a vertical monitor. This means I cannot play any horizontal games as they don't have a rotate option in the settings.

Since CPS1 and CPS2 have both horizontal and vertical games, I was able to hack their mra files and pull it off

rotated.jpg
rotated.jpg (30.35 KiB) Viewed 3028 times

More info here: https://github.com/city41/cpsrot

I would really like to do this for more arcade cores, most notably Neo Geo. I have a lot of experience with software dev but basically zero with fpga dev. As I understand it rotating the screen is a common option that cores pull in.

If anyone has any tips on where to look or how to pull this off I would be grateful. If I pull this off I would just use/maintain forked cores that had this added option.

Re: Rotating Horizontal Cores?

Posted: Mon Aug 01, 2022 12:30 am
by 98pacecar
Question, are you doing this via HDMI or with a MisterCade or something similar? Doesn't seem to be working through my MisterCade.

Re: Rotating Horizontal Cores?

Posted: Mon Aug 01, 2022 12:44 am
by city41
98pacecar wrote: Mon Aug 01, 2022 12:30 am Question, are you doing this via HDMI
Ah forgot to mention that, my bad.

This only works on HDMI. Analog video can't he rotated.

Re: Rotating Horizontal Cores?

Posted: Tue Aug 02, 2022 1:46 am
by 98pacecar
That’s what I thought. Maybe time to chase down a viewlix or something! Lol!

Re: Rotating Horizontal Cores?

Posted: Mon Aug 08, 2022 1:31 am
by city41
I successfully rotated Canyon Bomber so it displays upright on a vertical HDMI monitor.

GHYP0zhl.jpg
GHYP0zhl.jpg (31.49 KiB) Viewed 2666 times

Obviously the aspect ratio is all wrong, but I'm very pleased with this milestone.

Massive thanks to Mister Retro Wolf who's videos were the key to me learning how rotation in cores works.

So onto fix the aspect ratio, and then onto more complex cores, hopefully figuring this out enough to pull it off on the Neo Geo core.

Re: Rotating Horizontal Cores?

Posted: Mon Aug 08, 2022 2:07 am
by city41
And fixed aspect ratio by just hardcoding it. Fullscreen looks really wonky anyway

YKN3PkOl.jpg
YKN3PkOl.jpg (26.82 KiB) Viewed 2665 times

Re: Rotating Horizontal Cores?

Posted: Tue Aug 09, 2022 2:27 am
by city41
I now have Canyon Bomber and Moon Patrol rotated. Also have the Robotron core rotated but its vertical games (like Sinistar) are upside down so plan to pull in screen_rotate's flip functionality, which this core does not seem to have.

I am gathering my patches here: https://github.com/city41/MISTer-HoriForVert

As for non-arcade cores, since they don't use arcade_video they may prove to be more challenging.

Re: Rotating Horizontal Cores?

Posted: Sat Oct 01, 2022 11:50 am
by Newsdee
I have an old build of a rotated Apple 2 and Atari2600 cores somewhere. I use them ocassionally on one of my arcade cabs with a spinner (to use as paddle).

The aspect rario is all wrong though, and I had to turn on a compiler flag which I think adds latency (enable framebuffer). If anybody is interested I can try to dig them out.

Re: Rotating Horizontal Cores?

Posted: Sat Jul 22, 2023 8:46 am
by Koston
city41 wrote: Tue Aug 09, 2022 2:27 am

I am gathering my patches here: https://github.com/city41/MISTer-HoriForVert

What happened to this repo/patches?


Re: Rotating Horizontal Cores?

Posted: Mon Nov 20, 2023 12:58 pm
by tcdev
city41 wrote: Sun Jul 31, 2022 5:26 pm

I would really like to do this for more arcade cores, most notably Neo Geo.

Neo Geo would be awesome since there's one commercial and a few homebrew games that run on vertical mode (Xevious, Galaxian).

However I suspect - and this is purely a guess - that the Neo Geo is already running close to maximum bandwidth of the SDRAM and having the screen rotated would put it over the top?!? I hope it's not true, but suspect this is why it hasn't been done yet?!?


Re: Rotating Horizontal Cores?

Posted: Mon Nov 20, 2023 5:04 pm
by antibolo

It would be nice if MiSTer had a global setting for orientation that all cores would follow. Maybe not all cores could feasibly support it, but at least having the possiblilty would make for a better experience.