Poll

Do you want to buy Richard42's 80-column VGA-display converter solution?

No
4 (8.2%)
I want one
33 (67.3%)
I want two
7 (14.3%)
I want more than two
5 (10.2%)

Total Members Voted: 46

Author Topic: C128 80-column display on modern devices  (Read 22924 times)

0 Members and 1 Guest are viewing this topic.

Offline Hydrophilic

  • 128D user
  • *******
  • Posts: 1214
  • Age: 41
  • Location: Earth... still!
  • Activity:
    0%
  • Reputation: 232
  • Gender: Male
  • With us since: 25/01/2007
    YearsYearsYearsYearsYearsYears
    • View Profile
    • H2Obsesson
Re: C128 80-column display on modern devices
« Reply #50 on: July 21, 2011, 09:19 PM »
Thanks for your report, Richard42.  I'm a bit confused as to what the registers are doing at the moment (unable to test), so I hope Tokra has an idea.
 
Thanks for sharing your schematics.  I think you might be able to fix the yellow bleading if you insert a dummy gate between the R/G AND gate and the Brown AND gate.  You could use a line driver or an AND gate with one input tied to Vcc.  The idea, of course, is to insert a propogation delay so that the R/G inputs and the B/I inputs all arive at the final Brown gate at the same time.  Maybe you've already tried that.
 
It's been a while since I calculated the output impedance of anything, but shouldn't the outputs be connected between the op-amp and the final resistor?  Bad ASCII art example:

   | \
---|+ \
   |   >---+---O output
---|- /    |
   | /     <
           <
           |
           V

 
In your v2 circuit, I can follow your logic where you get Brown.  But in your V3 circuit, you lost me on the /Brown :/  Looking at that and thinking about it doesn't help me, so let me try boolean algebra (correct me if I'm wrong) :
/Brown = not(R * not(B + I + not G))
Brown = R * not(B + I + not G)
Brown = R * not B * not I * G
Brown = R * G * not B * not I
Okay, now I get it!  Nice use of 7427.  You might have color bleading with that circuit too unless you stick a dummy gate (or two) on the R line (assume that is the problem with V2)...
 
Could you explain the intensity boost?  It seems like it would be active for every color except Black and D.Gray...
I'm kupo for kupo nuts!

Offline Richard42

  • KIM-1 user
  • **
  • Posts: 48
  • Location: Los Angeles
  • Activity:
    0%
  • Country: us
  • Reputation: 5
  • Gender: Male
  • With us since: 07/07/2011
    YearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #51 on: July 22, 2011, 07:42 AM »
Thanks for sharing your schematics.  I think you might be able to fix the yellow bleading if you insert a dummy gate between the R/G AND gate and the Brown AND gate.  You could use a line driver or an AND gate with one input tied to Vcc.  The idea, of course, is to insert a propogation delay so that the R/G inputs and the B/I inputs all arive at the final Brown gate at the same time.  Maybe you've already tried that.

I've thought about doing something like that but haven't really tried to tackle the problem yet.  My first guess is that it's due to the mosfet switching time, not the logic gates, because when I looked at the output G line and the mosfet gate voltage on the scope, it seemed that the G line was going high after the gate voltage had already risen.  I'll have to play around with it a bit to find a solution.

It's been a while since I calculated the output impedance of anything, but shouldn't the outputs be connected between the op-amp and the final resistor?  Bad ASCII art example:

I think you're right about that.  I previously thought the resistor should be in series but your circuit makes more sense.  I looked at some schematics for an 'open source' VGA card, and it also has the 75 ohm output resistors tied to ground.  I remember going through the equations for impedance matching and transmission lines in college, but it's been a long time since then.

Okay, now I get it!  Nice use of 7427.  You might have color bleading with that circuit too unless you stick a dummy gate (or two) on the R line (assume that is the problem with V2)...

Yeah I was trying to keep the part count down to only 2 logic chips, and I came up with that 3-input NOR thing.
 
Could you explain the intensity boost?  It seems like it would be active for every color except Black and D.Gray...

