• Please review our updated Terms and Rules here

Make PET video 100% snow free.

GK2001

Experienced Member
Joined
Jul 17, 2017
Messages
190
This post details a simple modification that I made to the video generation circuitry of my PET-2001 clone to make all modes of video RAM access 100% snow free, but the basics are something that could be easily done to an original 2001 if the video SRAM and character generator ROM chips are upgraded to modern devices having modern access times.

This RAM/ROM upgrade/substitution could be achieved with SMD adaptor boards that simply plug into sockets replacing the two 6550 (200nS) 1Kx4-bit SRAM chips and the one 6540 (300nS) 1KB ROM.

Here is a timing diagram specific to my clone:

timing.png

All the modification does is generates an alternative drive signal for the select line going to the three 74HC157 multiplexer ICs in the video generator. This select line, when asserted, grants the CPU access to the address lines of the video RAM and it was originally connected to the video RAM address decoder.

6502 read and writes are initiated at the end of the Phase 2 period (the falling edge of the PHI2 master clock for the WDC65C02 in my clone). The shift register which serially shifts out the video signal is loaded with one row of character pixel data every 1000nS, at the end of the Phase 1 part of the clock period. 6502 address set-up starts at the beginning of Phase 1 and this is why snow is generated during video RAM access during active screen time - the CPU has gained control of the video RAM address lines before the shift register is loaded.

With fast enough RAM & ROM, however, video RAM address access need not occur this early in the 6502s clock period and we can avoid interfering with the shift register loading altogether.

Fortuitously, I had one spare 2-input NAND gate on my video generator board:

U16.JPG

I lifted the input pins of this gate, which were originally grounded, and wired them to appropriate outputs of the video generator row counter circuitry to produce the waveform labeled "74HC157 SELECT LINE" on the timing diagram posted above. This signal goes low for the 250nS second half of the Phase 1 period.

The select line to the 74HC157 video RAM address MUX ICs was disconnected from the video RAM address decoder and rewired to this new control signal.

This has significantly altered the way the video RAM address lines are connected to the CPU address bus. The video generator circuitry now accesses the video RAM on an interleaved basis with the 6502 and the 6502 can no longer interfere with shift register loads.
The video generator gets access to the video RAM ~250nS prior to the start of phase 2. This is plenty (eons actually) of set-up time for the modern RAM and ROM used in my video generator.

Note that the original PET used 200nS RAM and a 300nS ROM. To the sum of those you have to add the propagation delay of the 74**157 address MUX and the data set-up time for the shift-register. Definitely don't try this on an original machine without a video RAM and ROM upgrade!

Incidentally, this interleaving approach to video RAM access is basically how more modern 6502 computers such as the VIC-20 and the C64 handled their video generation - "snow" free.

I'm kinda slapping myself on the head for not designing my modern PET-clone to work this way to start with.
 
Last edited:
  • Like
Reactions: cjs
Here is something interesting.

The original PET-2001 video had a frame rate of 60 Hz. This wasn't changed to 50 Hz for parts of the world using 50 Hz mains. As my clone doesn't have a build-in monitor and as I live in a 50 Hz country, I designed my PET-2001 clone to generate 50 Hz video.

This means that video RAM updates written to be snow-free work just as intended, but just update the screen at a slightly slower rate. You wouldn't notice the difference in speed when playing video game unless you put a 60 Hz machine next to my 50 Hz machine.

Out of the 100+ programs and games I've run on my 50 Hz PET so far, I've not found one incompatibility issue with the 50 Hz frame rate, aside from the video game Breakout, which appears to do something funky when it comes to video writes. Breakout has some fast moving graphics. I guess that to achieve this it is actually (effectively) counting CPU cycles following every odd vertical frame interrupt or so, maybe to do video RAM updates during the horizontal blanking periods as well as the vertical? In any case, whatever it does, the 50 Hz frame rate of my clone throws it out of sync.

I've looked it up on Youtube and the game runs snow-free on the original hardware:


However, here it is running on my 50 Hz clone, sans the snow-free mod detailed above:


Not that this matters any more though :)
Here it is at 50 Hz post the snow-free video generator mod:

 
I've looked it up on Youtube and the game runs snow-free on the original hardware:

The PET in that video has a "real" keyboard instead of the chicklet one, which unless it's a weird edge case (can never rule that out with Commodore) means it's a "Dynamic Board" model. So far as I'm aware the Dynamic Board already was redesigned to do video RAM access entirely on the opposite phase of the clock so snow isn't a problem for it. Only the *very original* PETs are prone to snow during video access.
 
