Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Dual CRT monitor setup: 1 horizontal + 1 vertical  (Read 4350 times)

0 Members and 2 Guests are viewing this topic.

Dr.Venom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 270
  • Last login:May 08, 2018, 05:06:54 am
  • I want to build my own arcade controls!
Dual CRT monitor setup: 1 horizontal + 1 vertical
« on: October 15, 2013, 09:27:00 am »
Hi Calamity,

I've been toying again with my GroovyMAME setup, to much pleasure I have to say, but there seems to be one issue left.

I've added a second CRT monitor to my setup, physically rotating it, such that I now have one monitor for playing horizontal games and the other for playing vertical games ;D. Both these CRT monitors are attached to my HD4850, which is in the second slot on my mobo (primary slot has a NVidia GTX 770, with a 1080p LED attached). I'm very happy with the whole setup and how both CRT monitors are working with GroovyMAME; the addition of the physically rotated one is breathing an entirely new life in playing the vertical arcade games :).

There seems to be only one issue left, which is that for all games that have the rotate left (rol) option activated in the ini, are giving a "blit_lock = FALSE" in the log at the end just before opening the screen. It doesn't do that for any game when the rotate left option is left to its default (off).

Just to have something logwise for you to look at I ran ddonpach two times, with exact same settings, only apart from the rotate "rol" setting. See both attached logs.

From the log you can see the monitor enumeration:

Video: Monitor 0000000000010001 = "\\.\DISPLAY1" (primary)  <-- LED 1080 on GTX 770
Video: Monitor 0000000000010003 = "\\.\DISPLAY5"  <-- Horizontal CRT monitor on HD4850 output 1
Video: Monitor 0000000000010005 = "\\.\DISPLAY6"  <-- Vertical (physically rotated) CRT monitor on HD4850 output 2

Ddonpach is run on Display 6. As the ddonpach_vert.txt log shows at the end, there's the following before the screen is opened (starting at line 644 in the log):

Optional shared pointer 'paletteram' not found
blit_lock = FALSE
window_proc: WM_PAINT:END

  (missing dependencies; rescheduling)
Starting M68000 ':maincpu'

while with exact same setting, but without the rotate left option, it logs in ddonpach_hor.txt:

Optional shared pointer 'paletteram' not found
  (missing dependencies; rescheduling)
Starting M68000 ':maincpu'

It's generating that blit_lock = FALSE for all games that I run with the rotate left option. (Note: all games, both horizontal and vertical, that I run without the rotate left option are not generating that blit_lock = false).

Any idea what's happening and if there's anything I can do on my side to solve it?


« Last Edit: October 15, 2013, 09:45:20 am by Dr.Venom »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7418
  • Last login:Yesterday at 04:59:06 am
  • Quote me with care
Re: Dual CRT monitor setup: 1 horizontal + 1 vertical
« Reply #1 on: October 15, 2013, 12:30:17 pm »
Hi Dr.Venom,

Instead of manually modifying the rotate options in mame.ini, select the right monitor orientation in the Switchres section:

orientation rotate_r

or

orientation rotate_l

... depending on which side you've physically rotated your vertical monitor to. The right option will be good for all vertical games. So you can place this setting in a vertical.ini file combined with the proper -screen option in order to target your vertical monitor.

This will take care of selecting the raw unrotated resolutions with the proper orientation.

Then, make sure to delete any saved rotation change made through the ui by removing any .cfg file inside the cfg folder related with the games you're playing.

The blit_lock = FALSE messages are normal. They indicate when the blitting thread is free to start blitting again, usually after a mode switch. This synchronizing mechanism is required because of the multithreaded implementation. And because the window thread and the emulation thread both spit messages in parallel, you can't expect those messages to be shown in exactly the same order between differerent runs, specially when you use different options, because they may happen at slightly different relative times.

Once you try vertical games in Tate orientation you simply can't go back.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Dr.Venom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 270
  • Last login:May 08, 2018, 05:06:54 am
  • I want to build my own arcade controls!
Re: Dual CRT monitor setup: 1 horizontal + 1 vertical
« Reply #2 on: October 16, 2013, 06:40:43 am »
Hi Calamity, thanks for the answer.

I've been trying what you said, but for some reason the rotate_r option doesn't have an effect. The screen is always upside down and it makes no difference if I use rotate_r or rotate_l.

What I've done:
- I've created a vertical.ini and placed that inside the "ini" folder.
- I've deleted all game specific .cfg and .ini related files
- I have my screen rotated to the right, so I set the switchres orientation value to  "rotate_r" value.
- I set all the default mame rotate options to "0", which makes the vertical games (most of them I guess) start upside down by default on my rotated monitor.

Having the switchres orientation option set to rotate_r or rotate_l or horizontal makes no difference to the screen orientation, the screen is always the default upside down.

Although there's no difference to the screen orientation when using horizontal or rotate_r, it does make a difference to the screen switching. When I have it at "horizontal" the display switches a number of times before ending up with the default upside down display. But if I use rotate_r, the display switches immediately to the default upside down display.The rotate_l behaviour is the exact same as the rotate_r.

Maybe it's of help, so I have attached both the horizontal and rotate_r ini files and resulting logs (tested with Commando). Hopefully this can be resolved.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7418
  • Last login:Yesterday at 04:59:06 am
  • Quote me with care
Re: Dual CRT monitor setup: 1 horizontal + 1 vertical
« Reply #3 on: October 16, 2013, 07:57:39 am »
Hi Dr.Venom,

You need to leave 'rotate 1' in mame.ini, which is the default. Leave all the other rotation options as 0 (as default).

Then, create a vertical.ini file which contents are, *only*, the options you want to override from mame.ini.

Code: [Select]
#
# vertical.ini for TATE mode
#

monitor                   custom
orientation               rotate_r
crt_range0                "15625-16200, 49.50-65.00, 2.300, 4.700, 5.600, 0.154, 0.160, 1.126, 0, 0, 224, 294, 0, 0"
screen                    \\.\DISPLAY6

Notice I added the crt_range0 because usually each monitor requires different custom ranges, but if both monitors have the same specs this is not required.

The reason why you should not place the rotate options in your vertical.ini file is because it has highest priority than Switchres when it comes to options setting. So when you if you set them as 0 in vertical.ini then Switchres won't be able to turn them on when required.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

Dr.Venom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 270
  • Last login:May 08, 2018, 05:06:54 am
  • I want to build my own arcade controls!
Re: Dual CRT monitor setup: 1 horizontal + 1 vertical
« Reply #4 on: October 18, 2013, 10:53:06 am »
Hi Calamity,

Thanks for explaining, everything is working like a charm now.

Once you try vertical games in Tate orientation you simply can't go back.

So true :)