That is correct.  When I look at the 1902 picture that Tokra attached, the 'dark' blue/green/red colors are much brighter than they are with my setup.  There's no way those are just pure R/G/B, they also have to be mixing in some of the other channels to bring up the brightness.  So this was my idea - add in 25% or 30% grey whenever any of the RGB lines are active.

I'm going to India on Saturday, so I'll be out of the loop for the next 2 weeks.  I'll pick it back up again when I get back.

Offline tokra

  • VIC 20 user
  • ****
  • Posts: 122
  • Age: 40
  • Location: near Bremen
  • Activity:
    0%
  • Country: de
  • Reputation: 10
  • Gender: Male
  • With us since: 02/07/2010
    YearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #52 on: July 22, 2011, 08:51 AM »
Thanks again for checking the register-settings. I'm still puzzled as to the changes the settings in register 4 and 6 produce. But at least you proved that register 3 needs to be increased to 137 (from 73) to make the VSync-period match the non-interlaced and this should enhance compatibility.

I'm in the process of updating my IHFLI-mode (640x480 interlace) with the results of the recent findings. I'll add setting register 3 to 137, setting register 0 to 126 (for european C128D-CRs) and making register 7 (vertical position) shift-able by cursor-keys. I've noticed that some devices  - like my VGA-converter and the picture of MIRKOSOFT show the picture shifted to the bottom to much. This can then be adjusted easily (I will probably save this setting to a SEQ-file). All these enhancements will increase compatibility.

I have to go the other way as well and change registers 4 and 6 to 132. I realize that this will shift the vertical frequency away from 60Hz even more (to 59.1Hz), but I've noticed that the last line has colour bleeding into the picture and even worse "bending up" halfway into the line. This effect can best be seen here: http://www.tokra.de/c128/vdc-ihfli/IMG_3376.JPG - Take a look at the lower left of the picture. There you can see the error. Only way to fix this is to increase vertical resolution by 4 more rasterlines and "blacking" out the lines that would cause these errors. This also eradicates the anomaly that the first and last line had their own attribute-RAM-line, while all others attribute-RAM-lines were 2-lines high. This way the picture is 640x480 and attributes are 80x240, just like you'd expect.


Regarding the VGA-converter you guys are loosing me at this point, since it's getting too technical :-) I would certainly like to test the device with my GBS-8220 and CM-397 and will gladly pay for shipping/parts/work in gettting this assembled.

Offline rbm

  • KIM-1 user
  • **
  • Posts: 20
  • Activity:
    0%
  • Reputation: 3
  • With us since: 20/07/2011
    YearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #53 on: July 24, 2011, 01:06 AM »
Anyone tried this method ?

http://www.retrocommodore.com/basic8english.html

Seems to be easy, but it´s hard to believe that it works.

frank128

  • Guest
GBS-8220 do not work for PAL C128 owners?
« Reply #54 on: July 25, 2011, 02:26 AM »
Regarding the VGA-converter you guys are loosing me at this point, since it's getting too technical :-) I would certainly like to test the device with my GBS-8220 and CM-397 and will gladly pay for shipping/parts/work in gettting this assembled.

The same on my side. This discussion confuses me. Does the statements below means that GBS-8220 do not work for PAL C128 owners in general? And the image Quality of the Ambery AV-1 is below GBS-8220?

You're correct; the GBS-8220 is no good for PAL C128 owners.

Great work! You can also set the VDC chip to PAL-mode by software to see if 50Hz works - it's a very flexible chip. Just type:

sys dec("cdcc"),127,0
sys dec("cdcc"),38,4
sys dec("cdcc"),32,7

Tokra, thanks for the info.  I tried that last night, and my GBS-8220 couldn't handle it.  I could see on my scope that the sync frequency was down to 50hz, and the composite sync signal still looked good, but the GBS-8220 said "No Signal".

I also got another Ambery AV-1 yesterday, and it works perfectly with my Amiga, in 50hz and 60hz modes.  It can handle interlaced and non-interlaced modes too.  My old one is definitely dead.  The image quality of the GBS-8220 is better than the AV-1.
« Last Edit: July 25, 2011, 02:29 AM by frank128 »

