My musings on a homebrew MSX 1 design

By Dirty Harry

Resident (45)

Dirty Harry's picture

29-07-2017, 11:02

My Homebrew MSX One

Recently been Messing around with the idea of designing my own Homebrew MSX 1 microcomputer . Here’s my ideas :

Specification

Z80 CPU
Running at 3.58MHz or 7.16MHz

128K SRAM
User RAM

32K or 64K EEPROM
For O/S etc

TMS9918ANL Video Processor: NTSC 60Hz output
With Video Enable input utilised on TMS9918. A CPLD as second Video generator Genlocked (via TMS9918 RESET signal) with the TMS9918ANL..giving Video modes :
640x192…... monochrome …...15K
320x192…... 4 Cols…………...15K
160x192…...16 Cols…………...15K
80x24……...Coloured Text. …..4K

DACs take digital CPLD outputs to analgoue NTSC 60Hz , then through NTSC encoder to TMS9918ANL compatible.. The CPLD would have 128K separate VRAM..

Programming the EPM9320LC84 will be the most complex part to give background video modes similar to PC VGA modes. The EPM9320 is an old, legacy CPLD but works at 5V , with 60 I/O lines & with a 3.3V supply voltage Vcc.

As practically all modern TVs can switch easily between NTSC & PAL… the TMS9918ANL NTSC output would not be a problem to European TVs.

EPM7128SLC84-15 :CPLD as Glue Logic
For Keyboard, Joysticks, Memory Decoder-mapper, I/O decoder etc The EPM7128SLC has 5V I/O lines . Also would do frequency divider to give 3.58MHz or 7.16MHz

AY-3-8910 PSG
AY-3-8910 Sound Chip

Intel 82C55 & Intel 82C51
For SIO & PIO functions

Reset Switch
MAX705 IC supervisor & Reset .

Power Supply
5V 1.5Amp DC regulator on PCB ...12V external PSU.

Optional
Z84C9008VSC Z80 KIO (SIO , PIO, CTC on one chip)
AM9511 Maths CPU..basically a scientific calculator on a chip)
RTC Real Time Clock with Calendar
MB8877 + WD9216 FDC Chips
SN76489 PSG
89C2051 MCU for connecting to PS/2 keyboard
Atmega or other MCU for miscellaneous functions.

Bill of Materials (BOM) List

Z84C0008PEC
KM641000-7 (70ns) or similar 2pcs (one User RAM one VRAM)
W27C512-45 (45ns)
EPM7128SLC84-15
EPM9320LC84-20
DAC & OP-Amps
CXA1645 or LM1377 PAL/NTSC Encoder
Intel 82C55 PIO
Intel 82C51 SIO
AY-3-8910 PSG
MAX705
5V Regulator

Cost of ICs approx $38

Optional
Z84C9008VSC Z
AM9511 Maths CPU.
DS12887 RTC Real Time Clock with Calendar
MB8877 + WD9216 FDC Chips
SN76489 PSG
89C2051 MCU for connecting to PS/2 keyboard
Atmega or other MCU for miscellaneous functions.

Cost approx. $15.0

Cost of a PC <$35

Miscellaneous, Switches, connectors, RESET button, LEDs etc ….$15.0

Total cost should be around $100 , note that’s a ballpark figure

Super Fast 24MHz MSX 1 design

A faster but identical design

Z84C0020VEC PLCC44
Z84C0010VSC PLCC84
IS6C1024-15 128K Fast SRAM (user RAM) DIP32
HM628128-70 128K VRAM DIP32
W27C512-45 (45ns) PLCC32
EPM7128SLC84-15 PLCC84
EPM9320LC84-20 PLCC84
DAC & OP-Amps
CXA1645 or LM1377 PAL/NTSC Encoder
Intel 82C55 PIO PLCC44
Intel 82C51 SIO PLCC28
AM9511 Maths CPU.
DS12887 RTC Real Time Clock with Calendar
MB8877 + WD9216 FDC Chips
SN76489 PSG
89C2051 MCU for connecting to PS/2 keyboard
Atmega or other MCU for miscellaneous functions.
AY-3-8910 PSG
MAX705
5V Regulator
7.16MHz & 24MHz Crystals to give various speeds.

***************************************************************************

Login or register to post comments

By megatron

Resident (41)

megatron's picture

31-07-2017, 17:11

Interesting idea...if you can build it and get it to work...but i think this is going to rather a difficult project otherwise someone would of already done it ? Running Naked in a Field of Flowers

By PAC

Guardian (4971)

PAC's picture

31-07-2017, 18:26

And why MSX1? Question

By Xenophon

Supporter (11)

Xenophon's picture

05-08-2017, 11:21

It will be nice to see the video circuitry for this design when / if it is completed ? The idea of utilising the TMS9918A Video input ability was never really realised back in the 1980s.

It might be worth checking to see if someone else hasn’t already done this ? As if they have that would save you a considerable amount of time.

**And perhaps it should have 512K user ram !

Good Luck and all the best with this idea!

By Dirty Harry

Resident (45)

Dirty Harry's picture

05-08-2017, 12:47

Basically because I have quite a few old TMS9918ANL ICs...plus I've always liked the idea of using the Video input to allow a external video signal (not TMS9918) to be injected. plus this would allow 80 column Text and a reasonably high graphics resolution ..

Plus TMS9918s are quite cheap, compared with V9938s and V9958s !

I'm not sure whether this has already been done, I haven't seen any schematics, except for when using two TMS9918s cascaded. If anyone has seen schematics for this sort of thing then please post a link to them ! Smile

By megatron

Resident (41)

megatron's picture

10-08-2017, 16:51

A better specification might be :

Z84C0008PEC 20MHz (3.58Mhz,&.16Mhz etc)
512K SRAM DIP32 (User RAM)
32K or 64K ROM
EPM7128SLC84-15 Glue logic (Memory & I/O decoding etc)
EPM9320LC84-20 +DAC & OP-Amps + CXA1645 TV Encoder : Video Generator
82C55 PIO
82C51 SIO
TMS9918ANL + 128K SRAM +Glue logic to interface SRAM to VDP
AY-3-8910 PSG + SN76489 Sound Chips
MCU micro-controller for Keyboard reading.
MAX705 RESET Switch
7805 Voltage regulators

********************************

By jblang

Rookie (19)

jblang's picture

11-02-2019, 02:58

Hopefully nobody minds me reviving an old thread...

I have a homebrew computer that is somewhat MSX1 compatible. It is based on the RC2014 with a 10MHZ Z80 CMOS processor and up to 512KB RAM. I have designed my own TMS9918A video card, SN76489 sound card, and ColecoVision-compatible controller interface, and as well as my z80ctrl board which acts as a bootloader, debugger, and can emulate hardware such as disk drives and keyboards. I also have a YM2149 sound card designed by someone else, but unfortunately it uses different ports than the standard MSX ports, so software has to be patched for it.

So far, I have successfully run the Bold Demo and MSX-BASIC on it. It is also compatible with ColecoVision Games, and it can run CP/M. In the future, I plan to try to emulate slots using the 512KB bankable ROM, and emulate a MSX-compatible disk drive using the SD card. Hopefully at this point it should be possible to boot MSX-DOS on it. The boards are available as kits on Tindie.

By hamlet

Scribe (2148)

hamlet's picture

11-02-2019, 06:20

Amazing work! Thanks for sharing!

My MSX profile