Keyboard partial failure

If you want to ask questions about how the machine works, peculiar details, the differences between models, here it is !
How to program the oric hardware (VIA, FDC, ...) is also welcome.
User avatar
carlsson
Pilot Officer
Posts: 127
Joined: Thu Jan 12, 2006 11:26 pm
Location: Västerås, Sweden

Post by carlsson »

But my very first attempt last year the machine was "new" from its box and had not been used for a year or even more. Perhaps the 4051 is having intermittent faults, or actually the problem is with the 6522 since the key is echoed on screen right before input freezes. I will have to check but I believe the cursor still flashes.
Anders Carlsson
User avatar
carlsson
Pilot Officer
Posts: 127
Joined: Thu Jan 12, 2006 11:26 pm
Location: Västerås, Sweden

Re:

Post by carlsson »

Five years later, and these are the steps I have taken without success:

1. I swapped keyboard with another, working Oric-1. It made no difference to this machine, and as far as I can remember the other Oric worked with the keyboard from this one.

2. Yesterday I got help to desolder the 6522, put in a socket and a supposedly known good 6522. Just like before, the keyboard works OK for a few minutes, then the handful specific keys cause BASIC to freeze. All other keys would still work as long as I avoid the bad ones.

3. This Oric-1 is fitted with the cassette loading mod, a cap and resistor to one of the legs of the 6522. Could the cause be a bad cap, either this one or somewhere else on the motherboard?

As it works fine in all other respects, and for a short amount of time works even with the bad keys (2, Q, S, ], arrow down IIRC), I would not imagine it to be a CPU or ROM issue. I could try another 6522, or remove the cassette mod. I saw there is a number of service fixes that should be done to the motherboard, of which I doubt any has been performed, but would either of those fixes, cutting traces etc cause this kind of fault?
Anders Carlsson
User avatar
Chema
Game master
Posts: 3013
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Keyboard partial failure

Post by Chema »

You'd get better help from a hardware expert but you mentioned some keys as being defective, or causing the hang. Well S,2,Q,Arrow down, X and ] are all on the same column in the keyboard matrix, so this may be a hint clearly.

The column is selected using the AY chip (http://wiki.defence-force.org/doku.php? ... c_keyboard), so I'd look for a defective AY (maybe trying to play different sounds could reveal a problem there) or in the related circuitry.

I am not sure if a defective AY could freeze the Oric completely, but I guess it can as it is interfaced with the VIA and it is used a lot in by the system (keyboard clicks, reading the keyboard through interrupts....). Also a failing AY would result in no keyboard reading and no clicks at least.

Maybe you can run a program that prints something onscreen in an endless loop (avoiding the faulty chars) and see if the Oric indeed freezes or it is just the keyboard reading which stops responding.

10 PRINT"ACTIVE "
11 GOTO 10

Indeed there is a high possibility of having a bad capacitor. I'd look in the diagrams for those involved in this área and check (don't know how, really) if they are OK. Or maybe simply replacing them.
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: Keyboard partial failure

Post by Godzil »

Chema wrote:You'd get better help from a hardware expert but you mentioned some keys as being defective, or causing the hang. Well S,2,Q,Arrow down, X and ] are all on the same column in the keyboard matrix, so this may be a hint clearly.

The column is selected using the AY chip (http://wiki.defence-force.org/doku.php? ... c_keyboard), so I'd look for a defective AY (maybe trying to play different sounds could reveal a problem there) or in the related circuitry.

I am not sure if a defective AY could freeze the Oric completely, but I guess it can as it is interfaced with the VIA and it is used a lot in by the system (keyboard clicks, reading the keyboard through interrupts....). Also a failing AY would result in no keyboard reading and no clicks at least.

Maybe you can run a program that prints something onscreen in an endless loop (avoiding the faulty chars) and see if the Oric indeed freezes or it is just the keyboard reading which stops responding.

10 PRINT"ACTIVE "
11 GOTO 10

Indeed there is a high possibility of having a bad capacitor. I'd look in the diagrams for those involved in this área and check (don't know how, really) if they are OK. Or maybe simply replacing them.