Offline Hydrophilic

  • 128D user
  • *******
  • Posts: 1214
  • Age: 41
  • Location: Earth... still!
  • Activity:
    0%
  • Reputation: 232
  • Gender: Male
  • With us since: 25/01/2007
    YearsYearsYearsYearsYearsYears
    • View Profile
    • H2Obsesson
Re: C128 80-column display on modern devices
« Reply #55 on: July 25, 2011, 07:28 PM »
It's getting confusing for me too.  I did manage to fix my TV and unpacked my Commodore equipment.  Once I get it hooked up again, I'll be able to run some tests to be more helpful.  Since I don't have PAL system or any SCART devices, I won't be able to help PAL users as much as I would like.
 
But here is my understanding so far...
 
  • GBS-8220 works fine for NTSC but not PAL
  • AVR-1 works for both PAL and NTSC, but image quality is reported to be less than GBS-8220
  • CM-397 = AVR-1
  • V3.1 RGB Adapter advertised to work for NTSC and PAL (confirmed by member to work, but not sure if PAL or NTSC)
  • A-22 works for NTSC (personally tested 2), unknown PAL (it does have PAL/NTSC switch)
And if I understand Tokra correctly, the NTSC mode works fine for 1901 monitor (even though it was designed for PAL), and his software was a little off from NTSC specs (but should be corrected soon).  Of course this thread is about modern devices, so the 1901 is only for reference and not strictly relevent.
 
Anyway, I hope Richard42 has a safe trip.
I'm kupo for kupo nuts!

Offline tokra

  • VIC 20 user
  • ****
  • Posts: 122
  • Age: 40
  • Location: near Bremen
  • Activity:
    0%
  • Country: de
  • Reputation: 10
  • Gender: Male
  • With us since: 02/07/2010
    YearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #56 on: July 25, 2011, 09:04 PM »
But here is my understanding so far...

GBS-8220 works fine for NTSC but not PAL
Which makes it rather useless for PAL-countries. Unless you want to set your VDC to NTSC-mode on Boot-Up...
Quote
CM-397=AVR-1 works for both PAL and NTSC, but image quality is reported to be less than GBS-8220
Will check the quality myself. I have a friend wire up Hydrophilics "Pull Both V2"-solution together with the voltage reduction from 5V to 2V on sync.
Quote
V3.1 RGB Adapter advertised to work for NTSC and PAL (confirmed by member to work, but not sure if PAL or NTSC)
But only composite-video - won't probably look too good.
Quote
And if I understand Tokra correctly, the NTSC mode works fine for 1901 monitor (even though it was designed for PAL)
The 80-column mode isn't really "designed" for anything. It can display a lot of frequencies adjustable by the Vertical-Hold knob. Only the 40-column mode is designed for PAL.
Quote
his software was a little off from NTSC specs (but should be corrected soon).
In fact I will even divert a little MORE from NTSC in the next version, because only then 640x480 will look nice. If I stick to NTSC 60 Hz it would be more like 640x472...
Quote
Of course this thread is about modern devices, so the 1901 is only for reference and not strictly relevent.
It's relevant to check how good the converters are. Since the 1901 and 1902 were the monitors originally assigned by Commodore to the C128, any other device has to measure up to those two.

frank128

  • Guest
Re: C128 80-column display on modern devices
« Reply #57 on: July 27, 2011, 09:43 AM »
  • GBS-8220 works fine for NTSC but not PAL
  • AVR-1 works for both PAL and NTSC, but image quality is reported to be less than GBS-8220
  • CM-397 = AVR-1
  • V3.1 RGB Adapter advertised to work for NTSC and PAL (confirmed by member to work, but not sure if PAL or NTSC)
  • A-22 works for NTSC (personally tested 2), unknown PAL (it does have PAL/NTSC switch)

Thanks for this clear summary :)

Offline RCtech

  • VIC 20 user
  • ****
  • Posts: 101
  • Age: 37
  • Activity:
    5.6%
  • Country: de
  • Reputation: 2
  • With us since: 26/03/2008
    YearsYearsYearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #58 on: July 31, 2011, 08:51 AM »