So far as I'm aware the Dynamic Board already was redesigned to do video RAM access entirely on the opposite phase of the clock so snow isn't a problem for it. Only the *very original* PETs are prone to snow during video access.

OK, that I didn't know. So perhaps Breakout isn't doing anything funky with its video RAM timing. So far a Youtube video of this version of Breakout running on a chiclet keyboard PET doesn't seem to be readily available to confirm.
 
Last edited:
OK, that I didn't know. So perhaps Breakout isn't doing anything funky with its video RAM timing. So far a Youtube video of this version of Breakout running on a chiclet keyboard PET doesn't seem to be readily available to confirm.

I'd post a video myself but unfortunately my Chicklet PET salvaged from a school warehouse cleanup came with a Dynamic board inside, not the original SRAM board. ;)

Here is a discussion of "snow" on the old PET and how the "speed-up" poke that traded not waiting for the blanking area to refresh the screen for snow morphed into the possible "Killer Poke" on later board models. Quite a few games didn't wait for vertical blanking and thus caused snow on the old PET, but I've never seen it on my dynamic board models, including when running software which is *extremely rude* about not caring one whit about avoiding snow. (Including the original version of PETTESTER I wrote in 2012.)
 
On the topic of 60 Hz frame (or field) rates in 50Hz countries or 50Hz frame rates in 60Hz countries with TV's & VDU's, it doesn't normally cause any problems at all. In fact many TV's/VDU's switch between those rates depending on the video source material, for example PAL or NTSC discs playing in DVD players.

Problems are only encountered if there is some line power signal interference in the video stream, from say signal earth loops or poorly filtered power supply rails. Another way it could happen would be direct radiated mains power magnetic disturbances to the CRT beam, from say a nearby source like a power transformer.

I run a 60Hz PET in Australia on 50Hz line power, there isn't even a hint of any 50Hz interference in the video or CRT raster image. So there would be no need to modify it to a 50Hz frame rate for any reason, unless that has some other benefit for timing considerations in the computer. Or say, if the VDU you had (using an external VDU of some type) will only lock to one frame rate or the other and it didn't match. Many small monochrome VDU's will lock to both 50 & 60Hz on the V hold control, or if they don't, simply a small change in the timing capacitor value in the vertical oscillator section in the VDU allows them to do it and re-center the vertical hold control pot.
 
I'd post a video myself but unfortunately my Chicklet PET salvaged from a school warehouse cleanup came with a Dynamic board inside, not the original SRAM board.

Here is a discussion of "snow" on the old PET and how the "speed-up" poke that traded not waiting for the blanking area to refresh the screen for snow morphed into the possible "Killer Poke" on later board models. Quite a few games didn't wait for vertical blanking and thus caused snow on the old PET, but I've never seen it on my dynamic board models, including when running software which is *extremely rude* about not caring one whit about avoiding snow. (Including the original version of PETTESTER I wrote in 2012.)

Nice link - bookmarked!

I'm happy that I can now play Breakout snow free, but will just have to live from now on with the fact that my clone no longer entirely emulates the loveliness of the very first PET's video generation hardware. Had I known better back when I designed this clone I would have designed the front panel to include a "Snow ON/OFF" toggle switch to allow the snow-free mod to be switched out.

What brings me here to revisit my PET video generation hardware is that I am working out the specification and circuitry for another clone - an expandable, 12-slot eurocard-based "4096". Basically a non-CRTC PET-2001 running BASIC 4.0 with the CBM 64KB functionally equivalent memory upgrade (in addition to the 32KB standard memory), 320x200 bitmap graphics and a character set with 128 additional, fully re-definable characters. Obviously, I want the video hardware to operate without snow generation.

The bitmap video memory will reside in the 8KB, otherwise not utilized block starting at $9000. This will be bank-switched with the 1KB programmable character RAM, partially decoded and mirrored 8 times. The CBM 64KB memory addition puts a memory control register at $FFF0. I'll probably put the video display mode control register at $FFF1. Bitmap graphics and programmable characters will be hardware disabled by default. When programmable characters are turned on, reverse video will be disabled and D7 will then alternatively serve to select the additional 128 user-definable character set. This mode will give 256 characters to choose from in total and if you need a reversed character in this mode then you can just define it yourself.

