Fix your OCM

Fix your OCM

by KdL on 19-08-2020, 17:37
Topic: Hardware
Languages:

Thanks to the help of HRA! KdL have finally fixed a new hardware bug affecting all 1chipMSX, Zemmix Neo, SX-1, SM-X and related machines produced to date.

In the last few months MRC power user KdL had received some reports from ToughkidCST and Marcel Delorme explaining the presence of anomalies with the combination of some external cartridges.
Two days ago KdL had discovered how to reactivate those cartridges but only today he had confirmation of this discovery from the investigations of HRA!

BUSDIR_n patch is not for Minime OCM as this machine only got one cartrisge slot.

THE ISSUE:

  • In OCM machines we have a short circuit between pin-10 (BUSDIR_n) of the two external slots that continues towards the FPGA. This type of connection confuses some cartridges.
  • While the Panasonic FS-A1GT and Canon V-20 service manuals confirmed that the BUSDIR signal is not used.

THE FIX:

  • Pin-10 (BUSDIR_n) of the external slots must be isolated.

HOW TO DO:

  • Method 1 - Cut the track that connects pin-10 of Slot-1 and Slot-2 leaving unchanged the connection to the FPGA already internally isolated by the firmware.
  • Method 2 - Desolder pin-10 of slot-2 from the PCB and insulate it with the sheath of an electric wire and a drop of hot glue.
  • Method 3 - Place non conducting tape over pin 10 of those cartridges that are not working properly, such as MoonSound and Darky. Check this example.

We hope you enjoy this new solution and have fun with your devices.

Comments (55)

By msd

Paragon (1400)

msd's picture

20-08-2020, 12:40

Finally. Don't need to use a slot-expander any more Wink

By gdx

Prophet (3749)

gdx's picture

20-08-2020, 13:11

I noticed the same problem on some slot expanders.

PS: I do not recommend the method 3.

By msd

Paragon (1400)

msd's picture

20-08-2020, 13:50

@gdx, why not?

By Robosoft

Expert (81)

Robosoft's picture

20-08-2020, 13:52

Thanx!
Maybe this explaines why my Nowind doesn’t work on my OCM.

By msd

Paragon (1400)

msd's picture

20-08-2020, 14:00

@robotsoft. If you had an error, can't find the nowind it is possible.. but there are more failures possible of course Wink

By Robosoft

Expert (81)

Robosoft's picture

20-08-2020, 14:18

The OCM doesn’t boot at all with Nowind inserted.
The nowind works fine in my Turbo-r and even in my Sony HBF500P.

By Parn

Hero (607)

Parn's picture

20-08-2020, 14:28

If that electrical tape gets loose inside the cartridge slot... Let's say it's not good. I don't think it's a good idea to suggest that course of action.

By msd

Paragon (1400)

msd's picture

20-08-2020, 14:40

electrical tape? it is just an isolator, if it gets lose in your slot you need to remove it, that is it Tongue

By msd

Paragon (1400)

msd's picture

20-08-2020, 14:51

I see the post could be .. place non conducting tape over pin 10 .

By gdx

Prophet (3749)

gdx's picture

20-08-2020, 15:13

msd@ To avoid having a tape stuck in the slot contacts.

By Meits

Scribe (6003)

Meits's picture

20-08-2020, 15:15

How does the moonsound not work in unmodified state?

Edit: I thought I had it working in the past, but checking the video it was ocm with dalsori 1. It plays, be it very unstable in tempo.

By hamlet

Scribe (3233)

hamlet's picture

20-08-2020, 15:37

msd wrote:

I see the post could be .. place non conducting tape over pin 10 .

Thanks, I'd fixed it.

By Briqunullus

Master (176)

Briqunullus's picture

20-08-2020, 15:49

The unfixed sentence can still be read a few lines up. Method 3 is also mentioned with 'the fix'. oO

By hamlet

Scribe (3233)

hamlet's picture

20-08-2020, 15:56

That seems to be a c&paster. Fixed. Thx.

By ToriHino

Hero (587)

ToriHino's picture

20-08-2020, 17:50

gdx wrote:

I noticed the same problem on some slot expanders.

PS: I do not recommend the method 3.

You mean also when used on a 'regular' MSX?

I see strange behavior when combining my slotexpander with GR8NET in the other primary slot. Combined with f.e. the MFR it works fine, so until now i suspected the GR8NET. Can this be the same problem?

By gdx

Prophet (3749)

gdx's picture

20-08-2020, 18:26

Real MSX or not, problem is same when BUSDIR of all slot are short circuited on the slot expanders, but fortunately it does not seem common.