Is it a problem of the Gonbes 8220 or the monitor? Consumer TFT's are mostly beginning at 56 Hz, so a PAL display isn't possible. I have some professional TFT monitors (Eizo Flexscan L997, Eizo Flexscan L685, HP L2035) which could display a analog VGA signal from 48-50 Hz. If I connect my Amiga 4000T to it, I could display PAL modes using the Cybervision 64/3D-Scandoubler, if I connect it to my consumer monitors (Syncmaster 204B) it won't work.

Information: The HP L2035 is a geat monitor, ideal for retro computing. It has DVI-I, VGA, S-Video and CVBS-Video including PIP function. It allows to use the digital and analog video signal of the DVI-I input seperately using a splitter, so this thing has 5 video inputs! The Video and S-Video inputs have a good quality, better than external Video->VGA converters. But because this thing is 20", every VIC pixel is a huge block ;-)

frank128

  • Guest
Re: C128 80-column display on modern devices
« Reply #59 on: July 31, 2011, 11:44 AM »
Great work! You can also set the VDC chip to PAL-mode by software to see if 50Hz works - it's a very flexible chip. Just type:

sys dec("cdcc"),127,0
sys dec("cdcc"),38,4
sys dec("cdcc"),32,7

What values do I have to set on a PAL system to get the NTSC-mode?

Quote
Unless you want to set your VDC to NTSC-mode on Boot-Up...

Why not?

Offline tokra

  • VIC 20 user
  • ****
  • Posts: 122
  • Age: 40
  • Location: near Bremen
  • Activity:
    0%
  • Country: de
  • Reputation: 10
  • Gender: Male
  • With us since: 02/07/2010
    YearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #60 on: July 31, 2011, 07:34 PM »
Quote from: Naquaada
Is it a problem of the Gonbes 8220 or the monitor?
If I understand Richard42's posts correctly, the problem is that the GBS-8220 doesn't handle 50 Hz correctly. It is unclear whether it always will put out 60 Hz or just let the vertical sync through "as is" and it is the monitor not being able to handle the 50 Hz. The end-result is the same, however. Being able to use a standard TFT-monitor is usually what getting a converter like this is for, and if it will only handle 60 Hz, it is pretty much useless outside 60 Hz-countries.

The CM-397 I use right now has no problem upconverting the 50 Hz-PAL to 60 Hz-output, but it's about twice as expensive. Maybe with good reason.

What values do I have to set on a PAL system to get the NTSC-mode?

sys dec("cdcc"),126,0
sys dec("cdcc"),32,4
sys dec("cdcc"),29,7

Quote from: tokra
Unless you want to set your VDC to NTSC-mode on Boot-Up...
Quote from: frank128
Why not?
Because the new register settings would be software only and only keep active until RUN STOP/RESTORE is pressed. The KERNAL itself will still set it to the PAL-values whenever the VDC resets.

Offline RCtech

  • VIC 20 user
  • ****
  • Posts: 101
  • Age: 37
  • Activity:
    5.6%
  • Country: de
  • Reputation: 2
  • With us since: 26/03/2008
    YearsYearsYearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #61 on: August 01, 2011, 09:36 AM »
I found a hardware conversion from 50 to 60 Hz, could it be useful? But it changes only a freuqency, it's not specially designed for video use.

50/60Hz Frequency Conversion with PIC

How is the video conversion made on the Indivision Scandoubler for the Amiga, it also displays 60 Hz in PAL modes. The Chameleon 64 also has an VGA output of 60 Hz, so it must be possible somehow.

Offline RCtech

  • VIC 20 user
  • ****
  • Posts: 101
  • Age: 37
  • Activity:
    5.6%
  • Country: de
  • Reputation: 2
  • With us since: 26/03/2008
    YearsYearsYearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #62 on: August 03, 2011, 02:50 AM »
@ Richard42:

Which values for the resistors you have used? There are only 75 Ohm resistors marked, but no others.

Offline Richard42

  • KIM-1 user
  • **
  • Posts: 48
  • Location: Los Angeles
  • Activity:
    0%
  • Country: us
  • Reputation: 5
  • Gender: Male
  • With us since: 07/07/2011
    YearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #63 on: August 24, 2011, 01:30 AM »
