PDA

View Full Version : Commodore PET 2001-8 doesn't clear garbage screen



JHawk
February 15th, 2016, 04:44 AM
Hi,

This is my first post on this forum.

I have two PET 2001-8s which I'm trying to make at least one good one from. Both are 6540/6550 models. I have fixed quite a few old computers before, but this is my first experience with a PET. I have one almost up and running using a ROM/RAM board from Tynemouth Software. It boots to BASIC, but fails to clear the garbage screen first. I can type commands, but need to clear some whitespace around them before they're accepted by the interpreter.

All regulators are outputting 5V, I have run it with the bare minimum of chips present, and I know it's not the CPU socket the ROM/RAM board is in, since I installed a fresh one.

I've done some searching but can't find any reports of similar issues. Does anyone have any suggestions, or could explain the procedure by which the screen gets cleared on startup? I'm thinking it could be a logic chip, but I'm not sure if any of those are involved in the screen clearing. I don't think it's the video RAM, since anything I enter on the screen stays put.

Any help would be much appreciated.

John

daver2
February 15th, 2016, 11:33 AM
Welcome.

Off the top of my head - me is thinking a faulty ROM somewhere. However, if you have used the ROM/RAM board then that shouldn't be an issue (assuming you have a 'good' ROM image).

There is no 'screen clear' hardware as such - it is a small routine within the ROM writing <SPACE> characters (0x20) to the screen RAM. So (assuming you can do that yourself from a POKE statement) other than that it must be a ROM fault... Where did you get the ROM image for your ROM/RAM board from?

Dave

JHawk
February 15th, 2016, 01:56 PM
Thanks for your reply, Dave.

I wrote a program to poke spaces to the screen and it did work.

The ROM images came installed on the board. Initially I had selected BASIC 1, then later tried BASIC 4.0 and had the same fault with both. I have an EPROM programmer so I could check the images and reprogram it if necessary.

daver2
February 16th, 2016, 11:45 AM
Hmmm - not an issue I have come across before.

Could you post a couple of pictures? One immediately after it has powered up and one after you have (say) poked a <SPACE> into a screen location.

I am just 'thinking out loud' here trying to rack my brain as to what could be wrong...

Dave

KC9UDX
February 16th, 2016, 12:07 PM
I wonder if anyone knows the location of the ROM routine that clears the screen. I wonder what happens if you SYS to that location.

I wonder if it's the same as the routine invoked by the CLR character. Try pressing SHIFT and CLR and see if the screen clears.

If any of that works, then there could be a damaged vector either in ROM or in zero page, if the ROM puts it there earlier.

daver2
February 16th, 2016, 12:25 PM
It might be worth having a look here:

http://www.6502.org/users/andre/petindex/roms.html

Fairly close to the bottom of the page is a link to various ROM disassemblies. The BASIC 4.0 is fairly easy to understand - the clear screen routine is dead easy to spot (seriously)...

Can you identify which schematics from the Zimmers website match your machine. The reason I am asking is that different PETs had different video circuits - although if your PET is actually working - this shouldn't be an issue (as it is working) - it is just not clearing the screen on startup.

If BASIC 4.0 works on your machine - it should be fairly easy to dump the E000 and F000 ROM and check them with known good images.

Dave

dave_m
February 16th, 2016, 02:42 PM
After the PET has been on for a while, cycle power and see if it come up properly. Perhaps there is a temperature sensitive part?

JHawk
February 18th, 2016, 02:26 AM
I've attached a photo of the screen just after power on. The y in 'Ready' has been overwritten - this was happening sometimes to some of the characters at random.

29644

I tried SYS 57425, since the clear screen code is at E051h, and the screen flickered a bit but didn't clear. I think the cursor went to the last line. My CLR key needs a clean, but got it to do it once, and it did something similar.

I had noticed that the free RAM displayed was different to what the ROM/RAM board DIP switches were set to, 16k vs 8k, so I was wondering if any of the other switches weren't doing the right thing, particularly the ones to swap individual ROMs in and out. I thought I'd try to run it with a real set of ROMs, so I put them in, deselected ROMs from the ROM/RAM board and it came up with BASIC 1, still with the garbage screen. This was with the ROM/RAM board set for BASIC 4.0, so I was pretty sure it was using the actual ROMs. I previously had no idea if any of them were good or not, but it looks like I may have a working set.

I then started seeing if I had 4 more good RAM chips to run the PET entirely without the ROM/RAM board. I tested them in the left video RAM socket and most of them behaved the same as the one I had in before. There were a few characters flickering a bit with some ROMS. However, after testing about 6 of them, I got a black screen with the startup message displayed correctly, but a single asterisk further down the screen. Putting in RAM chips I'd tried previously gave the same thing - always with an asterisk in the same place. I think I must have either worn some corrosion off one of the RAM sockets, or moved a cold solder joint somewhere.

