AtariBits
  • Home
  • Systems
    • 576NUC+ >
      • NUCplus4
    • 1088XEL >
      • XEL-CF Drive
      • XEL-CF3 Rapidus Variant
      • Accessories
      • XEL Archives
    • 1088XLD >
      • RGB2VGA-XLD
      • ARROW2JOY-XLD
    • CV-NUC+
  • TransKey
    • TK-II >
      • TK-II Manual
      • Installation
      • Device Compatibility
      • TK-II Archives
    • TK-II-STEREO
    • TK-II Control
  • XEP80-II
  • JOY2PIC
  • MOUSE
  • MIDI
    • MIDI 3D Printed Cases
  • UGV
    • Old UGV Archive
  • SDrive
  • RAM
  • Blog

C64 Goodies (continued... part 7)

5/1/2024

 
Picture
C64-VGATE for Short Board
Today I finally had a chance to test a PAL version set-up in a 250469 Short Board that I converted from an NTSC 8562R4 VIC-II over to a PAL 8565R2.

It works!!!  Including using the same VGATE firmware and the same component values as the NTSC version.

I was able to boot up and play the game Turricon in all of its PAL glory, and it looked quite good. 

Initially when attempting the installation of the RF Modulator Replacement Interface PCB into the Short Board I encountered a couple of issues involving physical fit.

Update: May 2nd, 2024  Good news! I took a different approach to assembling the PCB and discovered that it could be made to fit without issues.

After mounting the motherboard with one mounting screw between the two existing DIN jacks in the C64C case... you can then set the RF Modulator Replacement PCB in place with the two bottom 4-pin and the single 2-pin support headers. Then adjust it to fit flush with the inside back of the case. After making sure that the board is pressed down and even, solder at least one pin on each header to lock in this alignment.

Note: the other 2-pin support headers on the left and right side are not required and should be left out.

When you remove the PCB you'll see that the support headers are slightly angled - this is perfectly fine.  Note: an extra piece of header insulator block is used on all the support headers as an additional spacer. I'll probably make an adjustment on the final gerbers to allow these to be straight up and perpendicular with the PCB.
Picture
Picture

With the motherboard out of the case, use a stepped-drill to enlarge the RF output hole to 9/16" diameter. Then with a round file, create a U-shaped slot in the rectangular channel switch hole which will allow clearance for the 3.5 mm jack. This is a very minimal modification to the case, and could be reverted to the original RF modulator with hardly anyone noticing the case changes.

If everything is correct, then you should see the result below.

Picture
Assemble all of the required components into the PCB, and then mount and solder it to the motherboard.
Picture
Short Board RF Modulator Replacement C64-VGATE Interface installed
PictureRemoved Original Short Board VIC-II Socket
When I mounted the MAIN C64-VGATE PCB into the VIC-II socket, it was friggin tight as hell !!!  So I de-soldered it and replaced it with a 40-pin machine pin socket instead, which worked much better.

I didn't encounter this difficulty in my Long Board installation, so it appears that my Short Board used a different socket having very tiny holes.

This could be problematic for other people wishing to install one of these C64-VGATE boards in their machine, assuming it too has the same socket issue.

Since I'm feeling pretty good about the MAIN schematic, here's version 1.1 for download...

C64-VGATE_V1.1_MAIN_schema.pdf
File Size: 74 kb
File Type: pdf
Download File


Nice to see this work without having two different versions of the firmware, and with the same values that work for both the NTSC and PAL HMOS VIC-II chips. personally I've experienced less issues with sourcing the HMOS vs. NMOS VIC-II chips, and found them to produce a very clean picture, while giving off considerably less heat. Since my C64-VGATE MAIN board can also serve as an HMOS to NMOS adapter, I'll be sticking with HMOS chips for all of my video upgrades.

- Michael

Previous Post

C64 Goodies (continued... part 6)

4/3/2024

 
PictureC64-VGATE Main Video Board
It's been a busy few weeks for me, so I wasn't able to post an update on this project until now.

About 2 weeks ago I was able to assemble one board set with an HMOS 8562R4 VIC-II chip and installed it in my 250407 Long Board, using it's built-in NMOS-to-HMOS configuration jumper and special piggyback socket.

After some initial experimentation, I settled on what appeared to be the best component values, including figuring out a way to boost the video output all the way up to 1 V P/P without causing any shadowing when bright colors were being displayed, something that I had previously seen during earlier attempts to increase the video to that same level.