Hello again.  I came back from India and built up the V3 circuit.  The colors look promising, but there is a problem with the sync signal.  For some reason the picture from the GBS-8220 jumps all over the screen and loses sync every few seconds.  The CSYNC signal output from the circuit looks good on my scope, so I'm not sure what is causing this problem.  There is a bit of noise during the pixel readout time but it doesn't seem to be bad; maybe +- 0.2v on the 2v P-P sync signal.

My only theory is that the faster chips that I'm using now (ACT and F series instead of HCT and LS) pull more current when switching and this causes more noise which gets onto that CSYNC output and screws up the GBS-8220.  I've started putting capacitors all over the place but it hasn't fixed it.  My next plan is to break out the sync signal circuitry onto a different breadboard and hope that this extra isolation solves it.  I'll post pictures once I get it working and tweak the colors.

Offline Richard42

  • KIM-1 user
  • **
  • Posts: 48
  • Location: Los Angeles
  • Activity:
    0%
  • Country: us
  • Reputation: 5
  • Gender: Male
  • With us since: 07/07/2011
    YearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #64 on: August 28, 2011, 01:30 PM »
The noise problem went away and now I get a good solid picture.  I spent a little bit of time tweaking the resistors and got the following image.  What do you think?  Time to lay out the board?

Offline RobertB

  • Forum god
  • ********
  • Posts: 2874
  • Location: Visalia, California
  • Activity:
    3.4%
  • Country: us
  • Reputation: 451
  • With us since: 05/06/2006
    YearsYearsYearsYearsYearsYearsYears
    • View Profile
    • Fresno Commodore User Group
Re: C128 80-column display on modern devices
« Reply #65 on: August 28, 2011, 03:28 PM »
     Looks good to me!

          Truly,
          Robert Bernardo
          Fresno Commodore User Group
          http://videocam.net.au/fcug

Offline dabone

  • KIM-1 user
  • **
  • Posts: 49
  • Activity:
    0%
  • Reputation: 2
  • With us since: 21/01/2009
    YearsYearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #66 on: August 31, 2011, 02:36 AM »
Quote
The noise problem went away and now I get a good solid picture.  I spent a little bit of time tweaking the resistors and got the following image.  What do you think?  Time to lay out the board?


YES!.
 
later,
dabone

Offline Richard42

  • KIM-1 user
  • **
  • Posts: 48
  • Location: Los Angeles
  • Activity:
    0%
  • Country: us
  • Reputation: 5
  • Gender: Male
  • With us since: 07/07/2011
    YearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #67 on: September 01, 2011, 01:23 PM »
Okay, I tweaked the colors a bit more until I was happy with them, then I measured all of the resistor values.  I ordered parts for 15 units today, though I still need to design and fab the circuit board.  I hope I can sell all of these :)

Offline RobertB

  • Forum god
  • ********
  • Posts: 2874
  • Location: Visalia, California
  • Activity:
    3.4%
  • Country: us
  • Reputation: 451
  • With us since: 05/06/2006
    YearsYearsYearsYearsYearsYearsYears
    • View Profile
    • Fresno Commodore User Group
Re: C128 80-column display on modern devices
« Reply #68 on: September 01, 2011, 04:04 PM »
I ordered parts for 15 units today, though I still need to design and fab the circuit board.  I hope I can sell all of these
     Ohhhhh, a run of just 15 units.  Rarity value! 

          Truly,
          Robert Bernardo
          Fresno Commodore User Group
          http://videocam.net.au/fcug
« Last Edit: September 01, 2011, 04:06 PM by RobertB »

Offline dabone

  • KIM-1 user
  • **
  • Posts: 49
  • Activity:
    0%
  • Reputation: 2
  • With us since: 21/01/2009
    YearsYearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #69 on: September 01, 2011, 07:34 PM »
I'm in for 2!
 
Where do I paypal?
 
Later,
dabone

