
UPGRADE
D'UN MSX1 V20 EN MSX2+ :
Quelques
infos :
Le MSX1 V20 est asser simple
a upgrader en MSX2 ou en MSX2+. J'ai choisi le V20 car il n'a pas de MSXEngine,
toute la logique est faite par des circuits standards du type TTL (74xx).
La plus grosse différence
qu'il existe entre le MSX1 et le MSX2, c'est son mode vidéo. Il faut savoir
qu'un MSX2 est toujours doté d'un VDP (Video Display Processor) V9938 qui gére
256 couleurs et qui peut passer en mode 80 colonnes contrairement au MSX1 qui
n'a que 16 couleurs et un mode de 40 colonnes.
J'ai choisi d'upgrader
le V20 en MSX2+ car le VDP est un V9958
qui a une gestion de 19268 couleurs, toujours en mode 80 colonnes.
Le plus gros du travail,
c'est de trouver la place pour intégrer les cartes filles et l'usinage du boitier
sans faire de rayure.
La description est détaillée
en plusieurs chapitres :
- Modification de la partie vidéo
- Pose d'une unitée de stockage
(Là en l'occurence, ça sera une BEER202).
- Rajout de 512K de RAM.
- Remplacement de la ROM MSX1 en
MSX2+.
- Rajout d'un mode turbo 7Mhz.
- Rajout d'un bouton RESET.
- Personnalisation du logo de démarrage.
- Mise à jour : Rajout d'un sélecteur
Memory Mapper/MegaRAM 512K

Dans un premier temps,
j'ai remit en fonction quelques touches H.S et changer les 4 boutons des touches de directions.
On peut voir sur cette
vidéo, la différence entre un bouton usé et une bouton qui a été remplacé.
1 - Modification de
la partie vidéo :
Déssoudage du VDP TMS9929 et quelques composants autours pour laisser
la place à la carte fille qui recevra le VDP V9958 et les 128K de VRAM.
(J'ai volontairement gardé
les 64K de RAM d'origine même si je rajoute 512K de RAM pour un usage ultérieur).
Wrapping et essais de la
carte vidéo.

En sortie du VDP, j'ai
rajouté un préampli vidéo RVB.

Voilà une différence lorsque
l'on utilise de la VRAM de 80ns et de la 120ns. Des traits verticaux apparaissent
avec de la VRAM de 120ns.
VRAM 80ns VRAM
120ns

2 - Pose d'une unitée de stockage
:
Le meilleur endroit pour
placer l'adaptateur CF est juste au dessus du 2émè port cartouche. J'ai déssoudé
la MAINROM MSX1 pour pouvoir souder deux barettes femelle qui recevra la PCB
avec toute la logic dans un EPM240 avec un quartz de 50Mhz, l'adaptateur CF
et une flash 29F040. Cette 29F040 contiendra la SUBROM, la MAINROM et la ROM
de la BEER.

Une fois l'adaptateur placé
...

J'ai usiné le boitier supérieur
pour faire ressortir la CF.


Pour visualiser le fonctionnement
de la BEER, j'ai remplacé la LED CAPSLOCK par une LED bicolore.
Elle sera de couleur verte
comme l'originale mais passera au rouge quand il y aura un accès à la BEER.

3 - Rajout de 512K de RAM
:
Pour l'extention de mémoire,
j'utilise une SRAM KM684000. Son mapper sera dans l'EPM240.
Pour revenir sur les 64K
de RAM d'origine, cette RAM est resté présente car je rajouterais plus tard,
un interrupteur qui basculera les 512K de RAM en 512K de MégaRAM.
64K de RAM est largement
suffisant pour faire fonctionner une MégaRAM.

Une fois les circuits placés,
je peux placer les résistances pull up de 100 ohms, le régulateur 3.3v, le quartz
de 50Mhz et commencer le wrapping sur cette PCB.
Les signaux manquant comme
le /RESET, /WR, /RD, /IORQ, /M1 et A15 seront récupérés a partir du port
cartouche et seront disponibles sur le cable nappe en haut a gauche de la PCB.

4 - Remplacement
de la ROM MSX1 en MSX2+.
La SUBROM et la MAINROM sont intégrées dans la 29F040. Il faut donc arriver a commuté la SUBROM
et la MAINROM au bon momment.
Rien de plus facile. Il
suffit de faire un sélecteur de ROM avec des portes OR, NOT et XNOR3 sous Quartus
et utiliser CS01 pour choisir le bon bank de la 29F040.
J'ai étendu le SLOT0 pour
avoir 4 SLOT0x secondaire :
- SLOT00, SLOT01 et SLOT02 serviront
pour le ROM SELECTOR.
- SLOT03 servira pour le mapper
RAM de 512K.
Pour commuter la SUBROM
et la MAINROM
, il faut simplement utiliser les sorties CE et A15 du ROM SELECTOR qui sont
crées à l'aide de CS01, SLOT00 et SLOT01.
On peut voir que je commute aussi A16 avec l'aide de CS12 et SLOT02, c'est pour la ROM de la BEER qui est
aussi intégrés dans la 29F040. A17 et A18 de la 29F040 seront reliés à la GND.
Ce qui donne comme résulat
:

Au boot du MSX, la 29F040
sera lu de cette façon :
- Lecture du 1er bank 0000-7FFF
(SUBROM) de la 29F040 par FLASH_CE.
- Lecture du 2émè bank 8000-FFFF
(MAINROM) de la 29F040 par FLASH_A15.
- Lecture du 3émè bank 10000-17FFFF
(ROM BEER) de la 29F040 par FLASH_A16
5 - Rajout d'un mode turbo
7Mhz.
La gestion du mode turbo 7Mhz
sera faite par l'EPM240 et le Z80A sera remplacé par un Z80B ou un Z80C. Un interrupteur est posé à l'arriére pour activer ou
désactiver le mode turbo.
Pour visualiser la fréquence
d'utilisation, j'ai remplacé la LED POWER par une LED bicolore.
Elle sera de couleur verte
comme l'originale mais passera au bleu quand le mode turbo sera activé.
Interrupteur TURBO TURBO
OFF TURBO
ON

6 - Rajout d'un bouton RESET
:
Sur un MSX, un bouton RESET
est toujours trés utile.

7 - Personnalisation du logo
de démarrage :
Pour finir, il ne lui manquait
qu'un beau logo personnalisée. J'ai voulu changer le logo MSX2 et reprendre le nom
de ce MSX pour créer son logo.

8 - Mise à jour :
Rajout d'un sélecteur Memory Mapper / MegaRAM 512K :
Au début du chapitre 1,
j'expliquais que j'avais volontairement gardé les 64K de RAM d'origine pour
un usage ultérieur.
Voilà donc pourquoi ....
Dans un premier temp, j'avais
fait un Mapper 512K pour remplacer les 64K :

En modifiant mon projet
Quartus, j'ai intégré un sélecteur que j'ai nommé "Mapper_MegaRAM"
qui intégre aussi un expander X4.
Cela me permet de choisir soit un Memory
Mapper
512K, soit une MegaRAM 512K :

En externe, un simple interrupteur
me permet de faire le choix. (Le 2émè sert a activer/désactiver la BEER).

Si je choisis le mode
"MAPPER", les 64K de RAM d'origines sont ignorées et je dispose d'un
Mapper 512K.

Si je choisis le mode "MEGARAM",
les 64K de RAM d'origines sont détectées et je dispose maintenant d'une MégaRAM
512K interne.


Retrouver mon site MSX
sur :
(
Cliquer sur l'image )
