Automatic screen resolution switcher

General Discussion, STOS.

Moderator: troed

User avatar
agranlund
Posts: 491
Joined: Sun Aug 18, 2019 10:43 pm
Location: Sweden
Contact:

Automatic screen resolution switcher

Post by agranlund » Thu Nov 19, 2020 9:39 am

I'm working on an automatic screen resolution switcher for my own needs and realised it may be useful for others too?
It's for starting color games/demos from a desktop that is running in Mono/Lacescan/ET4000.

For me it's mainly for running ST-Low resolution games from an ET4000 desktop but if you have a UBE-switch you may find it useful too if you fancy starting color games from a Mono desktop.
LaceScan support is experimental and may or may not work. I don't have that hardware so it was only tested in an emulator but it will attempt to disable overscan when game is launched and restore when it returns to desktop.

You can't use it with desktop programs, it's for fullscreen games and demos that aren't using GEM.

This is still early and very rough around the edges, so expect it to be very far from perfect, but if you are interested in giving it a go then you'll find a very first test version attached:
modesw.zip
(3.08 KiB) Downloaded 12 times
Make sure to read the readme.txt for usage information and how to set up your program rules in the .inf file
The gist of it is that the program lives in the AUTO folder, and the startup order is important.
It has a config file where you need to specify rules so it knows which programs or folders should be affected by this.

And another disclaimer:
I no longer have the ability to plug an official UBE-switch into my machine so the normal Mono/Color switching was tested on similar circuitry which is now built into my Atari - but the firmware is not 100% the same.

User avatar
mrbombermillzy
Posts: 160
Joined: Sun Jun 03, 2018 7:37 pm

Re: Automatic screen resolution switcher

Post by mrbombermillzy » Thu Nov 19, 2020 10:14 am

Great effort here. Well done. I dont have the TT setup to test ATM, but will try to test ASAP.

With cache control and such, this could almost be turned into the Atari version of Amigas WHD! :D

User avatar
agranlund
Posts: 491
Joined: Sun Aug 18, 2019 10:43 pm
Location: Sweden
Contact:

Re: Automatic screen resolution switcher

Post by agranlund » Thu Nov 19, 2020 10:36 am

mrbombermillzy wrote:
Thu Nov 19, 2020 10:14 am
Great effort here. Well done. I dont have the TT setup to test ATM, but will try to test ASAP.

With cache control and such, his could almost be turned into the Atari version of Amigas WHD! :D

With the ET4000 I found that the games that aren't respecting TOS at all and just hammers the hardware directly pretty much works out of the box without any help.
The irony is that the more system friendly they are, the less likely it is they will work when a graphics card is attached hence I felt the need for this program :lol:
This program restores xbios to a point before the graphics card drivers where loaded, sets the screen to ST-Low, and then let the game proceed to launch. Xbios is restored when the game exits.

And the same applies without a graphics card. It sets the mode to ST-Low so those games that display "Sorry, color monitor only!" (I have a ton of these) will now work even when launched from a mono desktop - provided you have a UBE-switch that is.

LaceScan support came by accident as its hardware toggle is the same as I use for my hardware ET4000/Shifter VGA port switcher.
(It's only been tested in an emulator, I don't actually have a LaceScan)

With the ET4000, it will still display the picture on the Atari port. I think people usually have two screens connected?
My setup has the ET4000 and Atari output wired to the same VGA port and the output is software selectable in the same way LaceScan toggles its hardware (pin5 of keyboard ACIA). So for me it's just the one monitor needed and it'll switch between ET4000 and Shifter as needed.
Still, even with a dual monitor setup it's probably still useful for those games that are a bit too system friendly for their own good :)

User avatar
Steve
Trusted Guru
Trusted Guru
Posts: 683
Joined: Fri Sep 15, 2017 11:49 am

Re: Automatic screen resolution switcher

Post by Steve » Thu Nov 19, 2020 10:38 am

Does this require additional hardware? I can't quite picture how it works. When you have Ataris with two physical outputs, the stock VGA and the ET4000 VGA what happens here?
Repairs & Servicing for Atari & Amiga machines (and any other retro computers) Located in the West Midlands UK. PM me if you require assistance.
www.solidstatesociety.co.uk

User avatar
agranlund
Posts: 491
Joined: Sun Aug 18, 2019 10:43 pm
Location: Sweden
Contact:

Re: Automatic screen resolution switcher

Post by agranlund » Thu Nov 19, 2020 10:48 am

Steve wrote:
Thu Nov 19, 2020 10:38 am
Does this require additional hardware? I can't quite picture how it works. When you have Ataris with two physical outputs, the stock VGA and the ET4000 VGA what happens here?
It still outputs Atari resolutions on the Atari screen.
A lot of games wont need this software at all - the ones that hit the hardware directly and ignores TOS.
Some games are a bit too system friendly and wont work correctly with a graphics card attached (or when in mono). This program helps these to run.

