MSX is a computer standard (specification) from ASCII Corporation with Microsoft that became reality in June 1983, based initially around the 8-bit Z80 CPU, with the aim to ensure compatibility between computers. Various computers using the standard were manufactured by a number of companies including Panasonic, Philips, Sony, Toshiba, and Yamaha. Typically Microsoft would provide their version of the BASIC programming language built into the computer, known as 'MicroSoft eXtended BASIC', which is where 'MSX' comes from although there are debates as to the true meaning of 'MSX'.
The MSX computers were sold throughout the world between 1983 and 1993 and were a success in Asia, South America and Europe, but North America saw very few MSX computers, which is strange considering Microsoft's involvement but may have been down to North America having well established American computers from Apple, Atari and Commodore.
The original MSX line was followed up with MSX2 in 1985, MSX2+ (Japan only) in 1988, and MSX TurboR (Japan only, 16-bit) in 1991, each standard bringing more advanced features. Although MSX did not become the computer standard throughout the world in the way originally envisioned, it was very successful and served as a starting point for many getting into computers for the first time and is fondly remembered by many today with a loyal fanbase.
Unfortunately, as was also the case of porting games to other systems, games ported to the MSX from other computers, such as the Spectrum, did not take advantage of the MSX's better hardware in order to make the porting easier and quicker.
Even though MSX was a standard, different machines by different manufacturers implemented slightly differently, so (for example) colours produced by the computers may appear different between machines (complicated further by the TV/monitor being used potentially changing the colours further still).
Please see YouTuber Nostalgia Nerd's video on MSX to complement this introduction:
You can email me at james.boshikoopa@gmail.com
New: Panasonic FS-A1 (3/5/25)
The Panasonic FS-A1 is my first MSX 2 computer and my third MSX in total (I have a second MSX besides the Sony HB-75B which I'm repairing). I got the Panasonic FS-A1 from eBay and while the box is in very bad condition the computer itself is in good condition although a 3D printed cartridge flap has been added, as the original must have been lost/fallen off.
Unlike other MSX computers the Panasonic FS-A1 was aimed at the Japanese market, launching in Japan in 1986 for ¥29,800 and was available in black and red, although there was reportedly a white version that was sold in Italy as the Toshiba FS-TM1.
The FS-A1 measures 380 x 63 x 230mm (WHL) and weighs 1600g, and the AC adapter is 580g. In slot 3-0 is 64KB RAM, the VRAM is 128KB, video is handled by a Yamaha V9938, and a Yamaha S1985 'MSX-Engine' contains a Yamaha YM2149 PSG (Programmable Sound Generator) along with a PPI (Programmable Peripheral Interface), memory mapper, RTC (Real Time Clock), and Backup RAM.
Relying on an external power supply (power adapter FS-AA51), the computer is surprisingly light. For reference the adapter requires 100VAC 50/60Hz 23VA input and supplies 9VDC 1.2A and 18VAC 0.17A over a non standard 3-way connector, because of this it's advisable to obtain the original power supply if you intend to buy a FS-A1. Nonetheless you can check out the Resources section further down the page for the msx.org link with details about the power adapter including the schematic and links to using alternate power supplies.
To test the FS-A1 I used a step down mains converter, along with phono composite and audio connections, and powering on the computer it booted with an option menu to access various built-in apps (DESKPAC software) using the function keys, listed below:
F1 - Clock
F2 - Stopwatch
F3 - Alarm
F4 - Calendar
F5 - Calculator
F6 - Message Board
F8 - MSX-BASIC
Since each function key has two numbers, to access the first number press the function key with shift. E.g. SHIFT + F8/F3 to start BASIC (F8).
All of the built-in apps except BASIC only take a few seconds to appear, BASIC however, does an MSX logo animation and then starts - this could be because BASIC is in a different ROM.
The built-in BASIC is V2.0 and there is just 28815 bytes free, which seems a very low amount available to the user considering the machine has 64K RAM.
One oddity I found is if I write a loop such as:
10 GOTO 10
And then RUN it then press the STOP key the machine appears to freeze.
Note that there doesn't appear to be a way to exit from BASIC to the boot menu unlike the other built-in apps.
Firmware discussions:
https://www.msx.org/forum/msx-talk/hardware/fixing-panasonic-fs-a1-mk2-firmware-issues
Power Adapter FS-AA51 Information:
https://www.msx.org/wiki/Panasonic_FS-AA51
S1985 MSX-SYSTEM II APPLICATION MANUAL:
The following is not necessarily the correct procedure but the one I used so please use with caution. To take apart remove the four screws from the corners on the underside of the unit, then use a spudger from the front of the case to release the clips and lift up. The keyboard lifts up from the left, be aware of the two flat cables on the right that connect the keyboard to the motherboard. I found on my FS-A1 there is a lot of rusting on the power switch and RF modulator, which is probably quite normal and shouldn't affect operation.
As well as the hybrid board which appears to handle A/V, there is a second daughter board facing down, possibly containing the ROMs, suggesting the motherboard to be an early version. Please see the Technical section for more information about this along with the schematic.
On the PCB the following is written:
Copyright Matsushita
Electric Ind.1986
MADE IN JAPAN
DFUP0110ZAP 1
Note that Panasonic is associated with the Matsushita company.
The components are spread out quite a bit suggesting the computer could have been a lot smaller but likely they aimed to use a certain size case to accommodate the keyboard.
A good thing about many retro computers is that the various manuals including service manuals are available for them, helping us to understand, repair and modify those computers. Sadly that is not the case for the FS-A1, at least not as of 2025 as I can not find even a copy of the manual online.
The msx.org site has a link to the schematic at the bottom of the page:
https://www.msx.org/wiki/Panasonic_FS-A1
But the link is down and trying to find an archived copy was tricky only because of the redirect link not being liked by the Wayback Machine.
I managed to get to:
https://web.archive.org/web/20190512040234/https://green.ap.teacup.com/junker/
Which is a copy of the site's main page from 2019 (other dates may also work) and has some interesting posts and links on the left (don't forget to translate as the page is in Japanese). Clicking on the MSX folder link takes us to:
There are number of MSX entries and if you scroll down you can see "Schematic of MSX2 FS-A1". The post is from 2015 and mentions 'The circuit diagram of Pansonic's low-cost MSX2 FS-A1 is released.' It also says 'Main board model number and revision: DFUP0110ZAP2', which is perhaps a newer version than my FS-A1, which has a '1' at the end of the number. The site also specifies:
Chipset: S1985 MSX-SYSTEM II
Installed gate array: M60002A-0108FP (manufactured by Mitsubishi Electric)
Hybrid IC: BX7396WB (Manufacturer unknown)
The schematic is titled 'Panasonic FS-A1 PWB-Rev.02 circuit schematic' further confirming it's rev 2. You need to click 'FS-A1_PWB-REV02_circuit schematic Rev.01a (PDF)' for the PDF with schematic. There is some Japanese in the PDF but you can easily copy into a translator. It's unknown if the schematic is based on an existing one or was created from scratch, either way it's very nicely laid out and detailed along with pinouts of the various connections (ports).
In the schematic the ROM SUB BOARD is shown along with the DFUP0110ZAP1 number, and the green.ap.teacup.com site states:
'Some of the initial revision boards have a sub-board on which ROM is mounted connected to the main board, and the model number of the main board seems to be "DFUP0110ZAP1" (unmarked DFUP0110ZAP It is unknown whether it actually exists *1).'
Well, I can confirm that DFUP0110ZAP does indeed exist.
Some additional information from the site:
'According to Mr. Niga's information, in this board revision, the electrolytic capacitor C60 near the ROM of the main board is not mounted, and the contents of the ROM of the sub-board are almost identical to the contents of the built-in software of the mask ROM mounted on the main board of the board revision 2 (DFUP0110ZAP2 ), although the details are slightly different.'
By Googling DFUP0110ZAP I came across:
https://www.msx.org/forum/msx-talk/hardware/panasonic-fs-a1-msx2-schematics
Which has a link to what appears to be a copy of the schematic from green.ap.teacup.com:
http://niga2.sytes.net/msx/FS-A1_PWB-REV02_schematic_REV01a.pdf
So fortunately even without the archived version it was backed up elsewhere.
The HB-75B (HitBit) from Sony is a MSX 1 computer that was released on 1st June 1984 for £299 and is the Great Britain version of the HB-75 (the version intended for Japan), an improved version of the HB-55 from 1983, having more RAM and a better keyboard. As well as the HB-75B revision intended for Great Britain, there were other variants of the HB-75 released in different markets with their own model numbers:
HB-75AS Australia
HB-75F France
HB-75D Germany
HB-75P Other European countries
While this section focuses on the HB-75B, much of the information should be mostly applicable to the HB-75 and the other variations.
The specification for the computer is as follows:
Z80A CPU, NEC version (D780C-1).
TMS9929A PAL video display processor.
AY-3-8910A PSG Programmable Sound Generator.
48KB ROM (16KB for integrated software, 32KB for BASIC).
64KB RAM (in slot 2).
16 colours including black, white and transparent.
32 sprites, 8x8 or 16x16 bits.
Mono sound.
The HB-75B is rated for 240V 50Hz and has a QWERTY keyboard with 75 keys including a '£' key, compared to other microcomputers of the time the HB-75B is quite enjoyable to type on - only the arrow keys I found required a bit more force to operate that I would have liked. The computer measures approximately 405x67x245 mm (W/H/D) and weighs around 3.5 KG, the weight is mainly due to the transformer which is situated in one corner rear the left side. For connecting to a TV/monitor the HB-75B has RF, RGB+A SCART, and composite+A via DIN. There are two cartridges slots, one at the top, and the other at the rear.
Optionally, a HBI-55 data cartridge could be purchased separately (but was packaged with the Japanese HB-75), which stores data from the built-in computer software, 4KB in total, and can be used in either slot A or slot B. Data on the cartridge is retained by a lithium battery which will run down after about 5 years so it's recommended to transfer data to another cartridge before that happens. The HBI-55 cartridge nowadays goes for hundreds but it is possible to make your own.
When you power on the computer you are presented with a screen called the 'Personal Data Bank' which allows you to access an address manager, scheduler, memo, transfer (or Copy if a HBI-55 cartridge is inserted), and BASIC. There is also a BASIC + DATA CARTRIDGE option if the HBI-55 cartridge is present. The options are selected with arrow key up/down and selected with the return key. I found it a bit annoying to have to select BASIC every time the machine boots rather than going straight to BASIC.
Programs can be loaded from and saved to a tape recorder via the 8 pin DIN with appropriate cable (supports remote control of the recorder). In addition to tape, a software cartridge can be run either from slot A (the top slot, which has priority) with the illustration toward you or slot B (the rear slot) with the illustration side facing up. Slot B also supports a disk drive controller. Note that the Japanese model has just one cartridge slot and an expansion bus at the rear that does not support software cartridges.
The HB-75B was my first MSX computer (although I already had the Sega SC-3000 which is MSX-like) and while looking for an MSX computer to buy I was in particular looking for one with a built-in SCART socket (a rare thing for a microcomputer), thinking it would be an easy way to get RGB from a computer (which I was wrong - see further on). A possible reason why SCART was included on some Japanese designed microcomputers is that Japan has RGB21 (RGB Mult) which is similar to SCART, with the main difference being the pinout is different, so adapting would be quite straightforward.
As mentioned, I thought I could just plug a standard SCART lead into the computer and the other end into the RGB enabled socket of my LG plasma TV only to find that the image continually switched on and off. Trying it on my SCART to HDMI upscaler the image didn't switch on and off but instead constantly shifted position left to right, which was almost as annoying.
Composite video, however, was solid so that led me to believe that if there was a fault it was in the RGB circuit not the video chip itself, which operates independently of composite. Though investigations online and probing the computer I came to the conclusion that the problem was with using modern TVs and other devices on the HB-75B, which are more particular about the video signals. Indeed, the HB-75B switches the SCART blanking signal on and off at about 15.7KHz (the same frequency as the horizontal sweep in a CRT screen), which is strange, as the blanking signal should be steady to ensure the TV is in RGB mode (rapid switching of blanking is a SCART feature that can be used for overlays, take note, but makes no sense in this context since it would be overlaying RGB on composite).
So the solution I found was to place a 220uF electrolytic capacitor into the SCART lead, its anode connected to blanking (pin 16) and its cathode to blanking GND (pin 18), which resulted in a steady image. If you jam the capacitor into the SCART pins where the wires are connected you won't even need to do any soldering. Note that with the capacitor in place it doesn't matter what end of the SCART lead you plug into the TV/upscaler.
Even with a steady image I found there were fairly faint 'jail bars' - vertical streaks across the screen, and with MSX computers the jail bars are affected by the current screen mode; in screen 0 they're very apparent but in screen 1 less noticeable. Jail bars are something I was used to with other retro computers and games machines and indeed it seems it was common for different types of MSX computers to have jail bars due to the VDP used but they can be reduced somewhat. You can read more at:
https://www.msx.org/forum/msx-talk/hardware/direct-tms9928-gbs8200-ypbpr-connection?page=2
In summary, jail bars can be caused by the VDP/DRAMs/power supply/dried capacitors on the analog board. A ceramic capacitor soldered from the V+ pin to ground on the VDP chip may minimize but will not totally eliminate the jail bars.
Although I wasn't too bothered about jail bars I did follow another recommendation online to extract the sync pulses from the composite video using an LM1881 circuit and feed that into the SCART's composite video input but found that made no noticeable difference in video quality.
In this section we will briefly look at the BASIC built into the computer to give a taste of how it can be used. Keywords can be entered in any case (but are always displayed in capitals when listed), and the arrow keys can be used to edit listings, something that wasn't common in all BASICs of the time. Pressing Control-U deletes the current line but only clears what's on screen, if editing a program and press Control-U and follow by pressing return the line will not be removed from the program. To delete a line from a BASIC program you need to delete everything but the line number and press return.
The SCREEN keyword sets the screen mode, use a value between 0 to 3:
SCREEN mode
The value for mode can be one of:
0 text screen 1 37x24 characters (default)
1 text screen 2 29x24 characters
2 high resolution graphic mode 256x192 dots
3 low resolution graphic mode (multi-colour) 256x192 dots (64x48 blocks)
To change the colours used, use the COLOR keyword, which has the following format:
COLOR foreground, background, border
The colour values for foreground, background, border are:
0 clear/transparent
1 black
2 medium green
3 light green
4 dark blue
5 light blue
6 dark red
7 blue/cyan
8 medium red
9 light red
10 dark yellow
11 light yellow
12 dark yellow/dark green
13 purple/magenta
14 grey
15 white
Note: the computer defaults to screen 0, changing the border colour will not have an affect, you will need to use a different screen mode to change the border colour.
COLOR parameters can be skipped with a comma and other parameters can be left out, example:
COLOR ,1
Changes the background colour only, skipping foreground colour, and not specifying border colour (third parameter).
I found it can be difficult to see the difference between some colours, example, 6 (dark red) and 8 (medium red) has a very subtle difference on my TV through RGB SCART.
Use the following to test for yourself:
SCCREEN 1
COLOR 15,6,8
This is also the case for emulators, such as openMSX, so it shows it's an issue with the design or how our eyes respond to colour. Comparing 12 (dark green) and 2 (medium green) is much easier to tell apart, as it also light red and medium red.
Pressing shift + F1 in BASIC is very handy as it sets default colours of 15 for foreground (white) and 4 for background and border (dark blue), useful if accidentally set character and background colours to the same, for example.
As an illustration of how to use a joystick in BASIC you can use the following program to display the status of the direction buttons of a joystick connected to JOY A:
10 PRINT STICK(1): GOTO 10
The value displayed will be:
0 no button
1 up
2 up+right
3 right
4 down+right
5 down
6 down+left
7 left
8 up+left
Note that the HB-75B labels the joystick ports as A and B, which corresponds to ports 1 and 2 on other machines/documentation.
To check the direction buttons of a joystick in port B pass 2 into STICK() instead.
To get the status of the two trigger buttons for joystick A use:
10 PRINT STRIG(1);:PRINT STRIG(3): GOTO 10
The status of trigger A will be displayed first, followed by trigger B on the same line. For a joystick in port B pass 2 and 4 respectively to STRIG().
If using a Mega drive joypad, which is what I used for testing, you will get all four directions but only trigger 1, which is the B button.
AY-3-8910/AY-3-8912/AY-3-8913 datasheet:
https://map.grauw.nl/resources/sound/generalinstrument_ay-3-8910.pdf
Sony HB-55P/75P/75B Service Manual (GB):
https://archive.org/details/sonyhb5575sm
Sony HB-75/HB-55 Flyer (Japanese):
https://archive.org/details/sonyhb75hb55
Sony HBI-55 Data Cartridge Service Manual (GB):
https://archive.org/details/sony55hbmsm
TMS9918A/TMS9928A/TMS9929A video display processors data manual:
All content of this and related pages is copyright (c) James S. 2023-2025