RetroBrew Computers Forum
Discussion forum for the RetroBrew Computers community.

Home » RBC Forums » General Discussion » MSX2 Compatible Computer Project
Re: MSX2 Compatible Computer Project [message #5630 is a reply to message #5451] Wed, 28 November 2018 17:56 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
Attached is the schematic for my variant of MSX2 compatible system.
It is based on lintweaker's work, on MSX datapack specs, as well as on multiple other sources.

A few notes:

- I plan to use a CPU supervisor circuit - ADM693/MAX693. This IC would generate proper reset signals and provide the battery power and chip select signals to the RTC (replacing a few transistors and several passive components)

- I tried to implement a flexible slot selection:
* The extended slot can be set to either slot 0 or slot 3
* The RAM can be either set to slot 3 or sub slot 2 (so it will be either slot 3, slot 0-2, or slot 3-2).
* The ROM is divided into four 64 KiB chunks, each one can be mapped to a different slot or sub slot. The intention is that the first chunk will be used for the Main MSX ROM, and the second for the Sub ROM, while 2 more are available for future extensions (e.g. Disk ROM). Now, I didn't do anything to prevent any part of the 64 KiB chunk to be mapped to the CPU. For example the 0x8000-0xFFFF area of the 64 KiB chunk containing Main ROM can be mapped, although it is not normally used by MSX. My assumption is that MSX BIOS and applications will not do that (and even if they do, it shouldn't be any harm... but please correct me if I am wrong).

- The default VDP for the system is v9938, but I've added a jumper that should make v9958 work as well. The video output is connected to an AD724 NTSC/PAL encoder with Composite and S-Video outputs. The encoder is set for NTSC timing (modern TVs are multi-system anyway, unless you're in US where they are NTSC). The RGB+Sync signals are available on the headers in case a different video output is desired. In my own opinion S-Video should provide a good enough quality, and if needed there are inexpensive S-Video to HDMI converters available. I'd appreciate though if someone will review the video output part of the schematic.

- I used a single supply op amp for the low pass filter for the PSG. Again, I'd appreciate if someone with analog electronics knowledge would check that part of the schematic

