Saturday, May 11, 2024

Imagewriter II font




I thought I'd write a little basic256 program to display the Imagewriter II rom, and it's very easy to see the font data.

It uses a simple encoding for the descenders, if the high bit is set, then shift the data down two pixels.  This works pretty well, but the mousetext characters don't follow this rule.


graphsize 800,800

color white

rect 0,0,800,1600

color black

openb "im2.bin"

xpos = 0

ypos = 0

st0 = 0x73fb

st1 = 0x79de

st2 = (st1-st0)+st1


st10 = 0x5f07

st11 = 0x68c7

st10end = 0x66c0

st11end = st11 + (st10end - st10)


for j = 0 to 32767

b = readbyte

if j > 16384 then

call dofont(b,j, st0, st1, 0, 1, 2)

call dofont(b,j, st1, st2, 0, 2, 2)


call dofont(b,j, st10, st10end, 100, 1, 2)

call dofont(b,j, st11, st11end, 100, 2, 2)


call dofont(b,j, 0x52d0, 0x56b0, 200, 1, 1)

call dofont(b,j, 0x4b80, 0x5140, 300, 1, 1)


call dofont(b,j, 0x5925, 0x5f00, 400, 1, 1)

end if


if j % 512 = 0 then print j+" "+tohex(j)

next j


subroutine dofont(b, pos, st0, en0, vertoffset, intergroup, intergap)

#print string(b)+" "+string(pos)

if pos >= st0 and pos < en0 then

xpos = (pos - st0) % 512

ypos = (pos - st0) \ 512 * 25 + intergroup - 1 + vertoffset

call drawhead(xpos, ypos, b, intergap)

end if

end subroutine


subroutine drawhead(xpos,ypos,b,interleave)

if b & 128 then

for i = 0 to 6

if b & (2^i) then plot xpos+60 , ypos + (i+2) * interleave

next i

else

for i = 0 to 7

if b & (2^i) then plot xpos+60 , ypos + (i) * interleave

next i

end if

end subroutine



Wednesday, March 20, 2024

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 adapter: regular 640x200 is ugly and dim, looks like macrovision (some kind of automatic gain problem), interlaced 640x400 looks ok but kinda fuzzy, not sharp


A500 NTSC with buffered VGA --> RGBS to YPbPr --> ypbpr cable to VGA --> VGA input: regular 640x200 will not display properly, something is shown but it's like a venetian blind and it's stretched vertically, interlaced 640x400 looks ok but fuzzy as before (You can send YPbPr signals to the VGA port because the monitor supports Sync on Green)


A500 NTSC with buffered VGA --> RGBS to YPbPr -> component input: 640x200 will have the weird venetian blind effect, 640x400 looks beautiful, sharp, deinterlaced properly and nice.


A500 NTSC mono composite out --> Y component input: same as component, only monochrome: 640x200 weird venetian blind, 640x400 is beautiful but monochrome


The U2711 has a composite input (which is missing on the U3011) and you can run the A500 NTSC mono composite out --> composite input and 640x200 and 640x400 both look really nice but monochrome.


It's really a darn shame that monitor manufacturers don't test for 15khz signals because I believe that any modern monitor lcd controller can display 15khz if they want to support it.

Sync on Green and a500 ntsc composite out with a Dell E2414

 So I had a cable that takes VGA and connects the RGB lines to component RCA jack outputs which is supposed to be used for projectors that take YPbPr input using the VGA port.  It's just a passive cable.


Some dell monitors have the option to choose between RGB color and YPbPr, so I hooked the component output from the RGBS to YPbPr adapter to the VGA input of the Dell E2414.

 

A500 NTSC buffered VGA adapter --> RGBS to YPbPr adapter --> component to VGA cable --> Dell E2414 VGA input.

 

It displayed the image just fine, and after I switched the color to YPbPr.


So this got me thinking, isn't the A500 mono composite out basically like the Y channel?

I hooked up the A500 monochrome composite video output to the Y component jack and the Dell E2414 displayed it just fine.  I believe that it's because it supports SOG Sync on Green.


Switching to YPbPr colors makes the screen black and white, and selecting RGB colors makes it green (which makes sense because only the green Y is hooked up).



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

 

 

 

 

Thursday, August 31, 2023