By ducasp

Champion (368)

ducasp's picture

20-08-2020, 18:31

Is that really an issue with the devices? If I'm not mistaken busdir should be Z (high impedance) or gnd, so having them all connected wouldn't be a problem, isn't that a problem on the cartridges not putting the output at high impedance when not asserting busdir?

By gdx

Prophet (3749)

gdx's picture

20-08-2020, 19:38

Normally, when the busdir is not used by the MSX, it is not connected.
If you link the busdir of two slot and insert two cartridges that take in account the busdir signal, they may not work properly because you have connected two outputs together, and it can cause the MSX to crash.

If you isolate the pin on the cartridge, it will no longer work on MSXs that need the busdir signal.

By raymond

Champion (453)

raymond's picture

20-08-2020, 20:09

Is this to solve the same problem as mentioned here: Hardware issues on Zemmix and others

By ducasp

Champion (368)

ducasp's picture

20-08-2020, 22:40

gdx wrote:

Normally, when the busdir is not used by the MSX, it is not connected.
If you link the busdir of two slot and insert two cartridges that take in account the busdir signal, they may not work properly because you have connected two outputs together, and it can cause the MSX to crash.

If you isolate the pin on the cartridge, it will no longer work on MSXs that need the busdir signal.

I've confused WAIT and BUSDIR, WAIT is the one that is tri-state, BUSDIR is not, I see that Gradiente Expert also has busdir interconnected in its two slots, so this error might not be exclusive to the OCM and its clones... oO

So, if using only one slot at a time you probably should not suffer the issue, correct?

By OeiOeiVogeltje

Paragon (1366)

OeiOeiVogeltje's picture

20-08-2020, 23:03

could someone post a photo of this fix?

By lovemsxfan

Supporter (7)

lovemsxfan's picture

21-08-2020, 10:09

If I don't use the cartridge by inserting it in slot 1 or slot 2, is there no need to fix it?

By KdL

Paragon (1334)

KdL's picture

21-08-2020, 11:38

Hi everyone. Don't get confused. This fix is ​​not necessary if there are no problems with the cartridges or if you are using a single slot at a time. It also does not affect the previously published fix, this is a new fix.

By AxelF

Champion (359)

AxelF's picture

21-08-2020, 11:39

Does this patch also apply when using the Rookie Drive NX ?

By KdL

Paragon (1334)

KdL's picture

21-08-2020, 12:12

If the cartridge works fine on its own and only stalls when combined with other cartridges, this patch will fix the problem. Therefore I recommend that you try method 3 temporarily and apply method 1 when you are sure that method 3 worked.

By msd

Paragon (1400)

msd's picture

21-08-2020, 12:20

@meits. Only inserting opl4 cartridge itself should work fine on the ocm. Only problems should occur when you insert another cartridge.

Just another thought on the BUSDIR. I think this signal was intended to take over control of the whole bus. Defining who is master on the bus. So the question is why does the opl4 / gfx9000 even check for busdir. They will never be bus master. It could be a mistake in the GAL/PAL chip on these cartridges. I'm not 100% sure

By Omega

Master (224)

Omega's picture

21-08-2020, 13:10

msd: the busdir signal has nothing to do with bus mastering. It's intended for those MSXs that have a buffered databus on the cartridge slots. i.e. through a 74LS245. That is a bidirectional transceiver, and one pin controls which direction the signals can go. Normally it goes toward the MSX (for reading ROMs etc), but if you want to write a byte to a cartridge (I/O port) the direction has to be reversed. This is why it's implementation is required on MSX cartridges that need to be written to (sound cartridges, memory mappers etc). Buffered databus is not required in the MSX standard, on those MSXs that don't have the buffers the BUSDIR signal is simply not connected.
So:
- Cartridges that implement I/O must implement BUSDIR
- MSX hosts implementation of bus buffers and BUSDIR is optional

By msd

Paragon (1400)

msd's picture

21-08-2020, 13:13

@omega. that makes it clear.. I said I was not sure Tongue thanks

By ducasp

Champion (368)

ducasp's picture

21-08-2020, 13:34

Omega wrote:

msd: the busdir signal has nothing to do with bus mastering. It's intended for those MSXs that have a buffered databus on the cartridge slots. i.e. through a 74LS245. That is a bidirectional transceiver, and one pin controls which direction the signals can go. Normally it goes toward the MSX (for reading ROMs etc), but if you want to write a byte to a cartridge (I/O port) the direction has to be reversed. This is why it's implementation is required on MSX cartridges that need to be written to (sound cartridges, memory mappers etc). Buffered databus is not required in the MSX standard, on those MSXs that don't have the buffers the BUSDIR signal is simply not connected.
So:
- Cartridges that implement I/O must implement BUSDIR
- MSX hosts implementation of bus buffers and BUSDIR is optional

