EDIT: NEW VERSION FOR 0.152 - Download "VerticalMod.zip" attached somewhere below.These are instructions how to get vertical games to look good (larger) on a horizontal LCD monitor using HLSL.
It will give the illusion of a vertical monitor tilted back.
The following settings are for Bomb Jack, but can be used for any vertical game with som minor changes.
The pincushion setting for Bomb Jack is 0.6. You may have to change this slightly for other games.
Change the + - sign in line 124 for games that are rotated 180 degrees from Bomb Jack.
This change is tested with MAMEUI32.143.1 on a 16:9 23,5" monitor with 1920 x 1080 resolution.
NOTE ! This is not any part of MAME development. Use it or do improvements if you wish.
Hopefully this will be integrated into future versions of MAME.
IMPORTANT: These settings will affect horisontal games. I would recommend to have separate MAME installations for vertical and 180 degree vertical games.
NEW: Ready to use post.fx now attached in later posts. Screenshots added !Do the following changes to post.fx in the HLSL folder:
-------------------
Change line 75 from
Output.Position.y = 1.0f - Output.Position.y;
to
Output.Position.y = 1.12f - Output.Position.y;
-------------------
Change line 78 from
Output.Position *= float4(2.0f, 2.0f, 1.0f, 1.0f);
to
Output.Position *= float4(3.5f, 3.5f, 1.0f, 1.0f);
-------------------
Change line 123 from
float2 PinViewpointOffset = float2(0.0f, 0.0f);
to
float2 PinViewpointOffset = float2(0.2f, 0.0f);
-------------------
Change line 124 from (Leave the + sign as is if monitor is 180 degrees from BombJack)
float2 PinUnitCoord = (Input.TexCoord + PinViewpointOffset) * Ratios * 2.0f - 1.0f;
to
float2 PinUnitCoord = (Input.TexCoord - PinViewpointOffset) * Ratios * 2.0f - 1.0f;
-------------------
Change line 131 from
BaseCoord *= 1.0f - PincushionAmount * Ratios * 0.2f; // Warning: Magic constant
to
BaseCoord *= 1.0f + PincushionAmount * Ratios * 0.2f; // Warning: Magic constant
-------------------
Change line 136 from
ScanCoord *= 1.0f - PincushionAmount * Ratios * 0.2f; // Warning: Magic constant
to
ScanCoord *= 1.0f + PincushionAmount * Ratios * 0.2f; // Warning: Magic constant
-------------------
-------------------
Settings in mame.ini (or use slider controls):
scanline_size 1.0 (gives true scanlines)
scanline_height 0.7 (or whatever)
pincushion 0.6 (for Bomb Jack - adjust for others)
Other settings as you prefer.
IMPORTANT! gamename.ini in HLSL folder will not change if exists.
Also use max resolution supported by your display.
-------------------
-------------------
A big thanks to the MAME developers for the HLSL integration. Keep up the good work