top of page
msx2.jpg

RFC MSX

Sometimes I buy old, rare computer hardware from Vatera.

Recently, I managed to acquire a strange black keyboard, which I blindly bid on.

When it arrived, a short inspection revealed that it was a rare Philips NMS 8250 computer keyboard, dating back to 1986.

+++This is an early prototype, there can be imperfections in the overall design.+++

About the development

origi.jpg

The computer itself was an MSX2 clone, a very popular home computer in Japan, Brazil, the Soviet Union, and the Middle East.

Its hardware was open-source-like, and many manufacturers produced it, including Philips.

These 8-bit machines had a beautiful, futuristic design that would still hold up today.

It was also one of the inspirations for the keyboard computer I previously mentioned.

tastatur.jpg

I had wanted to own one of these machines for a long time, but buying an original unit wasn’t really an option for me, especially in the era of emulators. So, instead, I decided to build one myself since I already had a suitable case—an old DVD player that matched the original in both size and color. I also found two black floppy drives among my spare parts, and I could design a new front panel for it.

Motherboard Design

I started by designing the mainboard, but I didn’t want to replicate the original motherboard because:

  • The cost of materials would be too high due to its custom chips.

  • Designing a complex PCB would take weeks.

Instead, I opted for a simpler FPGA-based solution.

Why FPGA?

FPGAs (Field-Programmable Gate Arrays) are semiconductor devices with programmable logic components and configurable connections, often referred to as blocks. These blocks can be programmed to function as logic gates, such as AND, OR, or XOR, meaning entire architectures and hardware systems can be embedded inside an FPGA chip.

However, FPGAs are expensive and slower than CISC processors, but they allow for fully customizable hardware emulation. With a proper interface connector, you can create any core within the FPGA.

Choosing the FPGA

I selected an older and more affordable Altera Cyclone because:

  • The Philips MSX2 hardware is not very demanding.

  • I found open-source projects, schematics, and an MSX2 core on GitHub.

With enough technical documentation, I felt confident in moving forward with the PCB design.

Designing the PCB in KiCad

Since this is a relatively simple FPGA board, KiCad was the best choice as it already had Altera’s footprint in its component library.

Using available schematics, I wired up the components, which was not too complex—most signals from the FPGA go directly to the connectors.

To save space and reduce costs, I:

  • Used resistor arrays for signal routing.

  • Replaced cartridge slots with a 50-pin male header—later, I plan to design a separate PCB for the dual cartridge slots, which will connect via a 50-pin ribbon cable.

Once the schematic was completed, I ran a simulation in KiCad, which showed no errors.

Board Layout

For the PCB layout, I followed a classic design approach:

  • The FPGA chip is placed at the center.

  • The crystal oscillator and bypass capacitors were placed next to the FPGA to ensure a clean clock signal and power delivery.

  • A 256 KB memory chip was placed directly above the FPGA, positioned for easy routing.

  • Resistor arrays were placed carefully to avoid crossover traces and leave space for FPGA pin connections.

  • Status LEDs, UART connector, and DIP switches were placed on the left side.

  • A RESET switch was included.

  • A 2x25-pin male header was positioned on the right side.

Bottom-side Components & Connectivity

At the bottom of the board, the connectors are arranged as follows:

  1. 5V power connector with SMD fuse and voltage regulators for 3.3V and 1.5V.

  2. SD card reader (for loading ROM files).

  3. Two joystick ports, compatible with Sega Mega Drive controllers.

  4. VGA and S-Video outputs.

  5. USB & PS/2 keyboard support, as the core supports both.

  6. AUDIO jack output, with a small built-in amplifier.

Képernyőkép 2025-01-29 232951.jpg

The PCB was designed in an L-shape, partly to optimize impedance and partly to leave space for future expansions and add-on boards.

Impedance Considerations & Routing

At this stage, I had to pay close attention to impedance, which needed to be 50 ohms. As before, I calculated trace widths using the SaturnPCB calculator.

  • Power rails were given thicker traces to handle heat dissipation.

  • The RESET circuit was placed away from power circuits and the crystal oscillator to avoid interference.

  • I planned ahead and used at least 0603 footprints for components, all positioned on the top side of the PCB to allow for hot plate soldering with solder paste.

Efficient Component Placement & Routing

The clean and well-organized component layout paid off:

  • Most of the routing was completed on the top layer, minimizing the need for vias and crossovers.

  • The bottom layer was only used in a few cases, making the design ideal for high-speed signals, as external routing reduces interference.

Final Steps Before Manufacturing

At the end of the PCB design process:

  • I filled empty spaces with GND polygons.

  • Carefully placed labels to ensure components and connectors could be easily identified.

  • Ran one last simulation, which showed no errors.

Finally, I exported the Gerber and Drill files and sent them for production at JLCPCB.

alaplap.jpg

Fortunately, this FPGA motherboard doesn’t have a huge component requirement. I already had almost everything at home—the only parts I had to order from AliExpress were the Altera FPGA and the memory chip.

Képernyőkép 2025-02-10 010015.jpg

While waiting for my order to arrive, I prepared the Philips case replica using the old DVD player chassis mentioned earlier.

  1. Disassembly & Motherboard Mounting

    • I removed the internal components of the DVD player.

    • I installed M3x10 spacers to secure the motherboard.

  2. Custom Back Panel Design & Machining

    • I imported the assembled motherboard’s 3D model into Fusion 360.

    • I designed a custom back panel to match the layout.

    • Using the TTC450 CNC, I milled the panel in one pass with a 4-flute 3mm end mill.

  3. Front Panel Design & 3D Printing

    • This was more complex since it needed to closely resemble the original Philips NMS 8250.

    • I started by sketching the DVD player’s front panel in Fusion 360, then modeled the new front panel for 3D printing.

    • I found two black 3.5-inch floppy drives in my parts collection and designed mounting brackets for them.

Soldering the Newly Arrived PCBs

Meanwhile, the freshly manufactured unpopulated PCBs arrived from China, so I started soldering.

  1. Cleaning the PCBs

    • I cleaned the PCB surfaces with isopropyl alcohol to remove contaminants and finger oils.

    • From this point on, I only handled the edges of the boards.

  2. Applying Solder Paste

    • Using a fine-tipped tweezer, I carefully applied leaded solder paste to the pads, ensuring the right amount—not too much, not too little.

    • I could have ordered a stencil for an extra cost, but I opted not to, as I wanted the practice.

  3. Soldering Process Using a Hot Plate

    • I avoided hot air reflow, as it might blow away smaller components and cause uneven heating.

    • Instead, I used a 200x200mm hot plate.

    • I placed the components onto the board using tweezers and a vacuum pickup tool.

    • The PCB was first preheated to 60°C, then gradually raised to 250°C while monitoring the solder paste melting.

    • Once the solder paste became fully liquid, I waited 10 more seconds before removing the board from the hot plate.

  4. Inspection & Touch-ups

    • Using a microscope, I carefully checked each solder joint.

    • All components aligned perfectly in place.

    • The only issue was a few solder bridges on the FPGA, which I fixed with a soldering iron.

3dprint1.jpg
frontpanel1.jpg

CONTACT ME

Inventor and Microelectronic specialist

Thanks for submitting!

  • LinkedIn
  • YouTube
  • Whatsapp
f61eb4ad-25c9-4a81-a343-53badef163b6.jpeg

© 2025 By Ferenc Vincze. Powered and secured by Wix

bottom of page