When bitmap graphics and/or re-definable characters are selected the "screen peek through" for the CBM 64KB expansion will extend to include the 8KB block starting at $9000.
 
Last edited:
Just to avoid any confusion, the frame rate that my PET-2001 clone design operates at, for entirely legitimate reasons of convenience, was only an aside and has no direct relevance to the opening post of this thread. There is no suggestion in any of the above that an original, working PET-2001 should be modified to a 50 Hz frame rate.

It is too late now to edit my opening post, but the modification that I detailed that made my machine's video generation snow free, insofar as it could potentially be a catalyst for a functionally equivalent and worthwhile upgrade to an original machine, is only applicable to the 1st generation PET-2001, with the chiclet keyboard and the slow static RAM video memory.
 
Last edited:
Hi, on my original 2001-8 with chicket keyboard circa 1978, I am so tired of looking at that snow in "newer" games and even happens while listing a basic program.
I have a bunch of upgrades the main one being a RAM ROM replacement board from Tynemouth.
Has anyone done this to a vintage device? I'd like to learn more details on whether it is worth doing and if no permanent changes are necessary or risks to original function.

Thanks,
Jim
 
The Tynemouth RAM/ROM board sits in the CPU socket. So the key issue is that the CPU has to be in an IC socket to make it easy to fit. You remove the existing 6502 CPU, install the Tynemouth board, and plug the CPU into the Tynemouth board. The key think here is not to damage the IC socket pins. In this case, there should be no permanent change required.

You then get whatever PET firmware you like and the full complement of 32K RAM.

It does not (of course) fix the 'snow'.

Dave
 
Has anyone done this to a vintage device? I'd like to learn more details on whether it is worth doing and if no permanent changes are necessary or risks to original function.

Do you want to cut and modify the original motherboard? Because that's what this will entail.

If you don't want to do that there's two pretty straightforward alternatives:

1: Swap your motherboard with one from a 9" "Dynamic Pet". (IE, the PETs with a 9" screen like the original but a more normal keyboard in place of the original keypad+tape deck.) Those motherboards don't have snow and they're completely compatible. (I know because I own a chicklet pet with a big REFUB sticker on the back and a dynamic board inside.)

2: Swap your motherboard for a modern remake, like the Mini PET B.

In either of the above you put your original Static board safely in a box and you can restore it back to stock whenever you want.
 
To clarify @daver2 I have had the Tynemouth board installed for several years. It has been such a great improvement / upgrade most importantly allowing bypassing of my flakey ROMS which caused system hang after 10-15 minutes from power on. But I haven't bothered switching to the original ROMs in years. It's been truly great being able to switch to whichever Basic version I need for running software up to D64.

I was mentioning it in case it had any impact to the 100% snow free mod.

@Eudimorphodon, thanks for the info. Not sure how hard it is to find a working vintage "Dynamic PET" or how costly it is, and the Mini PET B is $356 currently which might be overkill for snow removal and is unless I found a very lucky estate sale, the cheaper of the two options.

Maybe it is best just to embrace my early blue PET for what it is and what it does with the mods I've already done.
 
>>> I have had the Tynemouth board installed for several years.

Thanks, I didn't read it like that (hence my response)...

>>> Maybe it is best just to embrace my early blue PET for what it is and what it does with the mods I've already done.

I agree. In my opinion, 'upgrading' one of these PETs actually degrades the 'value'. Adding a RAM/ROM board is reversible. Cutting tracks etc. is (still) reversible - but would still detract from the 'value'.

I think the 'snow' is one of the 'charms' of these early machines and is something to be overcome by the programmer... This is one of the reasons for the 'wait for flyback' signal and the associated ROM code.

Trying to get the original ROM and RAM of the machine to work would also be an advantage. A much longer goal though.

Dave
 
@Eudimorphodon, thanks for the info. Not sure how hard it is to find a working vintage "Dynamic PET" or how costly it is, and the Mini PET B is $356 currently which might be overkill for snow removal and is unless I found a very lucky estate sale, the cheaper of the two options.
I had no trouble finding my dynamic PET and even a spare mobo for it, they do not seem to be super rare.

Recently a fellow I met via the forum, who lives in AU, got a mini-PET board to put in an original PET case, but he has had difficulties with it, in that somehow the some pixels of the display are cut off on the L side of the image, and this is using it with a perfectly working original 9" PET VDU.

This sort of thing makes me mistrust clones of the real thing, in that the emulations of the original circuitry are not 100% accurate.

