6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Tue Jul 09, 2024 12:08 am

All times are UTC




Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: Tue Jun 04, 2013 12:38 pm 
Offline

Joined: Sat Apr 20, 2013 6:10 pm
Posts: 5
I saw some 65xx-based SBC projects, and some are using the 6545 CRT video controller. This thing seems to be used rather often.

But a possible replacement could be the MOS 8563 Video Display Controller (VDC). It's the one used in the C128 and the B900. The main advantage is that this chip is very easy to get. It runs independendly from the computer with a 16 MHz clock and has its own 64K video memory. The VDC is rather flexible, it has 36 registers with a lot of settings for size, position, synchronization, graphic modes, memory access and whatever. There's something special on this chip: It is indirectly programmed. The registers are not present in memory, the VDC only uses two bytes. In the C128 it is located at $D600 and $D601. To write a register, write the register number in $D600 and the value in $D601. To read a register, set the value in $D600 and read $D601. Without writing a value in $D600, a status byte can be read. This seems rather complicated, but it is a lot possible with this chip. Because it has only two registers and it's own video RAM, it would be possible to create a dual-monitor system with only using 4 bytes in the adress room, and no loss of video memory because the VDC has its own RAM. The video output is RGBI-Digital (16 colors) with TTL level and H/V sync. A monochrome composite signal is also available. In commodore128.org a small board was created to convert the RGBI signal into RGB-Analog, from there it could be convertered to Composite, S-Video or VGA. A monitor capable of displaying 15kHz or a scandoubler is still neccessary, though. Note: There's also a VDC 8568 from the C128DCR (desktop in metal case) with has a different pin layout and one register more. But it is not fully compatible to the 8563 and more difficult to get.

The VDC was intended to make the C128 business-compatible, it was also neccessary for CP/M. It is normally designed to display 80x25 character text mode in 16 colors. Reversed, blinking and underlined charaters are directly supported, the cursor shape can be modified. The VDC uses a character set in its video RAM, it has to be copied to it first. Of course the characters are completely user-definable, they could even be modified if the RAM contens of the charset are changed. If you know the method on Commodore computers two switch between the upper chars/graphics and lower/upper chars character sets by pressing the Commodore and the Shift keys, normally all characters are changed. This doesn't happen on the VDC, it can display both charsets. There are also interlaced text displays with 80x50 or more possible. All 16 colors could be used at the same time. The screen has one color, it also could be used with inverted colors.

Of course the VDC has real graphics modes. Standard is 640x200, but it reaches up to 752x700 interlaced (monochrome). Color is possible, but then the resolution must be lower. It can use all 16 colors with two colors in an 8x8 cell without tricks. The VDC has special block-moving commands as well as hardware-scrolling. Sprites or raster-interrupts like on the VIC-II are not available. With tricky programming, 136-color modes are available, or more complicated VDC-FLI modes with 640x480 pixels interlaced for high color display.

There's no real datasheet available, but there's a lot in the internet or check out the C128's programming guides. For tricks and specialized I can recommend commodore128.org. There's also a big thread about connecting the VDC to modern devices. Here are some additional infos:

Wikipedia: http://en.wikipedia.org/wiki/MOS_Technology_8563

Graphic Booster: http://www.commodore128.org/index.php?topic=3082.0

Two VDC-FLI-Images: http://www.bilder-hochladen.net/files/b ... x-cb70.jpg
http://www.bilder-hochladen.net/files/b ... w-e4a6.jpg

And the VDC-part of the C128-Demo 'Risen from Oblivion': http://www.youtube.com/watch?v=sW4V-ehYFQw


Top
 Profile  
Reply with quote  
PostPosted: Tue Jun 04, 2013 8:58 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8258
Location: Midwestern USA
Dunno that I'd design a new system around a one-of-a-kind video device that hasn't been produced for some 20 years by a defunct company, and has no published data sheet. It is described in the C-128 service manual (attached), but not well enough that I would be confident of making a working display unit from it.