It doesn't require additional hardware for the above, although I do have additional hardware in my machine to make the experience a bit better.
I have one physical output that can display either the ET4000 or the Atari signal - it is software selectable the same way Lacescan toggles. This program will set that pin accordingly and I always assumed that particular feature would be specific to my Atari but then I realised it may be accidentally useful to LaceScan people as well :)

I'm also using the program when the ET4000 is not active. Without graphics card I usually boot to a mono desktop and this program will allow me to launch a bunch of color games that would otherwise refuse to start.

User avatar
agranlund
Posts: 491
Joined: Sun Aug 18, 2019 10:43 pm
Location: Sweden
Contact:

Re: Automatic screen resolution switcher

Post by agranlund » Thu Nov 19, 2020 11:14 am

Atari Mono desktop, color game:
(requires UBE-switch)



ET4000 desktop, color game:
(with additional hardware to use same monitor for ET4000 and Atari ports. Without that you would get the game picture on the monitor you have connected to stock Atari port)

User avatar
exxos
Site Admin
Site Admin
Posts: 13160
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
YouTube: https://www.youtube.com/user/exxosuk
Contact:

Re: Automatic screen resolution switcher

Post by exxos » Thu Nov 19, 2020 11:42 am

That is awesome! :thumbup: :thumbup:
https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/store2/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
mrbombermillzy
Posts: 160
Joined: Sun Jun 03, 2018 7:37 pm

Re: Automatic screen resolution switcher

Post by mrbombermillzy » Thu Nov 19, 2020 12:46 pm

So other than the UBE switch, whats the other HW you use for ET4000 AND ST out?

Is it a standard switch KVM box? If not, how does the active screen get decided?

User avatar
agranlund
Posts: 491
Joined: Sun Aug 18, 2019 10:43 pm
Location: Sweden
Contact:

Re: Automatic screen resolution switcher

Post by agranlund » Thu Nov 19, 2020 1:19 pm

mrbombermillzy wrote:
Thu Nov 19, 2020 12:46 pm
So other than the UBE switch, whats the other HW you use for ET4000 AND ST out?

Is it a standard switch KVM box? If not, how does the active screen get decided?
The extra hardware I have is one of these:
https://www.digikey.com/en/products/det ... QR/2627171

The ET4000 and the Shifter are connected as inputs, and the output goes to a single VGA port on the back of my computer.
The selector pin is soldered to the otherwise unused pin 5 of the keyboard ACIA which means I can control which output I want from software (and incidentially Lacescan uses the same ACIA pin to control its on/off).

MODESW.PRG is the one that toggles this pin as games are launched and exited.
(In the beginning, this was the only intended purpose of that program but I figured that with some extra effort it can eventually turn into a useful general purpose tool - ET4000 or not)

Anyhow, that chip I linked to sits on a custom board that also houses a clone of the UBE switch and some audio stuff etc.
It's a standard VGA switcher IC used in KVM boxes so I suppose you're right, it's basically a homemade internal KVM box (without the keyboard and mouse part) :)
There is a picture of my custom board here: viewtopic.php?f=18&t=2879&start=110


The UBE switch (or in my case, UBE switch clone circuit) is not really required when the ET4000 is enabled.
It's two/three completely different scenarios really. If you don't have an ET4000 you may still benefit from the program if you have a UBE switch. Ie; you boot into a mono desktop and want to launch a color game without restarting the machine.

If you don't have an ET4000 but you have a Lacescan installed, then this software will attempt to disable the desktop overscan as the game is launched and then restore it when the game exits (this is untested on real hardware and may or may not work - if it works then great, if it doesn't then I'm probably not going to attempt to fix it)

In a standard ET4000 setup that has two monitors, I found that most(?) games appear to run fine on the Atari connected screen without the help of this tool. It's the "system friendly" ones which use TOS screen functions that might refuse to run properly where it may help.

To me the most important feature is the toggling of the KVM switch of course, but while I'm at it I figure it doesn't hurt expanding the features to other use cases as well - basically a "run ST-Low games no matter what your desktop runs at" type of thing.

I'd like to stress again that the software is still very rough and a lot of stuff don't work properly yet.

Edit: I'm sure it would be possible to build an external switchbox and control it from software too but that would be a project for someone else that has a use for such a thing :)
Either a VGA+DIN -> VGA type of deal or a 2xVGA -> VGA thing.
Or possibly bring out the switcher signal to outside of the case and into some existing product perhaps?

Alternatively, with a lot of software + MMU trickery you might be able to promote the atari screen to the gfxcard sceen on some games at least. Since I don't need this for my machine I'm not going to be attempting that.

User avatar
mrbombermillzy
Posts: 160
Joined: Sun Jun 03, 2018 7:37 pm

Re: Automatic screen resolution switcher

Post by mrbombermillzy » Thu Nov 19, 2020 3:23 pm

Looks quite complex to me.

Would using the VESA DDC signal make things any easier for mode switching?

Would it be possible to use it in this situation at all?

Post Reply

Return to “SOFTWARE”