I think one reason this happens is that the exact quirks of the original timing of the TTL circuitry were not studied well enough with a detailed analysis to be able to be replicated by the clone.

I know this happened all the time with clones of the original Atari Arcade Pong game, which I wrote the circuit analysis for, but that was long after many clones had already been made, and the original detailed data was simply not published anywhere at the time many clones were made and certainly the details required were not self evident from the schematic, due to vagaries of the timing delays in the TTL devices, among other things, and this is why the clones were deficient.

I am never a fan of clones of vintage TTL technology, partly because of my experiences with other video arcade games based on TTL IC's from the 1970's era too, such as arcade Tank and Asteroids. The clones of them that came later were never 100% the same, and often had irritating quirks and various issues and I never regarded them as "up to scratch". Also I had less interest in them because they were not actually vintage technology, just a facsimile of what was "vintage". This is why I went for building an original vintage Dazzler board set, rather than the newer facsimile of it.

Though, this is not to say that it is not possible to build a clone system with modern devices, that from an external viewpoint would be indistinguishable from the original circuitry on a double blind experiment, it is just that I seldom, if ever, see that happen.

It would be fairly easy to replicate the Dynamic PET pcb and populate it with vintage parts that are still readily available, no more difficult than the Apple 1 which has already been done. If dynamic PET boards got that rare, I'd probably do that, rather than using a mini-PET.
 
Last edited:
Yar bro, coz the original of anything must necessarily embody a state of absolute perfection that cannot possibly be bettered!

Somewhat astonishingly, in contrast to the religious diatribe posted above, plenty of people have built my vintage computing “clone” designs and have derived a lot of enjoyment from doing so. I’ve yet to receive any complaints.
Though we collectively realize our abject inferiority to the accomplished and conceited polishers of the real thing!

----------------------------------------------------------------------------------------------------------------------------

Moving on from the BS and returning to the original, purely technical topic of this thread:

The only “cutting” that would be absolutely necessary to implement the snow-free mod to an original 2001 main-board would be in the breaking of the common select line to the three 74HC157 multiplexer ICs.

There are two obvious ways you could go about this without cutting PCB tracks. You could snip the select pin of each ‘157 flush with the PCB and then bend the disconnected pin up to the horizontal. The select pins can then be rewired with hookup wire.

Alternatively, the ‘157s could be de-soldered and replaced with sockets. Then plug the ‘157’s back in, but with the select pins bent outwards.

The upgrade of the video SRAM and character ROM memories could be done with one or two plug-on PCBs that mate with DIP sockets substituting the original memory chip positions.

By how much the installation of several decent quality machined-pin DIP sockets would devalue the worth of an original board is something for the purist to decide, but a functional reversal of the modification would just entail plugging the removed chips back into their original locations.

The new memory board would also require a little logic to generate the replacement ‘157 select line signal and the input signals for this logic would be simply soldered to the required points on the original PCB via appropriate lengths hookup wire. Again, no PCB alterations required and easily reversed.

If you lived in the neighborhood and could bring your PET over here for measurement, this is something that I would take on pro-bono. The PCB layout design would literally be just a Sunday afternoons job.

The snow-free mod is worthwhile – just try playing something like Breakout without it!
 
Last edited:
Yar bro, coz the original of anything must necessarily embody a state of absolute perfection that cannot possibly be bettered!
Err...I didn't read it that way at all; I read it as pointing out that the originals are far from perfect, and the clones don't reproduce the problems and errors of the original. (And those problems and errors are what interests him.)

