Sharp released a range of personal computers under the MZ name from 1978, selling them in Japan and Europe (especially UK and Germany), to moderate success. The first in the MZ range was a computer kit called the MZ-40K, available in 1978, featuring a 4-bit MB8843 processor, later succeeded by the MZ-80K in 1979, based around an 8-bit LH0080A CPU (Z80 compatible). Sharp would go on to produce many more computers, including the MZ-700 series in 1982, sharing some compatibility with the MZ-80K.
Please check out the various sections on this page to learn more about specific Sharp computers. I always try to present the most accurate information on my site by reporting what I know from using the computers myself as well as by researching online, however, stated hardware release dates vary quite a bit online. I have looked at archived publications found online (such as magazines) in order to present the correct dates on my site, even if it contradicts what other sites claim.
Notes:
The computer commands on this page are in bold.
Hex values are specified with the dollar ($) sign.
Unless otherwise stated the screenshots on this page were taken using an Elgato capture card using the RGB video connection of the computer (where applicable).
Active low signals, unless otherwise stated, are denoted with a '/'.
When referencing book, manual, magazine, etc. page numbers I have used the actual page numbers of the original publication rather than the PDF page number, which may differ. However, if the publication doesn't have a page number then the PDF page number will be used instead.
Some images are available for download from the bottom of the page for better viewing.
You can email me at james.boshikoopa@gmail.com
The Sharp MZ-700 range was released in 1982 in Japan, 1983 in UK. and consists of three main models:
MZ-711 The base model, no data recorder/printer upgrades.
MZ-721 Features a built-in data recorder (MZ-1T01).
MZ-731 Has both a built-in data recorder (MZ-1T01) and printer plotter (MZ-1P01).
All models feature the 'MZ-700' family name badge on the top of the computer but the underside has a label specifying the computer's actual model number. Likely, most people bought the MZ-711 and then upgraded it later as that would have provided the cheapest option initially, which is likely why model MZ-711 seems to be the most common model found today, even with the upgrades fitted. Speaking of upgrading, Sharp made it very straightforward to install the data recorder and plotters as modules with dedicated connectors internally to the computer.
Let's now look at the connections and switches provided by all three main models, which are located at the back of the computer: RF (for TV), composite connector (for TV/monitor), colour/B&W switch (set to B&W for monochrome TV/monitor), channel adjustment for RF, RGB (for monitor), read and write (for external cassette player), I/O bus (for expansion) and printer port, volume (for internal speaker), reset switch, 2-pin mains input, FG (Frame Ground), power switch, and joystick ports. The I/O bus and printer ports are usually covered by their own metal, removable blanking plates, and the joystick ports are covered by a plastic, removable blanking plate, a nice touch to keep the connections clean and protected when not in use.
Note that the sounds produced by the computer only go to the internal speaker and don't get routed to the TV socket.
Programs can be loaded and saved using an external cassette player or digital player (e.g., MP3 player) by connecting the player's output to the Sharp's read port and the player's input to the Sharp's write port. However, you will need to have the internal cassette player loopback installed, please see the Technical/Cassette Player section for more information. Make sure to use audio leads with slim sheaths otherwise the cable connectors may not make good enough contact due to the computer case cut-outs being quite small.
Please see the Software section for more information about using software with the MZ-700 as well as links to download software.
The computer can be connected to a TV via the RF socket but that will give you the worse quality video and you will need to tune the TV into the right frequency. For better looking video you can use the composite connection and it's actually a good idea to set the colour/B&W switch to B&W for an improved look if you don't mind not having colour. For the very best looking video you will want to use RGB, but you will need to buy or make up either an RGB to SCART or RGB to VGA lead/adapter.
Fortunately, if you are looking to buy a second hand Sharp MZ-700 computer, at least in the UK, they generally go for around £200 in working condition, perhaps £300 if boxed but be aware that, like with other computers of the time, the X2 capacitor in the power supply may fail at any time and although the computer will likely keep running, it will release an unpleasant smell. If the computer has an internal cassette player or printer they also potentially will need work done to them, as the printer mechanism can fail and the belt drive of the player may have perished. Thus, be sure to check if you buy a Sharp computer that it has been serviced, if not it is strongly recommended to have it checked over sooner rather than later.
Quite unusual for microcomputers of the time, the MZ-700 range doesn't have BASIC built and instead there is a very simple machine code monitor program in the ROM (see below) which the computer boots into very quickly and from that you can use the limited number of commands available to edit the RAM, jump to code, and load and save machine code programs. Sharp BASIC also has its own equivalent 'monitor' type commands, which are discussed in the BASIC section.
Most often you'll want to load a program from cassette (usually BASIC) which you can do so by using the L command followed by the CR key. Note that if you're using an external player the play message doesn't appear when you use the load command since the computer can't detect the play button being pressed on an external player but you will need to press play on whatever type of player you are using. After a short time the computer should report that it has found a file and then you will need to wait until the file loads, which can take a couple of minutes. See the Troubleshooting/Difficulty loading programs from cassette section for more details.
The advantage of not having BASIC built-in is that software loaded from cassette can take advantage of having more RAM available instead of space being taken up by a programming language ROM. However, on the downside, loading BASIC or other programming languages is slow as it's not instantly available, which is a shame as most people would want to start with BASIC. In my opinion, if the computer had a cartridge socket and BASIC had been provided on cartridge then that would have been a good solution for those wanting to use BASIC. See the BASIC section to learn more about the programming language for MZ-700 computers.
As a simple example of using the built-in monitor program you can see in the following screenshot I've changed the first two asterisks in the top-left hand corner to a chequered pattern symbol:
I did so by using the M command which must immediately be followed by the memory address in hex that you wish to edit (there is no indication when a command is entered incorrectly). Screen memory starts at $D000 and stores the display code value for every character on screen; the display codes are listed on page 155 on the Owner's manual. Value $6B represents the asterisk (which the M command shows at $D000) and $6C the chequered character, which I typed in, followed by CR, changing the screen as mentioned. The value at $D001 is then also displayed, which I also changed from $6B to $6C, and lastly the value at $D002 is also shown, representing the third character across the screen, which is blank and is zero. To exit the M command you have to press shift + break together.
You can read more about the M command on page 148 of the Owner's manual, as well as the other monitor commands, starting on page 147.
There is a monitor command that isn't mentioned in the Owner's manual even though it has an equivalent in Sharp BASIC and that's the Dump (D) command, which would have been a serious oversight to not include. I only found out about the command because the 'Peeking & Poking The Sharp MZ-700' publication (see Resources section) mentions it. The D command displays on each line the start address, followed by 8 bytes in hex, and then the ASCII equivalent of the memory values, using full stop for undisplayable characters.
Firstly, you can specify just the start address, which will display 160 bytes from that address, for e.g., D000 will dump memory from $0000 to $009F. You can also specify the address range by following D with the start and end addresses. For e.g., D45124582 will display the memory contents from $4512 to $4581 (the end address specified is not inclusive), as in the image below.
If the dump command causes the screen to scroll, holding the spacebar will cause the listing to stop, holding shift with slow the listing, and shift + break together to stop the listing. Unfortunately, you cannot use the arrow keys to move to a displayed byte and edit it like you can with the Sharp BASIC monitor dump command. If you do not include a space between the start and end addresses then the end address will be ignored and you will just get 160 bytes from the specified start address. Note that D on its own without any values does nothing.
The MZ-700 range doesn't have BASIC built-in but programming languages including BASIC could be loaded from cassette, and in this section we will look at Sharp BASIC, which can be loaded in the normal way using the L command followed by CR. A copy of Sharp BASIC can be found at:
https://archive.org/details/s-basicswesharpmz-700
BASIC takes almost three and a half minutes to load from cassette but once loaded you will be presented with the following screen:
We can see that there are 36,439 bytes free, which is less than that available from the Commodore 64 (38,911), for example, which was released at a similar time but has BASIC in the ROM. However, the BASIC provided by Sharp has a lot more commands than the standard C64 BASIC, which lacked commands to more easily take advantage of its much better graphics and sound capabilities compared to the Sharp, requiring users to POKE memory locations instead.
It's recommended to read through the Owner's manual to learn about the BASIC commands and features. please see the Resources section for a link to the Owner's manual. A couple of useful key combinations that are worth mentioning are Shift + Clear to clear the screen and return the cursor to the top-left of the screen and Shift + Home, which only returns the cursor to the top-left of the screen without clearing the screen.
To give you a little taste of a simple BASIC program, I put together a simple listing, with its results underneath, which displays the word 'COLOUR' in the available colours:
Sharp BASIC only has 8 colours and we can set the colour of text with either the COLOR command or through the PRINT command, which requires we use a value from 0 to 7 for the text then background colour, in square brackets. For best contrast I chose to display the various colours against a black background (I had already set the background to black) but of course that causes an issue when setting the text colour to black. So, in line 10 we display 'COLOUR' in black text (value 0) on white background (value 7). Next, line 20 sets up a loop to go through the remaining colours using the values 1 to 7, and in line 30 we output 'COLOUR' using the current text colour value and on a black background. This repeats by way of the NEXT command on line 40, causing the loop to repeat until we've used all the colours.
For reference the colours and associated values are:
0 black
1 blue
2 red
3 purple
4 green
5 light blue
6 yellow
7 white
BASIC programs can be loaded using the LOAD instruction, such as:
LOAD "PROG"
Which will load a program called 'PROG'. While loading the computer will announce (hopefully) that it had found the specified file, followed by a loading message.
To save a BASIC program use the SAVE command instead of LOAD, like this:
SAVE "PROG"
While saving the computer will confirm that it is saving the file.
You can also load machine code programs; please see the Owner's manual page 28 for details.
Included with Sharp BASIC is a number of machine code monitor commands which improve on the built-in ones, as well as additional commands, and taking advantage of the screen editor, making life easier when working low level. In BASIC you must use the BYE command to be able to enter the advanced monitor, giving you access to the new commands, which are detailed starting on page 99 of the Owner's manual. Use the R command to return to BASIC from the monitor.
Here is a comparison of the available commands of the two monitor versions:
ROM Monitor BASIC Monitor Function
# Transfers control to the RAM area
B Toggle key press bell sound on/off
D D Dump memory
F Find data string
J G Call subroutine
L L Load file into memory
M M Memory edit
P P Printer/display output toggle (printer control for ROM monitor)
R Return control to calling program
S S Save memory to file
T Transfer memory contents
V V Verify file
An example of the difference between the two monitor types, the ROM monitor D command doesn't let you edit the values on screen after running the command whereas the BASIC version does, updating the values in memory if you press CR on a displayed line that you have edited. Also, you will notice that the layout of the BASIC version is slightly different in that it puts the ‘:’ symbol at start of each line and the ‘=’ symbol between the address and first value.
In the next screenshot you can see that I've dumped memory from $1200 to $127F using the command D1200, which dumps 128 bytes from $1200, since I didn't specify an end address. I used the arrow keys to move to the first value (previously $00) and changed the value to $01 by typing the value and pressing CR, and then I relisted the values using D12001201 to avoid scrolling by dumping a smaller range of values. We can thus see how useful the dump command is for editing 'random' memory locations since the M command is more of a sequential memory editor, although that is helpful for entering data byte-by-byte in adjacent memory locations.
Unlike with the ROM monitor, the BASIC version of the dump command does not let you pause the listing with spacebar and shift has no effect either as it does with the built-in monitor dump command.
When I bought my MZ-711 recently it came with a digital player containing many games and other software, which I've only begun to look at, but have presented here three of the games I've played.
UFO
After loading we are presented with the title screen and a prompt for instructions to be displayed:
Below is the first screen that is shown if you press 'Y' and there are several screens of text that follow.
The game being played is shown next; the atmosphere is represented by pink blocks, which the aliens fall through, and the laser you control is at the bottom of the screen. I found it quite difficult to line up the laser exactly with the falling aliens and when you shoot you only briefly see an effect representing the laser so it can be tricky to tell if you've hit an alien without looking at the score.
3D-Car Race
The next game I'm showing is 3D-Car Race, of which you can see the title screen below:
In this game you control your (very crudely drawn) car which starts off on the right side of the road and then you use the arrow keys to move your car left/right, avoiding the other cars speeding by, as you score increases. The game can prove quite tricky to play but if you do crash into another vehicle you loose a car, and when all are used up the game ends.
Even thought the graphics are very basic I am impressed how the game gives a sense of speed and the dips in the road (such as seen in the image above) are a nice touch.
Here is a video showing some gameplay in action from YouTube user Highretrogamelord:
Mac Pac
This game appears to be a German clone of Pac-man of which the title screen can be seen below:
From the screenshot above we can translate 'vertriebsrechte' as 'distribution rights' and 'anzahl der spieler' as 'number of players'.
The game indeed has four player support (players take turns) and decent graphics (see the next screenshot) but most striking for me at least is when you get killed by a ghost the computer makes the same beep sound as when it boots, but unfortunately the game lingers more than I would like before letting you continue playing.
Lastly, here is the game over screen:
The four player scores ('spieler' is 'player') are lsited and at the bottom of the screen is the prompt 'noch ein Spiel', translated as 'another game'. Answer with 'J' for yes (short for 'ja' or 'Jawohl', German words for 'yes') or 'N' for no (nein in German).
Here is a video of Mac Pac being played from YouTube user Top Retro Games:
I showed off a selection of MZ-700 games in a video I made:
Like with many other computers of the time, the PSU contains a RIFA branded X2 safety capacitor that must be replaced otherwise likely it will crack over time and explode while the computer is powered on. Although the capacitor exploding doesn’t usually stop the computer from working, it’s not nice to have nasty smelling smoke billowing out of the computer so it’s always best to replace before it happens. Either get someone to replace the capacitor (if it hasn’t already been changed) or if you are confident you can do it yourself but as with anything mains powered, if you’re not sure, get someone else to do it who does have experience.
Before starting ensure that the main cable is detached from the computer.
To remove the PSU, firstly take apart the computer and then unplug the PSU DC connector from the main board, then there are four screws that hold down the PSU that need taking out (note that one of the screws also holds (note that one of them also holds in a keyboard wire). You can then lift up the PSU by its rear end but you may need to move the keyboard out of the way.
To open up the PSU: take out the single screw from the top toward where the mains goes in and underneath toward where the DC cable comes out, there are two more screws that need taking out. You can then carefully separate the two metal pieces, which involves pushing out the cable grommet that protects and hold in the DC wire. To separate the PCB from the metal there is a black, plastic stud that has to be pushed out (you can carefully prise the PCB from the stud). Lastly, unscrew the mains socket and switch, although you can skip that step and stand the PCB upright if you are just changing the RIFA capacitor. There is also a plastic shield between the PCB and metal that needs removing, it must go back in the same place when putting the PSU back together.
Look for capacitor C2 and check its condition, if it's in a bad state like the one outlined in the photo below then it needs changing for a new one.
Capacitor C2 is rated for 0.047uF/250V and must be replaced with the same X2 type but the voltage rating can be higher. I've highlighted in the next photo the position of the C2 connections on the underside of the PCB to help with removing it:
Be sure to check other capacitors - in particular the electrolytics - to see if they also need swapping for new ones. You can see the new capacitor I installed in this image:
After replacing the capacitor(s), put the PSU back together (don't forget the plastic shield!) and you can test the PSU with a multimeter on its output, which should give a reading very close to 5V. If that is so, then you should be good to reinstall the PSU into the computer and do a final check that the computer boots and runs as normal.
Books & manuals
Peeking & Pokeing The Sharp MZ-700:
https://archive.org/details/peeking-poking-the-sharp-mz-700
Sharp MZ-1E14 instruction manual:
https://archive.org/details/manualzilla-id-7343925/
Note: wrongly uploaded as 'MZ-1F11' Instruction manual.
Sharp MZ-1F11 MZ Disk Drive Instruction Manual
https://original.sharpmz.org/download/1f11.pdf
Sharp MZ-1U06 Expansion Box Service Manual:
https://sharpmz.no/original/mz-700/download/1u06_sm.pdf
https://archive.org/details/manualzilla-id-6012107/
Sharp MZ-1U06 Expansion Unit Instruction Manual:
https://sharpmz.no/original/mz-700/download/1u06.pdf
Sharp MZ-700 Owner's manual:
https://archive.org/details/sharpmz700ownersmanual
Sharp MZ-700 Owner`s manual (Disk BASIC manual):
https://archive.org/details/manualzilla-id-7339763/mode/2up
Sharp MZ-700 Service Manual:
https://archive.org/details/sharpmz700servicemanual
Starting Machine Code on the Sharp:
https://archive.org/details/starting-machine-code-on-Sharp_MZ80x_MZ700/mode/2up
The Sharp MZ-1F11 disk drive is an add-on for the MZ-700/MZ-800 as a replacement for the data recorder which provides higher capacity non-volatile memory storage with higher access speed as another advantage. It uses 2.8" double-sided MZ disks (MZ blank disk have model number MZ-6F03), which was unusual for the time when 3.5" was common, but Sharp weren't the only ones to use uncommon disk formats for their computers. The MZ disks appear to be similar to Mitsumi Quick Disks (which are referred to both as 2.8" and 3" depending on whom you ask) which also saw some use with MSX computers, various electronic music instruments, and a variation was used for the Family Computer Disk System.
As the disks do not have a protective sliding cover as typical of 3.5" disks, for example, care must be taken not to touch the inner surface and when not in use the disks must be kept in their cardboard sleeve.
Disks can store BASIC programs (text file), sequential data, and machine-language file (e.g. system software) and a total of 32 files can be stored per side.
The MZ-1F11 was originally supplied boxed with the instruction manual (see the Sharp MZ-700/Resources section for an archived copy) and applicator. Dimensions of the unit are 151 x 128 x 61mm and it weighs 1.2kg.
Having the appearance of the Sharp MZ data recorder, the MZ-1F11 opens up in a similar manner using the eject button located to one side of the unit. The is a busy light on the other side, which illuminates when the disk is being accessed. At the rear of the drive there is the bottom plate held in by two screws , the cable that connects to the interface unit, and a connection cover protecting CN6 used for connecting the data recorder.
Before a disk can be inserted for the first time a protective sheet needs to be removed from the drive by pulling the right side of the carriage and then the protective sheet can be pulled out. To insert a disk, put it in using the disk guide, which is part of the disk holder, accessed by pressing the eject button, then the disk holder can be closed (make sure first the disk is fully inserted). Since the MZ-1F11 uses double-sided disks it's important to insert the disk the side up you want to use - side A or B. The disks have a write-protect tab for each side, if the tab has been removed then it can be taped over to allowing writing again.
On page 2 of the MZ-1F11 instruction manual they show what is needed to connect the MZ-1F11 to a computer, for the MZ-700 the only option is the MZ-1E14 MZ disk interface unit, which appears to have been a separate purchase. Note that the MZ-1F11 is not compatible with the MZ-1U06 expansion unit.
To mount the MZ-1F11 to a MZ-700/800 you need to first remove the two screws from the back of the MZ-1F11 and then take out the bottom plate from underneath, which will expose the cable (CN2) which needs to be connected to the computer and then the MZ-1F11 can be secured to the MZ-700 with screws.
Like other disk drives the MZ-1F11 should be cleaned regularly, see page 6 of the instruction manual for details.
For reference I have duplicated the pinouts from page 8 of the instruction manual:
9-pin connector (note: pin 1 is closest to I/F cable)
1 (n.c.)
2 (n.c.)
3 (n.c.)
4 motor
5 sense
6 5V
7 write
8 read
9 GND
Interface cable
Component- Pattern-
side side
25 +5V 26 GND
23 S1 24 /CE
21 /RESET 22 S0
19 Ø 20 /RD
17 /M1 18 /IORQ
15 D7 16 GND
13 D6 14 GND
11 D5 12 GND
9 D4 10 GND
7 D3 8 GND
5 D2 6 GND
3 D1 4 GND
1 D0 2 GND
Page 10 of the instruction manual has the schematic with hand written notes.
The MZ-1E14 instruction manual can be found in the Sharp MZ-700/Resources section. The disk interface is only for the MZ-700 and has a built-in 4KB IPL (Initial Program Load) ROM which loads the system software (e.g. disk BASIC) in about eight seconds.
Dimensions of the MZ-1E14 is 77 x 125 x 16 mm (WDH) with a weight of 220g. Originally packaged with the MZ-1E14 is the MZ-700 BASIC (5Z008)/utilities master disk, MZ blank disk, data recorder extension cable, MZ-700 Disk BASIC manual, MZ-700 MZ disk, 5Z008 BASIC Manual, and instruction manual.
On one end of the MZ-1E14 is the 26-pin connector for the MZ-1F11 disk drive interface cable and the other end has the edge connector to plug into the MZ-700 I/O bus, note that there is a guide pin to make sure the MZ-1E14 is plugged in the right way. Additionally, the MZ-1E14 has a foot to keep it upright and two tabs for securing to the MZ-700 with screws.
Remove the MZ-700 I/O BUS protective cover by taking out the two screws, these screws are then used to secure the MZ-1E14 to the computer once it has been plugged in. Then the MZ-1F11 interface cable can be plugged into the MZ-1E14, fastening it with the provided screws.
The data recorder can still be used externally even with the MZ-1F11 in place by plugging it into the MZ-1F11's dedicated port after removing the cover. An extension cable was available to provide more distance between the data recorder and the computer.
While the MZ-700 base model could be upgraded with an internal data recorder and printer plotter, all models of the MZ-700 can be further upgraded with the MZ-1U06 expansion unit, which permits the use of two interface cards to be plugged in, allowing a floppy disk drive or quick disk drive to be added, for example. Please see the Resources/Books & manuals section further down the page for the instruction manual and service manual.
The dimensions of the MZ-1U06 are 220 x 264 x 68mm (WDH), weighs 2.7kg, runs off mains voltage and can supply 2.5A @5V to the interface cards. The MZ-1U06 buffers the computer bus signals for the interface boards and provides 5V power to them, the interface card signals are connected in parallel so you shouldn't install identical cards as that would cause a conflict and possibly damage them and the computer. At the rear of the MZ-1U06 you will find the power switch, the connection cable that plugs into the MZ-700, the power cord, and the two numbered interface slots which are protected with a slot cover when there is no interface card installed.
Whenever connecting or disconnecting the MZ-1U06 to/from the MZ-700 make sure the power is off to the computer and attached peripherals including the MZ-1U06. In a similar manner, turn off the power to the MZ-700 and MZ-1U06 before inserting/removing an interface card to/from the MZ-1U06. To install an interface card you first unscrew the slot cover, then insert the interface board component side up, take out the connector cover from the slot cover, and finally put back the slot cover.
To connect the MZ-1U06 to the MZ-700, first remove the port cover from the MZ-700's I/O BUS by taking out the two screws, then plug the MZ-1U06's connection cable into the MZ-700's I/O BUS edge connector and secure with the supplied screws.
On page 8 of the instruction manual it lists the connection cable and interface board connector pinouts, which I've reproduced here (please use as a guide only):
Connection cable
Top side No. Bottom side
D0 1 GND
D1 2 GND
D2 3 GND
D3 4 GND
D4 5 GND
D5 6 GND
D6 7 GND
D7 8 GND
BUS Ø 9 GND
A0 10 RESET
A1 11 /EXRESET
A2 12 /HALT
A3 13 GND
A4 14 /M1
A5 15 /EXWAIT
A6 16 /WR
A7 17 GND
A8 18 /RD
A9 19 GND
A10 20 /IORQ
A11 21 GND
A12 22 /MREQ
A13 23 GND
A14 24 /INT
A15 25 (n.c.)
Interface board connector
Top side No. Bottom side
Vcc 1 Vcc
D2B 2 D3B
D1B 3 D4B
D0B 4 D5B
GND 5 D6B
A15B 6 D7B
A14B 7 BUSØB
A13B 8 /M1B
A12B 9 /WRB
A11B 10 /RDB
A10B 11 /IORQB
A9B 12 /MREQB
A8B 13 GND
A7B 14 /HALTB
A6B 15 IEI
A5B 16 IEO
A4B 17 RSTB
A3B 18 /EXRSTB
A2B 19 /INTB
A1B 20 /EXWAITB
A0B 21 (n.c.)
GND 22 GND
Interestingly the interface board connector has the same number of pins as the MZ-80AEU/MZ-1U01 expansion unit for the MZ-80A/MZ-2000 (please see the Sharp MZ-80A/Expansion Unit section further down the page) and the pinout is almost the same - a few signal names are slightly different but otherwise should be functionally the same (e.g., RESET on the MZ-80AEU/MZ-1U01 connector is called RSTB on the MZ-1U06 connector) and pin 21B has no connection on the MZ-1U06 but is /NMI on the MZ-80AEU/MZ-1U01). The MZ-1U06 connection cable pinout has more pins than the MZ-80AEU/MZ-1U01 connector that plugs into the computer's expansion port but the signals are similar.
In the service manual, which calls the MZ-1U01 'Expansion Box', it specifies that the signal level is TTL compatible and that there is an automatic reset of 3ms upon power on. The dimensions are listed as the same as in the instruction manual except the width is 224.4mm rather than 220mm. The supply voltage is specified as 230VAC 50/60HZ so it must be the European version.
A block diagram is given on page 2 of the service manual, note the address and data buffering and the IEI/IEO signals, which are used for daisy chained interrupt priority control - please see the Sharp MZ-80A/Expansion Unit section for information about how it works. Page 3 has pinouts for CN1 (connection cable), CN2 and CN3 (connects bus board to interface card connectors), and CN4 and CN5 (interface card connectors). On page 4 is a system block diagram, page 5 the power supply block diagram and troubleshooting, motherboard troubleshooting on page 7 with test programs on the following page, parts layout on page 9 (power supply) and 11 (motherboard), full circuit diagram on page 10 (power supply) and 12 (motherboard), and finally the parts list on page 15 and 16.
Digital cassette tape images can be downloaded from different online sites and typically they come in either MZF or WAV format, with WAV files being the easiest to use since they can be played straight from a PC, smartphone, digital player, etc. MZF files are to be used with a Sharp computer emulator or special digital player but can be converted to WAV, with MZF2WAV being a program that can do the conversion. There is both a command line version (MZF2WAV) and GUI version (MZF2WAVGUI), both can be download from:
http://retro-rick.djsho.co.uk/?p=8
I have found that when using MZF2WAVGUI to convert from MZF to WAV it's best to select the 'c' option (via SET PARAMETERS) button otherwise the loading will fail when trying to use the resulting WAV files with the MZ-700 (or other Sharp computer).
As for recording from the MZ-700 to a digital player, I used a TRS audio lead to connect the WRITE port of the MZ-700 to the microphone input of the player. I successfully saved and loaded a BASIC program, both with the player's recording input set to 'microphone' and 'line in', and with the sample rate set to the minimum of 512kbps. Note that when saving it's best to press record first on the player before getting the computer to start recording to ensure it's saved in full.
Download links
Applications/BASIC V1.0A audio feed:
https://archive.org/details/applicationsbasicv1.0asharpmz-700
Hu-BASIC 2.0a:
https://archive.org/details/mz-700-hu-basic-2-0
Japanese Game Set (MZT):
https://archive.org/details/mz-700-jp-set
Sharp BASIC:
Cassette Player
If the internal cassette player isn't installed you can use an external cassette player by connecting it to the computer's read and write connectors but you must install a loopback, either the officially supplied one that came installed in the MZ-711 or you can make one up yourself. The official loopback can be seen in this photo (pin 1 on the left):
The loopback must be connected to the computer's PCB internal connector, W1013ACZZ, labelled 'To Recorder', which is what the internal cassette player would be connected to.
The pinout of the internal connector is:
1 Ex. write
2 Ex. read
3 GND
4 Remote (motor)
5 Sense
6 +5V
7 Write
8 Read
9 GND
On page 135 of the Owner's manual, top-right, P-12 is the internal cassette player connector and on page 143 it shows the cassette player connector toward top-right, in reference to the recorder module, which doesn't list the first three connections, since they aren't relevant to the internal cassette player.
For an external cassette player (or any other recorder for that matter) to be able to work a loopback connector must route the connections as follows:
Pin 1 (Ex. write) to 7 (Write)
Pin 2 (Ex. read) to 8 (Read)
Pin 3 (GND) to 5 (Sense)
If you only want the ability to be able to load software into the computer then there is no need to connect pin 1 to 7.
Pin 5, sense, is what detects that play has been pressed on the cassette player but since that signal isn't routed to outside the computer it is internally connected to GND by using the loopback, as if the play button is always pressed. In addition, it would have been nice if the computer could control an external cassette player's motor as it does with the internal one but again, that signal is not made available externally. Of course, if you're using a digital player externally then it's not a loss that those signals aren't accessible externally.
Colour VRAM
https://www.idealine.info/sharpmz/mz-700/colorvram.htm
Display
Character generator ROM (CG-ROM):
https://www.idealine.info/sharpmz/mz-700/charrom.html
Joystick
The MZ-700 computer features two joystick ports at the rear of the machine but from what I can tell, most games for the computer support only the keyboard for controls, which makes sense as the joystick would have been an expensive add-on. The joystick ports do not use the DE9 connector commonly found on other computers of the time but 5-way male JST connectors.
The MZ-1X03 is an analogue joystick for the MZ-700 and the only one I can find information about, that was available for the computer. It has two buttons and a stick that doesn't self-centre, you can find the instruction manual at:
https://sharpmz.no/original/mz-700/download/1x03.pdf
The manual lists example programs in BASIC and machine code for using the joystick, as well as the schematic. Some of the information is also available on this site:
https://www.sharpmz.no/articles/the-mz-series/mz-700/mz-700-joystick/
The site maybe easier to follow than the PDF version and it has a download link for the assembler listing.
The MZ-700 joysticks are more complicated internally than the joysticks of other computers that were around at a similar time, such as IBM PCs and the Apple II, for example. These computers could use simpler joysticks requiring two variable resistors for the stick and a couple of buttons for actions. The position of each axis of the stick was calculated through timing a capacitor being charged through the variable resistor attached to the stick, since a different resistance would be available due to the position of the stick. Although the MZ-700 uses a similar technique to determine the position of the stick, the complete timing circuitry is contained in the joystick itself, making it more complicated to create our own joystick or adapt existing ones to work on the MZ-700.
As it can be difficult to get hold of a compatible joystick we can make our own but first, some observations from looking at the schematic in the instruction manual:
The circuit uses two chips, a 74157 quad 2-line to 1-line data selector/multiplexer (‘157’ on the diagram) and a 74221 dual monostable multivibrator (‘221’ on the schematic).
/VBLK selects whether the computer reads the state of the switches (/VBLK is high) or the stick values (/VBLK is low). Additionally, when /VBLK is low the 74221 timers trigger. Thus, to read the sticks, wait for /VBLK to go from high to low, then wait for a short delay before counting an incrementing value until JA1/JA2 becomes high. To read the switches, wait for /VBLK to go high, check the state of switch 1 (JA1) , wait briefly, wait for /VBLK to go high, and then read SW2 (JA2).
Output Y4 (pin 12), inputs B4 (pin 13) and A4 (pin 14) are unused on the 74157. Outputs Q2 (pin 5) and Q1 (pin 13) of the 74221 are unused.
The schematic shows pin 8 of the 74157 is active low -the small circle- but the circle should be on pin 15 - strobe - as that’s an active low input whereas pin 8 is GND. Then there's the 74221, which they've indicated that the A inputs (pins 9 and 1) are active low with the small circles yet the CLR inputs (pins 3 and 11) should also have the circles too.
The resistor and capacitor in series coupled with each switch provides a brief delay, likely helping to ensure a switch press is read successfully.
There are four variable resistors but two of them likely are for adjusting - scaling - the resistance range of the variable resistors operated by the stick. These variable resistors were likely internal since photos of the MZ-1X03 joystick do not show any external adjustments, as was common with other analogue controllers. Unfortunately, there are few photos online of the official joystick and certainly none showing the internals and the instruction manual makes no mention of any type of adjustments.
I've made a version of the joystick based on the schematic in the MZ-1X03 instruction manual which is shown in the following image and is also downloadable from the bottom of this page, titled Sharp_MZ_700_Joystick.png.
As mentioned, the circuit diagram is very similar to the one in the joystick instruction manual but hopefully more clearer and with a few changes. Whereas the original design featured four variable resistors, mine only uses two, VR1 and VR2, both 50K, and I've changed the timing capacitors, C7 and C8 to be 82nF instead of 33nF in the original, to keep close to the original timing.
The 74221 output pulse width is calculated as PW=0.7(RExt)(CExt) but in the first datasheet I looked at it did not mention the 0.7 so my original calculations were off somewhat but I've used the correct formula in this section, that I found from looking at other datasheets.
As pointed out, in the original design there is a 33nF timing capacitor and the timing resistance consists of a 2.2K fixed resistor in series with a 130K variable resistor, which is in parallel with a 680K variable resistor that's in series with a 100K fixed resistor. At maximum value we have a 130K resistor in parallel with a 780K resistance, giving a total resistance of 111428.57, which we add on to the 2.2K, giving 113628.57 in total.
Thus the maximum pulse width would be:
0.7 x 113628.57 x 0.000000033 = 0.002624819967 (2.62mS)
For calculating the minimum pulse width we have a 2.2K fixed resistor in series with 0 ohms, if the resistors were ideal, giving us:
0.7 x 2200 x 0.000000033 = 0.00005082 (50.82uS)
If we now look at the pulse widths for my design we just have the 2.2K fixed resistor in series with a 50K variable resistor, along with an 82nF timing capacitor. The maximum pulse width can be calculated as:
0.7 x 52200 x 0.000000082 = 0.00299628 (2.99mS)
The result isn't too far off from the original design and as stated I found the wrong formula initially and we also have to consider that the components won't be exactly what they're stated to be anyway.
For the minimum width for the new design we have 2.2K fixed resistor in series with theoretically 0 ohms:
0.7 x 2200 x 0.000000082 = 0.00012628 = 126.28uS
We can see that the result is way off compared to the original design but it only really matters that the maximum pulse width is at least as long as the original.
VR1 and VR2 can be part of a self-centering analogue stick as that's easier to come across nowadays but as with any variable resistors, keep in mind that they won't read exactly middle resistance when the stick is resting just as they may not show the maximum stated resistance when the stick is at an extreme position. I've found that some analogue stick modules you can buy are very limited in the resistance ranges they can reach compared to what they should be able to achieve. Feel free to use different variable resistor values and adjust the timing capacitors accordingly if you use my design and of course you can still put in the adjustment variable resistors if you like.
The reality is that the updated circuit should work with most games even though the computer won't read middle value for the stick in resting position. From my tests I was getting 165 in the resting position, a bit off from the more ideal 128, and 2 and 255 for the opposite extremes, which I feel is very close to ideal. Most games should check for a certain range to be interpreted as up, down, left and right, certainly if they are games that could be played with a digital joystick. Indeed, the example program in the instruction manual will make the joystick seem off but as explained, games shouldn't be checking for absolute values if they are essentially 'digital' input games using an analogue joystick.
Memory Map
MZ-700 memory map:
https://www.sharpmz.no/articles/the-mz-series/mz-700/mz-700-memory-map/
Motherboard hardware elements descriptions:
https://original.sharpmz.org/mz-700/mothbrd.htm
Pinouts
https://www.idealine.info/sharpmz/mz-700/connect.htm
Printer
To use an internal printer make sure the printer switch on the PCB (S1012ACZZ) is set to INT (set to the opposite position to use an external printer). There are two connectors on the PCB that an internal printer attaches to, both labelled 'TO PRINTER'. The smaller one is 4-way and is marked as 'M1009ACZD' and the longer one is 15-way and has the identifier 'M1009ACZO'. The pinouts are:
1 ARDP 9 ARD8
2 ARD1 10 AIRT
3 ARD2 11 GND
4 ARD3 12 ARDA
5 ARD4 13 GND
6 ARD5 14 AST4
7 ARD6 15 SNS
8 ARD7
1 +5V
2 +5V
3 GND
4 GND
Having the internal printer connector makes it easier for us to make use of the printer port for our own projects instead of having to interface with the PCB edge connections.
We can do a simple test to light a number of LEDs by using the printer port for a simple demonstration, which you can do using breadboard, but it doesn't make use of all the printer signals available. Firstly, remove the printer (with power off) if installed and make sure the internal printer switch is set to INT. Connect the anodes of 8 LEDs to pins 2 to 9 of the 15-way printer connector, pin 1 is labelled on the PCB. If you don't have a suitable connector you can use individual 'DuPont' wires. Put an appropriate limiting resistor in series with each LED cathode connection (I used 330R) and connect the end of all the resistors together. This common point needs to be wired to either pin 11 of 13 the 15-way connector.
Now the LEDs are wired up we can turn the computer on and control the LEDs but the LEDs will be off until we use a program to control them; the printer data lines (ARD1 to ARD8) are controlled by Z80 I/O port $FF. This is the assembly language program we can use:
$1200 3E FF LDA A, $FF
$1202 D3 FF OUT ($FF), A
$1204 C9 RET
Each line starts with the address, followed by the instruction values, and then the assembly language equivalent.
The first line loads $FF into the A register and is what sets which LEDs are lit. Each bit, when set, turns on a corresponding LED, and for all LEDs to be on the value $FF is used. On the second line we output to port $FF (the printer data lines) whatever value register A was set to. Lastly, we return, handing control back over to the calling program.
If you want to use Sharp BASIC to run the machine code you could write a program to POKE the values into memory but I just used individual POKEd the values in immediate mode. Then you can use USR to call the program, as in USR($1200), and you should see the LEDs light. If the LEDs don't light, make sure your wiring is correct and is making good connection, and check that you entered the values correctly. Change the value at $1201 and call the program again to see different combinations of LEDs light. Note that the LEDs will go off if you reset or power cycle the computer but the program will remain in memory if you reset the computer.
Alternatively, we can run the program from the built-in monitor program by using the M command to edit the instruction values into memory starting at address $1200. You can then call the program with J1200, but you will see that although the LEDs light the computer resets as if the computer had just booted.
I stumbled upon the answer at this site, which details the monitor commands:
https://www.sharpmz.no/articles/the-mz-series/mz-700/mz-700-monitor-1z-013a/
It advises to reinitiate the monitor's stack and then jump back to the monitor, which I've added to my printer LED test program:
$1200 3E FF LDA A, $FF
$1202 D3 FF OUT ($FF), A
$1204 31 F0 10 LD SP, $10F0
$1207 C3 AD 00 JP $00AD
Here is a screenshot as reference:
After adding those extra bytes if you then run the program using J1200 the computer won't reset and in fact I tested without the LD SP instruction (using just JP $00AD after the OUT instruction) and the computer didn't reset after using J1200. The important think to takeaway is if you run your program using the J command and you use your own stack then definitely reinitiate the monitor's stack before returning to the monitor.
RF Modulator
Composite signal is in black & white
Make sure the colour/B&W switch near the composite socket is set to 'color'.
Difficulty loading programs from cassette
The computer generally finds a file within 12 seconds (when using a digital player, at least), and files can take anything from a minute to three minutes to completely load. If using an external player - whether a cassette player or digital player - ensure that the lead from the player to the computer is fully in at both ends. Some audio cables have thick sheaths, which make it difficult to get the plug in enough on the computer end, so it's worth trying a cable with a slim sheath.
You may have difficulty using a digital player if the volume is too low, ensure the volume is at a high level and try loading again. You can use shift + break to interrupt loading and then issue the load command again after changing settings on the player.
Using the built-in monitor program you can use LOAD or just L to load a file from a cassette.
When using Sharp BASIC, you can use the question mark character (?) as a shorthand for PRINT.
The MZ-80A was released in Europe 1982 and is essentially an assembled and upgraded version of the MZ-80K kit computer from the late 70s (1978 in Japan, 1979 in Europe) and thus somewhat software compatible. The Japanese equivalent of the MZ-80A is the MZ-1200, also available from 1982, but features a different character set (stored in the character ROM) to the MZ-80A, so the MZ-1200 is actually closer to the MZ-80K than the MZ-80A when it comes to the internal components but externally looks like an MZ-80A. Software designed for the MZ-80A will run on the MZ-1200 but likely won't display correctly and of course that is true vice-versa. A work around is to have selectable character ROMs, both Japanese and international, selecting whichever is needed for the software you are running. Although the MZ-80A will be covered in detail in this section, much of the information can still be applied to the MZ-1200.
Having a number of improvements over the MZ-80K, the MZ-80A has a better built-in keyboard with a more standard layout of keys, although annoyingly it still has only two cursor keys, requiring them to be shifted to get all four directions, and has a dedicated numpad including a '00' key. Additionally, the MZ-80A has double the VRAM compared to the MZ-80K (2KB VS 1KB, which allows for scrolling of the screen). Features that the MZ-80A shares with the MZ-80K, other than the integrated keyboard, is the built-in cassette player for loading/saving software, mono sound from the internal speaker and monochrome 9” CRT screen, but the MZ-80A's screen emits green light whereas the MZ-80K glows white.
A photo of my MZ-80A (UK version) can be seen below:
While both the MZ-80K and MZ-80A feature a Z80 compatible Sharp LH0080 CPU running at 2MHz, it is possible to modify the MZ-80A to run at 4MHz, although the modification affects tape loading (but disk drives will run as normal).
A more detailed MZ-80A specification is as follows:
LH0080 CPU (Z80 compatible) @ 2MHz.
32KB RAM (upgradeable to 48KB).
2KB VRAM.
4KB monitor program in ROM. 2KB character generator ROM.
Weighs 10KG.
Measures 440 x 480 x 260 mm (WDH).
Integrated features:
9” 'green' CRT, 40x25 characters.
Cassette player. 1200 bits/sec.
73 key keyboard including numeric keypad.
400mW single speaker.
At the back of the computer (see below) you will find the power switch, and the mains socket underneath, and the FG (Frame Ground) connector under the mains in connector. To the right of the power switch is a warning label, then the reset button, volume dial, brightness dial, and two blanked out round holes - possibly for DIN sockets - as there may have been intention for the computer to feature video out, for example, but was dropped. Inside the computer there is a blanking plate for the unused holes, which can be removed, and there is no reason why you can't take advantage of the cut outs for your own expansions/mods. The rest of the rear is taken up by a large ‘expansion’ metal plate (or I/O module access window as Sharp calls it) held in by two screws (one of which has gone missing as can be seen in the image) and in turn the plate has a rectangular cut out for another blanking plate toward the bottom (unfortunately also missing when I got my MZ-80A).
A single expansion card can be plugged into the MZ-80A's internal expansion 22x2 male edge connector (not visible in the above photo), explaining the purpose of the smaller rectangular cut-out as there was previously a printer card installed. Alternately, to be able to add up to four expansion cards the expansion metal plate can be removed and an expansion unit plugged in - please see the Expansion Unit section for more details. It is also possible to install an expansion board inside the computer using its 17x2 header connector, with a common upgrade adding colour and 80 columns which the latter is especially useful to run CP/M disk operating system.
Unlike some other computers of the time, the MZ-80A is an example of a 'clean' computer since it doesn't have a built-in programming language and instead the boot ROM contains a 'monitor' program called SA-1510. This accepts a very limited number of commands, which includes the ability to load machine code software - programming language, game, etc. - using the cassette player. The advantage of this approach is that the MZ-80A is in some ways more versatile, able to load in only the software that is actually needed at any time, however, most people at the time would have wanted to program in BASIC and having to wait 3 minutes to load BASIC from cassette it quite the wait considering the 'instant' BASIC of other computers. Consider also that a lot of software, such as games, were written in BASIC, meaning the user had to first load BASIC from tape and then the BASIC program, adding even more of a delay. Be sure to read the Software section further down on this page to learn more about the software available for the machine and alternate ways to load in software.
Internally, the computer is very modular, consisting of the cassette player, reset and dials board, motherboard, CRT and drive board, power supply, keyboard, and speaker (located under the keyboard). The motherboard’s labelled 'MZ-80A CPU', and is home to many chips, some of which are socketed, making repair easier. The RAM is split into 3 banks, labelled as I, II, and III on the motherboard; my MZ-80A has 24 x 4116-3 chips (Sharp branded), totalling 48K. The owner's manual (see Resources section) states that the UK and Ireland MZ-80A computers have 48K fitted as standard, so that makes sense since I have a UK MZ-80A.
You can view an introduction video I did on the MZ-80A which features an interface circuit I made for loading and saving software via an external digital player, which I go into detail about in the Software section on this page:
There wasn't much information online at the time of researching the expansion unit for the MZ-80A so I will present a gathering of what I've managed to glean but since obtaining an expansion unit (more about that later) I can at least confirm some details.
The Japanese version of the expansion unit is the MZ-1U01, compatible with the MZ-2000, MZ-80B and MZ-700, released in 1983 for 35000 yen, and the European version of the MZ-1U01 is the MZ-80AEU, designed for the MZ-80A. They are both very similar, plugging into the computer's expansion port and giving four expansion slots, allowing the installing of four expansion cards, such as a printer, floppy disk controller, etc.
There is no power provided on the MZ-80A's expansion connector, which seems an odd choice considering a typical expansion card will need power, as can be seen in the Printer section (further down this page) for example; a printer card designed to plug into the MZ-80A must obtain power from the computer using a flying lead. Because of this, when using the expansion unit the expansion cards are powered by the expansion unit's own internal power supply which obtains mains input from the computer's dedicated internal mains connector, converting to 5V for the expansion cards. The expansion unit having its own internal power supply does have the advantage that it takes the strain off the computer's own 5V supply.
It should be noted that if you intend to use (for example) a MZ-1U01 on a UK MZ-80A there is the issue that the MZ-1U01 expects 100V input but a UK MZ-80A runs off 240V, which will destroy it. There are ways around the issue, such as to swap the expansion unit's internal power supply for another that can withstand the computer's mains input voltage. Upgrading the internal power supply to a modern one is recommended due to better efficiency, reliability, and decreased weight but only attempt to do so if you have experience working with mains powered equipment.
Because of the difference in gender (male internal to the MZ-80A, female in the expansion unit) and pinout of the expansion connectors, expansion cards designed to plug directly into the MZ-80A aren't directly compatible with those intended to be used with the expansion unit.
When installing the expansion unit you need to remove the metal plate from the back of the MZ-80A and feed the the expansion unit power cable through the hole in the computer and plug it into the dedicated power connector after having unscrewed the protective plastic cover, which you'll need to feed the cable through the hole and screw the cover back in place. Push the expansion unit all the way into the back of the computer and secure with the two screws. When installed the expansion unit sticks out of the computer's rear somewhat.
To remove the the expansion unit do the reverse, after taking out the screws from the expansion unit remove it from the computer by pulling out a bit from each side at a time. When there is resistance, feed the power cable through the hole in the computer and then you should be able to completely remove the expansion unit.
The circuitry inside the expansion unit is very simple, there is no buffering or other forms of protection, so potentially an expansion card could damage the MZ-80A. Only put in or remove the expansion unit from the computer when it is powered off, likewise, the power must be off when inserting or taking out an interface card from the expansion unit.
The following links have photos of various expansion units, use your browser's translate facility if need be:
https://www.idealine.info/sharpmz/mz-80a/my80a.htm
(German)
https://www.schlepptops.de/wiki/index.php?title=Sharp_MZ-80AEU
(Japanese)
http://retropc.net/ohishi/museum/mz80aeu.htm
I have so far been unable to find a service manual online for either expansion unit but you can find a schematic I created for the MZ-1U01 further down the page.
What I did come across was the MZ-80AEU installation instructions:
https://mz-80a.com/Files/Manuals/Expansion-Unit-Install-80A.pdf
Note that the expansion unit is called ‘I/O port’.
You can see that there is a heavily simplified schematic for the I/O board (called 'I/O MOTHER BOARD'), pinouts of the interface connectors, and power supply schematic. I'll be referring back to the document when I talk about the schematic I made.
Of course getting hold of an expansion unit nowadays can be expensive (although I was very fortunate to recently get a MZ-1U01 - more about that later) but I did come across one modern solution called the Sharp MZ-80A/MZ-2000 Single Expansion Card Adapter, which can be found at:
https://www.tindie.com/products/pdsmart/sharp-mz-80amz-2000-single-expansion-card-adapter/
The design information is freely available for non-commercial use, links can be found on the above linked page. However it only allows one expansion board to be connected but powers the card from its own power supply, which is the only benefit as only one card can be connected.
I obtained a MZ-1U01 with two mounting screws for just £59 - which was just as well as it was not in the best condition and was sold as seen - but of course I'll have to change the power supply to one that uses 240V to work on my MZ-80A, which I'll talk about later on.
In the following photo you can see the front view of the expansion unit:
Notice 'SHARP Expansion Unit' written top left and the label below it which has the model number MZ-1U01 and according to Google Translate the rest says:
Rated voltage: AC 100V
Rated frequency 50Hz/60Hz
Rated power consumption 12W
Serial number 2RE0 3346
Sharp Corporation
There are five outer screws holding in the large panel, which has the slots for the expansion cards numbered 1 to 4, panel 2 is missing as there was already a printer card installed in the MZ-1U01 when I bought it, which I removed in preparation to disassemble the expansion unit. Each expansion slot panel is held in with two screws.
A top view of the expansion unit is up next:
The transformer can be seen though the holes top-left and part of the metal frame through the other holes further along. Unfortunately there are some white marks I've been unable to remove so far.
The underside is shown next:
Here we have a close up view of the female mains connector that plugs into the MZ-80A internally:
(One of the connections appears to be broken, however, crimp terminals do have a slit.)
If you intend to change the power supply in the expansion unit then you will need to either salvage the original mains in connector or obtain the same type.
The connector looks to be a Molex type similar to:
https://uk.rs-online.com/web/p/wire-housings-plugs/2363066?gb=s
Which is for the housing piece only.
Although the main measurements match I can't say for sure that it's exactly the same.
This looks to be a suitable crimp terminal:
https://uk.rs-online.com/web/p/crimp-contacts/2363246?gb=a
Again, I haven't confirmed it's for certain the right type so buy with caution.
Teardown
***Please do not open up unless you have disconnected the expansion unit from the computer and you have experience working with mains powered equipment.***
Since I own a MZ-1U01 the teardown will be for that unit but it should be mostly similar to the MZ-80AEU.
Firstly remove the two screws from the rear (one of them is holding in the black FG wire).
Remove the three screws from the underside along the edge at the front.
Remove two screws from the top.
Lift the top piece of the case from the other half.
Here is an image showing the rear end:
The backplane (a.k.a. I/O board) PCB is visible, which has 'S0095PA' and ‘A2G16’ written on it, and below is the connector that plugs into the computer's expansion port. which has the following written on it (not visible in the photo):
KEL CORP. 2222
4610-044-012
Googling the last number does give a couple of results for the connector, which should be standard anyway. The four other interface connectors also have the same markings.
On the right you can see the transformer, the mains cable that connects inside the MZ-80A, and the FG (Frame Ground) wire (no longer attached to the frame).
Next is the side view:
The power supply transformer and PCB are visible, note the sheathed transformer wires connected to the PCB, and the labelled +5V wire, which are soldered to the backplane along with a GND wire, both sheathed. One end of the PCB is held to the frame with two plastic support pillars (the reason the frame is at an angle since they are resting on the surface below), the other end of the PCB is held in place with a single screw accessible from the case underside. On the left you can see the FG wire (not connected to the frame).
The transformer is held to the case with two silver screws (not visible in the photo) accessible from inside the case.
Now for a look at the area where the interface cards fit in:
Notice the plastic supports for the interface cards and the metal 'guard rails' toward the bottom of the photo as well as the smaller plastic support designed for the interface card in slot two.
A top view of the power supply can be seen below:
The transformer and power supply PCB are located at the bottom of the image, a 2A fuse can be seen on the PCB, so we know the power supply is limited to 2A. I did check the fuse hadn't blown so that's a good indication that the unit may be working.
Toward the top of the photo part of the backplane and expansion card connectors are in view.
In the next photo the four female edge connectors can be seen which the interface cards plug into:
To remove the power supply and backplane:
Cut the cable tie holding the mains in, FG and 5V/GND wires to the frame then remove the two silver screws holding the rear interface connector to the case. Unscrew the six silver screws holding the four interface card connectors to the frame accessible through the cut-outs in the backplane PCB. Although you can completely take out two of the end screws opposite the transformer end, the remaining four screws will be reluctant to come out since the large washer on each screw is about the same size as the circular cut-outs in the PCB. This means that even after unscrewing it can be tricky to pull out the PCB, try lifting it toward you. Once the PCB is out you should be able to convince the remaining screws to come out by grabbing the screw head and pulling out.
Moving on to the power supply section take out the screw from the case underside holding the power supply PCB to the case. Then take out the silver screw from the transformer mains end - be aware of the washer which may come loose from the screw. Next, detach the two support pillars from the power supply PCB, this will be especially difficult with the 5V wire in the way. On the 5V side you can use a plastic spudger between the metal frame and the bottom of the PCB, then you should be able to turn the PCB just enough to get a screwdriver between the transformer and PCB to release the second transformer screw, allowing you to lift the transformer out. This should give you enough space to leverage the PCB with a spudger between the case and the PCB underside. Now the complete circuit should be free from the case.
Now we can have a better look at the backplane (I/O board) with the 74LS08 top-left, the 5V (yellow), GND (black) and FG (black) wires coming in from the left, and a couple of capacitors too. The four female edge connectors CN 1 to CN 4 are marked on the board and the solder joints for CN 5 (on the opposite side of the PCB) are also visible.
Note that 'I/O BOAD' is written on the PCB, which is missing the 'R', likely a genuine mistake rather than to fit in the available space as surely they could have reduced the character size if need be.
Schematic
Please note that when I originally put together the schematic I hadn't yet come across the Sharp MZ-2000 Owner's Manual which goes into a lot of technical detail about the MZ-2000 and the MZ-1U01 so I have updated this section to reflect my findings and produced a new schematic version (V1.1).
I created a schematic in KiCad for the MZ-1U01 I/O board from the PCB through reverse engineering as there was no full circuit diagram online available at the time, the schematic is attached at the bottom of the page as 'Sharp_MZ-1U01_exp_unit_IO_board_1V1_sch.zip'. Unzip it and open it up to view, I had to use the A3 page setting in KiCad to fit everything on, however, I successfully printed on A4 paper using Paint.NET and the details were clear. Since KiCad doesn't like '/' used in bus names and I couldn't see how to do an overline I designated active low signals by preceding the signal name with an 'n'.
I have since found that the Sharp MZ-2000 Owner's Manual (see the Sharp computers (various)/Technical section) does have a simplified schematic, similar to the one found in the MZ-80AEU installation instructions linked to in the Expansion Unit section further up this page. The MZ-1U01 simplified diagrams helps to confirm the diagram I created. The diagram in the MZ-80AEU installation instructions shows only two AND gates in the 74LS08 are used whereas I have confirmed the MZ-1U01 uses three, whether there is a mistake in the MZ-80AEU installation instructions or only two AND gates are actually used I do not know until I can either get an MZ-80AEU or someone else confirms.
The MZ-2000 Owner's Manual also includes a full schematic for the MZ-1U01 power supply so I will not be doing my own version.
There of course may be errors in my schematic and indeed after having compared the simplified schematic in the MZ-2000 Owner's Manual to the detailed one I created I noticed I had RA1 pin 4 connected to pin 9 of IC1 instead of pin 10, which I've fixed in the new schematic iteration, V1.1 so if you did download V1.0 (which I've since removed) please discard it. Additionally V1.1 has PWR_FLAG added to the 5V supply from the power supply board (not featured) and I've renamed GND* (CN5 19A) to IEO and updated the notes under CN5 to inform that on the MZ-80A 19A is GND, on MZ-2000 it's IEO. Nonetheless there still may be errors so please use the schematic as a guide only.
Just to mention, there currently is no full schematic for the MZ-80AEU so I don't know how different that version of the expansion unit is to the MZ-1U01 except for the brief diagram in the MZ-80AEU installation instructions I linked to in the introduction to the Expansion Unit on this page. Of course if I can ever get my hands on the MZ-80AEU I will of course do a complete schematic and update this section.
I should mention that the diagram in the MZ-80AEU installation instructions has a few errors:
Pin 21A in the table is wrongly labelled as EXWALT instead of EXWAIT (possibly an OCR error).
CN1 - CN4 in the diagram has IEQ1 to IEQ4 instead of IEO1 to IEO4 (since it's a diagram it can't be an OCR error but perhaps 'Q' was used to mean output instead of using an 'O' even though IEO is the common abbreviation for Z80 systems).
Looking at the schematic I created we have CN5 female edge connector which plugs into the MZ-80A's internal expansion connector, in the middle of the diagram we have CN1 - CN4 female edge connectors which the interface cards mate with. On the right side three AND gates (part of IC1) and a resistor array (RA1) handle interrupt priority for the interface cards or at least they should, more on that shortly. Lastly, we have 5V power coming in (from the power supply) with system and frame ground, a couple of decoupling capacitors, IC1 power connections and the unused AND gate of IC1.
Each interface card is daisy chained together, all the main signals (power, address, data, etc.) are connected together but IEI (Interrupt Enable Input) and IEO (Interrupt Enable Output) are unique to each expansion card. This forms a priority interrupt system, which allows multiple devices to share the INT (Interrupt Request) line (nEXTINT) while making sure interrupts are processed in priority order, with slot 1 having the highest priority. The use of AND gates creates a look-ahead facility to speed up the interrupt priority handling as there is a short amount of time for the correct device to handle the interrupt. While the look-ahead shouldn't be needed if there are just four devices in the chain, as is the case for the MZ-80A, the MZ-2000 feeds the system IEO into the chain thus there are five devices in total when the MZ-2000 is used.
To go in more detail, IEI is is received from the previous interrupt controller (or tied HIGH if it's the highest priority device). When high, it indicates that the device can generate an interrupt, when low it signals that a higher-priority device has already issued an interrupt, so this device must wait. The IEO signal is sent to the next device in the daisy chain and is high when the device is not interrupting and low when the device is servicing an interrupt, preventing lower-priority devices from interrupting.
The use of IEI and IEO is common with the Z80 CPU and the Sharp MZ-80B service manual (see the Sharp computers (various)/Technical section) does give a bit of an insight in how it relates to the MZ-80B of which the MZ-80A is related. On page 52 of the MZ-80B service manual you can see a rough schematic for the MZ-80EU, the expansion unit ('port') for the MZ-80B. Since the MZ-80EU supports six expansion cards the circuitry is a bit more complicated than the MZ-1U01 but nonetheless the principles are the same. While CN1 - CN6 of the MZ-80EU feature their own unique IEI and IEO signals similar to the MZ-1U01 the MZ-80B has an IEO connection on its internal expansion connector. On page 33 of the MZ-80B service manual we can see that the parallel I/O controller LH0081A (IC24) has its IEI pin held high and its IE0 pin connects to the expansion connector for the MZ-80EU, making the MZ-80B have the highest interrupt priority. Essentially, from my understanding, the MZ-80B has the highest priority interrupt, and each interface card has lower priority.
Note that the MZ-80A does not have such a feature in which the computer feeds its priority enable output (IEO) into the interface cards but there is evidence that it was supposed to at one point. If you look at the schematic I created for the MZ-1U01 you will see that I've labelled CN5 19A as IEO not GND as the pin is not connected to GND on the I/O board as it expects the IEO input from the MZ-80A. From my schematic you can see IEO is connected to IEI_1 (IC1 pin 13) which, if you refer to the MZ-80EU schematic, is exactly where you would feed the computer's IEO signal.
Internally, the MZ-80A grounds 19A (this isn't clear in the MZ-80A service manual schematic since the internal expansion connector has the pinout listed but isn't directly part of the schematic), which I've confirmed by probing the computer while powered off and found a direct short to GND. The MZ-2000 uses a Z80A PIO chip for keyboard, system IEO, and other features which isn't present in the MZ-80A which uses an 8255 IC for keyboard, etc., which does not have the IEI and IEO pins, which further confirms that the MZ-80A does not have IEO on pin 19A. This is odd as it disables the interrupt priority ability by GNDing IEI of the first interface card, and thus the other three cards too, but since the MZ-1U01 is compatible with the MZ-2000 which does support daisy chained interrupt priority control and the MZ-1U01 wasn't designed for the MZ-80A it does make sense. Of course either way the expansion cards can still generate interrupts but there is a chance two expansion cards could generate an interrupt at the same time, causing one of them to not be serviced without support for interrupt priority control.
As to why interrupt priority was disabled I wonder if Sharp did so as to throttle the MZ-80A so that 'serious' users bought the MZ-80B instead. It may seem extreme, and it is just speculation, but companies (including producers of microcomputers) have in the past purposely limited their products in terms of expansion to sell their more expensive product. Indeed, the MZ-80A can be viewed as a crippled version of the more expensive MZ-80B, with some modifications the MZ-80A can gain features of the MZ-80B such as an 80-column display.
Introduction
The MZ-80A doesn't have built-in support for a printer so a common upgrade was to add a printer interface card, an example of one follows this section. Even with a printer interface card installed, however, there is the complication with using non-Sharp printers in that the computer doesn't use the standard ASCII set unlike other printer manufacturers. In addition to the difficulty in printing lower case characters there's also the problem of handling the Sharp graphics characters, typically not supported on non-Sharp printers. The printer driver can be modified to fix some of the issues and some printers, such as the Epson FX80, supports programmable codes, allowing it to support Sharp graphics characters. How to deal with these printer issues was a common topic in various Sharp Users Club magazines (see Resources section - various) so it may be helpful to have a read though them.
MILLS HARRIS PRINTERFACE
When I got my MZ-80A (second hand) it came with a printer card installed (see image below), this was an optional add-on which adds 'Centronics' (parallel) printer support, a common type of printer interface in the 80s. It consists of a single PCB, which has written on the top side: ‘MZ80A/B PRINTERFACE’ and ‘SHARP MILLS HARRIS ASS’. On the back it has written: 'FCQ-6322'. The chips have date codes of ‘81 and ‘82, so we know the card was made around 1982, and the green connector states it was made in England, suggesting the card was also made there (I have a UK MZ-80A). I'm not sure if this printer card was an official Sharp production, even though the board mentions 'Sharp', it looks quite 'amateur', having bare PCB tracks.
The board features a 22x2 female edge socket (plugs into MZ-80A expansion connector), a 22x2 male edge connector (possibly for connection to an expansion unit), a ribbon cable terminating in a Centronics connector (18x2) for connecting to a printer, and a single red wire that connects to the motherboard (for power). There is no stripe indicating pin 1 on the ribbon cable; the connector soldered to the board that the ribbon cable is attached to is 40 pins, but 2 wires have been cut off both sides, leaving 36 wires. The original pin 1 of the cable is in line with the 74LS374.
In addition to a few passives, there is a 4-way switch (mine has 1 & 2 down, 3 & 4 up), likely for settings. The ICs are:
74LS30 8-Input NAND Gate
74LS42 BCD to Decimal Decoder
74LS74 Dual D Flip-Flop
74LS04 Hex Inverter
74LS125 Quad Tri-State Buffer
74LS374 Octal D F/F Edge-triggered Tri-State
D2716D (socketed) 16K EPROM. Has ‘I/F’ written on a sticker.
While reading through the archived versions of the Sharp Users Club magazines, which aren't OCR'd, I found that in Vol 5 #2 (March '86) on page 51 the PRINTERFACE is spoken about in some detail. Here is a summary of what is mentioned:
* Was purchased for £40 (originally £85).
* MZ-80A: interface can be used with/without an expansion box. MZ-80B: with an expansion box only.
* Printer cable hangs out of the computer's rear slot (with the metal plate removed) without any support.
* The interface's ROM can hold up to 8 different character sets, switched between using the colour coded DIP switches (can be accessed them through the hole in which the printer cable emerges).
* Normally supplied in ROM EPSON, OKI & SEIKOSHA character sets plus a 'transparent' set for use with word processors. Other character sets avaialble to order.
* A 25-way D-type connector was available for Sharp printers.
* Doesn't mention the DIP settings except that Epson requires yellow up, others down.
* The ROM uses a table that converts Sharp ASCII codes, to eliminate the problem of printing lower case letters on non-Sharp printers but doesn't handle Sharp graphics characters, however, they get converted (at least for Epson) to '$' symbols. The cursor control symbols get converted to ^, V, <, and >, and C and H for CLR and HOME don't get printed inverted, however.
***Please do not open up unless you have disconnected the computer from the mains and you have experience working with mains powered equipment. Even with the computer unpowered you can still receive nasty shocks from capacitors and the CRT so always use care.***
Introduction
For servicing the MZ-80A, you start by removing the two screws on the underside toward the front, and then the top plastic cover can be lifted up and held in place with the provided metal supporting rod, by pulling it out of its place in the upper case and lining the end up with the hole in the bottom part of the case. This gives you access to the MZ-80A's internal components.
Blown capacitors
When I bought my MZ-80A, the seller said that although the computer was working when tested, a capacitor had blown. Like with other microcomputers of the time, the MZ-80A has a couple of RIFA branded X2 safety capacitors that need replacing otherwise they have a tendency to explode, which doesn't usually stop the computer from working, but nonetheless results in foul smelling fumes being released. Indeed, I found two RIFA capacitors, one that had blown and another that likely was on its way out, as its body was cracked. The capacitors are C101 and C102, and are both rated 0.047uF/250VAC as I have a UK MZ-80A, but for other regions they will be rated for a different maximum voltage. They must be replaced with the same type (X2) but can be rated for a higher voltage.
The capacitors are on a PCB, hidden under what Sharp calls the ‘Cover for Power Supply Primary’ in the service manual (see the Resources section), number 38 in the exploded diagram (page 36), part PFT A-0009PASA. To get the cover off you have to remove a black screw (see photo below) but likely you’ll need to use a short screwdriver as the top case of the computer can get in the way, save removing the top cover. This is the first time I've opened up the computer so I'll need to give it a good clean while servicing it, not helped by the capacitor having exploded.
Notice the caution sticker near the power supply warning to power off before installing/removing the expansion unit.
Once that screw is removed there are two silver screws that need taking out (see following image) and then the circuit board can be pulled toward you (it’s a little fiddly since the power switch gets in the way).
The exploded capacitor, C101, can clearly be seen toward the top of the above image, with C102 hiding lower down on the PCB.
The two capacitors are on a small circuit board (see below); notice C102 to the left of two of the fuses, showing signs of being on its way out. The transformer primary is soldered to the board (the brown and blue wires sheathed in black) and its secondary windings are soldered to the main power board (not shown). So, you either have to replace the capacitors with the board still attached or desolder the transformer primary wires to free the board for servicing.
The capacitors proved difficult to remove as their legs were bent over so I had to bend them back in the process of desoldering; you have to be very careful not to heat the PCB pads up too much otherwise they may lift. You can see the capacitors I removed in the photo below:
The one on the left is the one that blew (ended up losing a leg in the process of being removed) and the one on the right shows signs of cracking, so needed to be taken out as well. Fortunately, with the faulty capacitors removed it was simple enough to put in replacement capacitors, which are the white and grey capacitors as seen in this photo:
I powered up the computer and it worked fine, which was a relief that nothing else was wrong with the machine.
It's also a good idea to check the fuses on the power supply board to see if they need replacing, there are four in total; F101 (500mA), F102 (500mA), F103 (315mA), and F104 (315mA), which should only be replaced with the exact same type if blown. The fuse ratings may be different for your computer based on what region it was intended for.
Cassette player maintenance
Sharp advised that '...the tape heads require regular cleaning; and the PRESS PLAY contact requires an occasional rub with fine emery paper...'.
Unstable display & other issues
Potential faults involving the MZ-80A's built-in CRT include no image, screen unstable or compressed vertically or horizontally, or a single line or dot appears. With the extreme types of faults where the image is concentrated in a small area (such as a single line/vertical collapse or a dot) you should turn the computer off immediately or at least turn the brightness down while you observe, as to minimize the potential for CRT damage.
Often the faults are caused by one or two components getting old and going off spec or leaking, with electrolytic capacitors being a good example (as we shall see later on). The service manual (see the Resources section further down) has a troubleshooting guide starting on page 3 but of course you shouldn't attempt any repair without first disconnecting the computer from the mains.
I got my MZ-80A second hand and there were a number of faults I found through using the computer:
I noticed (only visible with the computer opened up) when the MZ-80A was switched on the CRT filament flashed brightly, rather than lit steadily as would be expected. The flash only happened when I powered the computer on after some while, suggesting a capacitor fault. Even though the CRT worked, it was a concern that the glow wasn't normal and the filament was receiving too high voltage, even if briefly, which could shorten the CRT's life.
After some time the screen image began to jump about vertically, although it did eventually settle.
There was a loud 'screeching' or 'whine' when the MZ-80A was on, a different sound to the usual expected CRT high frequency sound, but I wasn't sure if it was the display or power section and whether the sound was normal.
After opening up the MZ-80A I examined the CRT display board to have an initial look, which was difficult to do without removing the PCB, but I noticed an electrolytic capacitor (C2014) with white stuff on the top (see below), a sign of leaking, so that was already a suspect part.
I wasn't sure how exactly to remove the CRT assembly, the service manual at least showed an exploded view which was somewhat helpful. These are the steps I used to remove the CRT assembly:
Remove the four screws from the plastic CRT Fixing Base (#42 in service manual), two screws each side. These are long screws with washers.
Pull out the speaker wire from the side of the CRT Fixing Base and unplug the connector from the display board. Need to unbend the cable clamp attached to the NEC IC mounted to the heatsink (see below). The wires the cable clamp holds are for the controls (reset, volume, brightness) at the rear of the machine and the CRT cables.
Disconnect the orange ribbon cable connector from the mother board (CN2), this is difficult due to the holding mechanism. Move the CRT unit back or to the side to get better access to the connector, pull from alternate sides with a rocking motion. You can use something flat between the plastic of the connectors if you are very careful that it doesn't slip or damage the plastic. Unbend the cable clamp at machine rear near the controls so you can pull the orange cable away (see below).
This is good opportunity to do some cleaning in those difficult to reach places.
Remove controls from machine rear by carefully pushing the clips outward simultaneously. The reset button wire is held down with a clip, carefully pull out by pushing the clips outward simultaneously.
Lift up the CRT and remove the reset switch cable connector from the motherboard that connects to CN6, you may need to carefully put something between the plastic pieces as you pull the cable out.
Then you can lift the CRT with display board out of the computer and work on it away from this machine. This way you don't need to discharge the CRT and disconnect the CRT anode cable. Still be very careful not to touch the CRT or capacitors on the display board.
To detach the display board from the CRT Fixing Base there is a single screw accessible from the PCB component side - note there's a plastic washer also. The PCB can then be pulled out of the CRT Fixing Base. There is a 4-way connector that plugs into the display board carrying the CRT deflection coils, unplug that to have better access to the display board. Note that the display board will still be connected to the CRT via the anode but you should have enough access to the PCB components to work on it without completely detaching from the CRT.
Some observations I made about the display board:
'F0392PA' is written on the PCB back.
Capacitor C2054 (0.01uF 500V) on my MZ-80A isn't fitted on the PCB component side (the holes are soldered however), it's a large disc capacitor soldered on the back of the PCB near the FOCUS POT. I'm guessing that depending on what capacitors they had on hand, if it was the smaller one it was soldered to the PCB component side, or the bigger one on the back of the PCB. This may also explain the resistor soldered on the back which looks old even for the 80's and perhaps was too big to fit in the existing holes but I haven't yet identified what resistor it is on the schematic.
Toward one end of the PCB it has two groups of seven copper strips like an edge connector but nothing is connected to them and some of the strips aren't completely straight.
On the PCB component side it has written 'J2A28'.
The pinout for the orange ribbon cable is written on the PCB component side.
There is a removable cartridge fuse.
At this point some people would replace every single capacitor and if you choose to do so then it will at least minimize further repair in the future (in theory). Don't forget to install the replacement polarised capacitors (such as the electrolytic type) the correct way - on the PCB a '+' denotes the positive connection. Always match the capacitance value and use at least the same of higher specified voltage and temperature ratings.
Because of short time, I made only the following changes:
Replaced C2014, 22uF 16V, the leaking capacitor, with 22uF 25V (which was much smaller despite the higher voltage rating).
Replaced C2013, 4.7uF 25V with same rated capacitor. The capacitor measured as 5uF using my multimeter after I removed the capacitor but that isn't a definite indicator that the capacitor was fully working. C2013 is one of the capacitors the service manual suggests could cause display issues.
Replaced C2015, 22uF 16V, with 22uF 25V. Measured as 21uF. I couldn't see the capacitor number until I removed the capacitor and it turned out to not be the one I was looking for but there was no harm changing it for a new capacitor.
I didn't replace C2011, the other potentially suspect capacitor, as it wasn't an electrolytic (but of course could still be bad), if I had more time I would have.
Resistors R2030 and R2023, candidates for display problems according to the service manual, measured within specification so I didn't change them.
After replacing the components I plugged the CRT deflection coil connector back in and the display board back into the computer (I didn't connect the speaker but I did connect the reset switch). Powering on the MZ-80A, I heard a different, quieter high pitched sound (more like what you would expect from a CRT) and I think a sound also sound from the power supply too (an almost hissing-like sound). The CRT filament flash still occurred so I'll address that in a future repair.
The image came on as normal, the text was very slightly shaky, but I don't know if that is normal. I filled the screen with CR's and then typed at the bottom of the screen, the characters were shorter vertically at the bottom of the screen than the top but that is a known issue that is a flaw in the hardware design, from my understanding. I left the computer on for a while and the screen remained stable (but slightly shaky as mentioned), so a successful repair nonetheless.
I returned to the display board when I had a bit more time to see if I could address the remaining issues.
Firstly, I reflowed the solder on the variable resistors (brightness and volume, not labelled on the controls board, R2008 and R2050 on the schematic). I checked R2060 (controls board) 390K, measured 389K which is within spec. I also reflowed the solder on pots (potentiometers); R2002 (contrast), R2019 (V-LIN), R2015 (V-HOLD), R2007 (in series with brightness, number incomplete on schematic), R2025 (V-SIZE), and R2047 (FOCUS).
I changed a few more capacitors that I thought, by looking at the schematic, might cause issues if on their way out but I didn't change as many as i would have liked as I didn't have on hand enough replacement capacitors of high enough voltage.
The ones I changed:
C2003 10uF 250V. Removed, measured 12.6uF, acceptable for 20% tolerance but I changed it for 10uF 400V I happened to have.
C2042 0.1uF 630V replaced with same type.
I didn't have a suitable replacement for C2054 but I did desolder one end and measured 14nF, assuming 20% tolerance it's a little high so I should change it in the future.
Powering on the MZ-80A again the filament flash was still there and the 'hissing' sound from the power supply (not sure if that was the sound from before) but now the image wasn't wobbling, although it does need adjusting horizontally (probably one of the pots) as the characters weren't quite straight (most notable on the 'M' on the first line when the computer boots).
At some point I'll need to service the power supply as that may remove the unpleasant sound it makes and is important to do so for long life.
Books/manuals
Sharp Floppy Disk Instruction Manual MZ-80FD(K):
https://eaw.app/Downloads/Manuals/Sharp/MZ-80FD_Manual.pdf
Sharp MZ-80A Disk BASIC Manual:
https://mz80a.files.wordpress.com/2017/07/sa-6510_basic_manual.pdf
Sharp MZ-80A owner's manual:
https://eaw.app/Downloads/Manuals/Sharp/MZ80A_Owners_Manual.pdf
Sharp MZ-80A repository:
Sharp MZ-80A service manual:
https://eaw.app/Downloads/Manuals/Sharp/MZ80A_Service_Manual.pdf
When you power on the MZ-80A it will take a few seconds before anything appears on the screen as the CRT takes time to warm up but when it comes to life you will be greeted with:
** MONITOR SA-1510 **
To load software from tape you will need to put an appropriate cassette into the integrated cassette player, and then you will need to type L followed by the CR key, and the computer will prompt you to press play on the tape deck. After a brief duration the computer should announce that it is loading a software title, but it will take a minute or more for the software to completely load and run.
As well as games and utilities, there were a number of BASICs programming packages available, such as BASIC SA-5510 from Sharp (copyright date 1981), which leaves 32492 bytes free for user programs. Then there's SA5510 Extended, including BASIC SA-5510 from Sharp and APOLLO BAS MOD v3.68 (copyright 1982), which only leaves 24590 bytes free.
If you have acquired an MZ-80A recently it can be difficult to get hold of software cassettes and while tape images (digital representations of cassette software) are downloadable from various sites you still need a means to get the software into the computer. If you have a tape recorder then you could use a PC to record the tape image to a cassette, which can then be loaded into your MZ-80A, provided the cassette player works. An alternative approach is to use a cassette car adapter, which is a cassette that has an audio lead attached to it, in which you can play tape images from your PC (for example) into the adapter, effectively emulating a cassette.
It's unfortunate that the MZ-80A doesn't have external cassette read and write ports - like the MZ-700 does - but we can add them, making it easier to use an external cassette player or PC (or other suitable device, such as an MP3 player), by adding in the missing circuit. I approached the project by looking at the MZ-700 and copying the circuit that was used to handle an external cassette player (please see the Owner's manual or Service manual in the Resources section for the original circuits), moving things around slightly to make soldering somewhat easier on prototype board.
The schematic for the external player interface is included below and you can also download it from the bottom of the page, titled 'Sharp_MZ-80A_ext_cassette_interface.png', for easier viewing.
The circuit that handles the 'read' input (output from the tape player or whatever) amplifies and prepares the the signal suitable for reading by the computer as a stream of 0s and 1s, achieved with four inverters belonging to a 4069 hex inverter IC (U1B, U1C, U1D, U1E) and a number of passive components. In the MZ-700, the remaining two inverters are used to further invert the read and write signals, however, they go unused in my circuit (U1A and U1F) since there are two inverters already present in the MZ-80A in the same roles. However, in my circuit I have separately tied their inputs to 5V via 10K resistors, as is good practice for unused gates, but they are available should I need them for anything else in the future.
For writing to an external player, the circuitry only consists of a single capacitor (C6), and two resistors (R7 and R8).
In the MZ-700, a tape input invert switch was included to help with cassette player compatibility and while it isn't really needed in my circuit for the MZ-80A, I have included the additional inverter (U1E) but without the invert switch, serving as an extra (inverted) output, as the inverter would otherwise go to waste, and it may be useful for testing. If you are using a cassette player and you find it doesn't work with this circuit then it may be worth trying the inverted output if you've explored other potential issues (volume level, for example).
The MZ-80A's Internal cassette player connects to the main board via CN3, which is what J1 connects to in my circuit, but I couldn’t see a pin 1 marking on the PCB so I had to work out where pin 1 is. The connector has 6 pins, with a gap between the first 5 pins and the 6th pin. I have confirmed that pin one is the first in the group of 5 like this:
1 2 3 4 5 X 6
Where X is the gap between pin 5 and 6.
Annoyingly, the connector has large pins, which is odd considering I wouldn’t have thought they’d need to pass large current (the motor connection probably passing most the current). This does make it tricky to find a suitable mating connector but fortunately I found I had an 8 pin connector and only had to move one wire over, and blocked the unused pins so the connector will only go in one way only.
I added an LED (D7) between the motor connection and GND via a 1K limiting resistor (R6) to keep the current draw low, to act as a motor test light, mimicking how the motor is controlled by the computer. When you power on the MZ-80A the LED may be lit (I think the motor control signal sometimes doesn't get reset correctly) but after loading a program it will go off if already lit. If you reset the computer the LED will likely light again and if you interrupt the loading of a program using shift & break the LED will go off, but will go on again if you start loading a program again.
The sense signal is how the computer detects when the internal tape recorder play button is pressed and is connected to GND when the button is down. Since we are always connecting it to GND (similar to the loopback that can be installed in the MZ-700 so an external tape recorder can be used) the computer won’t display the play button prompt and thus we only need to press play on our digital player.
Before testing the circuit, first make sure you have soldered everything correctly and in particular you haven't swapped the power, or read and write connections. You will need to power off the MZ-80A, open it up, and remove the internal tape recorder connector from CN3 on the main board. Then plug in the interface connector (J1) on our circuit and connect to the digital player of whatever it is you're using to load and save programs to J2. To make it clear, TAPE_READ is the output from the external player (speaker/headphone) and TAPE_WRITE is the input to the external player (microphone/line in).
If you wanted to use an external cassette player then there's no reason why you can't route the motor and sense signals externally also instead of how they're connected in the external interface circuit. Since the MZ-80A has circular cutouts already, I opted to use a female 3 pin DIN connector to connect with the external player to fit in one of the provided holes. As you will see later, I didn't actually have a 3 pin one so I used a 5 pin, which is compatible with 3 pin plugs. I made up a cable consisting on a male 3 pin DIN plug to two TRS male plugs to connect to my digital player which has separate sockets for speaker and microphone/line out. I only connected the left (plug tip) and ground of the TRS leads to the DIN socket, as we only need to load and save in mono.
Power on the computer and try loading a short machine code program (such as a game) from your digital player (or PC, etc.) by typing L and pressing CR, if all is good it will load and run the program. Next, it would be a good idea to load a version of BASIC and then write a short program and save it to whatever player you are using, then try to load it back into BASIC. With the generic digital player I was using, I found I could save and load whether the microphone input was set to microphone or line in. I had the sample rate set to the lowest (512kbps) and made sure to start the recording before telling the MZ-80A to save (to ensure nothing was missed when recording). If your device has some kind of VU meter then that will help to monitor that it is actually recording something (it may take a few seconds before the MZ-80A actually outputs data to be recorded) and if you can adjust the line in volume level it may need increasing if you have problems loading a saved program. You can check your recordings in a program (e.g., Audacity) if you having trouble loading the program, as you can then see visually if anything was recorded or if the level was too low; if using Audacity, the waveform should show peak around -0.5 to 0.5 or higher.
Information and help that relates to a range of different Sharp computers.
In various Sharp computer service manuals they refer to circuit boards as PWB, likely Printed Wiring Board, the predecessor to the complex PCBs (Printed Circuit Board) of today. However, since some of the boards in the various Sharp computers resemble PCBs it may be that PWB was more of a holdover when in fact PCB was (and is) the correct term.
Images
Sharp MZ-1200 with accessories:
https://web.archive.org/web/20211114165434/https://www.sharpmz.no/articles/the-mz-series/mz-1200/
Magazines
Sharp Users Club:
https://www.sharpmz.no/original/sucmags/
Software
Sharp MZ Software Archive
Sharp MZ-2000 BASIC/Monitor manual (Japanese):
Sharp MZ-2000 Disk BASIC manual (Japanese):
Sharp MZ-2000 Owner's Manual (Japanese):
https://eaw.app/Downloads/Manuals/Sharp/MZ2000_Owners_Manual_Japanese.pdf
This version has a couple extra pages at the end one of which is blank:
Sharp MZ-80B service manual
https://original.sharpmz.org/mz-80b/download/mz80b_sm.pdf
Tape
Tape data format for Sharp MZ computers, some specific data for MZ-700:
https://www.sharpmz.no/articles/the-mz-series/mz-80/mz-80-knowhow/mz-80-tape-data-structure/
Note: has a download link for the MZ-700's built-in monitor program; right-click where it says 'downloading' in the 'Saving data to tape' section and select 'Save link as...'.
I hooked up my oscilloscope to the cassette WRITE ouput of my MZ-700 and captured various waveforms when saving, using the computer's built-in monitor's S command. The site states that the computer uses PWM to store the 0s and 1s to tape, with a logic 0 being represented as as short pulse lasting 504uS and a logic 1 denoted by a long pulse of duration 958uS.
From my findings, I found that a short pulse lasted 520uS (image below) and a long pulse 940uS (the second picture down), off by about 20uS compared to what it should have been according to the site linked above but perhaps it various depending on whether you are saving from BASIC or the built-in monitor program, as the actual duration of a pulse is dependent on what instructions are being executed.
When capturing the long pulse I accidentally put one of the cursors in the wrong place but the long pulse duration can be calculated by subtracting half the short duration and multiplying by 2.
MZF to WAV conversion issues
If you are using the MZF2WAVGUI program to convert .MZF Sharp computer tape images to WAV files but you find the computer can't load them, try setting the 'c' option in MZF2WAVGUI (SET PARAMETERS) and then save as a WAV file, and then try to load the files again.
All content of this and related pages is copyright (c) James S. 2022-2025