Thanks,
Sergey
Re: MSX2 Compatible Computer Project [message #5659 is a reply to message #4137] Fri, 30 November 2018 08:17 Go to previous messageGo to next message
ajacocks is currently offline  ajacocks
Messages: 15
Registered: November 2015
Junior Member
Looks great, as always, Sergei!

I'd love to build one, when it gets that far.

- Alex
Re: MSX2 Compatible Computer Project [message #5661 is a reply to message #5659] Fri, 30 November 2018 08:57 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
Yes, nice schematic Sergey!

I am waiting for my 'Duo Sound' boards to arrive (YM2149 and YM2413) so I can finally have sound (and joystick ports).
Today I finished my floppy board (WD37C65), it starting to get fairly complete.
Re: MSX2 Compatible Computer Project [message #5674 is a reply to message #5661] Sun, 02 December 2018 07:23 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
Made some good progress today. 'Duo Sound' board is up and running! Both joystick and sound work but the sound is distorted, probably due to over-amplification. Hopefully fixable by changing some resistor values.
Floppy board is already on its way...
Re: MSX2 Compatible Computer Project [message #5721 is a reply to message #5674] Tue, 11 December 2018 11:06 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
Meanwhile, I did some updates to my schematic. I've replaced multiple discrete logic ICs in slot select logic, slot data bus direction logic, and wait logic with a couple of SPLDs.
Hopefully shouldn't be much problem, since the system already uses an SPLD for I/O address decode.

Re: MSX2 Compatible Computer Project [message #5722 is a reply to message #5721] Tue, 11 December 2018 11:08 Go to previous messageGo to next message
ajacocks is currently offline  ajacocks
Messages: 15
Registered: November 2015
Junior Member
You both have got my excitement going. The MSX was one of those machines that I heard about, back in the early 90s, but never saw, so it was somehow unreal.

I'd truly love to build one.

- Alex
Re: MSX2 Compatible Computer Project [message #5723 is a reply to message #5722] Tue, 11 December 2018 11:18 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
Nice, I'll give the schematic a thorough look!

Meanwhile I've got the my 'Duo Sound' audio board working nicely after modifying the opamp resistors. The first revision floppy board is working but I already got rev 2 back from the pcb fab in China (3 day turnaround!Wink.
Re: MSX2 Compatible Computer Project [message #5724 is a reply to message #5723] Tue, 11 December 2018 11:20 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
lintweaker - I am glad to hear about your progress! Smile
Would you please share you sound output schematic (or compare it vs. mine)?
Also, what do you do for the video output? Do you have any buffers/transistors on the VDP RGB/Sync outputs, or you feed them directly to the VGA?
Re: MSX2 Compatible Computer Project [message #5725 is a reply to message #5724] Tue, 11 December 2018 11:27 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
@Sergey,
quick reply: I am using dual 4558 opamps based on the 'Expert3' schematic. Somehow the amplification was way too high (+10/-10V output instead of more like +2/-2V).
I'll post the schematic later.
for video I am using a Sony CXA1645. It needs a lot of external components but gets my SVIDEO, CVBS and RGB.
I am planning on using a Sony V7040 as well for a future genlock/superimpose option but it needs some un-optanium 180ns delay line and a band pass filter.
Re: MSX2 Compatible Computer Project [message #5838 is a reply to message #5725] Thu, 17 January 2019 19:48 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
My MSX compatible keyboard PCBs have arrived. I built one, and my son tested it using a USB HID firmware he wrote for an Arduino Micro.

In case someone wants to build one, I have several PCBs available for $20 + shipping. I hope I'll find large enough envelopes to send these PCBs Smile
Re: MSX2 Compatible Computer Project [message #5839 is a reply to message #5838] Thu, 17 January 2019 23:26 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
Sergey wrote on Thu, 17 January 2019 19:48
My MSX compatible keyboard PCBs have arrived. I built one, and my son tested it using a USB HID firmware he wrote for an Arduino Micro.

In case someone wants to build one, I have several PCBs available for $20 + shipping. I hope I'll find large enough envelopes to send these PCBs Smile


Nice! I would not mind building one! What is a good source for the switches and keys?
Re: MSX2 Compatible Computer Project [message #5840 is a reply to message #5838] Fri, 18 January 2019 00:25 Go to previous messageGo to next message
pbirkel is currently offline  pbirkel
Messages: 60
Registered: October 2015
Member
Sergey wrote on Thu, 17 January 2019 19:48
My MSX compatible keyboard PCBs have arrived. I built one, and my son tested it using a USB HID firmware he wrote for an Arduino Micro.

In case someone wants to build one, I have several PCBs available for $20 + shipping. I hope I'll find large enough envelopes to send these PCBs Smile


I'd like one please. Also info about the switches and keycaps. Looks really nice :-}.
Re: MSX2 Compatible Computer Project [message #5841 is a reply to message #5840] Fri, 18 January 2019 00:27 Go to previous messageGo to next message
ajacocks is currently offline  ajacocks
Messages: 15
Registered: November 2015
Junior Member
I'd like one, as well.

- Alex
Re: MSX2 Compatible Computer Project [message #5842 is a reply to message #5841] Fri, 18 January 2019 01:56 Go to previous messageGo to next message
gkaufman is currently offline  gkaufman
Messages: 137
Registered: October 2015
Senior Member
If there's a spare PCB I'd like one as well.

- Gary
Re: MSX2 Compatible Computer Project [message #5843 is a reply to message #5842] Fri, 18 January 2019 13:43 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
I published the BOM for the keyboard here here: https://github.com/skiselev/omega/blob/master/Keyboard.md
The keyboard uses Cherry MX switches. The BOM includes linear (non-clicky) switches... they are better for games Smile
But feel free to get another type of Cherry MX switches if you like to.
I've used a cheap set of Cherry MX compatible keycaps of the Amazon (about $12). There is quite a selection of these available on Amazon and other places. Note that the keyboard uses a rectangular Enter/Return key.

There are a few minor issues you should be aware of:
1. Pull up resistors are missing on COLUMN_0, COLUMN_2, and COLUMN_4 outputs. Add a 4.7k or so pull-up when using this keyboard.
2. The polarity of LEDs integrated in Caps Lock and Kana keys doesn't seem to match the marking on the MX key. Then assembling the keyboard, please verify that the LEDs are connected properly.
3. 1.6 mm PCB feels a bit flimsy. This probably will be less of an issue when the PCB is mounted on a rigid panel. Or alternatively it is possible make a metal plate and mount MX switches on that plate.

I am still figuring out the shipping details. I'll update this thread soon with the shipping prices and information.
Re: MSX2 Compatible Computer Project [message #5844 is a reply to message #5843] Sat, 19 January 2019 01:25 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
Thanks for the BOM, keycaps are on order from Amazon. Hopefully I can find a japanese layout later to better match my Japanese BIOS ROMs.
Re: MSX2 Compatible Computer Project [message #5847 is a reply to message #5844] Sun, 20 January 2019 06:10 Go to previous messageGo to next message
andrii_kutepov is currently offline  andrii_kutepov
Messages: 23
Registered: November 2015
Junior Member
I'd like one pcb, as well.
Re: MSX2 Compatible Computer Project [message #5848 is a reply to message #4137] Sun, 20 January 2019 06:15 Go to previous messageGo to next message
etchedpixels is currently offline  etchedpixels
Messages: 223
Registered: October 2015
Senior Member
Also interested in the keyboards if you have any left.
Re: MSX2 Compatible Computer Project [message #5852 is a reply to message #5848] Sun, 20 January 2019 14:30 Go to previous messageGo to next message
jordi.solis is currently offline  jordi.solis
Messages: 46
Registered: March 2017
Member
Hello Sergey,
Add me in the list for another keyboard PCB when they are available. The item is not yet in the inventory.
J. S.
Re: MSX2 Compatible Computer Project [message #5860 is a reply to message #5852] Mon, 21 January 2019 14:49 Go to previous messageGo to next message
ABurrows is currently offline  ABurrows
Messages: 22
Registered: October 2015
Junior Member
Hi Sergey,

What is the status of this project?
Re: MSX2 Compatible Computer Project [message #5865 is a reply to message #5860] Tue, 22 January 2019 16:20 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
I appreciate all the interest.
I am traveling this week, so I am not able to mail any PCBs. I'll be ready to send them early next week. I'll post a reply here at that time.

I have 18 PCBs available, so it should be enough for anyone who had been interested so far.

Thanks!
Re: MSX2 Compatible Computer Project [message #5866 is a reply to message #5865] Tue, 22 January 2019 16:37 Go to previous messageGo to next message
ABurrows is currently offline  ABurrows
Messages: 22
Registered: October 2015
Junior Member
can you please put me down for one board Sergey
Re: MSX2 Compatible Computer Project [message #5888 is a reply to message #5866] Wed, 30 January 2019 10:15 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
I apologize for the delay. I am ready to ship the Keyboard PCBs now. I've updated the inventory page accordingly. The price for the PCB is $15. The shipping for a single PCB is $6 in the US, and $15 anywhere else in the world. (Note, it is a fairly big board 334 mm x 125 mm, and it will be shipped in a big 15" x 11" mailer)
Re: MSX2 Compatible Computer Project [message #5890 is a reply to message #5888] Wed, 30 January 2019 10:20 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
Sergey wrote on Wed, 30 January 2019 10:15
I apologize for the delay. I am ready to ship the Keyboard PCBs now. I've updated the inventory page accordingly. The price for the PCB is $15. The shipping for a single PCB is $6 in the US, and $15 anywhere else in the world. (Note, it is a fairly big board 334 mm x 125 mm, and it will be shipped in a big 15" x 11" mailer)

Great! Count me 1 for one, shipping to Europe.
Re: MSX2 Compatible Computer Project [message #5892 is a reply to message #5888] Wed, 30 January 2019 10:40 Go to previous messageGo to next message
pbirkel is currently offline  pbirkel
Messages: 60
Registered: October 2015
Member
Sergey wrote on Wed, 30 January 2019 10:15
I apologize for the delay. I am ready to ship the Keyboard PCBs now. I've updated the inventory page accordingly. The price for the PCB is $15. The shipping for a single PCB is $6 in the US, and $15 anywhere else in the world. (Note, it is a fairly big board 334 mm x 125 mm, and it will be shipped in a big 15" x 11" mailer)


Funds sent!
Re: MSX2 Compatible Computer Project [message #5893 is a reply to message #5892] Wed, 30 January 2019 10:43 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
I think I am missing something. How is the ordering suppose to work?

edit: e-mail sent

[Updated on: Wed, 30 January 2019 10:48]

Report message to a moderator

Re: MSX2 Compatible Computer Project [message #5943 is a reply to message #4137] Sat, 09 February 2019 08:18 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
Got the Omega keyboard PCB today, thanks Sergey!

The keys with support are a bit of a hassle. They have a bit less travel than the normal keys.
But I am a happy camper, the keyboard works beautifully on my DIY MSX(2+)! Razz

Now I need to convert my MSX1,2 and 2+ BIOS to ones with a international keyboard instead of Japanese (I've been searching for the correct Japanese keycaps but so far did not find any)
Re: MSX2 Compatible Computer Project [message #6380 is a reply to message #5943] Tue, 04 June 2019 06:47 Go to previous messageGo to next message
ajacocks is currently offline  ajacocks
Messages: 15
Registered: November 2015
Junior Member
I just wanted to check in, and see if Sergey had made any more progress on the MSX2. I have all the parts for the keyboard, but haven't built it, yet.

- Alex
Re: MSX2 Compatible Computer Project [message #6381 is a reply to message #6380] Tue, 04 June 2019 07:11 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
Actually, I was working on the PCB routing just over the last weekend. There are still about 80 nets to route. It takes time.
Re: MSX2 Compatible Computer Project [message #6382 is a reply to message #6381] Tue, 04 June 2019 08:04 Go to previous messageGo to next message
jordi.solis is currently offline  jordi.solis
Messages: 46
Registered: March 2017
Member
Nice!
Thanks for the update.
Come on!, I can not wait to have mine.
Re: MSX2 Compatible Computer Project [message #6384 is a reply to message #6381] Thu, 06 June 2019 10:17 Go to previous messageGo to next message
lintweaker is currently offline  lintweaker
Messages: 57
Registered: April 2018
Member
Good to see you're still working on it. Looking forward seeing the results!
Re: MSX2 Compatible Computer Project [message #6518 is a reply to message #6384] Mon, 09 September 2019 15:12 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
Hi,

I am done with the main board PCB layout, and I am doing the final review. I'll be ordering the PCBs soon, hopefully later this week.
The current schematic and PCB layout are attached here. They are also available at the project's GitHub repo: https://github.com/skiselev/omega (under Mainboard directory).

Please take a look. Let me know if you see any issues.

Thanks,
Sergey
Re: MSX2 Compatible Computer Project [message #6521 is a reply to message #6518] Mon, 09 September 2019 17:09 Go to previous messageGo to next message
jdgabbard is currently offline  jdgabbard
Messages: 48
Registered: March 2016
Member
Looking good Sergey! I'm really looking forward to this build. Once it's ready for a real run I could probably even design a case for it, for 3D printing. Below is an example of the last one that I did, for the Harlequin clone. But your board will be a little more fun, with openings and brackets for the keyboard. What are you board dimensions right now? I'm limited to 200x200x200mm, but I'm getting ready to upgrade to a larger machine. In either case, I could also design it to print in halves or thirds.

http://retrodepot.net/wp-content/uploads/2019/09/spec.jpeg
http://retrodepot.net/wp-content/uploads/2019/09/spec2.jpeg
http://retrodepot.net/wp-content/uploads/2019/09/spec3.jpeg
http://retrodepot.net/wp-content/uploads/2019/09/spec4.jpeg


Doug Gabbard
Creator of the G80-S Micro Computer and 'Porter' of TinyBASIC 2.5g
Website: http://retrodepot.net
z80 TinyBASIC 2.5g: http://retrodepot.net/?p=424
AtariAge Username: jdgabbard
Re: MSX2 Compatible Computer Project [message #6522 is a reply to message #6521] Mon, 09 September 2019 17:33 Go to previous messageGo to next message
ajacocks is currently offline  ajacocks
Messages: 15
Registered: November 2015
Junior Member
Woohoo! It's great to see your project on this machine.

- Alex
Re: MSX2 Compatible Computer Project [message #6523 is a reply to message #6521] Tue, 10 September 2019 04:20 Go to previous messageGo to next message
b1ackmai1er is currently offline  b1ackmai1er
Messages: 265
Registered: November 2017
Senior Member
Hi Doug,

Love the keyboard enclosure and the keycaps. Have you considered taking the enclosure up to the base of the keycaps?

How long does it make? Does it require a lot of "finishing"? Wondering how this would look in a hammertone paint finish.

Regards Phil.

[Updated on: Tue, 10 September 2019 05:09]

Report message to a moderator

Re: MSX2 Compatible Computer Project [message #6524 is a reply to message #6518] Tue, 10 September 2019 05:42 Go to previous messageGo to next message
b1ackmai1er is currently offline  b1ackmai1er
Messages: 265
Registered: November 2017
Senior Member
Hi Sergey,

This looks so good.

While admiring your routing I noticed you could straighten out traces A4 & RESET between P6 and P5 of the 82C55.

Can this be switched between NTSC/PAL or do you have to select at component level i.e. crystal selection and video chip.

Was wondering if VCC to the cartridges was sufficient since it is right at the end of the trace line and homebrewers may be plugging all sorts of customer cartidges in.

Regards Phil
Re: MSX2 Compatible Computer Project [message #6525 is a reply to message #6523] Tue, 10 September 2019 09:36 Go to previous messageGo to next message
jdgabbard is currently offline  jdgabbard
Messages: 48
Registered: March 2016
Member
b1ackmai1er wrote on Tue, 10 September 2019 04:20
Hi Doug,

Love the keyboard enclosure and the keycaps. Have you considered taking the enclosure up to the base of the keycaps?

How long does it make? Does it require a lot of "finishing"? Wondering how this would look in a hammertone paint finish.

Regards Phil.
Phil,

With this particular design it wasn't practical, since the case is the keyboard, the switches are hand wired. But on something like the omega, having a keyboard PCB allows for recessing the switches. And that is how I would design it.

Concerning fit and finish, it didn't require any more than any other painted project. Since the parts are 3D printed, it really comes down to the capabilities of your machine. But I heat welded the halves, filled and sanded, primed, then painted with a semi gloss enamel. The more you do the better it will look. Although I can't speculate on the hammertone, I'm not familiar with that finish.


Doug Gabbard
Creator of the G80-S Micro Computer and 'Porter' of TinyBASIC 2.5g
Website: http://retrodepot.net
z80 TinyBASIC 2.5g: http://retrodepot.net/?p=424
AtariAge Username: jdgabbard
Re: MSX2 Compatible Computer Project [message #6526 is a reply to message #6524] Tue, 10 September 2019 16:32 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
Hi Phil,

Thank you for your feedback!

b1ackmai1er wrote on Tue, 10 September 2019 05:42
I noticed you could straighten out traces A4 & RESET between P6 and P5 of the 82C55.
Fixed!

b1ackmai1er wrote on Tue, 10 September 2019 05:42
Can this be switched between NTSC/PAL or do you have to select at component level i.e. crystal selection and video chip.
It has to be selected using jumpers/wire links - JP4 and JP5 particularly. Also while NTSC uses the clock generated by VDP, PAL requires a separate clock generated using an additional crystal Y3 and U43.

b1ackmai1er wrote on Tue, 10 September 2019 05:42
Was wondering if VCC to the cartridges was sufficient since it is right at the end of the trace line and homebrewers may be plugging all sorts of customer cartidges in.
I've increased VCC trace width twofold - from 1 mm to 2mm. Hopefully that would suffice...

Best regards,
Sergey
Re: MSX2 Compatible Computer Project [message #6527 is a reply to message #6521] Tue, 10 September 2019 16:38 Go to previous messageGo to next message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
Hi Doug,

Nice case... I've initially 3D printed case for my own Harlequin build. It took more than 24 hours if I recall correctly. Unfortunately in my case I had some wrapping on the edges, and it didn't look too good. So eventually I've purchased an injection molded case with the membrane keyboard.
I bet the mechanical keyboard feels nicer and works better than my membrane keyboard Smile

The mainboard size is 150 mm x 330 mm. Perhaps it could be printed in two halves.

Thanks,
Sergey
Re: MSX2 Compatible Computer Project [message #6528 is a reply to message #6527] Tue, 10 September 2019 16:58 Go to previous messageGo to previous message
Sergey is currently offline  Sergey
Messages: 173
Registered: October 2015
Location: Portland, OR
Senior Member
Hi,

I've made a few small changes to the design and ordered 10 PCBs.
Next, once I have the PCBs, I'll gradually build and test the board.
As usual, the updated design is in the project's GitHub repo: https://github.com/skiselev/omega

Thanks,
Sergey
Previous Topic: Experimenting with P90CE201, a 68000 compatible microcontroller
Next Topic: Forum FAQs (Legacy Google Group/PBWiki Info Here!)


Current Time: Wed Dec 11 03:27:18 PST 2019

Total time taken to generate the page: 0.01600 seconds