Omega, a new MSX2 compatible computer in development

Omega, a new MSX2 compatible computer in development

by PAC on 15-10-2019, 19:25
Обсуждение: Development
Теги: msx2, V9938, V9958
Языки:

Source: MSXBlog

A new contender joins the club of modern MSX compatible computers. In the era of emulators and FPGA based MSX devices, Sergey Kiselev introduces Omega, an open source MSX2 computer with a conventional design and making use of original MSX parts. The device also includes a mechanical integrated keyboard giving a more MSX appearance, a very compact and smart solution that will delight the audience.

The Omega specifications are as follows:

  • Processor: Zilog Z80 CPU (CMOS version - Z84C00) running at 3.58 MHz.
  • RAM: 512 KiB SRAM, expandable to 4 MiB using an optional daugherboard. MSX* compatible memory pager.
  • ROM: 256 KiB or 512 KiB Flash ROM.
  • Video: Yamaha V9938 or Yamaha V9958 VDP.
  • 128 KiB Video RAM.
  • Composite, S-Video, and RGB video outputs.
  • Audio: Yamaha YM2149 or General Instrument AY-3-8910 PSG.
  • Two MSX compatible cartridge slots.
  • Keyboard, joysticks, printer and cassette recorder interfaces.
  • RTC: Ricoh RP5C01.
  • RTC battery backup.
  • BIOS: CBIOS.

The development is still on-going and all the project documentation is available on GitHub.

The Omega project doesn't have any commercial goals in mind. Sergey simply enjoys recreating "vintage" computers hardware using both old and newer components, while trying to keep the vintage feel (therefore no FPGA or Raspberry Pi emulation). He grew up in the former Soviet Union and spend hours programming these machines and of course playing games on Yamaha YIS-503IIIR and Yamaha YIS-805-128R2.

Relevant link: Sergey Kiselev's personal projects

Media browser (6)

  • Omega, a new MSX2 compatible computer in development
  • Omega, a new MSX2 compatible computer in development
  • Omega, a new MSX2 compatible computer in development
  • Omega, a new MSX2 compatible computer in development
  • Omega, a new MSX2 compatible computer in development
  • Omega, a new MSX2 compatible computer in development

Комментарии (29)

By Omega

Master (213)

Аватар пользователя Omega

15-10-2019, 20:42

I'm very honored. Cool

But seriously, I like it! Original parts are somewhat more difficult to source, but not impossible. And it will ensure proper compatibility Smile

By Omega

Master (213)

Аватар пользователя Omega

15-10-2019, 20:52

I've loaded the KiCad project and made a nice rendering of the board:

3d rendering!

By Omega

Master (213)

Аватар пользователя Omega

15-10-2019, 20:57

moar renderings

moar moar renderings

mmm.. naked pcb good...

By Manuel

Ascended (15756)

Аватар пользователя Manuel

15-10-2019, 22:01

V9939??

By hamlet

Scribe (2534)

Аватар пользователя hamlet

15-10-2019, 22:01

I very much like the idea of a new machine made with traditional components.
That's what MSX is all about.
Especially the designed keyboard raises this computer out of the conventional replica family.
The connections are well placed, the PCB layout is nicely solved. A very attractive project!
Well, I can live without HDMI connection and don't need SD or USB connections. All this I have already as accessories. This is about the pure device.
Let's design a case!
Also nice job Master Omega!

By Vampier

Prophet (2297)

Аватар пользователя Vampier

15-10-2019, 22:56

C-bios no basic I guess?

By PAC

Guardian (5277)

Аватар пользователя PAC

15-10-2019, 23:03

Manuel wrote:

V9939??

Fixed, sorry.

By Tangent

Supporter (4)

Аватар пользователя Tangent

16-10-2019, 02:08

Exciting project! I assembled Sergey's ZETA SBC V2 CP/M-80 hobby computer and really enjoy it. Now I'm very much looking forward to assembling one of these.

Earlier this year he demonstrated his computers at Vintage Computer Festival Pacific Northwest in Seattle. I hope he'll return with a working Omega this upcoming March.

hamlet wrote:

Let's design a case!

Indeed!

By Grauw

Ascended (8456)

Аватар пользователя Grauw

16-10-2019, 02:10

I like it! I think CPLD or FPGA for the glue logic is fine (MSX-Engine), but otherwise original components are the best! And a keyboard. And a case Big smile.

By zett

Hero (572)

Аватар пользователя zett

16-10-2019, 07:00

in honor of omega. nice.

By Manuel

Ascended (15756)

Аватар пользователя Manuel

16-10-2019, 09:53

PAC wrote:
Manuel wrote:

V9939??

Fixed, sorry.

Strangely enough the original list also says V9939 and V9959....

By KdL