EDIT 4/26/2024: I discovered that my scope wasn't accurate with the probes set to x1, but was when set to x10. So because of this I ended up pretty much reverting to my original values to achieve a 1 volt video signal. However I did do a few other adjustments to better standardize the chroma level.

I was also able to compensate for some thermal drift issues that caused misalignment of the VGATE black level with the one generated by the VIC-II chip by changing out several resistors from 5% Carbon Film types over to 1% Metal Film types instead. Metal Film resistors have a much better temperature coefficient of resistance than carbon film types.

Overall the video output of the C64-VGATE video board is quite excellent, and the VGATE technology eliminates the white line that's usually seen on the left side of the image when viewed on newer HD monitors. However in order to achieve the best results it did require some additional timing adjustments in the VGATE firmware.

A nice side effect of eliminating the white line was that my cheap S-Video to HDMI converter was able to properly do the conversion without weird color and contrast issues it previously suffered from. I believe the reason for this improved behavior had to do with the white line causing confusion as to what the black level really was, because it occurred so soon after the color burst signal. With VGATE active, there now exists both a proper breezeway and back porch in the video output, something that was lacking in the original VIC-II output. And apparently my HDMI converter likes it much better.

Keep in mind that this upgrade is much more than just the elimination of the white line. It's also meant to improve the video output quality utilizing triple shielding, a higher quality video output buffer, and by breaking out the S-video into a more standardized connection scheme. At the same time, there is also provision for stereo audio output, or composite video, or LumaCode video assuming the proper upgrades are also present. These last signals are broken out to a separate 3.5 mm jack, and with the addition of a simple RCA 'Y' adapter can be connected to standard RCA inputs.

Soon I'll be updating both the schematics and a download for the firmware reflecting these changes.

I also got some HMOS PAL VIC-II chips, so I should be able to see how this improved video system works for PAL as well.

Hopefully my next blog post will cover much more detail... stay tuned.

-Michael

Previous Post (Next Post)


Complete C64-Vgate Video Board Set Installed in Long Board 250407
Picture

C64 Goodies (continued... part 5)

2/29/2024

 
Picture
The PCBs for the C64-VGATE project are entering the final phase of design and are looking very good indeed.

The top board as the silkscreen describes is meant to replace the stock RF Modulator utilizing a few of the existing mounting holes to line up the board with its S-Video and Audio jacks to the holes in the rear of the case. This is then interconnected with the C64-VGATE Main board via a short dual female Dupont Cable (I tried to make this a straight shot to keep the cable flat and untwisted).

The 3.5mm Stereo jack outputs the stock SID audio to the left channel, with provision to route either a 2nd SID audio to the right channel, or gives the option of having Composite or perhaps LumaCode video on this output instead. I got the idea to do this multi purpose assignment by watching a similar project on TheRetroChannel.

The C64-VGATE Main board contains the meat of this project, containing all of the actual electronics that perform the signal amplification, conditioning, and over-scan elimination of the video from the VIC-II chip which it piggybacks. The RF Replacement board is passive, containing only headers and jacks.

There is also provision for installing a later HMOS version of the VIC-II chip in the older NMOS boards, thus eliminating the necessity of an adapter board.

And finally if one is inclined to do so, a small hole can be drilled in the back of the case next to where the 3.5mm jack resides for an optional hard reset switch. I also glommed onto this idea from The RetroChannel's project, and although it got eliminated on their 2nd revision board, I decided it was a good idea to incorporate this idea into my board for that just in case scenario.

Schematics

c64-vgate_v1.0_schema_revised.pdf
File Size: 494 kb
File Type: pdf
Download File

Changes: R1 individual values for NMOS or HMOS VIC-II variants,
Added R11 pull-down resistor for Q3 collector,
Added RF Modulator Replacement Interface PCB for Short Board


 Notes: On March 3rd it was discovered that changing from an NMOS VIC-II over to an HMOS version required an increased resistance for R1 in the collector-to-base feedback for Q1 (Luma Preamp). This allows matching the black level voltage for a proper VGATE "no video" bias, which differs between NMOS and HMOS variants. The two different possible R1 resistor values are now shown in the latest schematic download attached to this blog post.

