tranZPUter SW

English

Avant-propos

Le tranZPUter et le tranZPUter SW sont activement developpes et les modifications sont regulierement refletees dans la documentation.

Le tranZPUter SW est un derivé du projet tranZPUter et utilise un processeur Freescale K64F comme processeur de controle IO au lieu du ZPU dans le projet tranZPUter original.

Pendant les tests du tranZPUter v1.0 et avec l'avenement de la mise a niveau RFS v2.0 avec CP/M, il a ete remarque que le tranZPUter devait etre mis a jour pour que le Z80 dispose de memoire supplementaire et puisse fonctionner a des frequences d'horloge plus elevees. Il devait aussi fonctionner independamment du processeur IO de controle.

Afin de faire avancer le concept et le design, j'ai opte pour une puissante mini-carte de developpement, le Teensy 3.5, qui dispose de plus qu'assez de broches I/O generales et est tolerant au 5V -- d'ou ce design intermediaire (qui est en fait meilleur pour quiconque est programmeur logiciel et n'est pas a l'aise avec l'electronique ou le VHDL tout en voulant ameliorer une machine Z80).

Vue d'ensemble

Le Sharp MZ80A est base sur la CPU Z80 fonctionnant a 2MHz. Il est vintage et sous-motorise par rapport aux ordinateurs modernes. Outre son interet historique, il dispose d'une base logicielle encore utile de temps en temps. Cette mise a niveau est une alternative pour garder la machine originale tout en lui fournissant des capacites de traitement supplementaires, du stockage et plusieurs CPUs differentes basees sur le logiciel. Tout cela est rendu possible par le bus-mastering ou la CPU originale est mise en tri-state et le K64F prend le controle du bus et des peripheriques du motherboard original.

La mise a niveau etend egalement les capacites materielles du Z80 en fournissant de la RAM supplementaire pour une version 64K de CP/M et en augmentant la vitesse du processeur.

Comme le design remplace un Z80 in situ, il n'est pas limite au MZ80A mais peut etre utilise dans tout ordinateur base sur Z80 avec les adaptations logicielles appropriees.

tranZPUter SW

Le tranZPUter tire son nom de: Un ordinateur ZPU TRANsformable. Le tranZPUter SW utilise un Freescale K64F ARM Cortex-M4 a la place du ZPU Evo. Le projet ajoute le suffixe SW pour *S*oft*W*are pour distinguer les deux designs.

Materiel

Les bases de ce design reposent sur le bus-mastering du Z80, c'est-a-dire la capacite de desactiver le Z80 du circuit et de controler le materiel informatique restant selon les besoins. Le design est centre sur le fait de soulever le Z80 original sur une carte fille et de rerouter plusieurs de ses signaux pour qu'ils puissent etre controles selon les besoins.

v1.0 Schema de mise a niveau Z80

Sheet 1

Pour pouvoir executer des programmes pour d'autres modeles Sharp (par ex. MZ-700) ou du CP/M 64K, le design ajoute un dispositif RAM statique de 512KB avec la logique de pagination necessaire.

v1.0 Schema Teensy 3.5

Sheet 2

Les revisions materielles supplementaires (v1.1, v2.0, v2.1, v2.2) sont documentees dans la version anglaise.


Details de conception

Cette section fournit des informations de conception interne pour comprendre le fonctionnement du tranZPUter et ses interactions entre l'hote, la carte fille tranZPUter SW et le processeur K64F.

K64F Z80 Host API

L’API est basee sur un bloc commun de RAM dans l’espace memoire 64K du Z80 a travers lequel les communications interprocesseurs ont lieu. La structure API complete, la liste des commandes et la liste des resultats sont dans la version anglaise.

Organisation GPIO

Dans ce design, le K64F travaille dans un role de supervision et de service. Le Z80 peut fonctionner de maniere autonome sans le K64F, ce qui laisse la machine hote completement originale.

Les tables d’allocation GPIO sont dans la version anglaise.

Modes memoire

L'une des fonctionnalites du design materiel tranZPUterSW est la capacite de creer librement des cartes memoire dans le Flash RAM de 512K. Ces cartes sont assignees a un mode memoire et selectionnees par le Memory Mode Latch.

La table complete des modes memoire est dans la version anglaise.

Commutation de frequence CPU Z80

Pour rendre le tranZPUter SW compatible avec d'autres machines, il est necessaire de cadencer la CPU a la vitesse de cette machine. Un commutateur de frequence a declenchement sur front positif a ete implemente.
Port Function
0x62 Switch Z80 CPU frequency to the second source.
0x64 Switch Z80 CPU frequency to default host source.

Configuration systeme

Les tables des registres de configuration sont dans la version anglaise.

Mode Sharp MZ-700

L'un des objectifs du tranZPUter etait de pouvoir executer, autant que possible, des logiciels d'autres modeles sur l'hote.

Les details d’implementation du mode MZ-700 et du mode MZ-80B sont dans la version anglaise.


Langage de description materiel

A partir de la version 2.0, toute la logique discrete a ete remplacee par un seul CPLD (Altera EPM7128) programme en VHDL. Les details sont dans la version anglaise.

Logiciel

zOS

zOS est le systeme d’exploitation fonctionnant sur le processeur K64F, fournissant des services au Z80 hote. La documentation complete est dans la version anglaise.

*T*ran*Z*puter *F*iling *S*ystem

TZFS rend la carte SD disponible pour le Z80. Les details sont dans la version anglaise.

CP/M

CP/M 2.2 a ete porte pour le tranZPUter SW. Les details sont dans la version anglaise.

Moniteur TZFS

La reference complete des commandes du moniteur TZFS est dans la version anglaise.

Sharp BASIC SA-5510

Les details sont dans la version anglaise.

Microsoft BASIC

Les details sont dans la version anglaise.

Outil de decodeur memoire

Les details sont dans la version anglaise.

Construction du logiciel tranZPUter SW

La documentation complete du build (chemins, outils, instructions de build pour zOS, TZFS, Memory Decoder, CPM, flashage K64F et Teensy3.5) est dans la version anglaise.

Credits

Les credits sont dans la version anglaise.

Licences

La GNU Public License v3

Ce projet est sous GPLv3. Details dans la version anglaise.