Yeah, problem is that I/O addresses do not relate to a slot, so there is no slot select and there is no way to each buffer know if the IO read will be from it or another slot sharing the same bi directional buffer.

But MSD question still is valid, on a system that busdir is not needed, it should not be an issue to have a collision of signals that are not being read by anyone, my SM-X has an OPL4 and a 9990 from tecnobytes and I use both at the same time to play life on earth. My guess is that for some chips the power drained during the collision is causing erratic behavior, and perhaps of the design buffered busdir there is less chance of such collisions causing an issue Tongue

By Grauw

Ascended (9341)

Grauw's picture

21-08-2020, 13:48

I think also slot expanders always contain a buffer and thus rely on BUSDIR.

By msd

Paragon (1400)

msd's picture

21-08-2020, 14:18

Correct" slot expanders always contain a buffer a" .. That is why a slotexpander can fix some issues.. For example a novaxis scsi interface only work with a slot expander in a nms 8245.

By gdx

Prophet (3749)

gdx's picture

21-08-2020, 15:15

msd wrote:

Correct" slot expanders always contain a buffer a" ..

Yes, if it is well designed, but it is not always the case. Many people reduce the cost as much as possible and sometimes too much. Tinned contacts is one other example.

By HRA!

Master (229)

HRA!'s picture

21-08-2020, 17:02

By syn

Paragon (1975)

syn's picture

23-08-2020, 11:42

Quote:

Thanks to the help of HRA! KdL have finally fixed a new hardware bug affecting all 1chipMSX,

i thought this does not affect an originai 1ChipMSX?

By ducasp

Champion (368)

ducasp's picture

23-08-2020, 14:12

syn wrote:
Quote:

Thanks to the help of HRA! KdL have finally fixed a new hardware bug affecting all 1chipMSX,

i thought this does not affect an originai 1ChipMSX?

Seems one chip msx also has busdir of each slot connected to the same fpga pin, so, short circuiting busdir of both slots

By KdL

Paragon (1334)

KdL's picture

24-08-2020, 03:32

Yes, this hardware patch is also for the original 1chipMSX.

By Grauw

Ascended (9341)

Grauw's picture

24-08-2020, 17:16

syn wrote:
Quote:

Thanks to the help of HRA! KdL have finally fixed a new hardware bug affecting all 1chipMSX,

i thought this does not affect an originai 1ChipMSX?

You’re thinking of another problem.

By gflorez

Rookie (29)

gflorez's picture

25-08-2020, 04:10

Ok, I understand, these two /BusDir signals can't be joined in any case.

But.... Maybe the definitive solution would be to install an additional 74LS245 only for the /BusDir from slot 2. (Slot 1 uses the one inside the FPGA)

The LS245 is used to protect the Z80 Data Bus from noisy expansions. I have experienced that some, like the V9990 cartridge, need the buffer, but others not, like SE-ONE, Moonsound clone or Philips Music module.

By KdL

Paragon (1334)

KdL's picture

25-08-2020, 12:56

It can be done in various ways. But the problem remains upstream, as manufacturers will continue to copy errors from existing PCBs. Unfortunately, in fact, there is this practice of copying parts of existing boards without thinking or having a clear idea of ​​what you are building, so it's very common in homebrew machines to find redundant lacks and flaws.

By KdL

Paragon (1334)

KdL's picture

26-08-2020, 06:48

This patch only affects OCM machines with two or more slots.
Minime is not affected by this issue because it only has one slot.

By KdL

Paragon (1334)

KdL's picture

26-09-2020, 18:02

By OeiOeiVogeltje

Paragon (1366)

OeiOeiVogeltje's picture

27-09-2020, 11:39

thanks!

By KdL

Paragon (1334)

KdL's picture

16-10-2020, 21:38

Based on the wiring diagram of the original 1chipMSX machine, I have implemented this new hardware patch for Zemmix Neo which allows to stabilize the +5V input line. Therefore, if you are experiencing instability in your Zemmix Neo machine, this solution can solve your problems. This patch can for example remove some annoying video interference on the output of GFX9000 and other similar cartridges. For the moment I have tested this modification only on the Zemmix Neo Brazilian pcb...

WARNING! Do this at your own risk, you will be solely responsible for any damage to your hardware.

By Haze

Expert (109)

Haze's picture

18-10-2020, 00:46