There is a lot of way to freeze an oric, the problem is that the oric itself may have not frozen, but wait for something from the hardware (like a signal from the keyboard)

The PSG could be faulty, but the way it's wired it should not be able to wreck the memory bus so I suspect that the 6502 is till runningm but waiting for something.

If the PIA is known to be good, there is only two things that need to be checkedm TR2 and the PSG.

It's not an easy test, but I wonder what happen if we disconnect a COLUMN line from the keyboard (or stuck it to high) if the read keyboard function still behave correctly and does not get into an infinite loop...
User avatar
carlsson
Pilot Officer
Posts: 127
Joined: Thu Jan 12, 2006 11:26 pm
Location: Västerås, Sweden

Re: Keyboard partial failure

Post by carlsson »

As I am an average 6502 programmer and have access to both EPROM programmer and chips, I suppose I could both try to burn some existing diagnostic ROM and write my own specific diagnostic, that would somehow continuously output keyboard data without waiting in a polling loop.

I probably should start with looking for dry solder joints around the AY chip, in particular if there is one pin that handles each column?
Anders Carlsson
Godzil
Squad Leader
Posts: 774
Joined: Sat May 21, 2011 7:21 pm
Location: Between UK and France
Contact:

Re: Keyboard partial failure

Post by Godzil »

I don't think there is any existing ROM to test extensively the Oric, but mayby I'm wrong..

What could be usefull is a tool to test all addressable output of the Oric by using a simple LED device that we can plug on each ports.

What you can test is to check all lines that come from the Oric, KBD_COL[0..7] and KBD_ROWAddr[0..2].

If you have a multimeter, just stuck thoses lines to up one after the other, quite slowly, and check that they correctly toggle from High to Low without interfering with the other ones.

Such a test board could be easy to do, but will need some software :D
User avatar
Chema
Game master
Posts: 3013
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Re: Keyboard partial failure

Post by Chema »

If I am not wrong, the AY chip has its IO port (IOA0-7 pins 7-14 http://www.ym2149.com/ay8910.pdf) connected to the keyboard connector. The column that seems wrong is column 5, so when selected you should have IOA5 set to logic '0' and the rest to logic '1'.

http://wiki.defence-force.org/lib/exe/d ... ic1-1s.gif

Though this could surely be tested, I doubt it is easy unless you write an asm routine for this and disable interrupts. However, if the track were cut or making a contact with another line somehow, I guess all you'll see would be that those characters are not read correctly. But your problem is not only that, but the AY seems to respond for a while, then stops. Did you notice if the chip becomes hot after a while?

I still think that the small basic routine will let you know if the Oric is hung or it is only that nothing is read from the keyboard. This is done though interrupts so (unless something is really wrong there) it should not make the rest of the system stop responding. A similar routine but making PINGs for instance could serve to see if the AY is "alive". Maybe the only problem is with the IO port...

You also said that the cursor blinks, which indicates that the Oric is alive and the ISR is working. More points in favour of a frozen AY.

Check the solder joints and the tracks, but if that gives no light, maybe changing the AY if you have one, could be worth it.

Just my two cents ;)
User avatar
carlsson
Pilot Officer
Posts: 127
Joined: Thu Jan 12, 2006 11:26 pm
Location: Västerås, Sweden

Re: Keyboard partial failure

Post by carlsson »

I haven't measured the AY temperature yet, but I will check that as well as the physics around the area. My friend who helped me desolder (heat gun) the 6522 has a bunch of suitable AY chips too, so desoldering that one would be doable. I'll let you know how I proceed.
Anders Carlsson
User avatar
Dbug
Site Admin
Posts: 4437
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Keyboard partial failure

Post by Dbug »

Godzil wrote:I don't think there is any existing ROM to test extensively the Oric, but mayby I'm wrong..
Diagnostic ROM
This is a replacement 16K ROM image to install on an Oric/Atmos mainboard to perform step-by-step test CPU/ULA/DRAM/VIA/PSG and associated circuitry. Includes schematic for optional external ROM/status LEDs/ULA replacement clock source and source code

http://oric.signal11.org.uk/html/diagrom.htm
Post Reply