Saturday, September 2, 2023

Getting rid of Amiga 500 15khz banding on monitors that do clock=100

Some monitors can do an "auto-adjust" and then won't be able to remove the banding by manually adjusting the pixel clock.

I noticed that after an auto-adjust that the pixel clock setting is "reset" to 50.


So what if I try to send the monitor a different signal that's close to the 15khz Amiga 500 NTSC signal and let it auto adjust on that to reset the midrange to 50, then manually adjust the pixel clock.


Using my cvt script called "mycvt" I hook up the VGA to my eeepc 901 and try a few resolutions.

I try   ./mycvt 720 240 (which the monitor says it out of range)

./mycvt 820 240 (still out of range)

./mycvt 920 240 (monitor will lock on)

 

$ cvt 920 240
# 920x240 58.05 Hz (CVT) hsync: 14.86 kHz; pclk: 17.00 MHz
Modeline "920x240_60.00"   17.00  920 944 1032 1144  240 243 253 256 -hsync +vsync

Then after auto adjusting to 920x240, which resets the pixel clock to "50", switch the VGA input back to the amiga output and then I can manually adjust the pixel clock from the new "50" point to remove the banding.

I've tried this with a couple of (clk=100) monitors that I got recently, an HP 27wm, an Asus B246HL and an Asus VA24D and it worked!

Now I just have to be careful not to hit the auto adjust button!

It doesn't work for all monitors, the Gateway Kx2303 and the Acer H276HL seem to make a distinction between the different signals, remembering the settings for each.

edit: after a lot of experimentation, the Acer H276HL can lock onto "cvt 1440 245 61", the Lenovo LT2252 can lock onto "cvt 824 245 61".  That seems to be close enough for the monitor to treat it as the same resolution.

That 245 and 61 seems to be a magic number, a little bit higher at 246 and a little bit lower at 244 won't work.  The 61 pulls it closer to 60 hz.

cvt 1440 245 61
# 1440x245 59.87 Hz (CVT) hsync: 15.62 kHz; pclk: 28.00 MHz
Modeline "1440x245_61.00"   28.00  1440 1480 1616 1792  245 248 258 261 -hsync +vsync

So here's some pictures:

So first, let's set a workbench pattern which makes the vertical banding easier to see.


Asus B246HL after auto adjusting on Amiga 500 NTSC signal on a buffered VGA adapter: the banding is clearly visible

boosting the clock to 100, there are still multiple bands


switching to an Asus EEEpc running knoppix 9.1 and running mycvt 920 240

we run the auto adjust, then switch back to the amiga 500 NTSC

now you can set the clock to eliminate all of the vertical banding

 

Asus B246HL from January 2017


Using an iogear vga switch box (powered by usb) makes it easy to switch back and forth between an EEEpc and the Amiga 500 NTSC.


Mycvt script:

#/bin/bash
if [ $# -eq 1 ]
then
echo one parameter given, set device to $1
declare -x d=$1
printenv d
#no, child cannot modify env vars of parent but you can run it as source ./mycvt and it will work
#. ./mycvt VGA1 will also work as . is an alias for source
else
echo $*
cvt $*
echo d = $d
if [ -z "$d" ]
then
  d=VGA1
  echo no device specified, using $d
fi
a=`cvt $* | tail -1 | cut -d' ' -f2-`
b=`cvt $* | tail -1 | cut -d' ' -f2`
echo $a 
echo $b
echo xrandr --newmode $a
echo xrandr --addmode $d $b
echo xrandr --output $d --mode $b
xrandr --newmode $a
xrandr --addmode $d $b
xrandr --output $d --mode $b
fi

 

 

 

 

Dell U2711 and U3011 with 15khz Amiga 500 NTSC signals

  I have a Dell U2711 and a U3011 and they are very similar so the same goes for both monitors.   My A500 NTSC with a buffered VGA adapte...