skiselev / omega

Omega Home Computer
GNU General Public License v3.0
385 stars 54 forks source link

Some small suggestions for improvement #1

Open sdsnatcher opened 5 years ago

sdsnatcher commented 5 years ago

After checking the circuit, here goes some small suggestions for improvement. I hope it helps.

Last, some questions:

skiselev commented 5 years ago

Thank you for your suggestions! Generally speaking I'd like to keep this design as simple as practically possible. So some features are intentionally missing. Also at this stage I don't want to make significant schematic or PCB layout changes.

sdsnatcher commented 5 years ago
skiselev commented 5 years ago

I've fixed the following:

  1. VDP and CXA1645 power supply now goes through a pair of LC filters.
  2. Added a polyfuse for joystick ports... A single 750 mA polyfuse should be enough for both ports.
  3. Connected slots pin 46 to GND
  4. Added a 4.7 k pull-up resistor array for all keyboard column inputs.
  5. Added a header for RESET and NMI

I've posted the updated schematic (and PCB design). Please take a look.

I am still unsure about color bus connector. I haven't found any practical use. In S-100 VDP board they've tried to connect a RAMDAC, but they've dropped the idea in the later versions. Same goes for superimposer.

sdsnatcher commented 5 years ago

Note: please keep in mind that anything I state here will be just suggestions/brainstorming, like a friendly chat in a bar or retro meeting. By no means I want to sound that I'm trying to impose anything, ok? :)

I didn't want to use SMD components.

Ok, I wasn't aware of that. It's a design choice. One idea could be to overlay the pads for the two types: DIP and SMD at the same place (you just have to offset them by 50%). This way the owner could choose the one that he feels more comfortable soldering, or that he could buy. (AFAIK, the DIP version of the CXA1645 is harder to find than the SMD CXA1645 and CXA2075)

I've changed both RGB and Cassette connector to DIN-8 with the standard MSX pinout. Please check the layout / schematic again.

The pinout is correct. My suggestion is that it's better to send pure CSYNC (1.8Vpp) or Luma (the easier choice) to the pin-4 of the RGB connector instead of CVBS, because the color carrier of the composite-video signal is known to cause strong jailbar interference on the RGB video. (check the FS-A1GT jailbar fix at this link)

I am not quite sure what is a practical use of superimposer

The superimposer is required to play either LaserDisc or VHD games. Since the majority of the MSX models don't have the imposer (and no easy connector to install one), gamers end up restricted to a choice of a few expensive/rare models. And you don't need to buy the expensive player/discs anymore, since Louthrax created the nifty PiLD player based on a Raspberry Pi.

The imposer was also used for subtitling VHS tapes (there are some very good MSX2 softwares for that), but probably nobody will use it for that anymore nowadays. ;)

But please notice that it's not the superimpose circuit that I'm suggesting to add. Just a pin-header so anyone who wants to add the circuit later can do it easily.

PSG/PPI protection - I am not sure what kind of protection? Just add resistors in series?

I checked with a friend of mine who's a technician, and he mentioned that the series resistors would be a cost effective way to prevent things to be fried. You have to calculate the resistor value based on the PSG type and 74* series (LS, HCT, HC etc) you have chosen. He's wild guess is that 100R should be enough.

I am still unsure about color bus connector. I haven't found any practical use. In S-100 VDP board they've tried to connect a RAMDAC, but they've dropped the idea in the later versions.

The colorbus is used for many things. When used for input, one of them is digitizing images in realtime. Something that nerds seem to love. ;D Yes, it could have been used to implement something like the SuperFX on the MSX2/2+, with the advantage of having way more bandwidth.

When used for output mode, it can indeed be used for a RAMDAC. It was used like this on the CAPTAIN Multi Station. The Yamaha V99C37 RAMDAC was connected there.

On the input mode there's also the mouse function, but that's only available on the V9938 and good luck finding a bus mouse nowadays. I wouldn't care about this.

But it's better to keep it as simple as possible: One idea could be to just reorder the pins of the RR2 and RR3, so the whole colorbus get the far-end (higher numbered pins) of the RR2 (plus one extra hole for the CBDIR). This way, to have access to the color bus it would be enough to change the RR2 for one with less pins, and solder a pin header on the pins that go to the colorbus. What do you think? It wouldn't cost you any extra space or dollars. :)

Same deal with the pins for the light-pen (available only on the V9938). They could be reordered to be the last 2 pins of the RR3. The MSX2 BIOS has support for this light-pen, and it was implemented on two models from Daewoo.

sdsnatcher commented 5 years ago
skiselev commented 5 years ago

A couple of questions:

Comments:

sdsnatcher commented 5 years ago

I think that for color bus it won't be enough to have just the color bus data and the direction signal. At least the dot clock is required for simple RAMDAC application. Also GND and 5V would be useful if. What other signals does it need?

You're right. According to the Philips NMS-8280 service manual, the dot clock (DHCLK) is also needed.

It should be possible to solder a right angle edge connector for the top slot. The only problem is to find one...

Tip: they have been sold here for many years. He also has a listing for larger quantities if needed. I purchased those to replace defective slots on some of my MSX machines, and they worked very well. The fact that they have no flanges wasn't a problem. (BTW, he also has the straight slot connector type if you happen to be needing them)

If needed, an alternative trick is to design a male EDGE connector on the PCB facing backwards, and solder the slot connector directly on it. People have been doing this trick for years to add the rear slot to their Yamaha CX5M computers, and it works like a charm.

sdsnatcher commented 4 years ago

I have a suggestion for the RAM circuitry that can save space on a next revision of the motherboard, see if you like it:

skiselev commented 4 years ago

I actually was considering this implementation initially. U32 is indeed optional, it is likely that most users will not ever upgrade the memory beyond 512 KiB, and in this case U32 can be omitted and /RAM_SL can be connected directly to /RAM0_CS. I am unsure about U26... Eliminating it might make system less stable. There are too many things connected to the data bus already ;-) We can do an experiment, and replace it with some wires :-)