UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Reply
 
Thread Tools
Old 8th Jan 2018, 6:11 pm   #41
TonyDuell
Nonode
 
Join Date: Jun 2015
Location: Biggin Hill, London, UK.
Posts: 2,497
Default Re: 8085 processor questions

I do quite enjoy tracing out schematics, but only for devices I own. So you will not convnce me to trace out the diagrams for this unit, unless somehow I get one.

As for the microcontrollers. One is in the keyboard, and is clearly for scanning the keyboard and probably providing a serial link to the rest of the unit. It is also not uncommon to have 2 microcontrollers in a printer, basically one to operate the stepper motors (carriage and paper feed) and one to fire the printhead pins/elements, with other functions spread between them. Look at the circuit of the venerable Epson MX80, for example.

I agree a logic analyser would be useful, as I said in another thread I use them a lot. I have no direct experience of the USB units you use with a PC, but I have indirect experience in that I have been helping a friend in another country debug an early personal computer (HP9830, bit serial processor built from TTL) and that's what he used. It was certainly adequate for that and he knew how to use it to capture the signals I needed to see.
TonyDuell is online now   Reply With Quote
Old 8th Jan 2018, 7:59 pm   #42
Sean Williams
Dekatron
 
Sean Williams's Avatar
 
Join Date: Feb 2005
Location: St.Ippolyts, Hitchin, Hertfordshire QRA IO91UW
Posts: 3,150
Default Re: 8085 processor questions

Thanks Roger,

I have attempted to remove various cards in order to isolate the faulty section - I will try this again and take some notes of my findings - in all permutations, there is not ever a situation where the screen displays sensible text, just differing quantities of rubbish.

I am currently rebuilding the power supply with new electrolytics - reasoning that a noisy SMPSU will not help the processors lead a happy life.

I am in touch with the owner of Kelvedon Hatch Nuclear Bunker, who has at least three of these machines, although I am unsure if any of them work - if one of them is functional, I will see if I can substitute my boards to try to narrow down the problem one.

It is somewhat frustrating - I bought the machine from it's original owner, who used the machine right until the Telex network closed in the UK.

I have to say the thought of drawing out the circuit does not fill me with glee.

I am sure having a logic analyser would be helpful, but only if i knew what I was doing with one


Cheers
Sean
__________________
Engineers make things work and have spare bits when finished
Sean Williams is offline   Reply With Quote
Old 8th Jan 2018, 8:04 pm   #43
Sean Williams
Dekatron
 
Sean Williams's Avatar
 
Join Date: Feb 2005
Location: St.Ippolyts, Hitchin, Hertfordshire QRA IO91UW
Posts: 3,150
Default Re: 8085 processor questions

Hi Tony,

It is certainly a challenge.

I have the German manual for an almost identical machine, and it has explanations of operation within, sadly no schematics. I will translate some of the sections, and see if the theory of operation helps point me in the right direction.

I had reasoned that the various microcontrollers in each section would have defined tasks, that would not mean a total system wide failure - perhaps I am hoping too much.
__________________
Engineers make things work and have spare bits when finished
Sean Williams is offline   Reply With Quote
Old 8th Jan 2018, 11:33 pm   #44
cmjones01
Octode
 
Join Date: Oct 2008
Location: Warsaw, Poland and Cambridge, UK
Posts: 1,779
Default Re: 8085 processor questions

It does seem like a fearsomely complex design to do a really rather simple job! Drawing out the circuit would be a pain, but probably not necessary. This is how I'd tackle it if it was on my workbench. Most microprocessor systems of this era are very similar, so there are some general principles to apply. I do this a lot with arcade games of a similar vintage.

