Skip to content

herraa1/JFF-TMSHAT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JFF Computer with TMSHAT

This is an enhanced version of the JFF Computer by @Skoti, which enables the use of the TMS9928A or TMS9929A Video Display Processors (VDPs), in addition to the TMS9918A VDP.

Current Status

✅ Completed!

The modified JFF mainboard 1.1b-TMSHAT Build1 has been successfully designed, built and tested (as of Aug 20th, 2025). See warning on the next paragraph.

The TMSRGBCustom TMSHAT Build1 has been successfully designed, built and tested (as of Sep 11th, 2025). It has been successfully tested for RGB output on the modified JFF mainboard 1.1b-TMSHAT Build1 with both a TMS9929A NL (50Hz) and a TMS9928AN (60Hz).

The TMSRGBv2 TMSHAT Build1 has been successfully designed, built and tested (as of Oct 11th, 2025). It has been successfully tested for RGB output on the modified JFF mainboard 1.1b-TMSHAT Build1 with a TMS9928AN (60Hz) and a TMS9929A NL (50Hz).

Warning

While building the JFF mainboard it has been detected that the original JFF mainboard revision 1.1b has a bug in the general purpose IO ports schematic similar (but different) to the bug that affected the Omega Home Computer prior to version 1.5 which the modified JFF mainboard revision 1.1b-TMSHAT Build1 has inherited. The bug does not affect MSX joysticks, only IO devices which require output to the trigger pins are affected.

For existing original JFF revision 1.1b mainboards (and for the modified JFF mainboard revision 1.1b-TMSHAT Build1), the JFF joyfix board interposer board has been developed to fix the joystick circuit problem, and has been already validated (as of Oct 3rd, 2025).

A new revision 1.1c of the original JFF mainboard that fixes the joystick circuit bug has been published by @Skoti (as of Oct 6th, 2025) solving Issue #3.

And the equivalent JFF-TMSHAT Mainboard revision 1.1c-TMSHAT has been released by @herraa1 (as of Oct 6th, 2025), but has not been built nor tested.

Note

Everything stated here about revision 1.1b-TMSHAT is applicable to 1.1c-TMSHAT. The only difference between the two board revisions is the fix for the joystick circuit bug.

Sponsorship

.

The fabrication of the Build1 mainboard 1.1b-TMSHAT, Hat-TMSRGBv2 and Hat-TMSRGBCustom PCB prototypes has been kindly sponsored by PCBWay, a global quality-focused PCB manufacturer which provides sponsorship for the KiCad project as well as many educational and open source hardware projects.

KiCad is the open source EDA platform of choice used to design the hardware circuitry provided in the JFF-TMSHAT project.

Motivation

The JFF Computer by @Skoti is a MSX1 compatible computer which uses the TMS9918A VDP which is part of the TMS9918 family of Video Display Processors from Texas Instruments. The TMS9918A outputs a 60Hz composite NTSC video signal, and thus the JFF has a single RCA video output connector with a composite video signal.

The TMS9928A and TMS9929A VDPs, from the same family of Video Display Processors, output instead analog luminance (Y) and color difference (R-Y and B-Y) signals. Except for the video output signals, the TMS9918A, TMS9928A and TMS9929A VDPs behave identically and have an almost identical pinout.

The difference in the pinout of the TMS9918A, TMS9928A and TMS9929A VDPs affects the following pins:

Pin Number TMS9918A Name TMS9918A Description TMS9928A/TMS9929A Name TMS9928A/TMS9929A Description
35 EXTVDP External VDP input B-Y B-Y color difference output
36 COMVID Composite video output Y luminance/sync output
38 CPUCLK VDP color burst frequency clock R-Y R-Y color difference output

Given that the JFF Computer does not use VDP pins 35 nor 38, and just uses pin 36 for composite video output, it should be relatively straightforward to allow the use of the TMS9928A or TMS9929A VDPs alternatively to the TMS9918A VDP. Using the luminance and color difference signals provided by the TMS9928A or TMS9929A VDPs, an enhanced output video signal like RGB or component video can be generated for a better user experience.

Proposed Changes