On March 4th erratic operation was observed in the smoothing capacitor circuit caused by PNP transistor Q3's collector being in a floating state when not turned ON, thus requiring a pull-down resistor for its OFF state. The pull-down resistor reused the component ID "R11" due to its location on the board, and all others that followed had their IDs incremented by one. This can't be seen in the board image above, but was reflected in the schematics.

Also after receiving an eBay Canada C64C which had the short motherboard (PCB ASSY: 250469), I was able to take measurements and create a new short board version of the RF Replacement Interface PCB, and then add it to the documentation, as well as generate gerber files for future release.


After I do some more checks of the layout, gerbers will be sent off to JLCPCB to get a few samples manufactured for testing.

- Michael

Previous Post (Next Post)

C64 Goodies (continued... part 4)

2/22/2024

 
I noticed that everyone working on cleaning up the video in the C64 likes to use the Easy Flash 3 menu as a reference image. So in keeping with this spirit I extracted the ef3-menu-1.2.0.crt contained in the zip file I downloaded from HERE and copied it too my Kung Fu Flash Cart's SD card, and then proceeded to spend the next 2 hours trying to take a picture of it from my VIZO LCD monitor. Why 2 hours you may ask? Well it all came down to trying to avoid the moiré pattern that the camera insisted was there, but really wasn't in reality.

Finally I achieved success and got a very clean image of what my eyes were actually seeing. And believe me it was every bit as good as the image below.
Picture
Real Image Produced by my C64-VGATE Prototype Video Board via the S-Video Connection
This looks so good, that I doubt it would have been noticibly better with one of the C64 HDMI solutions, other than perhaps a bit more crispness.

So not only has my alternative video board gotten rid of the over scan and resultant white line, it also produces rather excellent video quality as well. And because of the FMS6400CS video buffer/summer chip, it will also render some of the best composite video ever seen coming out of this system, without compromising the S-Video, or requiring a switch to disable it. In fact both video outputs can be used simultaneously without any issues or interference.

Edit: you may have noticed that there are some horizontal bands that appear darker. Yes that was really there and not an artifact created by the camera. As it turns out my last revision to the schematic where I had changed two resistor values to achieve a higher Luma output, was a mistake. After I changed them back that dark banding completely disappeared. Some times it's best to leave well enough alone.

The banding was in areas that had a particularly bright object being displayed, thus exceeding the nominal 1 Volt peak-to-peak video level, and causing this unwanted side effect due to the overdrive.

I'll be re-posting the schematic with the changes after I add the interface board schematic as the 2nd page.

- Michael

Previous Post (Next Post)

C64 Goodies (continued... part 3)

2/19/2024

 
Well I started thinking more about this C64-VGATE board today, and specifically about the look of the video wave form as compared to what's considered the standard in the industry. And I noticed that what is called the Breezeway, is non existent out of the VIC-II video chip (reference image below for what it should look like).
Picture
Standard NTSC Waveform and it's Attributes
In the NTSC standard, there is a 0.6 uS long blanking level just after the end of SYNC and prior to where the color burst is suppose to begin called the Breezeway. As I stated earlier this is virtually non-existent where the VIC-II is concerned, with it's color burst immediately following the end of the SYNC pulse. And another not as significant change is that the VIC-II outputs a rather long color burst, which in itself is not usually going to be a problem, but for the sake of making it a bit more standard it should be shortened (some video converters might take issue with it's longer state).

Luckily no hardware change is required to implement these changes, and everything can be adjusted within the PIC chip's firmware. Specifically in the Interrupt section of the assembly code as seen below...

    org     0x004          ; Processor interrupt vector


    movlw   0AH           ; Wait 4.7 uS (sync)
    call    dly_405ns


    bcf     VGATE          ; Turn off video for 0.6 uS (add breezeway)
    nop
    nop
    nop
    nop


    bsf     VGATE          ; Turn on video for 3 uS (color burst)
    movlw   06H
    call    dly_405ns
   

    bcf     VGATE          ; Turn off video for 2.4 uS (over-scan deleted)
    movlw   05H           ; Also shorten tail end of color burst
    call    dly_405ns

   
    bsf     VGATE          ; Turn on video (display active video data)


    banksel INTCON          ; Clear interrupt flag
    bcf     INTCON,INTF
    retfie                  ; Leave interrupt

