this is about Fotios' hack, where he used one of these
CGA-to-RGB converter boards (WEI-YA ACV-011) and hacked
it a bit to also accept the Intensity signal from a C128.
References are:
[ 1] http://groups.google.de/group/comp.sys.cbm/msg/68460b84a2235969
[ 2] http://groups.google.de/group/comp.sys.cbm/msg/4b85aac68ba2430d
[ 3]
http://landover.no-ip.com/forums/index.php?PHPSESSID=ia67jh0h7to8d3b2vinhq308q0&topic=453.msg2259#msg2259
[ 4]
http://landover.no-ip.com/forums/index.php?PHPSESSID=ia67jh0h7to8d3b2vinhq308q0&topic=2209.0
Well, Fotios surely based his work on other relating
documents laying around at Zimmers (Funet) and other
CBM archives:
[ 5]
http://www.zimmers.net/anonftp/pub/cbm/documents/cables/128-videocable.txt
[ 6] http://www.softwolves.pp.se/cbm/maskinvara/scart
[ 7] http://www.hardwarebook.info/C128_RGBI
[ 8] http://en.wikipedia.org/wiki/Color_Graphics_Adapter
[ 9] http://nemesis.lonestar.org/reference/video/cga.html
[10] http://www.oldskool.org/pc/cgacal
There are two things with his work that I did not like
much:
a) You had to solder wires directly to the board
b) To give a correct brown color, the IBM CGA palette
fix needs to be applied
So I started hacking around myself. I got a WEI-YA ACV-011
CGA-VGA board from a polish reseller. I got a power supply
with 12V for the converter board and 5V for my own
circuits. First I looked out to verify Fotios' results on
a simple hack without applying the Intensity signal. This
worked fine, but I only had 8 colors [11].
Another drawback is that you desperately need a LCD/TFT
monitor that accepts a refresh rate of only 50Hz. My main
monitor does not want to accepts the signal from the
ACV-011, I had to use a TV-LCD. That one is a bit too
small (640x480) to show the 80 column mode with good
quality. Well, it seems I have to buy a cheap 800x600
monitor.
I started with buffering the incoming signals with a
74LS244, this is a bus driver IC with integrated Schmitt
triggers, just the same IC that is used in the C128 as
output driver. Each signal, R, G, B, I, V and H is
buffered by one of the drivers and I could work with the
refreshed signals from the output stages. To mix the
analog RGB colors, I used the resistor networks as shown
in [5] or a simplified version of [6]. Since I only had
resistors of 390 Ohms and 820 Ohms I used these instead
of 470 Ohms and 680 Ohms:
______
R/G/B --|______|----+ 390R
|
+------ R/G/B_analog
______ |
I --|______|----+ 820R
For each of the three color components such a resistor
network was build.
Then I went further to do this IBM CGA palette color fix
that turns dark-yellow into brown [8]. I got a 74LS138
binary decoder and watched for the "magic" combination
1,1,0,0 for R,G,B,I. Once this was detected, another
80 Ohms resistor applied to the output channel for Green
was pulled to Low level, otherwise it was switched to
High level. So the overall resistor network for the
Green channel becomes:
______
G (only)--|______|----+ 390R
|
+------ G_analog (only)
______ |
I --|______|----+ 820R
|
______ |
C-Fix --|______|----+ 820R
This then changed the colors into a palette that should
look fine [12]. But there is a slight imbalance with this
design. With the Green channel _two_ 820 Ohms resistors
are pulling to High level most of the time while on the
other two color channels only one resistor pulls to High.
This can be fixed a bit by giving the Green channel a
special adjust on the ACV-011 input stage [14].
See the overall schematics with reference [15].
I already thought about a further improved color fix
circuit which does the fix truly digital and with only
applying 6 resistors instead of the 7 shown above. But
there you would need a programmable logic chip so that
the whole circuit does not become too clumsey.
I like the current solution very much since it just
looks fine and I did not need to solder around directly
on the ACV-011 board. I just need to get a nice case and
a suitable well sized TFT monitor.
Bye, Womo
References:
[11] http://d81.de/shared/C=128-VGA/C128-Palette-wo-Intensity.jpg
[12]
http://d81.de/shared/C=128-VGA/C128-RGBI-Palette-with-CGA-IBM-Colorfix.jpg
[13] http://d81.de/shared/C=128-VGA/CGA-IBM-Colorfix-RGBI-DAC.jpg
[14] http://d81.de/shared/C=128-VGA/ACV-011-Board.jpg
[15] http://d81.de/shared/C=128-VGA/C=128-VGA-IBM-Colorfix.png
Great work!
Many thanks,
Fotios
Wolfgang Moser wrote, On 13/05/2008 12:37 AM:
> Hi Commodore fellows,
>
... snip ...
> Hi Commodore fellows,
Much of your message was snipped as I did not want to full quote.
I will just comment, excellent, very good, first-rate, Grade A, par
excellence. You did a great job!
If I might offer a slight suggestion, put a page on your website with a full
text description of how to build it, and perhaps a parts list. And of course
links to the pictures you placed links to in your post.
Keep up the good hacking! :-)
--
Best regards,
Sam Gillett
Change is inevitable,
except from vending machines!
I'll second, third and fourth that! And, yes, a schematic of your final
circuit would be great to have.
once I thought about it a bit more and did some
calculations regarding the triple resistors network
for green, I think I got a more balanced solution.
> [ 5]
> http://www.zimmers.net/anonftp/pub/cbm/documents/cables/128-videocable.txt
Actually Marko wrote about this circuit in 1993:
[16]
http://groups.google.de/group/comp.sys.cbm/browse_thread/thread/248ade613ebb8cd9/d0284adbe00cc0a6
With the resistor combination of 470 Ohm and 680 Ohm
four different voltages can be created for each analog
R/G/B output signal (assuming that TTL high is 5V):
0V, 2.96V, 2.04V and 5V
With the color fix I propose now to get the resistor
values 560 Ohm, 680 Ohm and 2K Ohm:
560
_____
G -------|_____|---+
|
|
680 |
_____ |
I -------|_____|---+------- G_analog
|
|
2K |
_____ |
C-Fix ---|_____|---+
under normal conditions, when C-Fix is high, it pairs
up with the 560 Ohm resistor which results in 437.5
Ohm.
Normal voltage levels are: 3.04V and 1.96V
When both, G and I are low, the C-Fix signal remains
high. Because the resistance is so high, the resulting
voltage is only at 0.665V.
When the color fix condition is matched, the resulting
voltage is 2.37V instead of 3.04V and this makes
the shift from dark yellow to brown.
Please take note that I did not test these new
(improved?) resistor values. One advantage is that
these value perfectly match the ones references in
Marko's post.
Oh, by the way I updated my schematic a bit and also
made a small DIY layout (one layer and some bridges):
[17] http://d81.de/shared/C=128-VGA/C=128-VGA-IBM-Colorfix-sch.png
[18] http://d81.de/shared/C=128-VGA/C=128-VGA-IBM-Colorfix-brd.png
Happy hacking, Womo
Steven Hirsch schrieb:
> Sam Gillett wrote:
>>
>> I will just comment, excellent, very good, first-rate, Grade A, par
>> excellence. You did a great job!
>>
>> If I might offer a slight suggestion, put a page on your website with
>> a full text description of how to build it, and perhaps a parts list.
>> And of course links to the pictures you placed links to in your post.
>>
>> Keep up the good hacking! :-)
>
> I'll second, third and fourth that! And, yes, a schematic of your final
> circuit would be great to have.
thanks for all your plaudit. I did not set up
a fully featured web page (yet ?), because my
time constrains for the weekend were reached
and other projects also needed a bit attention.
Steven, the circuit in general will not change
anymore, but each of you may want to try out
other resistor combinations. I already made a
proposition in another follow-up. I ask for
each of you owning some old C128 and a CBM
monitor to compare colors generated with this
hack against the colors from your old machine
setup. It's a matter of effort to find really
good resistor combinations.
On the other hand I suspect the ACV-011 board
to already do some color matching for well
known CGA colors so the influence on changing
resistors is low. I'm not sure.
Womo
Sorry for not being clear: It would be hard to try the resistors without
knowing the specifics of how the buffers and 74LS decoder were wired. If that
information was in your post, it must have gone right by me.
I'm planning to build your circuit as a front end to my Highway Electronics
Model 100 RGB-->VGA converter.
Steve
Nevermind... I'm an idiot. Missed the links at the bottom of the first
posting. What would be required to convert the separated sync to composite
sync?
Steven Hirsch schrieb:
> Nevermind... I'm an idiot. Missed the links at the bottom of the first
> posting. What would be required to convert the separated sync to
> composite sync?
I don't know what Composite Sync is, so I cannot
tell how it could be constructed. Hmm, I'm just
checking out that Highway 100 model you probably
mentioned:
http://www.highway.net.au/parts/converters/4040_1.html
They are telling about a SCART input. If you follow
reference [5] to Marko Mäkeläs translated and
improved article from C=Lehti 2/89, then you will
recognize that it is mentioned that SCART does not
carry HSYNC and VSYNC. Instead the article mentions
the fast blank signal input that needs to be tied
to some positive voltage to enable RGB.
That is all I can tell.
By the way, you recognized that this Highway video
converter does 50Hz-to-60Hz conversion? That way,
scrollers and other smooth effects will start to
jitter when watched with this board.
Womo
CSync is basically HSync*VSync. A more sophisticated version
can be found here:
http://www.tkk.fi/Misc/Electronics/circuits/vga2rgbs.gif
Rainer
Of course "(+)", not "*" -- or "xor" in logical terms.
Rainer
Rainer Buchty schrieb:
nice to see which sort of people are still
reading this group.
This cited more sophisticated version looks
to me, as if there are edges detected and
converted into short pulses first (XOR
gates coupled with resistor and capacitor
on its inputs). Then these pulses are fed
into the combining XOR gate and the result
gets (pre-) inverted and amplified (and
inverted again) after.
For example:
__________ _________
H ____| |_________| |______
_ _ ____ _ __ _ __
V _| |___| |__| |__| |___| |__| |__| |_
CIRCUIT _A_AA__A_A__A____A__A_A___A__A__A_A__A__A_
_ __ __ _ _ __ __
XOR _| || |_| |__| |__| |__||__| |_||_| |_
Do you think that just XOR'ing the two signals
will work, maybe because the monitor input does
its own edge detection?
On the other hand, the XOR combining could be
done first, followed by edge detection what
would save one gate.
Womo
Yay, my research wasn't in vain :-)
This is **excellent** information, thank you! It's exactly what
vintage CGA people like myself have been waiting for.
I see you made it here, Jim! I just received a Wei-Ya ACV-011 board this past
week and plan to build up the RGBI interface over the weekend.
> Oh, by the way I updated my schematic a bit and also
> made a small DIY layout (one layer and some bridges):
I just built up one of your adapters (on a Radio Shack proto-board) and it
seems to work fine. I'm curious if there's a program floating around that
simply displays all the colors on screen for quick test.
Probably simple to write if one knows the machine well, but I'm fairly new to
C128s.
And, for a quick check, you are running with all the DIP switches set OFF on
the ACV-011 board, correct?
Thanks again for your work on the RGBI adapter!
Steve
Steven Hirsch schrieb:
> Wolfgang Moser wrote:
>
>> Oh, by the way I updated my schematic a bit and also
>> made a small DIY layout (one layer and some bridges):
>
> I just built up one of your adapters (on a Radio Shack proto-board) and
> it seems to work fine. I'm curious if there's a program floating around
> that simply displays all the colors on screen for quick test.
I wrote one myself, nothing really complex,
omitting loops and calculations and stuff:
10 print "{rvon}{blk} {orng}{rvof} {rvon} "
15 print "{rvon}{blk} {orng}{rvof} {rvon} "
16 print
20 print "{rvon}{wht} {brn}{rvof} {rvon} "
25 print "{rvon}{wht} {brn}{rvof} {rvon} "
26 print
30 print "{rvon}{red} {lred}{rvof} {rvon} "
35 print "{rvon}{red} {lred}{rvof} {rvon} "
36 print
40 print "{rvon}{cyn} {gry1}{rvof} {rvon} "
45 print "{rvon}{cyn} {gry1}{rvof} {rvon} "
46 print
50 print "{rvon}{pur} {gry2}{rvof} {rvon} "
55 print "{rvon}{pur} {gry2}{rvof} {rvon} "
56 print
60 print "{rvon}{grn} {lgrn}{rvof} {rvon} "
65 print "{rvon}{grn} {lgrn}{rvof} {rvon} "
66 print
70 print "{rvon}{blu} {lblu}{rvof} {rvon} "
75 print "{rvon}{blu} {lblu}{rvof} {rvon} "
76 print
80 print "{rvon}{yel} {gry3}{rvof} {rvon} "
85 print "{rvon}{yel} {gry3}{rvof} {rvon} "
86 print "{home}{blk}"
I converted this with VICE' petcat from a C128
Basic program into type-in text.
> Probably simple to write if one knows the machine well, but I'm fairly
> new to C128s.
>
> And, for a quick check, you are running with all the DIP switches set
> OFF on the ACV-011 board, correct?
No, for the first tests I left all switches
at their default position, which is:
On On
Off Off
1 2 3 4
I systematically tested through all 16
combinations one time and found only two
or three positions that did work well with
the 50Hz VGA monitor that I use. Often the
screen was moved off or did flicker or was
wrong in other meanings.
> Thanks again for your work on the RGBI adapter!
We shouldn't forget that the main work is
done by the ACV-011 board ;-)
Womo
> We shouldn't forget that the main work is
> done by the ACV-011 board ;-)
Do you have a cheap source for the ACV-011, preferably in the EU? I
think you mentioned Poland?
Can't help with an EU source, but for those in the US talk to Happ Controls:
Although not apparently listed in any of their online catalogs, they carry it
as part number 49-2727-00 at $82.40 + shipping.
Nice folks, no hassles dealing with them on onsie-twosies.
Steve
Anssi Saari schrieb:
that's right, I got mine from a Polish eBay seller:
euromatic1 (25)
I recommend to not only use the international eBay
pages, but maybe the polish ones, too (ebay.pl).
This seller seems to offer two of these CGA to VGA
converters at once each time. One for international
customers and another for polish buyers.
I my case shipping was very fast, the whole
transaction lasted 8 days only, including european
bank transfer.
Womo
script:
>www.happcontrols.com
>
>Although not apparently listed in any
>of their online catalogs, they carry it
>as part number 49-2727-00 at $82.40
>+ shipping.
$79 + ship as of today. I should think about getting one,… in case my
CGA monitor gives up the ghost.
salaam,
dowcom
To e-mail me, add the character zero to "dowcom". i.e.:
dowcom(zero)(at)webtv(dot)net.
--
http://community.webtv.net/dowcom/DOWCOMSAMSTRADGUIDE
MSWindows is television,… Linux is radar.