Original JFF Computer mainboard (rev 1.1b)

Modified JFF Computer mainboard (rev 1.1b-TMSHAT)

The JFF computer mainboard is modified as described here.

  • A new audio/video header J13 is added to the JFF computer mainboard, which can be used to select between the TMS9918A or TMS9928A/TMS9929A VDPs, and to provide the required audio and video signals to an external companion card called TMSHAT which converts them into a specific audio/video output.

    The header provides access to the following signals:

    Pin Number Name Type
    (from JFF connector point of view)
    Function
    1 GND Power Common ground
    2 +5V Power 5V power rail
    3 CPUCLK/R-Y OUT direct signal from pin 38 of VDP
    4 EXTVDP/B-Y OUT direct signal from pin 35 of VDP
    5 COMVID/Y OUT direct signal from pin 36 of VDP
    6 COMVID_OUT IN connected to JFF mainboard composite video output circuit
    7 NC (reserved)
    8 AUDIO OUT final mixed audio signal

    A total of 8 pins are used for the audio/video header, giving 1 extra pin for future use.

    Allowed VDP configurations:

    • TMS9918A

      To use a TMS9918A VDP, pins 5 (COMVID/Y) and 6 (COMVID_OUT) of J13, which use inverted colors in the silkscreen text, must be bridged and a TMS9918A must be installed in U6. In this configuration the modified JFF computer works identically as the original JFF computer with a TMS9918A and outputs a composite video signal on the motherboard video RCA connector.

    • TMS9928A/TMS9929A

      To use a TMS9928A or TMS9929A VDP, a companion TMSHAT card needs to be connected to J13 and a TMS9928A or TMS9929A VDP must be installed in U6. In this configuration the modified JFF computer will provide an audio and video output according to the capabilities of the TMSHAT card connected.

  • A small clearance area is defined between the power barrel connector and the DIN8 cassette connector in the JFF computer mainboard.

    This allows to, as long as they fit, seamlessly place in that area the additional audio/video connectors provided by the TMSHAT cards. Note that the additional audio/video connectors are never part of the JFF computer mainboard, they are instead soldered to the TMSHAT cards. But, for convenience, the mentioned area allows making such connectors available on the back of the JFF computer as if they were on the mainboard.

    The power led is relocated next to the Audio connector in the JFF computer motherboard to allow the described clearance.

  • Enough clearance is preserved too for the DD1718PA +12V/-12V voltage module converter to be installed upside-down in the J5 header.

  • A new extra 3mm hole is added to the JFF computer mainboard.

    A TMSHAT card must be properly attached to the JFF computer mainboard, specially as it has to deal with cable insertion/removal forces when audio/video connectors are present on the TMSHAT card itself.

    The top-left 3mm hole and the new 3mm hole on the JFF computer mainboard are the mechanical attachment points for the TMSHAT cards, while the audio/video header attachment provides the electrical signals.

  • External companion TMSHAT cards are designed to be connected to the new audio/video header J13, attached to the previously described mainboard holes and shaped to avoid any collision with existing components in the JFF computer. The TMSHAT cards provide a specific audio/video output using one or more embedded connectors in the card itself.

    As an example, a pair of TMSHAT card implementations are provided to convert the luminance and color difference signals of the TMS9928A and TMS9929A VDPs to RGB, and output both the audio and RGB video signals through a DIN8 connector compatible with audio/video cables for Panasonic MSX2+ machines.

This project provides source files for the following hardware designs:

JFF-TMSHAT-Mainboard

This mainboard design allows using a TMS9928A or TMS9929A VDP in combination with a TMSHAT, or a TMS9918A VDP by just closing a jumper.

✅ Revision 1.1b-TMSHAT of this board has been successfully built and tested.

JFF mainboard 1.1b-TMSHAT Build1
PCB unpopulated top
JFF mainboard 1.1b-TMSHAT Build1
PCB unpopulated bottom
JFF mainboard 1.1b-TMSHAT Build1 PCB populated top,
with a TMSRGBCustom TMSHAT Build1 connected
Configuration Options

This section provides visual details on how to configure the JFF mainboard 1.1b-TMSHAT for different VDPs.

