Strange behaviour

By Eugeny_Brychkov

Paragon (1232)

Eugeny_Brychkov さんの画像

31-03-2010, 00:09

Hi all, I am trying to repair cf2700. Need to say from the beginning that schematic is little different from that one available at HansO site.

The problem is that after reset channel A of 8255 (seems to be) in wrong state (not in output state), each of port A wires has 1 volt. As a consequence, main ROM chip does not get /CS signal at all, thus machine can not properly start.

I also have good cf2700, and it behaves in normal way - just after reset port A gets high state, selecting slot 0 for whole memory space.

I have replaced 8255, removed LS153 which goes just after port A on the schematic (in order to see if its inputs may corrupt signal). ROM image is ok.

What's wrong with bad one? /CS is always low, data clocks, /WR and /RD are always high.
Did I miss anything?

Thanks.

ログイン/登録して投稿

By flyguille

Prophet (3031)

flyguille さんの画像

31-03-2010, 02:08

and what is the lecture of the /RESET of 8255?

And what is goin on about /CLOCK /RESET of z80?

By Eugeny_Brychkov

Paragon (1232)

Eugeny_Brychkov さんの画像

31-03-2010, 02:14

They are fine as expected: 8255 reset is low, CPU is high, CLOCK is ok. Manual reset does not make difference from power up/down procedure.

By flyguille

Prophet (3031)

flyguille さんの画像

31-03-2010, 03:50

If I remember correctly 8255 is not responsible for setting all PAGEs SELECTORs in LOW state to selecting SLOT 0 all the map.

The 8255 when starts, has not the A register in OUTPUT mode, all A B C are input mode (avoiding short circuits). Just when the BIOS do the "out &AB, xx" to set the three channels correctly modes A = output B= input C= output.

the output of the channel A is going to a *TTL selector gate*... that according to cpu's A14 + A15 lines it switch what is outputing, is to say, what pair of 8255's channel A outputs is being showed to other TTL, and that other TTL is a *TTL decoder* that converts the 00 01 10 11 binary numbers to the corresponding SLT0 SLT1 SLT2 SLT3 lines. Now this before the "out &hAB,xx" event, is jammed! somewhere.

Now , all these TTL system, outputs always 00, so only SLT0 is activated always, UNTIL the convination WR/ plus CS/ of the 8255 line IS activated. That is because the FIRST out that the BIOS does! is to SET channel A of the 8255 as OUTPUT, so, just after that, the channel A will really being LISTENED.

What happens?, there is a fews TTL around, that detects the CS/ of the 8255 and the WRITE/ being activated. So, when that EVENT happens, some G1/ G2/ signal in the *TTL selector gate* that was forcing to that TTL to outputs always the binary 00 is released. Is to say, before of that event, this circutry was being forced to outputs always SLT0 regardless of what channel A is doing.

This jammer circuitry also looks for the RESET/ signal, because it needs to do the jamming if you reset it without powering off/on.

So, if SLT0 is not activated, and you already changed the decoder or the selector, check the jammer circuitry.

By RetroTechie

Paragon (1563)

RetroTechie さんの画像

31-03-2010, 04:29

Need to say from the beginning that schematic is little different from that one available at HansO site.
Exactly the page you'd need is missing Crazy Not the 1st time I've seen that in a service manual from Hans Otten site... he did a great job of putting all these docs online, but it's clearly quantity over quality Smile2

(..) after reset channel A of 8255 (seems to be) in wrong state (not in output state)
According to datasheet, this is how it should be (ports in input state after reset).

each of port A wires has 1 volt.
Since they'll probably have pull-ups on them, 1 volt reading would mean: port in output state, with 0 in corresponding bit of port A register. Which could just mean the 8255 was already initialized (ROM code already started) ?

As a consequence, main ROM chip does not get /CS signal at all, thus machine can not properly start.

I also have good cf2700, and it behaves in normal way - just after reset port A gets high state, selecting slot 0 for whole memory space.
PPI port A = primary slot select register. Output pins = what programmer writes to I/O port A8h. All 0's mean slot 0 is selected for all pages. After reset, port is input. When there's pull-ups on these pins, they'd go all 1's = slot 3 selected for all pages. The ROM wouldn't be executed then. To get around this, I think some manipulation is done with the output enables of slot decoder (LS153 ?), these are controlled by a flipflop that goes in one state directly after reset, and returns to 'normal operating mode' after 8255 is initialized. But how this flipflop gets set/reset exactly... dunno Question (see missing schematic, or eg. HB-75P service manual to get an idea)

Did I miss anything?
Makes me wonder: what exactly tells you this machine isn't working? No screen image? No response to CAPS LOCK? Other signs? Have you tried putting an external RAM cartridge in it? (perhaps a RAM chip is broken, machine boots into ROM fine but hangs if it can't find RAM).

By Eugeny_Brychkov

Paragon (1232)

Eugeny_Brychkov さんの画像

31-03-2010, 10:31

Well, problem is solved, thank you for help.

In response:
@Guillermo and Alwin - unfortunately I miss page 46 in the cf2700 manual (there're two pages #45!). I have a logic probe which showed that after reset no /WR happens to PPI; it also showed that there was no access to main ROM at all (its /CS is always high). I also have closely examined 8255's data sheet, and saw that it may not be in output mode after reset.

Yes, it seems I missed /G inputs of LS153; logically after reset they both should be H to have outputs L to select page 0 to start CPU with. And this did not happen for some reason, and as machine is now working it's impossible to know why (do we need it really?)

What I actually did:
(1) replaced 8255 - no result;
(2) removed LS153, unfortunately (or fortunately!) with some green tracks - no result;
(3) discovered that two pins of main ROM's socket (A5 and D4) were not soldered (I wonder how it may happen!) - soldered them;
(4) put LS153 back, wired damaged tracks to the respective IC pins - next power on, and system works...

This again confirms that electronics is a science about contacts (or lack of them).