7MHz MSX Upgrade - Trouble Shooting

Page 3/5
1 | 2 | | 4 | 5

By Colemu

Hero (535)

Colemu's picture

13-01-2013, 15:26

Daemos wrote:

Never lower voltage by just putting a resistor inbetween. You are creating a lot of current in that resistor right now.
Always make a voltage divider of some kind.

like 5V-------\/\/\/\/----------2,5V
                2 ohm     |
                            |
                          1 ohm
                            |
                         -----
                           --

What are the consequences of not using a voltage divider?

By Daemos

Paragon (1952)

Daemos's picture

13-01-2013, 15:40

I am not a digital electronics expert but I guess the same applies that you may gently blow up the output of any IC that is driving that voltage. Some IC's tend not to like it if you use a simple resistor to limit voltages. The resistor itself will produce heat because your energy must go somewhere. That resistor may fry over time.

I may be overprecautious and overdoing things but a voltage divider is always the safest solution if you want to lower any voltages.

How much have you lowered your voltage by this approach?

By Colemu

Hero (535)

Colemu's picture

13-01-2013, 16:12

I just measured and the difference in voltage and it's miniscule,

however, it has reduced the current from 17mA to 3mA. It must have been this that was too high, rather than the voltage

Anyway, I have descided to take a different approach to avoid any risks. Instead of connecting directly to /SLT30 on PIN12 of SN74LS32N, I have connected the free diode to PIN11 as this is the output of the Logic Gate.

Works without any resistor at all. I'll test for the rest of today to see if it lasts, if not I'll revert back to the original solution.

By Daemos

Paragon (1952)

Daemos's picture

13-01-2013, 16:38

good idea. It can mean that there has allready been too much current on a certain component for some time. This explains why the problems would come after some time. Heating up takes time. You have come off lucky I guess.

By Colemu

Hero (535)

Colemu's picture

13-01-2013, 18:14

That didn't work Daemos. I have therefore gone back to PIN12.

I did the following:
Attach a 220 ohm resistor to PIN12, 820 ohm resistor to PIN7(ground), then soldered the other ends together. I then attached the free diode on the Turbo PCB to that joint.

It seems to be working fine, is this the correct way to make a voltage divider? Question

By Daemos

Paragon (1952)

Daemos's picture

13-01-2013, 19:30

not completely... wait a second. Is this some kind of logic signal you are tapping off some kind of block pulse?

If the awnser to that question is yes. Then I know your problem Smile Your resistor is now acting as a pull down resistor and thats solving the problem. Try connecting the IC's the normal way but tie an extra resistor to GND try 1K.

So Pin12 directly to the free diode? and also a resistor from pin 12 to ground, use that 820 ohm you have.

Most propably there is not enough (stupid explanation sorry) force to pull the signal to ground and this is your way of doing it.

By Colemu

Hero (535)

Colemu's picture

13-01-2013, 20:24

Thanks mate, I'll keep this solution in mind if the current one fails.
However, the configuration (mentioned in my previous post) is working perfectly (1hours 40minutes and counting).

Nothings getting 'hot' either Smile

The connection to the diode is between the two resistors at present, works like a charm:
IC PIN12 - 220R ohm - (connection to Diode) - 820R ohm - ground

Would there be any 'risk' in leaving the current config?

BTW: the Turbo unit reverts back to 3.58MHz when any of the diodes are earthed (this connection is intended to earth the diode when floppy drive is active....)

Update: tried it mate but doesn't work, will revert back to config mentioned above

By Daemos

Paragon (1952)

Daemos's picture

13-01-2013, 20:28

If nothing runs hot then its good. Remember that the diode also counts as a very small resistor. Your 820 to ground has done the trick which means you simply needed a pull down resistor to stabilise the output from your IC. Your voltage should not be dropping with your current config but 0 volts stays 0 volts and that is very important.

I had a horrible headache with such outputs in my life. If you get wierd results in logic it is sometimes wise to start thinking about pull up and pull down resistors.

Just try to keep the 220R out and see if your machine stays stable. Don't cut it out, just wire it through if you can. If your machine stays working perfectly it is a 100% insurance that this is a pull down resistor story and you won't have to worry about that part any longer Wink

By Colemu

Hero (535)

Colemu's picture

13-01-2013, 21:01

Thanks very much for your help Daemos, got me over the final hurdle and kept me form killing my MSX!

Another one on my Christmas list Wink

By RetroTechie

Paragon (1563)

RetroTechie's picture

14-01-2013, 10:10

Please forget all this nonsense about a voltage divider! It may be needed when an input voltage exceeds the supply voltage of the receiving IC. Here S1985 output, IC13 and Z8581 (on the 7 MHz board) all operate on the same supply, what their inputs take & put out is all in 0-5V range (TTL levels to be exact). Electrically speaking, as long as you don't connect more than 1 output, direct connections are safe.

The 7 MHz circuit adds an 68K pull-up resistor, which is relatively weak so no problem. Then a series diode, which is also okay. And a 560 pF capacitor, which (I think) causes what Colin is seeing.

When that capacitor is charged to +5V (MSX running @ 7 MHz), and the /SLT30 pin goes from high to low, the capacitor is discharged by the S1985 output pin. Which takes time. When we assume that output pin as an ideal voltage source with ~50 Ω output impedance (rough approximation for a 74HC-like output), this causes a delay in the order of 30 ns. Read: /SLT30 goes low ~30 ns later than it would have without that capacitor connected. In the other direction (low -> high), the diode blocks and the capacitor is effectively disconnected from the S1985 pin.

So this messes up /CS timing for the ROM chip, which might be a problem. At the same time, it takes ~30 ns off the access time for the ROM, which is already halved since the machine ran at double clock speed. I suspect that this is the root cause of the problem: the ROM is simply too slow. You did read those generic instructions about replacing slow ROM or RAM chips with faster ones if needed, did you Colin? Wink

What this series resistor does is disconnect that capacitor to some degree. So /SLT30 goes low as fast as before, and 7 MHz diode input goes low a little later than it otherwise would. Which apparently works. Therefore easiest fix: a single series resistor, lowest value (safer: a little higher than that) which lets disk I/O work reliable with 7 MHz active. Better yet: replace the ROM with a faster EPROM (eg. ~100 ns part). Unless you have an EPROM programmer yourself & know how to rewire the IC socket, I'd skip that. Also removing that 560 pF capacitor is not an option.

Oh, last bit: with /SLT30 on a diode input, you should be able to disconnect floppy controller /CS signal from other diode input. In fact I'd recommend that, especially for testing (just try software that doesn't need the floppy after it's loaded, load it @ 3.58 MHz, when loaded switch to 7 MHz, play game & see if machine does anything weird).

Page 3/5
1 | 2 | | 4 | 5