Paragon (1229)

Аватар пользователя KdL

16-10-2019, 11:32

Cool! I love the original components. Running Naked in a Field of Flowers

By hamlet

Scribe (2534)

Аватар пользователя hamlet

16-10-2019, 12:42

Sergey sent me a mail to clear up some issues:

Quote:

Reading the comments on that blog, it looks that some clarifications might be in order :-)

- The Omega project doesn't have any commercial goals in mind. I simply enjoy recreating "vintage" computers hardware using both old and newer components, while trying to keep the vintage feel (therefore no FPGA or Raspberry Pi emulation). There are other people that enjoy this hobby too. And I am happy to make my project available to these people. It appears that there is a substantial commercial activity around MSX. It is not my goal to compete with any one of them. But surely these projects can compliment my design.
- I am not Russian, and I never lived in Russia... Yes, I was living in Soviet Union 25+ years ago, and that's where I got exposed to MSX2 machines. In some schools we used to have classes with Yamaha YIS-503IIIR and Yamaha YIS-805-128R2 (https://www.msx.org/wiki/Yamaha_YIS-503IIIR and https://www.msx.org/wiki/Yamaha_YIS-805-128R2 respectively). And I've spent multiple hours programming these machines and of course playing games (which were much better than contemporary IBM PC games). I am not even trying to target Russian market here (again, not a commercial product). But I won't be surprised if people in Russia will produce my boards and build their own computers.

BTW, I am wondering what is the MSX licensing story? Do you have any details on this?
I am less interested in putting the MSX logo on my work, but more in software/firmware licensing. How legal it is to run an original MSX BIOS or BASIC on another hardware? I know that people do that on virtual machines. For example it seems to be semi-legal to use a ROM as long as you have the original piece of hardware...

Thanks,
Sergey

By konamiman

Paragon (1044)

Аватар пользователя konamiman

16-10-2019, 13:00

Quote:

How legal it is to run an original MSX BIOS or BASIC on another hardware?

"Thou shalt use all MSX system ROMS freely. Thou shalt pay $1 to Microsoft for the MSX-BASIC ROM." Said by God himself.

By zett

Hero (572)

Аватар пользователя zett

16-10-2019, 14:00

Realy nice dude!

By sd_snatcher

Prophet (3068)

Аватар пользователя sd_snatcher

16-10-2019, 14:19

Great initiative! If I may, I would like to make some suggestions:

1) Allow MSX2+ support: the differences in the design are minimal. You need one extra ROM slot for the boot logo (can also be combined with some other ROMs), the RAM should be placed at the slot 3-0, and there’s a latch for the reset status.

2) Add Z80 turbo support, with the CHGCPU/GETCPU routines on BIOS. This makes all the difference in performance. IMHO, any new MSX project should support turbo as it brings so much benefit at very little cost. For the MSX2+, the VRAM access speed is greatly improved.

3) Be extra careful with the sound mixer circuitry. Lots of designs have mistakes in this aspect. My recommendation is to use the MSX Turbo-R circuitry with the fixes presented at this article.

By xavirompe

Resident (37)

Аватар пользователя xavirompe

16-10-2019, 14:30

Absolutely amazing project, nice and coold, definitely a great job!

Congratulations to Sergey for this achievement.

Thumbs up!

By Wolverine_nl

Paragon (1037)

Аватар пользователя Wolverine_nl

16-10-2019, 16:52

This is really cool, actual original hardware.
Can't wait for the endresult! Cool

By Omega

Master (213)

Аватар пользователя Omega

16-10-2019, 17:18

sd_snatcher wrote:

Great initiative! If I may, I would like to make some suggestions:

1) Allow MSX2+ support: the differences in the design are minimal. You need one extra ROM slot for the boot logo (can also be combined with some other ROMs), the RAM should be placed at the slot 3-0, and there’s a latch for the reset status.

2) Add Z80 turbo support, with the CHGCPU/GETCPU routines on BIOS. This makes all the difference in performance. IMHO, any new MSX project should support turbo as it brings so much benefit at very little cost. For the MSX2+, the VRAM access speed is greatly improved.

3) Be extra careful with the sound mixer circuitry. Lots of designs have mistakes in this aspect. My recommendation is to use the MSX Turbo-R circuitry with the fixes presented at this article.

1) he has a 4mbit flash rom on board, there seems some sub slot decoding logic already there, around U13
2) how so, V9958 vram access speed improved? I suppose you have to connect the vdp WAIT signal to CPU then?
3) while not exactly the turboR circuit, his design looks OK to me.

schematics

By Manuel

Ascended (15756)

Аватар пользователя Manuel

16-10-2019, 22:03

Sergey, I personally do not know any really commercial MSX project. Actually, I think it would be rather foolish, as it is such a small and specialist market.