Thanks again for the in-depth research, KdL!

I'm surprised to find there are still optimizations and fixes to be done in the board, for a design which has been around a few years now. But on the other hand, I feel it is very much in the nature of hobby computers and especially MSX for this to happen. :-)

Perhaps patching Zemmix and OCM boards will be the next big service offering, next to installing 7MHz or audio fixes in regular MSX? :-p

By gdx

Prophet (3749)

gdx's picture

18-10-2020, 11:27

Haze wrote:

I feel it is very much in the nature of hobby computers and especially MSX for this to happen.

It is in the nature of homemade products but not at all in the MSX. On the contrary, MSXs go through the years better than most other computers.

KdL,
Thanks to you, OCMs have become credible solutions for a large part of MSX users.

By KdL

Paragon (1334)

KdL's picture

18-10-2020, 14:02

Haze wrote:

Perhaps patching Zemmix and OCM boards will be the next big service offering, next to installing 7MHz or audio fixes in regular MSX? :-p

I am very stubborn and this is what drives me to solve these problems. I want to clarify that 1chipMSX does not suffer from this issue. This patch is intended for Zemmix Neo only.

By Pablibiris

Paragon (1791)

Pablibiris's picture

18-10-2020, 16:59

The "original" Zemmix Neo from Korea,has this problem too?
Thanks KdL Smile

By KdL

Paragon (1334)

KdL's picture

19-10-2020, 00:13

I didn't have the Korean version at hand these days so I can't tell you if it's necessary there too.

By KdL

Paragon (1334)

KdL's picture

19-10-2020, 14:42

Please be informed that the problem is currently only present on Zemmix Neo Brazilian and not with Zemmix Neo Korean, but this fix can still be used if your hardware is unstable. I assume the instability is due to the lower quality of the dc-dc converter used on the Zemmix Neo Brazilian.

By KdL

Paragon (1334)

KdL's picture

19-10-2020, 19:24

Today I tried to overload Zemmix Neo Brazilian by adding several cartridges and it seems that the interference is more frequent if the absorption increases so whoever wants to try can replace the dc-dc converter. Here is the original one from Zemmix Neo Korean.

SPD1R5-5-1212

By gflorez

Rookie (29)

gflorez's picture

20-10-2020, 17:16

On the Spanish Zemmix neo I have seen some approaches to replace the missing only-Korean DC-DC converter part SPD1R5, with a SUCW1R50512C(Cosel), or an IH0512D(XP-Power) in my own case.

I have no such problems of +5v stability, but it is a good idea to add the capacitor.

The only problem is.... the pin-out is totally different....

This can aid you, the pin-out of the SPS1R5(up to date version with better characteristics):



By gflorez

Rookie (29)

gflorez's picture

20-10-2020, 20:39

I have swapped the references, the SPS1R5 is the old one, the SPD1R5(the one installed on your Korean Zemmix), is the updated component.

But buying it on Korea is very difficult. Carmeloco made some time ago the investigation about purchasing it, and he gave up due to the guarantees that were requested by the sellers.

By Louthrax

Prophet (2281)

Louthrax's picture

21-10-2020, 21:41

Here's a quick feedback about KdL power supply fix: I also had video interferences on the VGA/RGB output of my Zemmix Neo (not only with GFX9000). I did not noticed them on a CRT, but when plugged on a big QLED TV through an OSSC, these interferences were quite visible.

So I tried KdL fix and added a 470uF capacitor like described: things were better, but the interferences were quite visible.

I then tried to change the external power supply block with another old (massive and transformer-based) 5V power supply: no more interferences at all Smile

I'm not sure if the power supply I had on my Zemmix was the one sold with the Zemmix (no brand on it, but the serial number is "ycz-0528").

Later I also tried another modern (switching) power supply, and no interferences either. The only problem with this one is that it's only 0.5A, I'll need to find something a bit more powerful.

So it looks like there's also an issue with this "ycz-0528" power supply (maybe not only with the Zemmix internal DC-DC converter).

By gdx

Prophet (3749)

gdx's picture

22-10-2020, 01:48

For providing 5V, USB power supplies are cheap and generally good. Most can withstand 2A and more. Le think this is ideal for the OCMs.

By KdL

Paragon (1334)

KdL's picture

22-10-2020, 16:55

I am using a generic +5V 2.5A switching power supply for all of my tests. With 1chipMSX and Zemmix Neo Korean no problem, only the Brazilian version has those interferences. Using the 470uF capacitor I improved the image of the GFX9000 but did not match the quality of the other two machines. A power supply below 2A is not recommended.