![]() |
|
![]() |
|
|
#61 |
|
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,685
|
With the 2114s already ruled out the prime suspects for data corruption on the way to or from the screen RAM would usually be either UB9 / UB10, the main databus buffers which are in the path between the CPU and the video RAM, or the 'even' video RAM buffers UB4 / UB5... both pairs of which you have changed.
Do you have at least one more spare 244 which you can swap into each of those positions in turn, just to rule out the possibility of a dud new device? I assume you've socketed all of those positions so it would be a quick thing to try. The screen Daver's test is hanging on, can you post a good clear image of that, and if there are characters flickering is it possible to see whether they are flickering between two particular characters or a truly random selection? |
|
|
|
|
|
#62 |
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
Video link below:
https://drive.google.com/file/d/1bBaFjc7B-CXjHkKxGfEOP6F12dlxhx8f/view?usp=sharing The whole screen flickering isn't there in real life - must be a Mhz thing. Ther artefacts that flicker are small pixels flying around the screen, not whole characters flickering; not easy to see but hopefully you can see them. I also attach two Tynemouth diagnostic screens as they have got better - the 74154 (UE12 on p1 of the schematics) wasn't sitting right so I replaced the socket and that seems to have moved things on a little. It's going to be my soldering isn't it.... Colin. |
|
|
|
|
|
#63 |
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
I think there were a couple of other questions I haven't answered.
The 4032 is a 4032-32N made in W Germany. The 4016 is a 4016N also made in W Germany (albeit upgraded to 32K). Both have graphics keyboards. The character generator .bin file is here: https://www.zimmers.net/anonftp/pub/cbm/firmware/computers/pet/ filename characters-2.901447-10.bin My understanding is that it is the same in all PETs (40 or 80 column) that use BASIC 2 or BASIC 4. I have replaced all of the chips removed that work OK - 4 of the 244s were duff and one of the 4116s. Colin. Last edited by ScottishColin; 16th Apr 2025 at 4:16 pm. |
|
|
|
|
|
#64 |
|
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,685
|
Any problem with UE12 should really have shown up on the NOP test because that IC is the main address decoder and when there is a NOP test running each SEL output on that IC should go low in turn - but maybe you didn't look at the chip selects when you ran the NOP test, and to be fair I'm not sure I remembered to remind you to.
Apparent problems with UE12 can also just be down to bad address line connections between the CPU and UE12, usually due to a bad CPU socket although you've already got that covered. I remember on one of your past PET repairs the 74154 was unfairly accused, but it turned out to be the CPU socket on that occasion as well. |
|
|
|
|
|
#65 |
|
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,685
|
It's interesting (on the first Tynemouth Diagnostic screen) that there appear to be three of the low address bus bits in a different state to the others.
When you ran the NOP test a while back did you look for those cascading-frequency square waves on both the unbuffered address lines and the buffered address lines? This is important because guess what, the buffered address lines are buffered by yet another pair of 244s - a pair you haven't changed yet as far as I recall. (UD13 / UD14, of which UD13 buffers the low address bus). Last edited by SiriusHardware; 16th Apr 2025 at 5:15 pm. |
|
|
|
|
|
#66 |
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
As a matter of interest, I pulled the character ROM and booted Dave's PETTESTER and the random artefacts still appeared so I don't think it's that.
Colin. |
|
|
|
|
|
#67 | |
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
I only checked the frequency not the waves. I'll take another look at the NOP generator. And you're right I haven't changed UD13 and UD14 (yet).
Colin. Quote:
|
|
|
|
|
|
|
#68 |
|
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,685
|
If you are going to run up the NOP tester again, consider scoping all of the SEL outputs on the 74154 while you're in there. (If you didn't already)
|
|
|
|
|
|
#69 |
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
SEL outputs (in fact all pins from 1 to 17 with the exception of pin 12) look the same (attached). I'm assuming this is incorrect?
Colin. |
|
|
|
|
|
#70 |
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
I measured all of the clock pulses on the 'right-hand side' of the schematic for UD13 and UD14 on page 1 and they're all there with clean square waves halving down from 250Khz to 7.63hz.
Colin. |
|
|
|
|
|
#71 |
|
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,685
|
Pin 12 on 74154 is GND so it wouldn't be unreasonable to see nothing on that pin. The example you've posted as being representative of the signal on all of the SEL pins looks exactly right.
So the address bus looks OK on the output of the buffers, what about on the inputs of the buffers / the CPU address pins. The same? In theory the buffer outputs can only follow their inputs but I am still wondering why that discrepancy with the three 'different' bits on the first diagnostic screen. Of course there are quite a few other devices, apart from the buffers, connected to those address bus bits. I haven't had a chance to look properly at the screen you are saying Daver2's code sticks on, except to say that at first glance it is hard to see anything wrong with it - I'll have to review the 'manual' for Pettester and remind myself of what should be happening, when. |
|
|
|
|
|
#72 | |
|
Nonode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,580
|
Quote:
If you had a PC Analogue video USB 'Digitiser' interface etc, used to transfer VHS etc. tapes to a PC and a composite video adaptor for the PET, then that would probably give better results as it would synchronise to the video. Unfortunately I couldn't really observing the flickering-effect on the uploaded video, due to all the fast-fading in and out of the whole screen, due to this beating. And pausing it often just resulted in blurred images. |
|
|
|
|
|
|
#73 | |
|
Nonode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,580
|
Quote:
Although I'm a little confused that if you have 'Graphics' PET's, why the Character sequence in post #60 shows lower-case as well as upper-case. And that you've said the same CharGen ROM is used in 'all' PET's. So I assume something must be selecting only two (by 6522 controlling A10 on the Char ROM) 256-Byte areas, to map into the 8bit data held in the video RAM. Maybe that's where A8 & A9 on the CharGen come-in, but not sure how the diagnostic ROM is able to control those as well? |
|
|
|
|
|
|
#74 |
|
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,685
|
If as Colin says the char gen ROM is a standard part common to all PET models then presumably it contains data for the lower case, upper case and graphics characters, which are selected by the OS as needed by asserting some combination of the upper address lines as you have speculated.
|
|
|
|
|
|
#75 |
|
Dekatron
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 13,685
|
Since I don't own a PET and have never used one, and Owen has one which hasn't worked in his ownership, maybe Colin can take a moment to outline the actual difference (from an operational point of view) between a 'business' machine and a 'graphics' machine.
Owen seems to be under the impression that a 'business' machine can only display upper case and lower case text and a 'graphics' machine can only display upper case and graphics characters, and I have to admit that was my initial thought as well. However, as the char gen ROM obviously contains all three subsets of characters it would seem like a silly limitation to impose, resulting in each type of machine not being able to run the other's software in some cases. So what is the real difference between the two, is it just the way the keyboards are marked up, or is there more to it than that? |
|
|
|
|
|
#76 |
|
Nonode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,580
|
Well I did once have a working PET + Dual Disk Drive, I got v.cheap / free when they weren't worth anything. But I never really used it, as I didn't have the space, and someone sold it for me on eBay when they were now fetching quite a bit and thought they'd eventually come back down in price. But that was >20years ago, and have only risen since then!
I think I may actually still have another PET I acquired, besides the 2001 chicklet keyboard one I know I have (with the usual random-characters display fault that I had originally suspected memory. So I had been looking into testing the non-JEDEC RAM's / alternatives to these - I think a friend may have done these on his (programmable) AB Electronics IC Tester, but I could use my Arduino to do this these days as I've recently done this for 2112's etc). I also managed to get one or two mainboards, I'd spotted in a rally 'scrap PCB's' box. Although I didn't want to resort to swapping the entire board if possible. Anyway, a bit of Googling has found some useful explanations on Graphics & Business PET actual differences: - Where it seems there is also the added complication that CRTC PET's apparently have another 2KB space of characters, held in another of the ROM's https://forum.vcfed.org/index.php?threads/cbm-pet-uppercase-writing.1241986/ - And this confusingly says "The initial PET machine displayed in uppercase with graphics characters on the SHIFT - but no lowercase characters." Which would seem to indicate that Commodore didn't originally have lower-case - just lots of Graphics symbols in these early (BASIC 1) PET's. However, Zimmers character ROM for this: https://www.zimmers.net/anonftp/pub/cbm/firmware/computers/pet/characters-1.901447-08.bin on their index page says "Character generator for BASIC 1. Slightly different mapping than in the 901447-10 ROM. This ROM has upper case characters where the characters-2 has lower case and characters-1 has lower case where characters-2 has upper case." The Character ROM does seem to actually be the same on all later 3000/4000 etc series, with BASIC 2 / BASIC 4: https://www.zimmers.net/anonftp/pub/cbm/firmware/computers/pet/characters-2.901447-10.bin with zimmers index page note against this saying "Character generator for BASIC 2 and BASIC 4. The very same character set was used in the VIC-20, except for one modification: the backslash character (\) was replaced with a sterling pound symbol (£)." - whether Graphics or Business Keyboard (which just determines power-up default mode), and they are both capable of displaying the same character sets with a few POKE's (Which controls the 'nGRAPHICS' signal?). But the situation seemed to be rather unclear on the original 2001, where if it did actually have lower-case characters in its Char Gen ROM rather than just lots more graphics symbols, the PETSCII codes between the upper & lower cases were the opposite to those on the later 3000/4000 series!. Some more info, here on this: https://retrocomputing.stackexchange.com/questions/19772/wer...ix-pet-upper-lower-case-differences Where it does actually seem that there were incompatibilities of software exact display-operation (even for just 40col) between the different PET versions! - So not-surprising that it takes a while trying to understand how all the different PET versions actually behaved! Last edited by ortek_service; 17th Apr 2025 at 10:19 am. |
|
|
|
|
|
#77 |
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
Here's a couple of links to the case question. Essentially as I understand it, 40 column PETs start upper case and use of the SHIFT key gives the graphics that is printed on the physical key. With a specific POKE, the screen characters change to lower case and the use of the SHIFT key gives Upper case. on CRTC 40 column machines, there is another way to change case - see the Zimmers link below.
This is somewhat confusing - it's slightly easier to think of the 80 column PETs with the Business keyboard being used in a company and therefore a bit like our keyboards nowadays - lower case until the SHIFT or SHIFT LOCK is pressed. 40 column PETs can be thought of as gaming machines (I know this is a generalisation) and therefore use Upper case by default with the graphics being accessed via the SHIFT key. https://www.commodore.ca/commodores-pet-2001-uk-review-personal-computer-world-april-1978/ https://www.zimmers.net/cbmpics/cbm/PETx/petfaq.html (search for HOW DO I ACCESS UPPER/LOWER CASE OR GRAPHICS CHARACTER SETS?) Hope this helps - and I'm happy to be corrected. It's complicated. Colin. |
|
|
|
|
|
#78 | |
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
All there on the input side.
I noticed they are all slightly below 4v though. Colin. Quote:
|
|
|
|
|
|
|
#79 | ||
|
Nonode
Join Date: May 2012
Location: Perth, Scotland
Posts: 2,436
|
Attached is a photo with the caharacter gen ROM pulled as it's easier to see. It looks like one whole line of one character that flickers randomly (?) around the screen.
Colin. Quote:
|
||
|
|
|
|
|
#80 | |
|
Nonode
Join Date: May 2018
Location: Northampton, Northamptonshire, UK.
Posts: 2,580
|
Quote:
Although finding schematics for that one seems to be also a bit confusing, as it seems there are also non CRTC models and the CRTC models actually have the '8032' 'Universal board' configured for 40col use. I was trying to understand how the CharGen ROM was used, and from these schematics: https://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ/8032081-08.gif https://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ/8032081-10.gif + 6545 Datasheet: https://www.princeton.edu/~mae412/HANDOUTS/Datasheets/6545.pdf I see that the characters appear to be an 8x8 grid array of pixels. With a sequence of 8 separate bytes in the ROM producing each of the 8 scan-rows for each character. - As the CharGen's ROM's A0..A2 inputs connect to RA0..RA2 (Raster Address 0 to 2) outputs on the 6545 (which is programmable to use up to 5bits of 'scan-rows' per character) Each PETSCII (Like original ASCII) character set is actually only 128 characters (So only 7bits needed to select one within the character set). And the CharGen ROM's A3..A9 inputs are used to select which characters 8-Bytes of scan-row data are used. The remaining CharGen A10 input is connected to the 'GRAPHIC' signal, that connects to a 6522 CA2 pin etc as shown here: https://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/univ/8032081-03.gif And this toggles between each of the CharGen's two character sets (of which none may really be exclusively graphics characters). If (on a UK standard 15.625kHz line frequency) an individual horizontal line is 64us, then each 8pixel wide scan row of a character / Byte from the ROM, should be a bit over 1us (allowing for extra borders) on a 40 column display. But there is also the speed of the 8bit Byte to individual bit 'Serialiser' to take into account, so may be why the CharGen ROM needs to be faster than slowest 450ns 2716's? |
|
|
|
|