Somewhat astonishingly, in contrast to the religious diatribe posted above, plenty of people have built my vintage computing “clone” designs and have derived a lot of enjoyment from doing so. I’ve yet to receive any complaints.
Though we collectively realize our abject inferiority to the accomplished and conceited polishers of the real thing!
Yeah, I didn't really read it as saying that, though I guess I see how it could be read that way. I did find the general point that, even when the clones to try to replicate the original design, modern device timings may make it work differently, to be very useful, as I'd not really thought about that before. (FWIW I have both original computers and various clones, some rather distant in implementation from the original, and I'm pleased with both.)
 
Err...I didn't read it that way at all; I read it as pointing out that the originals are far from perfect, and the clones don't reproduce the problems and errors of the original. (And those problems and errors are what interests him.)


Yeah, I didn't really read it as saying that, though I guess I see how it could be read that way. I did find the general point that, even when the clones to try to replicate the original design, modern device timings may make it work differently, to be very useful, as I'd not really thought about that before. (FWIW I have both original computers and various clones, some rather distant in implementation from the original, and I'm pleased with both.)
Yes, to an extent this is true. The vagaries of the original gear do interest me a lot, especially the defects, for example the defect in the pcb design of the original arcade Pong that resulted in the LSB of the paddle data being switched between the two player's paddles, producing some weird and unexpected effects (unless you understood how that was happening). It got called "The Ghost in the Machine". The clone versions have the opportunity to remove bugs as do a hardware replica version. In total I identified 6 bugs in the original Pong design and made a 6 bugs safe version:

www.worldphaco.com/uploads/ARCADE_MINI-PONG.pdf

But still, I have the original arcade version in my workshop and mostly play that one.

It is not as if the original designs were some Holy Grail of Biblical perfection, I would never say that, because they were not. But the thing is, I liked them for those things. Like the design defects in the Dazzler's color encoder, when they were actually trying to make it NTSC compatible, but mixed up the color mixing and the color encoder was so primitive, not even a suppressed carrier system and it couldn't create a perfect blue. Outrageous really. While I could have fixed that on my Dazzler boards, I decided not to, because I found it more interesting to leave that as it was. So when I say "the real thing" I mean it, warts and all.

All these things to me make the real original vintage equipment very interesting, but when its a non-vintage replica of any kind, especially implemented with modern parts, somehow I have trouble getting excited by it. But this is just my unique case probably and as pointed out people can have a lot of fun with the modern clones. A part of vintage gear that attracts me is what the designers were able to pull off with the minimal parts they had at their disposal. Not super fast processors and large amounts of memory and helpful design tools.

One of the circuits that has impressed me from electronics history is the way that two designers, Faudell & White, managed to create a circuit, with only one active device (a triode) that was able to produce two anti-phase Linear sawtooth voltages of 450v peak to peak each for horizontal deflection for an electrostatically deflected TV CRT, from a mere 250V DC supply. The idea was invented in the UK and commercialized by Admiral and Motorola in the USA. the story about this is here:

www.worldphaco.com/uploads/Admiral_TV..pdf
 
Last edited:
  • Like
Reactions: cjs
Err...I didn't read it that way at all; I read it as pointing out that the originals are far from perfect, and the clones don't reproduce the problems and errors of the original. (And those problems and errors are what interests him.)

I'm not particularly interested in what interests him, though I do think that it is pretty obvious that it isn't the topic of this thread. And I don't need a degree in psychology to predict that he's been itching from the very first post to seize any perceived opportunity to segue into yet another ad nauseam discussion about his pong and dazzler machine.
 
Recently a fellow I met via the forum, who lives in AU, got a mini-PET board to put in an original PET case, but he has had difficulties with it, in that somehow the some pixels of the display are cut off on the L side of the image, and this is using it with a perfectly working original 9" PET VDU.

This sort of thing makes me mistrust clones of the real thing, in that the emulations of the original circuitry are not 100% accurate.

You know what's pretty awesome about how the Mini-PET generates sync signals that you can't do with the original hardware? It could be trivially fixed in software if there's not enough travel in whatever knob there is in the VDU to center the display. (The code for the Mini-PET's fake CRTC isn't open, which I guess is a barrier if you wanted to fix it yourself, but the theory is sound.) According to the manual I can find for the Mini-PET there's no explicit centering adjustment, but since it supports a *bunch* of different monitors selected via DIP switches I'm going to *guess* maybe the problem the person is having is not having exactly the right monitor/refresh setting. But, *shrug*, maybe there's more variance in original PETs than the creator of the Mini-PET realized. Maybe they should shoot them an email?

Anyway. With regard to my "cutting" comment, I was under the impression that the ask there was for something that'd literally just "plug-in" to sockets a machine like that is likely to already have. Certainly you could achieve the necessary bypasses by cutting IC pins instead of the PCB and/or installing sockets, so sure, if adding sockets doesn't violate the stated the "no permanent changes" threshold then, yes, implementing a snow removal with some daughterboards is definitely doable.

Given that my true vintage trash is the TRS-80 Model I, which also has "snow", I guess I'm not sure what the big deal is. (I figure it's part of the charm at this point) Although... I guess one area where the Trash 80 differs from the original PET is the TRS-80's circuitry is designed to blank the video output when there's a clashing access so instead of random dots the Trash-80 is limited to black streaks in white areas. Which might be marginally less obnoxious.
 
Last edited:
Back
Top