Check 8085 reset signal and clock oscillator. Reset signals are often generated using cheap electrolytics that dry up.
Check ALE and R/W signals are active
Check that all address and data bus lines are in sensible states at the CPU and not stuck.
Get some idea of the memory map. An 8085 will have ROM at address 0 upwards, I think, but other things (RAM, video and so on) could be anywhere. Address decoding usually involves a 74LS138 somewhere! Check that the signals on its pins are making sense.
Check that the ROM is getting enabled for at least a few clock cycles after reset.
See if anything is trying to access the RAM - do its chip select lines ever go active?
Is the reset signal pulsing? If so, there might be a watchdog timer firing. Find out what should reset the watchdog timer - there will be a flipflop somewhere triggered by access to a particular address.
See if the processor is stuck in a tight loop. It should be possible to spot this on a scope by looking at the address bus. Looking at the state of the address lines will show where it's getting instructions from. Is that within the ROM address range?
Check any bus buffers (74LS245 is a popular choice) and make sure their inputs and outputs are consistent some of them are bidirectional.
The 8085 has a multiplexed address/data bus. Find the address latch (probably a 74LS374 or similar) and see if it's behaving itself.
A quick-and-dirty method of checking RAM is to simply piggyback another chip on top of each one. This isn't 100% reliable but if it makes a difference, you know you've found a problem. In the case of this board with its 1-bit RAM chips, I might be tempted to remove them all and wire in a 6116 or similar to get it going and eliminate RAM from the equation. Spare ROM sockets can be handy for this - most of the pinout is the same.
Pull out the ROM(s) and read them on an EPROM programmer. Do they look sane? Can you read any text in there? Even bizarre non-ASCII devices seem to often use ASCII text internally. Disassemble the first few bytes. Where does it jump to?
These tests can give you a clue as to what's going on. Note that none of them use a logic analyser. My weapon of choice for this is a decent analogue scope, though a modern digital one that's good for troubleshooting would be even better. A bad digital scope will just be misleading.

I don't know if any if this helps, but if I had the machine in front of me I'm sure we could get some life out of it!

Chris
__________________
What's going on in the workshop? http://martin-jones.com/
cmjones01 is online now   Reply With Quote
Old 9th Jan 2018, 7:12 pm   #45
Sean Williams
Dekatron
 
Sean Williams's Avatar
 
Join Date: Feb 2005
Location: St.Ippolyts, Hitchin, Hertfordshire QRA IO91UW
Posts: 3,150
Default Re: 8085 processor questions

Quote:
Originally Posted by cmjones01 View Post
Check 8085 reset signal and clock oscillator. Reset signals are often generated using cheap electrolytics that dry up.
Ok, the oscillator for the 8085 is running - Will take another look at the reset line, however, I am getting a green status LED on the processor board, so I think this is a good thing


Check ALE and R/W signals are active

I am a little thick in this area, Analogue stuff I know, but digital is a new thing to me.
Check that all address and data bus lines are in sensible states at the CPU and not stuck.

As above
Get some idea of the memory map. An 8085 will have ROM at address 0 upwards, I think, but other things (RAM, video and so on) could be anywhere. Address decoding usually involves a 74LS138 somewhere! Check that the signals on its pins are making sense.

Lost me completely
Check that the ROM is getting enabled for at least a few clock cycles after reset.

Drowning now


See if anything is trying to access the RAM - do its chip select lines ever go active?

Will try to get a screenshot of the RAM pins - there is something going on there, quite what it is I do not know

Is the reset signal pulsing? If so, there might be a watchdog timer firing. Find out what should reset the watchdog timer - there will be a flipflop somewhere triggered by access to a particular address.

From memory the reset line is staying high - will report back on this
See if the processor is stuck in a tight loop. It should be possible to spot this on a scope by looking at the address bus. Looking at the state of the address lines will show where it's getting instructions from. Is that within the ROM address range?

Sorry, lost me again

Check any bus buffers (74LS245 is a popular choice) and make sure their inputs and outputs are consistent some of them are bidirectional.
The 8085 has a multiplexed address/data bus. Find the address latch (probably a 74LS374 or similar) and see if it's behaving itself.

I bow to your superior knowledge - I wouldnt know if a multilegged fuse was behaving itself or otherwise
A quick-and-dirty method of checking RAM is to simply piggyback another chip on top of each one. This isn't 100% reliable but if it makes a difference, you know you've found a problem. In the case of this board with its 1-bit RAM chips, I might be tempted to remove them all and wire in a 6116 or similar to get it going and eliminate RAM from the equation. Spare ROM sockets can be handy for this - most of the pinout is the same.

Okay, I will look out for some suitable RAM just in case


Pull out the ROM(s) and read them on an EPROM programmer. Do they look sane? Can you read any text in there? Even bizarre non-ASCII devices seem to often use ASCII text internally. Disassemble the first few bytes. Where does it jump to?

II have some access to an EPROM programmer, I will see if I can read the chips - otherwise a bit lost with disassembly.


These tests can give you a clue as to what's going on. Note that none of them use a logic analyser. My weapon of choice for this is a decent analogue scope, though a modern digital one that's good for troubleshooting would be even better. A bad digital scope will just be misleading.

I have a Tek 465, and a logic probe, does this qualify?

I don't know if any if this helps, but if I had the machine in front of me I'm sure we could get some life out of it!