I tried other RAM in the right socket, but with no change until I pressed down on the chip while it was running and this caused the asterisk to flicker a bit, with different lines being displayed on different frames. This started to clear up with less and less being displayed, and after about a minute there was nothing there. Shortly after that though, the machine crashed and cycled through screens of varying characters, but with the screen filled mostly of the same character at a time. Rebooting didn't change this, but after swapping the RAM a bit, it came back up with the single asterisk.

So I seem to have some bad joints or corroded sockets, and I'll replace these in the next few days and give the chips a clean. I had intended to do that already, but had thought the video RAM sockets must have been good if it was displaying all characters properly. Of course the fault could be on another socket or a joint somewhere else, since the board does flex quite a bit when adding/removing anything. It doesn't seem to be temperature-related, since it wasn't really on that long when the garbage screen went away, and it didn't come back after the machine had been powered down overnight.

John

JHawk
February 18th, 2016, 02:41 AM
It might be worth having a look here:
Can you identify which schematics from the Zimmers website match your machine. The reason I am asking is that different PETs had different video circuits - although if your PET is actually working - this shouldn't be an issue (as it is working) - it is just not clearing the screen on startup.
Dave

Both my PETs are the 32008 board. I didn't get very far with the second board last time I tried it with the ROM/RAM board - it didn't like my video RAM, but I now have more known-good chips so I'll give it another try soon. It's in generally better condition (the edge connectors in particular are in much better shape), but could well have some bad sockets too. It was displaying a checkerboard pattern when I bought it, which I'd heard was a sign of bad video RAM, so maybe it was the sockets and not the RAM. The first board had symptoms of a bad character ROM, so the checkerboard was a good sign I'd at least get a good character ROM from that machine.

Am I right in thinking that the video RAM is used for more than just displaying video?

John

KC9UDX
February 18th, 2016, 04:59 AM
That's an awful lot of RVS on the garbage screen; I wonder what causes that.

Video RAM is only used for video.

JHawk
February 18th, 2016, 05:24 AM
That's an awful lot of RVS on the garbage screen; I wonder what causes that.

It is, isn't it? I had taken two pictures, just had a look at the other one which was on BASIC 1 and it has a similar amount of RVS.

I found that when I got to the bottom of the screen, it would invert at least some of the text on the screen. When I poked spaces into approximately the first half of the screen, they were black to begin with but would get inverted when I reached the bottom. I doubt that this is normal behaviour. I didn't have the keyboard connected when the screen was coming up more normally, so I don't know if it was doing the same then.

I'll replace the video RAM sockets later and run it with the keyboard connected and see if that improves things.

Thanks,

John

dabone
February 18th, 2016, 05:32 AM
I've ran my 6550 pet with a ram/rom board just fine, but I also removed all the ram/roms. It reduces the load on the power supply alot, and keeps bad chips from loading down the bus.

I'd yank all the chips, and then test.

Later,
dabone

JHawk
February 18th, 2016, 05:54 AM
I've ran my 6550 pet with a ram/rom board just fine, but I also removed all the ram/roms. It reduces the load on the power supply alot, and keeps bad chips from loading down the bus.

I'd yank all the chips, and then test.


Yes, the main RAM has been out the whole time since I got the ROM/RAM board, and the ROMs were out until I put them back in to see if they actually worked and since I wasn't sure that the ROM/RAM board's ROM image was good (my EPROM programmer is out on loan). I noticed a couple of the ROMs get a little warmer than others - not shorted RAM kind of hot, but more like I'd expect from a running CPU. Not sure how normal that is - I don't usually test the temperature of ROMs but I thought they ran cool.

Thanks,

John

KC9UDX
February 18th, 2016, 06:27 AM
I found that when I got to the bottom of the screen, it would invert at least some of the text on the screen. When I poked spaces into approximately the first half of the screen, they were black to begin with but would get inverted when I reached the bottom.

That would indicate a stuck bit 7 at or near the video RAM.

The amount of reversed characters on the garbage screen usually indicates a stuck line in the video section; but you clearly don't have that because the system text is not reversed. Very strange, unless the CLR routine is erroneously putting the characters there; then all bets are off.

JHawk
February 18th, 2016, 12:07 PM
I replaced both video RAM sockets. On first startup, I got the garbage screen again but every other time I've got a black screen with the correct message and the same asterisk as before. I found if I go to the very first character of the screen, the asterisk also flashes with the cursor, and if I change the first asterisk, it is mirrored there. It is on the 13th row, 33rd character or (12 * 40) + 33 = 512 + 1, so it looks like a logic error somewhere causing the first character to get mirrored there.

I can now scroll off the bottom of the screen without any large blocks of characters being inverted, but I sometimes get a few individual inverted spaces displayed. These then scroll up the screen if I press return.

My CLR key seems to need a clean, but it does clear the screen if I press firmly.

John