In this new firmware version the Color Burst was shortened to 3 uS which is the equivalent of 10 cycles, with the standard being as little as 9 or as much as 11 cycles. The 0.6 uS Breezeway got re-instated. And in order to eliminate any left side over scan and to shorten the Color Burst , the Back Porch was lengthened by 2.6 uS, and set to begin before the VIC-II's color burst ended. This last part is about 1 uS longer than the standard, but isn't a detriment.

By the way where retro computer video is concerned, there is no separate blanking vs. black level, they are one in the same.

Here's how things compare with stock video shown on the left and VGATE enabled video on the right (Color Burst is in the middle)...

Picture
Stock VIC-II Video - No VGATE
Picture
VGATE turned ON
On the stock video output you can see that the Breezeway is extremely short and practically merged with the Color Burst which looks to be 15 cycles long. Whereas with VGATE engaged, and using the new firmware, we now have a bit more normal looking video with a standard 0.6 uS Breezeway and a 10 cycle Color Burst.

The firmware is now at rev 1.1 and available for download below.

c64-vgate_1.1.asm
File Size: 4 kb
File Type: asm
Download File

c64-vgate_1.1.hex
File Size: 0 kb
File Type: hex
Download File


I presently don't have the means to test this in a PAL machine, but if it's anything like the Atari VGATE version I think it will automatically scale to the slower speed (60 vs. 50Hz). If not then a PAL specific firmware version will need to be developed by adjusting the timing in the interrupt routine.

- Michael

Previous Post (Next Post)

C64 Goodies (continued... part 2)

2/18/2024

 
I got the sample boards from JLCPCB for what I had called C64-JBgone, and after testing, it did clean up the video, but the jail bars although lighter could still be seen against darker backgrounds. So I accept that this must be coming from inside the VIC-II chip, and because of this there really is no way to completely eliminate this effect. I believe Adrian Black from Adrian's Digital Basement came to a similar conclusion after much experimentation of his own.

And I also played around with some of the ideas embodied within the LumaFix64 mod, but found that approach to be lacking in overall effectiveness, and in certain situations making things even worse.

I'm pretty content with the progress I made via improved video  circuit design and better shielding. However the over scan and white line problem visible on the left was in need of a solution, so a new plan was formulated, and that plan is the C64-VGATE VIC-II Video Board.
Picture
Click Image to Enlarge
I took what I had learned in the previous design, which had a lot in common with the first version C64 motherboard video output circuit, and then streamlined it before adding what I call VGATE technology. Which in a nutshell blanks out a specified amount of over scan (what was never meant to be seen) either from the left or right side of the screen, or in some cases like on the Atari - both sides. So for the C64, over scan only occurred on the left side of the screen with a thin white line visible on the extreme left when viewed on an LCD wide screen monitor. The white line was something new to me, but would be cured by the over scan blanking I was implementing.

The Video Gating (VGATE) where the blanking occurs, is controlled by a PIC microcontroller that derives its clock from the VIC-II Dot Clock on pin-22 (multiplied by 4 inside the PIC with a PLL), and then gets synced at the beginning of every line by the video's CSYNC signal. This gives us very precise control of where and when the gating signal gets turned on or off, and where it flips the analog switches to an OFF state in order to stop the video from displaying. The code for the PIC's firmware needed to be fast, so the source was written in assembly language and then GPASM was used to compile the Microchip PIC machine code, creating the hex file for flashing the chip. The asm text file was written and saved on a Linux box, so there may be issues with the end of line in Windows, although it should be viewable in most browsers.

c64-vgate.asm
File Size: 4 kb
File Type: asm
Download File

c64-vgate.hex
File Size: 0 kb
File Type: hex
Download File


Prior to the video switches, there are two preamps for the Luma and the Chroma which condition the signals coming from the VIC-II to an acceptable level, and match up the black level between them. Following the video switches we feed a special video buffer/summing IC chip (FMS6400CS) where the signals get boosted in current capability for a standard 75 ohm load while rendering 1V peak-to-peak video output, and also doing DC signal restoration with some filtering. And finally the Luma and Chroma also get combined inside the FMS6400CS to create an independent fully buffered composite output that will not interfere or cross-talk with the Luma/Chroma outputs.