Was this a veiled offer?
Thanks Chris, see my responses in blue
__________________
Engineers make things work and have spare bits when finished
Sean Williams is offline   Reply With Quote
Old 9th Jan 2018, 7:43 pm   #46
TonyDuell
Nonode
 
Join Date: Jun 2015
Location: Biggin Hill, London, UK.
Posts: 2,497
Default Re: 8085 processor questions

If you can get a dump of the EPROMs then there are a few 'sanity tests' that I apply by eye (by reading the hex dump)

1) Do all data bits appear both in the '0' and '1' state. That is, can you find bytes in the dump where bit 0 is a 0, some where it is a 1, then some where bit 1 is a 0 and others where it's a 1, etc. ROMs used for logic functons (such as address decoders) might fail this, but I have yet to see a firmware ROM for a microprocessor where one bit is always in the same state

2) Do all address inputs 'do something'. That is make sure the 2 halves of the ROM are not identical (meaning the highest address input has no effect), then for each half, make sure that the 2 halves of that are not identcal (meaning that the next highest address input has no effect) right down to odd and even bytes always being identical.

These 2 tests will obviously not find random bit errors. But they will pick up the (suprisingly common) faults of a failure of the address decoder or data circuits (or their bond-out wires to the package pins).

The problem with troubleshooting without a circuit diagram is that you can quickly get lost. For example, you find the processor is sitting in a tight loop of 4 or 5 instuctions. Disassembling that bit of code you see it is waiting for one bit of an I/O port to be set. But what is the I/O port? What does that bit mean? Is it that some device has not been initialised correctly due to problems elsewhere. Or a device has failed. Or something unrelated?

By the time you have figured that out you have probably spend as much time as it would take to reverse-engineer the circuit diagram. In general doing that becomes easier if there are many large-ish ICs (provided you know what they are!) like microprocessors, USARTs, etc. The reason is that such devices can only be used in one way and will enable you to find address and data buses, etc. Worse are machines built from boards of TTL (a NAND gate can be used in many ways!) and worse still are discrete transistor machines (a transistor could be used for _anything_). I've done the lot, so it is possible!

Since you have a logic probe and can get data sheets for the ICs (I assume), I would start by making sure all the following signals are pulsing -- that is not always high or low:

On the 8085 CPU:
ALE
AD0 -- AD7
A8 -- A15
RD/