In any case, if one were to use a CSG video controller, the better choice would be the 8568 (page 41 in service manual), despite its relative rarity. The 8568 required less supporting silicon and had an active-low interrupt output (unused in the C-128D) to indicate when it was ready following a write to the control register (at $D600 in the C-128). The interrupt output would facilitate writing a driver that would cause less blocking during display operations.

The reality is that better display options now exist in various forms, which are directly compatible with analog VGA monitors. When I look at the video of the C-128D I have here and compare it to the basic EGA text mode of a PC during POST, I wonder how we managed with that blurry low-res RGBI display. :lol:


Attachments:
File comment: C-128 Service Manual
C128_Service_Manual.pdf [9.56 MiB]
Downloaded 285 times

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!
Top
 Profile  
Reply with quote  
PostPosted: Tue Jun 04, 2013 9:26 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8464
Location: Southern California
You remind me BDD that you and others have brought up various tiny VGA modules available today, and yet although I thought I kept links and bookmarks to those, I can't find them right now. Can you link to some for us. I wonder if they would be a better alternative.

Edit: I found one of them which should be at http://www.4dsystems.com.au/prod.php?id=131 but they have moved it so the link is no longer valid.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Tue Jun 04, 2013 11:28 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8258
Location: Midwestern USA
GARTHWILSON wrote:
You remind me BDD that you and others have brought up various tiny VGA modules available today, and yet although I thought I kept links and bookmarks to those, I can't find them right now. Can you link to some for us. I wonder if they would be a better alternative.

Edit: I found one of them which should be at http://www.4dsystems.com.au/prod.php?id=131 but they have moved it so the link is no longer valid.

Here's the one I'm monkeying with. The one you are looking for has been superseded by this one.


————————————————
Above links are 404.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Last edited by BigDumbDinosaur on Wed Jun 14, 2023 1:14 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 05, 2013 4:03 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8464
Location: Southern California
BigDumbDinosaur wrote:
GARTHWILSON wrote:
You remind me BDD that you and others have brought up various tiny VGA modules available today, and yet although I thought I kept links and bookmarks to those, I can't find them right now. Can you link to some for us. I wonder if they would be a better alternative.

Edit: I found one of them which should be at http://www.4dsystems.com.au/prod.php?id=131 but they have moved it so the link is no longer valid.

Here's the one I'm monkeying with. The one you are looking for has been superseded by this one.

Thanks. I updated the displays page of the 6502 primer. I do have there that the C128 used the 8564, and I do have a few of those here.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 05, 2013 4:41 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8258
Location: Midwestern USA
GARTHWILSON wrote:
Thanks. I updated the displays page of the 6502 primer. I do have there that the C128 used the 8564, and I do have a few of those here.

The 8564 generated the 40 column display. The flat C-128 used the 8563 for the 80 column display, and the C-128D(CR) used the 8568 for 80 columns.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 05, 2013 5:38 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8464
Location: Southern California
Ok, I corrected it again. Wikipedia has an article on the 8563, at http://en.wikipedia.org/wiki/8563 .

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 05, 2013 6:05 pm 
Offline

Joined: Sat Apr 20, 2013 6:10 pm
Posts: 5
@ BDD:

In a forum who a playing guys with a processor created in 1975 then it shouldn't be a problem to post some information about the VDC. If I compare it to the VGA board resolutions (up to 800x600), they're not much better. If a 65535-color graphics card in an homebrew SBC is so useful is another question. Another advantage of the VDC is the fact that it only uses 2 adresses in the memory map, useful for a 6502-system without bankswitching. In comparison the to the VGA adapters it's very cheap, and anybody who can build a SBC is also able to build the RGBI-2-RGB-Analog adapter. A RGB-Analog-2-VGA converter with scandoubler is probably more expensive (about 70-90 Euro) but it can also be used for other projects, because it's an external device. The 8568 is no solution. The features it has more are not too interesting, and they're much more difficult to get. I've got a minimum of 10 spare 8563 at home, but no 8568.

@ GarthWilson:

The 8564 is the NTSC version of the VIC-IIe, the 8566 is the PAL version. The VDC has no special PAL or NTSC version, but the display is still 50 or 60 Hz depending on the power system. This is important because some RGB-2-VGA-Converters are only capable to convert 60 Hz. Consumer TFT monitors also are starting typically at 56-60 Hz, I have business monitors like the HP L2035, Eizo L685 or L997, they are supporting 50 Hz signals.


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 05, 2013 7:16 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8258
Location: Midwestern USA
RCtech wrote:
In a forum who a playing guys with a processor created in 1975 then it shouldn't be a problem to post some information about the VDC.

No one said there was a problem with posting about the VDC, and the age of the 6502's ISA isn't germane. Using that same logic, new PCs should ship with 6845 monochrome video adapters, since the x86 ISA dates to c. 1978, making it nearly as old as the 6502.

Quote:
If I compare it to the VGA board resolutions (up to 800x600), they're not much better.

The maximum bitmap resolution achievable with the VDC comes at the expense of color resolution. So yes, 64K colors at 800 × 600 is better.

Quote:
Another advantage of the VDC is the fact that it only uses 2 adresses in the memory map, useful for a 6502-system without bankswitching.

You're preaching to the choir here—I have a more-than-passing acquaintance with the VDC and its cumbersome programming method, especially its broken block copy/move functions. :D

Quote:
The 8568 is no solution. The features it has more are not too interesting..

I'm surmising from that statement that you don't do a lot of hardware design. Otherwise, you'd be all over the 8568, as it requires no glue logic to interface to its DRAM and has a very useful interrupt output for setting up asynchronous display operations. If I were going to go that route I would not even give the 8563 a second look.

Quote:
...and they're much more difficult to get.

It's all relative. New VDCs haven't been manufactured for nearly a quarter-century. At the time of Commodore's impending liquidation in early 1994 I looked into purchasing some spares and was surprised to learn from Fred Bowen that CSG hadn't produced any since 1990. I'd be amazed to find any 8568s anywhere that are NOS.

In any case, if you are of a bent to create an SBC using a VDC to drive the console display please do so and let us know how it works out and how you rigged up the hardware interface. Also, since RGBI video monitors are pretty scarce these days, you'd need to convert the VDC's digitial output to analog, and then adapt it to VGA, since that's what's readily available to most people. Oh yes, don't forget to allocate memory map space for the de rigueur character generator ROM. Also, don't forget about a driver—writing that will keep you out of mischief for some time to come as you devise workarounds for the several hardware bugs known to exist in the VDC.

Incidentally, I'd be particularly interested to see how your hardware would work with a 65C02/65C816 running at maximum Ø2 rate (20 MHz). I suspect you'd find the timing to be rather...er...interesting. :shock:

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 05, 2013 8:45 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10839
Location: England
GARTHWILSON wrote:
You remind me BDD that you and others have brought up various tiny VGA modules available today, and yet although I thought I kept links and bookmarks to those, I can't find them right now. Can you link to some for us.

I summarised a number of solutions here: viewtopic.php?f=4&t=2384
Cheers
Ed


Top
 Profile  
Reply with quote  
PostPosted: Wed Jun 05, 2013 9:39 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8464
Location: Southern California
Thanks Ed. I had forgotten about that. I'm bookmarking it now.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Sun Jun 09, 2013 2:32 am 
Offline
User avatar

Joined: Sat Sep 29, 2012 10:15 pm
Posts: 899
BigDumbDinosaur wrote:
.
A few years ago I bought this unit, all excited... BUT... The fonts were so outrageously bad I couldn't stand to look at the output, even for a second. I literally unplugged it and threw it into some box, and haven't seen it since. I hope it was thrown away so I won't forget and become tempted to wire it up again. I even wrote to them saying that I could send them a font for free if they would consider changing it, but got some 'thank you for your suggestion' reply.

It looks like the fonts still are bad, if you zoom in on their web page. Now by bad, I mean that someone took an old vga font at 640x480 and scaled it up to 800x600 by copying rows and columns here and there; there are just pixels sticking out in all the wrong places. Not just unreadable, but awful.