Using a TMS9918A VDP
  • Insert a TMS9918ANL into U6

  • Use a jumper to bridge pins 5 and 6 of J13

  • Connect a composite display to the RCA video connector of the JFF mainboard

Using a TMS9928A/TMS9929A VDP with the TMSRGB TMSHATs
  • Insert a TMS9928AN/TMS9929ANL into U6

  • Remove all jumpers from J13, if any

  • Install two 20mm long vertical aluminum round posts on the JFF mainboard holes dedicated for TMSHATs

  • Insert the TMSHAT by connecting it to the J13 header and using two M3 screws to secure it to the vertical round posts.

  • Connect a 15KHz RGBS display (or a 15KHz video converter suitable for your modern display, like the OSSC) to the Panasonic-compatible DIN8 video connector of the TMSHAT

    TMS9929A (50Hz) with a TMSRGBCustom TMSHAT TMS9928A (60Hz) with a TMSRGBCustom TMSHAT

JFF-TMSHAT-Hat-TMSRGBv2

This TMSHAT provides RGB output via a DIN8 connector compatible with audio/video cables for Panasonic MSX2+ machines when using a TMS9928A or TMS9929A VDP.

It requires a TMS-RGB v2 module by Nicholas Piegdon.

✅ This board has been successfully built and tested.

Bill Of Materials (BoM)

Schematic and PCB

TMSRGBv2 TMSHAT Build1
PCB unpopulated top
TMSRGBv2 TMSHAT Build1
PCB unpopulated bottom
TMSRGBv2 TMSHAT Build1 PCB populated top with TMSRGBv2 connected
TMSRGBv2 TMSHAT Build1 PCB populated bottom with TMSRGBv2 connected

JFF-TMSHAT-Hat-TMSRGBCustom

This TMSHAT provides RGB output via a DIN8 connector compatible with audio/video cables for Panasonic MSX2+ machines when using a TMS9928A or TMS9929A VDP.

It implements a custom TMS-RGB directly in the TMSHAT.

✅ This board has been successfully built and tested.

Bill Of Materials (BoM)

Schematic and PCB

TMSRGBCustom TMSHAT Build1
PCB unpopulated top
TMSRGBCustom TMSHAT Build1
PCB unpopulated bottom
TMSRGBCustom TMSHAT Build1 PCB populated top
TMSRGBCustom TMSHAT Build1 PCB populated bottom (I)
TMSRGBCustom TMSHAT Build1
PCB populated bottom (II)
TMSRGBCustom TMSHAT Build1
PCB populated bottom (III)

Compatibility tests

Motherboard VDP TMSHAT Video Output Result
rev 1.1b-TMSHAT Build1 TMS9918ANL None (bridge 5&6) Composite 60Hz OK
rev 1.1b-TMSHAT Build1 TMS9928AN TMSRGBCustom Build1 RGBS 60Hz OK
rev 1.1b-TMSHAT Build1 TMS9929ANL TMSRGBCustom Build1 RGBS 50Hz OK
rev 1.1b-TMSHAT Build1 TMS9928AN TMSRGBv2 Build1 RGBS 60Hz OK
rev 1.1b-TMSHAT Build1 TMS9929ANL TMSRGBv2 Build1 RGBS 50Hz OK

Design considerations

  • The external connectors in the mainboard of the original JFF computer must not be relocated
  • Modifications to the original JFF computer must be kept to the minimum necessary to achieve the functional goals
  • The modified JFF-TMSHAT computer must behave exactly as the original JFF computer when configured in TMS9918A mode
  • A TMSHAT card must not collide with components of the JFF computer nor with the DD1718PA voltage converter module

Random notes (for internal reference only)

  • The female header of the TMSHAT card must use long enough pins to account for the height of the connector used in the TMSHAT
  • A minimum of 20mm of separation is required between the mainboard PCB and the TMSHAT PCB in order to use an inverted DIN8 connector in the TMSHAT card

References

Skoti's JFF Computer

Image Sources

About

JFF Computer by Skoti modified for compatibility with TMS992xA VDPs

Topics

Resources

License

Stars

Watchers

Forks

Languages