By SergeyK

Supporter (1)

Аватар пользователя SergeyK

17-10-2019, 06:17

Hi guys,

Thank you for all the feedback!

A few comments:

  • Project name: I choose Omega not because of (now defunct?!) MSX software publisher, and not to honor Master Omega (sorry dude :D ), but because I like using random Greek letters to name my projects.
  • VDP is V9938... yeah, fixed that. V9958 should work as well. I've ordered one, will test when it arrives
  • I plan to show this system (and a couple more) at Vintage Computer Festival Pacific Northwest in Seattle next March
  • SPLD vs CPLD... I use SPLDs because they can be programmed with the same TL866 EPROM programmer I use to program Flash ROMs, and because they are cheap. CPLD is definitely an option for future updates. It should be possible to replace most of 74-series logic and perhaps 8255 with a single CPLD. FPGA - the whole MSX2 can be implemented in FPGA, so it feels kind of weird to mix FPGA and older VPD/PSG/etc. Also others already implemented MSX compatible systems using an FPGA...
  • MSX2+ support. V9958 should work. With a little change in SPLD code it is possible to map SRAM to slot 3-0. There is plenty of Flash ROM space, and it can be mapped to secondary slots in any variation of 16 KiB blocks. Turbo mode is not trivial to implement. MSX2+ machines with turbo mode normally used MSX engine that supported this feature. To replicate turbo functionality I would need to implement: Glitch-less clock switching circuit, an I/O port to turn on/off turbo, a wait state generator to generate additional wait states when accessing PSG and perhaps the cartridge slots. And frankly, the benefit won't be that great... only a few MSX2+ machines had this feature. Mainstream was MSX/MSX2.
  • Audio mixing circuit - I have a fairly primitive low-pass filter with roughly 20 kHz cutoff frequency (I did my math). That should do it for mixing PSG output with cartridge slots sound and PPI key-click sound. I personally don't have any cartridges to validate the sound volume, but in the worst case mixer resistors can be replaced with other values.
  • BIOS - I've tested the board both with the latest C-BIOS and with a ROM image from Sanyo PHC-23J. I am not planning to distribute either one... It is the people's choice what to run.
  • MSX-BASIC - where do I put that $1? :)

The current status is that I finished testing my prototype (version 1.0) system, and I fixed all the issues found so far. The next step is reviewing PCB design for version 1.1, manufacturing the PCBs, building and testing the board.

-SK

By AbrahamCas

Expert (76)

Аватар пользователя AbrahamCas

17-10-2019, 13:39

Congratulations Sergey!!, Very nice project!!
I will be looking forward for your progress with it and maybe trying to make one unit on near future
Thanks!

By PAC

Guardian (5277)

Аватар пользователя PAC

17-10-2019, 18:36

SergeyK wrote:
  • SPLD vs CPLD... I use SPLDs because they can be programmed with the same TL866 EPROM programmer I use to program Flash ROMs, and because they are cheap. CPLD is definitely an option for future updates. It should be possible to replace most of 74-series logic and perhaps 8255 with a single CPLD. FPGA - the whole MSX2 can be implemented in FPGA, so it feels kind of weird to mix FPGA and older VPD/PSG/etc. Also others already implemented MSX compatible systems using an FPGA...

IMO, as long as the VDP or other specific IC implementation in FPGA are not perfect, it does make sense to mix both technologies.

The most interesting MSX compatible computer to me since MSX dissapeared commercially, congratulations. We can smell the MSX essence there. Smile

By hamlet

Scribe (2534)

Аватар пользователя hamlet

17-10-2019, 19:11

Quote:

We can smell the MSX essence there. Smile

Yeah! Breath!
It is kinda GR8bit.

By zett

Hero (572)

Аватар пользователя zett

18-10-2019, 06:08

hamlet wrote:
Quote:

We can smell the MSX essence there. Smile

Yeah! Breath!
It is kinda GR8bit.

na better smell. its a nice size to

By Meits

Scribe (5539)

Аватар пользователя Meits

18-10-2019, 13:15

I like the idea of having one.

By АIеks

Hero (624)

Аватар пользователя АIеks

20-10-2019, 12:58

That's cool! But, you still have to work before MSX-EXT. I wish you success Smile

By UsagiPretzels

Supporter (16)

Аватар пользователя UsagiPretzels

29-10-2019, 04:46

Good to hear Sergei, if you have to suggest any MSX1 computer outside Soviet schools and in the Russian language, what would it be?

By zett

Hero (572)

Аватар пользователя zett

29-10-2019, 19:53

АIеks wrote:

That's cool! But, you still have to work before MSX-EXT. I wish you success Smile

Seen a msx like that build befor ad a mvm meeting