Sharp MZ-800 Aggiornamenti

The Sharp MZ-800, the successor to the Sharp MZ-700, rectifies many of the shortcomings of earlier models and brings in MZ-80B technology to what was basically a personal computer. This saw the machine being used more in business and wasn't so widely adopted in the personal market, perhaps because of a plethora of more advanced home computers arriving at the time.

The machine looks very similar to the MZ-700, albeit more of an ugly duckling due to the addition of an internal dock for 2 expansion cards. Its design goals were to maintain full compatibility with the MZ-700 and as such maintains all of the MZ-700 ports, expansion options and compatibility with the large pool of MZ-700 software. In addition it added much needed features, namely: 16-32K Video RAM offering 640x200 colour pixel graphics, programmable character generator, dedicated sound generator IC, 80 column display, expansion dock, quick disk drive etc. The additional hardware opened up the use of CP/M, more advanced music/games and the ability to port MZ-700 and some MZ-80B graphics based programs.

I wasn't lucky enough to own an MZ-800 at the time they were sold but I have obtained a good example (actually the 2nd one) which I fully renovated and which all these developments are based on.

This section of my projects portfolio is dedicated to the Sharp MZ-800. A lot of my earlier projects were to rectify shortcomings of the MZ-80A/MZ-700 such as 80 column display and pixel graphics, features which the MZ-800 already has, so I haven't as yet spent much time upgrading this machine. I intially tried the tranZPUter SW inside the machine and it appeared to work, the machine ran as expected and the K64F could query the machine.

Recently I started to advance the project and I discovered a fatal flaw in the MZ-800 design not found in any of the other Sharp MZ series machines, I'm guessing Sharp had beancounters saving a few Yen as they opted to use 74LS365 devices for bus buffering and no data bus buffer, 4 chips for less features than the other Sharp MZ series machines which used full address, data and control buffering. To further this penny pinch, they opted to hard ground the buffer control pins rather than through the normal inverter fed from the Z80 BUSACK signal, probably to save adding a 74LS04 into the design. What this means is that bus mastering is not possible on the MZ-800 in its original configuration and I will have to craft a tranZPUter SW board with optional 244/245 bus drivers in order to work with this machine without modifying it. In order to progress the project without having to spend time and money on a new tranZPUter design not knowing if there would be issues, I set about making a modification to the motherboard! Sacrilege I know, but something I can reverse at a later date when the tranZPUter SW has been updated.

In addition to extra hardware being necessary for the tranZPUter SW to work in an unmodified MZ-800, a number of updates need to be made to the CPLD and software base to accommodate the memory map differences. I also needed to obtain an assembler source of the MZ-800 IPL ROM and after trawling the web, eventually came across an old assembly listing in Czech from the Czech Sharp Users Club, which was about 75% complete, it had missing data areas and no BASIC IOCS so I set about converting the listing into an assembler file compatible with the Glass Z80 assembler, converting the missing functionality and piecing it all together along with Czech->English translation of the comments. This source file is necessary as the only real way to blend TZFS into the MZ-800 IPL is to offer it as a boot time option, ie. T - TZFS along with the Monitor, Floppy, CMT options. If the user presses T then the K64F would load up TZFS and execute it, at all other times the machine would behave in its original configuration.

All the projects follow a simple rule, 'No permanent physical changes' (famous last words on the initial project but will be corrected with a new tranZPUter SW release) - from my perspective, antiques shouldn't be destroyed and any changes should be reversible to restore the machine to original factory state. In saying that, enhancements to make the computer more useable are always welcome, hence these projects, enhancements without consequence.

The following diagram outlines the upgrade path available for the Sharp MZ-800.

Upgrade Road Map

At the time of writing, the MZ-800 developments are limited to the tranZPUter SW which was originally developed for the Sharp MZ-80A which is a tried and tested design. It now fully functions in the MZ-800 and is reliable, offers greater processing speed (limited to 10MHz due to no data bus driver), more memory, SD card and a more advanced monitor.

Unlike the Sharp MZ-80A upgrades, only the later tranZPUter SW v2.2 board works with the MZ-800 due to space restrictions and availability of configurable logic. In terms of software, the MZ-800 uses enhanced versions of the MZ-80A developments, so a good mix of technologies such as Assembler (Z80, ARM), C/C++ and VHDL programming languages.

Please see the relevant section in the index on the left for board details and the above map on which boards can be combined together. At the time of writing, only 1 board is available, the tranZPUter SW, but this will increase over time.

Riconoscimenti

Dove ho utilizzato o basato qualsiasi componente sul design di terze parti, ho incluso l'avviso di copyright dell'autore originale nelle intestazioni o dato il dovuto credito. Tutto il software di terze parti, per quanto ne so e secondo le mie ricerche, e open source e liberamente utilizzabile. Se si dovesse scoprire che un componente e soggetto a restrizioni di licenza, verra rimosso da questo repository e verra fornito un link/configurazione appropriata.

Licenze

Questo progetto, hardware e software, e concesso in licenza sotto la GNU Public Licence v3.

La Licenza Pubblica Generale GNU v3

I file sorgente e binari in questo progetto contrassegnati come GPL v3 sono software libero: puoi ridistribuirli e/o modificarli secondo i termini della Licenza Pubblica Generale GNU come pubblicata dalla Free Software Foundation, sia la versione 3 della Licenza, sia (a tua scelta) qualsiasi versione successiva.

I file sorgente sono distribuiti nella speranza che siano utili, ma SENZA ALCUNA GARANZIA; senza nemmeno la garanzia implicita di COMMERCIABILITA o IDONEITA PER UNO SCOPO PARTICOLARE. Vedere la Licenza Pubblica Generale GNU per maggiori dettagli.

Dovresti aver ricevuto una copia della Licenza Pubblica Generale GNU insieme a questo programma. In caso contrario, vedere http://www.gnu.org/licenses/.