Dell E170Sb 15khz and Amiga 500 NTSC


Found a Dell E170Sb (manufactured March 2012) that would display 15khz Amiga 500 NTSC signals on a buffered VGA adapter.

This LCD monitor has a 4:3 aspect ratio.

 Setting pixel clock to 92 will eliminate all of the banding.





 

edit: I have come across a REV A00 E170Sb that wouldn't display a 15 khz signal, (It was made in 2009), so maybe it's REV A01 that work.

Tuesday, June 6, 2023

15khz Monitors that don't work with Amiga 500 NTSC and buffered VGA adapter

 

=====

Here's a list of monitors that I have found that WILL NOT WORK with a buffered VGA adapter and an Amiga 500 ntsc:
3M DMS 710 Projector (input not supported on a500 ntsc, will work on component with rgbs/vga to ypbpr adapter but picture slightly unstable)
Acer P206HL (doesn't work with 15khz tester)
Acer V226HQL (doesn't work with 15khz tester)
Acer V246HQL (doesn't work with a500 ntsc)
Acer V203HL  (doesn't work with a500 ntsc)
Acer A231H (doesn't work with a500 ntsc)
AOC e2460 (doesn't work with a500 ntsc)
AOC 2036S
(doesn't work with a500 ntsc) 
AOC 416Va (doesn't work with 15khz tester)
Asus VE278H (doesn't work with 15khz tester)
Asus VE247 (doesn't work with 15khz tester)
Asus VW246 (doesn't work with 15khz tester)
Asus VS197 (doesn't work with a500 ntsc) 
Asus VS228 (doesn't work with 15khz tester)
Asus VS238H (doesn't work with 15khz tester)
Asus VS247H-P (doesn't work with 15khz tester) 
Asus VX238H (doesn't work with 15khz tester)
Benq XL2730Z (doesn't work with a500 ntsc, monitor says Cable not connected)
Benq GW2765 (doesn't work with a500 ntsc) 
Dell U2412Mb (doesn't work with a500 ntsc, I have two of these and neither works)
Dell E193FP  (doesn't work with 15khz tester)
Dell E1913c   (doesn't work with 15khz tester)
Dell E2014H  (doesn't work with 15khz tester)
Dell E2020H (doesn't work with 15khz tester)
Dell E2011H (doesn't work with 15khz tester)
Dell E2210 (doesn't work with 15khz tester)
Dell E2216HV (doesn't work with 15khz tester) 
Dell E2211Hc (doesn't work with 15khz tester) 
Dell E2213c (doesn't work with a500 ntsc, note that the E2213Hb does work)
Dell P2213f (doesn't work with a500 ntsc)
Dell E2715 (doesn't work with 15khz tester)
Dell E2318H (doesn't work with 15khz tester)
Dell 1907FPt (doesn't work with a500 ntsc)
Dell 1908FP (doesn't work with 15khz tester) 
Dell P1913S (doesn't work with 15khz tester) 
Dell P1914S (doesn't work with 15khz tester) 
Dell P2014H  (doesn't work with 15khz tester) 
Dell P2211Ht  (doesn't work with 15khz tester)  
Dell P2311H (doesn't work with a500 ntsc) 
Dell P2312Ht  (doesn't work with 15khz tester) 
Dell P2319  (doesn't work with a500 ntsc) 
Dell P2217H (doesn't work with a500 ntsc) 
Dell P2317H (doesn't work with 15khz tester) 
Dell P2418Ht (doesn't work with a500 ntsc) 
Dell P2419H (doesn't work with 15khz tester) 
Dell P2411Hb (doesn't work with 15khz tester) 
Dell 2407FP (doesn't work with a500 ntsc on VGA input, component video supports Amiga 500 ntsc with RGBS/VGA to YPbPr adapter)
Dell 2408FP (doesn't work with a500 ntsc on VGA input, component video supports Amiga 500 ntsc with RGBS/VGA to YPbPr adapter)
Dell S2240M (will work with a500 interlace but not normal non interlace 15khz)
Dell 2007FP (VGA Amiga 15khz unsupported, but has a composite input that will 
display a500 monochrome composite video out)
Dell SE2417HG   (doesn't work with 15khz tester)
Dell SE2419HX   (doesn't work with 15khz tester)
Dell SE2422HX SE2422Hb   (doesn't work with 15khz tester)
Dell SP2208WPf  (doesn't work with 15khz tester)
Dell P2213 (only interlace mode works and jittery, non interlace not supported) 
Dell E1909W (doesn't work with a500 ntsc)
Dell U3011 (non interlace looks very dark, like macrovision. However, it will display interlaced fine, but image is soft. It detects non-interlace NTSC as 720x288@60 and displays garbage at the bottom. If you set the colors to YPbPr you can actually see the screen but the colors are all wrong. It detects interlace as 480i. The same pattern is repeated on the Component input: dark colors on non-interlace but interlace is fine but soft.)
Dell U2713Hm (doesn't work with 15khz tester) 
Dell IN2010 (doesn't work with 15khz tester)
Eizo Flexscan EV2456 (doesn't work with a500 ntsc) 
Gateway FPD2185W (get a decent a500 screen display with VGA but colors are completely wrong) 
Hanns-G HH241 (doesn't work with a500 ntsc)
HP EliteDisplay E221 (doesn't work with 15khz tester)
HP EliteDisplay E231 (doesn't work with 15khz tester) 
HP w2207 (doesn't work with 15khz tester)
HP w2071d (doesn't work with a500 ntsc)
HP V21 (doesn't work with a500 ntsc) 
HP V222vb (will show the 15.7 khz screen, with an overlay that says out of range and the screen will shut off in 30s, pressing the button gives another 30s)
HP VH240a (doesn't work with 15khz tester)
HP 2509m (doesn't work with a500 ntsc)
HP LP2465 (doesn't work with a500 ntsc)
HP w2408 (doesn't work with a500 ntsc on vga input)
LG E2241V-BN (doesn't work with a500 ntsc)
LG Flatron IPS234W (doesn't work with 15khz tester) 
NEC Multisync LCD1850E (doesn't work with a500 ntsc)  
Samsung S22E450D (doesn't work with 15khz tester) 
Samsung S24E450D (doesn't work with a500 ntsc)
Samsung S27E450D (doesn't work with a500 ntsc)
Samsung C27F391FHN (doesn't work with a500 ntsc)
Samsung E1920X (doesn't work with a500 ntsc)
Samsung 173T (doesn't work with a500 ntsc)
Samsung Syncmaster 2253LW (doesn't work with 15khz tester)
Viewsonic VA2012 (doesn't work with 15khz tester)
Viewsonic VA2246M-LED (doesn't work with 15khz tester)
Viewsonie VA2446M-LED (doesn't work with 15khz tester) 
Viewsonic VA2248M-LED (doesn't work with 15khz tester)
Viewsonic VA2448M-LED (doesn't work with 15khz tester)
Viewsonic VX2250 (doesn't work with 15khz tester)
Viewsonic VX2433 (doesn't work with 15khz tester)
Viewsonic VX2450WM-LED  (doesn't work with 15khz tester)
Viewsonic PJ503D Projector (will display 15khz non interlaced Amiga but clips off right 15% of screen with no way to adjust, interlace displays scrambled, will display a500 composite video with no issues) 
 
I'll update this page as I find my various notes and test different monitors.
 

Tuesday, May 2, 2023

Lenovo LT2252p wide and Amiga 500 NTSC VGA

 I got a Lenovo LT2252p wide and tried it with an Amiga 500 NTSC with a buffered VGA adapter.  It looks great in 640x200 and displays 640x400 interlace fine with some jitter.


However, it has a strange behavior when switching back from interlace workbench 640x400 to non-interlace 640x200.  The screen display goes black and won't come back on.  The monitor's on, with the green power LED, just no screen display.

Turning the monitor on and off with the power button doesn't bring the screen back.  

Unplugging/replugging the VGA doesn't bring the screen back.  

Unplugging/replugging the power doesn't bring the screen back.


What did bring the screen back?  resetting the amiga with ctrl+Amiga+Amiga or launching DeluxePaint3 and using dpaint3 to switch modes.  

Oddly, once you've got a dpaint non-interlace screen paired with an interlaced workbench, there's no problem switching screens.


Other than that bizarre blank screen behavior, it works fine.  Go figure.


Imagewriter II font

I thought I'd write a little basic256 program to display the Imagewriter II rom, and it's very easy to see the font data. It uses a ...