It would be interesting to see if WR/ is also not always high (if it's always low you have a problem!) but it may not indicate a fault if it is.

On the EPROM(s)
All address pins
D0-D7
CS/ and OE/ If there are multiple firmware EPROMs then it's possible only one is selected so CS/ may be high all the time on some of them, but at least one should be being enabled.
TonyDuell is online now   Reply With Quote
Old 9th Jan 2018, 7:49 pm   #47
Sean Williams
Dekatron
 
Sean Williams's Avatar
 
Join Date: Feb 2005
Location: St.Ippolyts, Hitchin, Hertfordshire QRA IO91UW
Posts: 3,150
Default Re: 8085 processor questions

Thanks Tony, Probably going to be the weekend before I get any further on this - lots of stuff to tax the grey matter here!
__________________
Engineers make things work and have spare bits when finished
Sean Williams is offline   Reply With Quote
Old 10th Jan 2018, 2:41 pm   #48
Duke_Nukem
Octode
 
Duke_Nukem's Avatar
 
Join Date: Jan 2003
Location: Birmingham, West Midlands, UK.
Posts: 1,123
Default Re: 8085 processor questions

Just a thought, if you have a ROM burner try burning a test ROM with a simple program in it. IIRC you claim not to be a programmer, but a rom with a single op that just went jmp-to-the-start would mean you would expect to see first couple of address lines wiggling whilst the others should not. Knowing that would mean the basics of a working processor were there. Insert a second instruction that reads or writes a specific location and you can then test that.

If nothing else fill a ROM with NOP instructions (0x90 hex), you should then at least see consistant signals on the address line as the processor walks through the ROM.

TTFN,
Jon
Duke_Nukem is offline   Reply With Quote
Old 10th Jan 2018, 3:16 pm   #49
merlinmaxwell
Dekatron
 
merlinmaxwell's Avatar
 
Join Date: Jul 2008
Location: Maidenhead, Berkshire, UK.
Posts: 7,502
Default Re: 8085 processor questions

Quote:
If nothing else fill a ROM with NOP instructions (0x90 hex), you should then at least see consistant signals on the address line as the processor walks through the ROM.
Would the same happen without the rom?
__________________
Cats have staff, it's dogs that have owners.
merlinmaxwell is offline   Reply With Quote
Old 10th Jan 2018, 3:21 pm   #50
julie_m
Dekatron
 
Join Date: May 2008
Location: Derby, UK.
Posts: 6,674
Default Re: 8085 processor questions

With no ROM fitted, the processor would read all data lines as 1. Not sure what instruction FF represents on the 8085 .....
__________________
Julie {formerly known AJS_Derby}
julie_m is online now   Reply With Quote
Old 10th Jan 2018, 5:02 pm   #51
SiriusHardware
Octode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 1,887
Default Re: 8085 processor questions

Quote:
Originally Posted by Duke_Nukem View Post
If nothing else fill a ROM with NOP instructions (0x90 hex), you should then at least see consistant signals on the address line as the processor walks through the ROM.
Not too sure about that value, DN - I thought NOP in 8085 and Z80 was 0x00?

I would, also, make the third last byte in the eprom 0xC3 so that the last three bytes at the top end are C3 00 00, meaning, 'Jump back to address 0000'.

If you don't do that the processor will run through the NOPs in the EPROM just once and then hurtle off out of control as it starts executing whatever jumps and conditional jumps it finds in the random content of the RAM.

However, using the NOP + Jump to zero trick in an EPROM will limit the range of addresses being scanned through to whatever area is occupied by the EPROM and still won't be a good test for the upper address lines.

To do that you'd need to add something which forces '00' (NOP) to be read by the CPU no matter what address is being accessed. You could do that by wiring a buffer (74LS244? 74LS245?) with all its outputs to the data lines, all its inputs held low and its enable pin enabled by combining _RD and _MREQ. Every other memory mapped device (such as Memory / Peripheral ICs) with their data pins sitting on D0-D7 would have to be removed for this test otherwise they would clash with the 'NOP' buffer as the address ran through their activation address range.

For a cruder version of the above, just take a DIL socket of the appropriate size and fit lowish value resistors (100R, say) from each data line to ground and plug it into the EPROM socket. As above, you'd have to remove every other memory mapped device from the data bus to stop them from activating and (potentially) placing unwanted data on the bus.
SiriusHardware is offline   Reply With Quote
Old 10th Jan 2018, 7:22 pm   #52
TonyDuell
Nonode
 
Join Date: Jun 2015
Location: Biggin Hill, London, UK.
Posts: 2,497
Default Re: 8085 processor questions

0xFF is on of the RST (Restart) instructions, basically a 1-byte subroutine call to a subroutine starting at 0x38.

Forcing that on the bus is a useful test in that the processor will keep on pushing 0x39, 0x00 (the return address, low byte first) onto the stack. It will do this throughout memory, so if the video system is memory-mapped (which I would think it is), it will fill it with a repeated 2 byte pattern. 0x39 probably displays as '9' (I am assuming ASCII), 0x00 could be anything. This was actually a suggested test in the technical manual of the TRS-80 Model 1 -- pull the ROMs and see if you got the expected pattern on the display.

And of course after the first 0xFF, all subsequent ones are fetched from address 0x0038 (the start of the 'subroutine'). So provided that address is in the ROM area, it doesn't matter what other devices are on the bus (provided the address decoder is working properly) as they will never be addressed to provide an instruction.
TonyDuell is online now   Reply With Quote
Old 10th Jan 2018, 8:38 pm   #53
cmjones01
Octode
 
Join Date: Oct 2008
Location: Warsaw, Poland and Cambridge, UK
Posts: 1,779
Default Re: 8085 processor questions

Quote:
Originally Posted by Sean Williams View Post
I have a Tek 465, and a logic probe, does this qualify
Yes, a 465 is definitely a good scope!
Quote:
Originally Posted by Sean Williams View Post
Quote:
Originally Posted by cmjones01 View Post
I don't know if any if this helps, but if I had the machine in front of me I'm sure we could get some life out of it!
Was this a veiled offer?
Well, sort of a wistful way of saying I'm really curious as to what's wrong with it and would like to see it work, but I'm a thousand miles away so I can only really help by posting on the forum...

Chris
__________________
What's going on in the workshop? http://martin-jones.com/
cmjones01 is online now   Reply With Quote
Old 10th Jan 2018, 8:44 pm   #54
Sean Williams
Dekatron
 
Sean Williams's Avatar
 
Join Date: Feb 2005
Location: St.Ippolyts, Hitchin, Hertfordshire QRA IO91UW
Posts: 3,150
Default Re: 8085 processor questions

Thanks everyone - there's a lot here that I have little understanding of!

Bear with me, and I will try to get my head around it.

In the meantime, I am going back to basics - I have ordered a load of new electrolytics for the power supply, and will also replace any that are lurking elsewhere - I think 35+ years is asking a lot of these components.

Chris, Ah, ok , more Warsaw than Cambridge then The machine is a bit heavy for hand luggage

Power supply parts are at the post office, so hopefully I can get that part finished off Friday evening, then carry out some of the testing that has been suggested.

Really appreciate all the trouble everyone is going to.
Sean
__________________
Engineers make things work and have spare bits when finished
Sean Williams is offline   Reply With Quote
Old 10th Jan 2018, 9:26 pm   #55
Duke_Nukem
Octode
 
Duke_Nukem's Avatar
 
Join Date: Jan 2003
Location: Birmingham, West Midlands, UK.
Posts: 1,123
Default Re: 8085 processor questions

Quote:
Originally Posted by SiriusHardware View Post
Quote:
Originally Posted by Duke_Nukem View Post
If nothing else fill a ROM with NOP instructions (0x90 hex), you should then at least see consistant signals on the address line as the processor walks through the ROM.
Not too sure about that value, DN - I thought NOP in 8085 and Z80 was 0x00?

I would, also, make the third last byte in the eprom 0xC3 so that the last three bytes at the top end are C3 00 00, meaning, 'Jump back to address 0000'.
You are right, it is 0x00 for NOP ! Funny thing, I was typing whilst whilst waiting for a course to restart after lunch so I was sat there in a room with 7 other programmers, it was someone else that looked up the value (my google searches gave plenty of hints telling me what NOP was but not the op-code). (The young-uns were looking up "what's an 8085" and "what's an opcode" ).

Anyhow, writing minimal programs that loop while doing one specific thing is a way to tackle tracking down whats working or not.

TTFN,
Jon
Duke_Nukem is offline   Reply With Quote
Old 10th Jan 2018, 10:39 pm   #56
SiriusHardware
Octode
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 1,887
Default Re: 8085 processor questions

Here is the original 8085 family databook, courtesy of bitsavers. I actually have a real copy of this very book (somewhere).

http://www.bitsavers.org/components/...nual_Jan83.pdf
SiriusHardware is offline   Reply With Quote
Old 14th Jan 2018, 3:23 pm   #57
Sean Williams
Dekatron
 
Sean Williams's Avatar
 
Join Date: Feb 2005
Location: St.Ippolyts, Hitchin, Hertfordshire QRA IO91UW
Posts: 3,150
Default Re: 8085 processor questions

I've had a couple of minutes to hang a scope on the RAM, the video shows what happens when I press the CPU reset button.

Looks to me like the processor is at least partly functional.

https://youtu.be/OLi1JKgBc7Q
__________________
Engineers make things work and have spare bits when finished
Sean Williams is offline   Reply With Quote
Old 19th Feb 2018, 11:08 am   #58
wireless_john
Hexode
 
wireless_john's Avatar
 
Join Date: Apr 2011
Location: Gosport, Hampshire, UK.
Posts: 297
Default Re: 8085 processor questions

I too think running warm / even hot is not necessarily indicative of a fault. I seem to remember the bus controller in an 8080A system used to run so hot you'd think something was wrong with it but it seemed to be the norm!
__________________
GQRP Club 4704 - BVWS Member - @john104433
wireless_john is offline   Reply With Quote
Old 21st Feb 2018, 1:02 pm   #59
Maarten
Octode
 
Join Date: Dec 2007
Location: Haarlem, Netherlands
Posts: 1,804
Default Re: 8085 processor questions

0x90 is NOP in the x86 architecture. Never know why they didn't just choose 0x00 or 0xFF.
Maarten is online now   Reply With Quote
Old 21st Feb 2018, 3:56 pm   #60
julie_m
Dekatron
 
Join Date: May 2008
Location: Derby, UK.
Posts: 6,674
Default Re: 8085 processor questions

00 or FF as NOP looks nice for humans, but might make the instruction-decoding logic more complicated.
__________________
Julie {formerly known AJS_Derby}
julie_m is online now   Reply With Quote
Reply

Thread Tools



All times are GMT +1. The time now is 11:24 am.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


Powered by vBulletin®
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Copyright ©2002 - 2018, Paul Stenning.