Offline Richard42

  • KIM-1 user
  • **
  • Posts: 48
  • Location: Los Angeles
  • Activity:
    0%
  • Country: us
  • Reputation: 5
  • Gender: Male
  • With us since: 07/07/2011
    YearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #70 on: September 02, 2011, 02:33 AM »
I'll post info on how to order once everything is ready.  It will probably be 4-6 weeks before the boards are fabbed and I can build one up to test it out.  My plan is to use a DB-9 male connector on one end of the board, so that it can be connected to the C128 with a simple DB9 serial extension cable, or even plugged straight into the C128.  There will be empty holes on the board where you'll be able to solder in wires for whatever cable you need to hook it up to your arcade CGA->VGA converter.

I'm thinking of offering 3 different options for the board:
1. Kit: bare PCB plus parts.  Cost: my parts cost + $5 + shipping
2. Board: populated and tested PCB.  Cost: my parts cost + $20 + shipping
3. System: populated and tested PCB, with soldered cables for GBS-8220, plus GBS-8220, plus power supply.  Everything you need except VGA and DB9 cables. Cost: my parts cost + $25 + shipping

Offline Hydrophilic

  • 128D user
  • *******
  • Posts: 1214
  • Age: 41
  • Location: Earth... still!
  • Activity:
    0%
  • Reputation: 232
  • Gender: Male
  • With us since: 25/01/2007
    YearsYearsYearsYearsYearsYears
    • View Profile
    • H2Obsesson
Re: C128 80-column display on modern devices
« Reply #71 on: September 02, 2011, 03:17 PM »
That's great you're offering so many options.  And your brown in the photo looks better than the dark yellow I have with my simple circuit.  So did you build yours with multiple op amps like you originally planned?
I'm kupo for kupo nuts!

Offline Richard42

  • KIM-1 user
  • **
  • Posts: 48
  • Location: Los Angeles
  • Activity:
    0%
  • Country: us
  • Reputation: 5
  • Gender: Male
  • With us since: 07/07/2011
    YearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #72 on: September 03, 2011, 12:18 AM »
Yes, the brown looks really brown.  I think it looks even better than the pictures of the 1902, in which the brown looks orange to me.  I'm quite happy with the final colors that I got.  The design is exactly as in the hand-drawn schematics that I posted earlier, except the output 75 ohm resistors are connected to ground instead of being in series with the outputs.  I can re-scan and post those schematics again if anyone's interested; I have resistor values now.  I used a sweet video op-amp called the AD8044.  I got some samples from Analog Devices and they work great; these are the most expensive component in the design.

I love Cadsoft Eagle.  I haven't used it since 2005, but last night I got the whole schematic capture and board layout done.  I'm going to tweak it some more, but the first draft is finished.  The board size will be about 1.25" by 3.75".

Offline tokra

  • VIC 20 user
  • ****
  • Posts: 122
  • Age: 40
  • Location: near Bremen
  • Activity:
    0%
  • Country: de
  • Reputation: 10
  • Gender: Male
  • With us since: 02/07/2010
    YearsYearsYears
    • View Profile
Re: C128 80-column display on modern devices
« Reply #73 on: September 03, 2011, 02:16 AM »
Sounds fantastic! Although I'm in a PAL-country I'd still like to order one. I have a GBS-8220 and power supply for it already. Is soldering cables to the GBS-8220 necessary? Or is an option possible that can just connect to an existing device that already has a power supply? Most PAL-countries have 230V instead of 110V and need different power supplies. Does your extra PCB need power as well or is it a "passive" circuit? I somehow lost track of that.

Offline airship

  • 128D user
  • *******
  • Posts: 1605
  • Age: 61
  • Location: Iowa, USA
  • Activity:
    0%
  • Country: us
  • Reputation: 113
  • Gender: Male
  • Former Editor, INFO Magazine
  • With us since: 28/07/2007
    YearsYearsYearsYearsYearsYears
    • View Profile
    • Atomic Airship
Re: C128 80-column display on modern devices
« Reply #74 on: September 03, 2011, 08:19 AM »
Put me down for one complete assembled system. I will PayPal NOW if you give me your Paypal Email! :)
Serving up content-free posts on the Interwebs since 1983.
History of INFO Magazine

 



Back to top