O-Scope and HD Monitor Images
Picture
BASIC Start-Up Screen with VGATE ON (cropping left border over scan)
Picture
Picture
BASIC Start-Up Screen with VGATE OFF (full left border - no cropping)
Picture
Picture
Diagnostic Screen VGATE ON (no white line)
Picture
Picture
Diagnostic Screen VGATE OFF (white line visible)
Picture
Next will be PCB layout for the C64-VGATE board - so stay tuned!

- Michael

Previous
Post (Next Post)

C64 Goodies

1/30/2024

 
Picture326298-01 C64 Motherboard Assembly - Click to Enlarge -
Thanks to Bob Woolley's donation of a C64 computer and the accessories that go with it, I've begun a journey to see what I can do within this arena.

So for starters I discovered that the video coming out of my unit was pretty poor when viewed on my VIZO LCD monitor, because it had very visible jail bars and the colors were kinda muted. So first order of business was to find the schematics covering my board, which I soon got in a 1992 C64 Service Manual in which I discovered that I had the very first board revision (326298-01) utilizing an early production ceramic VIC-II chip.

Looking at the schematic, I could see that the basic circuit for taking the Chroma and Luma from the VIC-II and making them suitable for driving a monitor looked pretty sound, but I didn't like the signal mixing being used to produce the composite output. It just presented too much opportunity for the Chroma signal to bleed into the Luma if I ever wanted to use this over S-Video. Speaking of S-Video, this wasn't actually broken out on my board, since having the early version also meant that I had the 5-pin DIN A/V jack which had no separate Chroma output.

Picture
Early 5-pin vs. Later 8-pin C64 A/V Jack Pin-Out
So I began work on creating a PCB to piggyback the VIC-II chip and break-out what I hoped would be a high quality video signal, minus the jail bars.

This is what that ended up morphing into...
Picture
C64-JBgone_schema.pdf
File Size: 36 kb
File Type: pdf
Download File

I decided to use the FMS6400 Video Buffer/Combiner chip as the final stage, but retained a lot of the original C64's video conditioning circuitry, minus the composite mixing stage. And then adjusted a few values to render a better more vibrant image.

When taking this to a PCB, I opted for a 4-layer board having both 5V and ground plane(s) in the middle layers, and also incorporated a top and bottom layer ground plane fill. Because as I was prototyping and researching information I came across an interesting article on noise bleeding from the AEC pin of the VIC-II over to the Luma pin that sat next to it, which seemed to be the real culprit for the jail bar issue. I figured using a triple ground plane scheme would be my best bet for isolating the Luma pin from the AEC pin.

The VIC-II's AEC pin is very similar to the Antic HALT pin on an Atari 8-bit computer, allowing the video chip to halt the CPU and take over full control during RAM access (DMA).

After applying some careful PCB layout considerations, this should end up being a very quiet video output stage, which I'll know for sure when the sample boards come back from JLCPCB later this week. The board's title is very optimistic in this regard.
Picture
VIC-II PiggyBack Video Output Board
Picture
Back Side of VIC-II PiggyBack Board
My future goal is to re-design, hopefully improve, and condense the C64 down into something that I can squeeze into a NUC style case like my 576NUC+ and CV-NUC+ projects. I think it'd be rather cool to have a miniature collection of these 80's retro consoles that could all sit on my desk at the same time without taking up a lot of space.

So in that regard, there is more that I have been busily working on. So stay tuned to find out what's to come!

- Michael

Next Post

    Author

    My name is Michael St. Pierre and in the early 90's I decided to create my very first Atari 8-Bit upgrade. It was called TransKey.
    ---Then soon after Atari folded and I left the scene ---
    25 years later I came back with a mission to improve upon what I had started so long ago.

    Archives

    May 2025
    March 2025
    January 2025
    December 2024
    September 2024
    August 2024
    July 2024
    May 2024
    April 2024
    February 2024
    January 2024
    December 2023
    November 2023
    August 2023
    June 2023
    May 2023
    March 2023
    January 2023
    December 2022
    August 2022
    May 2022
    April 2022
    December 2021
    October 2021
    July 2021
    June 2021
    May 2021
    April 2021
    March 2021
    February 2021
    January 2021

    Categories

    All
    576NUC+
    AtariBits News
    C64
    ColecoVision
    Industrial Applications
    Intro
    MIDI
    Monster 600XL
    Multi-Carts
    Multi-SLOT 1200XL
    NUCplus4 Assembly
    Transkey
    XEP80-II

    RSS Feed

Powered by Create your own unique website with customizable templates.