I sincerely hope they fixed it, since it looks like it's a new revision. EDIT: no, they didn't:
Image
Look at the 's' - I think the left column is just doubled!

_________________
In theory, there is no difference between theory and practice. In practice, there is. ...Jan van de Snepscheut


Top
 Profile  
Reply with quote  
PostPosted: Sun Jun 09, 2013 1:54 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3366
Location: Ontario, Canada
BigDumbDinosaur wrote:
I'm surmising from that statement that you don't do a lot of hardware design. Otherwise, you'd be all over the 8568, as it requires no glue logic to interface to its DRAM and has a very useful interrupt output for setting up asynchronous display operations. If I were going to go that route I would not even give the 8563 a second look.
Isn't it true that the 8563 and 8568 both feature a glueless DRAM interface?

Quote:
Oh yes, don't forget to allocate memory map space for the de rigueur character generator ROM.
Isn't it also true that the 8563 and 8568 will both require the character generator ROM?

(Or do you mention that as a point in favor of the external video adapters -- which look pretty cool, I'm bound to say.. Especially the one that also includes the interface for SD flash cards).

Thanks for posting that service manual, btw :D

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Sun Jun 09, 2013 5:40 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8258
Location: Midwestern USA
Dr Jefyll wrote:
Isn't it true that the 8563 and 8568 both feature a glueless DRAM interface?

Actually, you're correct. I was thinking of something else (see lower left of page 97 in the C-128 service manual for the C-128DCR's VDC circuitry; the VDC is labelled "568").

Quote:
Isn't it also true that the 8563 and 8568 will both require the character generator ROM?

(Or do you mention that as a point in favor of the external video adapters...

I mentioned the character generator ROM because it can't be forgotten in the overall evaluation of whether or not to use an 8563 or 8568 to generate video. It's more hardware that will take up space (4KB) in the memory map. Incidentally, both forms of the VDC use a line driver on their RGBI outputs, a 74LS244, whose outputs are what the monitor sees. Also required is a 16 MHz clock source. The circuitry that combined the RGBI outputs into a composite signal could, of course, be eliminated. However, after all is said and done, you'd be dependent on a part (the VDC) that has been out of production for some 23 years (good luck tracking down any in the wild) and you'd have a display that is no better than IBM CGA mode.

Quote:
...which look pretty cool, I'm bound to say.. Especially the one that also includes the interface for SD flash cards).

I got one of those devices and ended up setting it aside due to both its cumbersome control scheme and lack of a hardware-generated cursor. The SECONS µVGA adapter is, in my opinion, better suited to SBC use, as it doesn't require a multi-byte sequence just to display a character, plus it follows a subset of ANSI escape sequences for doing things like clearing the screen, addressing the cursor, etc. The hardware interface is straightforward, being a TTL-level TIA-232 hookup. It doesn't do bitmap graphics, however.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Sun Jun 09, 2013 5:44 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8258
Location: Midwestern USA
enso wrote:
BigDumbDinosaur wrote:
.
A few years ago I bought this unit, all excited... BUT... The fonts were so outrageously bad I couldn't stand to look at the output, even for a second. I literally unplugged it and threw it into some box, and haven't seen it since. I hope it was thrown away so I won't forget and become tempted to wire it up again. I even wrote to them saying that I could send them a font for free if they would consider changing it, but got some 'thank you for your suggestion' reply.

It looks like the fonts still are bad, if you zoom in on their web page. Now by bad, I mean that someone took an old vga font at 640x480 and scaled it up to 800x600 by copying rows and columns here and there; there are just pixels sticking out in all the wrong places. Not just unreadable, but awful.

I sincerely hope they fixed it, since it looks like it's a new revision. EDIT: no, they didn't:
http://microvga.com/images/uvga_charset.jpg
Look at the 's' - I think the left column is just doubled!

Here's the character set from the SECONS unit I purchased, photographed from the screen of a 17 inch LCD monitor. It's not beautiful but not nearly as bad as you might suggest.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 15 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron