[SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

[SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

Après avoir mis en place l'IPL512 (FLASH de 512Ko) qui permet de changer la page de la ROM de 4 Ko à la volé (donc avec la possibilité de faire cohabiter la ROM européenne et japonaise en coupant en deux la capacité du FLASH) et la possibilité de changer la police en version Européenne ou en version Japonaise, il manquait quelque chose pour compléter ce tableau : et si je rendais mon MZ-700 totalement polyvalent avec la possibilité de passer de la version japonaise en version européenne et vice-versa, y compris avec une vraie sortie NTSC et PAL correspondant à la version ?

Le MZ-700 a une horloge principale qui est à la fréquence du PAL (17,73447 MHz) sur la version européenne et NTSC (14,31818 MHz) sur la version japonaise. Par ailleurs, le composant LSI qui est entre autre responsable des signaux vidéos a une broche NP (1 -> NTSC, 0 -> PAL) qui permet de lui dire comment diviser la fréquence principale en une fréquence CPU (1 -> PHI/4, 0 -> PHI/5) et de sélectionner le bon format pour la sortie vidéo.

Donc si je peux fournir la bonne fréquence, la bonne ROM et la bonne police de caractères, je peux reproduire la version japonaise dans ces moindres détails à l'exception du clavier (incrustation de l'alphabet japonais à la place des caractères "graphiques").

J'ai donc commencé le circuit imprimé qui remplacera l'horloge d'origine (DIP14) qui grâce au composant MK2712 me permet de fournir du 14,31818 MHz ou du 17,73447 MHz à partir d'une fréquence source de 27 MHz. J'aurais un signal P/N (1 -> PAL, 0 -> NTSC) qui sera utilisé pour le triplet (ROM, FONT et CLK). Le LSI veut le signal inverse (NP) donc j'ajoute un inverseur pour donner à partir de P/N le signal N/P qui sera utilisé par le LSI.

L'idée est de placer un oscillateur 27 MHz DIP8 ou SMD. J'espère que le circuit est bon.

Sans plus tarder, voici le schéma et les circuits en 2D et 3D :
Schematic_[MZ-700] PAL_NTSC - CLK PCB_2020-11-03_00-16-07.png
Schematic_[MZ-700] PAL_NTSC - CLK PCB_2020-11-03_00-16-07.png (177.49 Kio) Consulté 2939 fois
PCB 2D TOP (PAL-NTSC CLK PCB) 2020-11-03.png
PCB 2D TOP (PAL-NTSC CLK PCB) 2020-11-03.png (88.41 Kio) Consulté 2939 fois
PCB 2D BOTTOM (PAL-NTSC CLK PCB) 2020-11-03.png
PCB 2D BOTTOM (PAL-NTSC CLK PCB) 2020-11-03.png (40.44 Kio) Consulté 2939 fois
PCB 3D (PAL-NTSC CLK PCB) 2020-11-03.png
PCB 3D (PAL-NTSC CLK PCB) 2020-11-03.png (63.77 Kio) Consulté 2939 fois
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par 6502man »

Intéressant :D
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

Nouvelle révision : suppression du DIP8 au profit d'un SMD deux fois moins cher et plus fiable. Taille : 13x27mm (0.51x1.05 inches).
PCB 3D (PAL-NTSC CLK PCB).png
PCB 3D (PAL-NTSC CLK PCB).png (133.59 Kio) Consulté 2871 fois
PCB 2D TOP (PAL-NTSC CLK PCB).png
PCB 2D TOP (PAL-NTSC CLK PCB).png (163.89 Kio) Consulté 2869 fois
PCB 2D BOTTOM (PAL-NTSC CLK PCB).png
PCB 2D BOTTOM (PAL-NTSC CLK PCB).png (51.5 Kio) Consulté 2871 fois
Schematic_[MZ-700] PAL_NTSC - CLK PCB_2020-11-06_00-15-12.png
Schematic_[MZ-700] PAL_NTSC - CLK PCB_2020-11-06_00-15-12.png (241.65 Kio) Consulté 2871 fois
PCB TOP (PAL-NTSC CLK PCB).png
PCB TOP (PAL-NTSC CLK PCB).png (151.71 Kio) Consulté 2871 fois
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

J'ai commandé 5 à PCBWay. A la base je voulais faire la fabrication et le montage par JLCPCB/LCSC pour profiter des offres basses du moment mais pas moyen d'y arriver clairement. Avec PCBWay, je fais faire l'achat des composants directement par eux : il me restera à faire monter le MK2712 moi-même à la réception des circuits. Certes le prix final est plus que m'aurait pu offrir JLCPCB mais bon on dira que c'est le coût du prototypage.

Vous noterez que j'ai ajouter deux anneaux VCC et GND pour pouvoir alimenter le circuit et le tester. La broche de haut pourra être relié à VCC ou GND pour sélectionner NTSC ou PAL dans l'optique de tester avec un analyseur logique pour vérifier que le signal est bon sans avoir à l'installer sur un MZ-700.

Je ne sais pas s'il existe d'autres machines (non SHARP MZ) qui nécessitent les mêmes fréquences PAL et NTSC.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

J'ai reçu cinq circuits imprimés plus deux autres sans composants. Pour les 5, il me faut souder le composant principal qui sert de PLL et je pourrais tester avec un analyseur logique pour vérifier le fonctionnement des fréquences en sortie.
IMG_20201127_154535bis.jpg
IMG_20201127_154535bis.jpg (1.11 Mio) Consulté 2753 fois
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

Soudure du composant manquant et ses broches bipent bien où là c'est attendu avec mon multimètre. Prochaine étape : me servir de l'analyseur logique pour alimenter le circuit et lire les fréquences en entrée et sortie pour vérifier qu'elles sont conformes.
IMG_20201128_194437.jpg
IMG_20201128_194437.jpg (721.7 Kio) Consulté 2719 fois
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

Aujourd'hui j'ai testé le circuit imprimé avec mon analyseur LA1010 ( je rêve d'un LA5016/LA5032 mais le prix :( ) en me servant de son PMW1 avec un duty à 100% et de son GND pour alimenter le circuit (VCC et GND), de son PMW2 avec un duty à 100% (sélection PAL) ou avec un duty à 0% (sélection NTSC) pour affecter P/N. Par la suite, j'ai pu vérifier que le signal N/P est bien à l'inverse de P/N.

Le LA1010 a une précision de 20 ns, donc il ne faut pas s'attendre à une superbe précision au niveau des périodes des pulsations. C'est pour cette raison que je m'en remets plutôt à "Pulse Measurements" en mettant deux mesures - un sur ICLK, l'autre sur OCLK - pour compter les pulsions hautes sur tout l'enregistrement qui dure 1 seconde. Il suffit alors de diviser leur nombre par 1000000 pour obtenir leur fréquence.

Brochage en question :
IMG_20201129_100045.jpg
IMG_20201129_100045.jpg (932.17 Kio) Consulté 2696 fois
Vérification pour la fréquence PAL :
CLK_PAL.jpg
CLK_PAL.jpg (198.54 Kio) Consulté 2696 fois
vérification pour la fréquence NTSC :
CLK_NTSC.jpg
CLK_NTSC.jpg (200.22 Kio) Consulté 2696 fois
Patrick
Messages : 2019
Inscription : 16 mai 2009 09:30
Localisation : Clermont-Ferrand

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par Patrick »

Tu as fait réaliser un assemblage partiel par PCBWay ?
A quoi servent les éléments dorés, des supports de vis ?
Et enfin, tu n'as pas un oscilloscope pour mesurer directement la fréquence et la période ?
Patrick
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

Oui, l'assemblage je voulais faire par JLCPCB au départ car il faisait une offre de montage à 2€. Seulement, je ne suis pas arrivé à utiliser leur offre : ils n'étaient pas très clair sur la procédure, notamment sur l'achat des composants et au final il fallait une taille maximum de 10x10mm. Du coup, je me suis rabattu sur PCBway :
- ils ont directement commandés les composants dont j'ai fourni la BOM avec les références choisies (chose que je n'arrivais pas à faire avec JLCPCB).
- après un devis et une réponse à une question technique, ils ont fait la fabrication et le montage.

Il me restait donc juste à souder les PLL que j'avais déjà acquis et des connecteurs.

J'ai aussi acheté dix sockets DIP14 pour oscillateur. Et pour insérer le circuit dans ce socket, j'ai aussi 2000 de ces trucs dorés dont j'ai placé 4 sur le circuit (ce dont tu parles j'imagine) :
golden_pin.jpg
golden_pin.jpg (42.68 Kio) Consulté 2684 fois
J'ai un oscillateur USB mais l'analyseur est plus facile à utiliser et à installer : il aurait fallu que je retrouve le logiciel à installer car je l'avais installé sur un autre PC que je n'ai pas ici.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par 6502man »

Félicitations ;)

Il te reste plus qu'a tester in situ pour vérifier que la machine fonctionne correctement ;)
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

Oh ça va attendre... mon IPL512 d'origine (gros PCB vert dont j'ai dû modifier 5 traces suite à une connerie que j'ai faite) m'empêche de fermer le capot. J'ai trop de fils qui volent. Il me faut absolument un PCB CPU pour pouvoir connecter un maximum entre le CPU et l'IPL et supprimer ces fils volants. Le CGROM est peut-être trop haut (mais ce n'est pas ce qui empêche le capot de se fermer pour l'heure). Pareil, des fils volants pour la partie vidéo (je n'ai pas encore fait la conversion propre du TTL en analogique comme il faudrait le faire). Bref, je ne me sens pas d'enlever tout ça avant d'avoir une alternative bien propre et qui n'empêche pas le capot de se fermer avant de commencer à charcuter la carte-mère (pour ce circuit, je n'ai pas la possibilité faire autrement). :oops:

J'ai des GAL 16V8D et 20V10D à profusion et je voudrais en utiliser un sur le PCB CPU :
1) intercepter "IN A,($E2)" à la place de "IN A,($FF)", la raison est que sur MZ-700/1500 standard, un "OUT ($E2),A" active la ROM MONITOR en région $0000-$0FFF (un "OUT ($E0),A" l'a désactive au profit de la DRAM). Quoi de plus naturel de réutiliser ce même port pour indiquer la page à lire ? De plus, les PCB CPU et IPL pourraient être utilisés sur MZ-80 K et A moyennant peut-être un adaptateur au niveau de leur socket ROM. Le bit A14 en entrée du port $E2 est directement connecté à l'interrupteur de commutation PAL/NTSC.
2) intercepter "IN A,($E3)" pour paginer $E000-$FFFF. Entre $E800-$FFFF, on trouve souvent des ROM quand on a une extensions QDD ou FDD. Je connais une extension plutôt économique à base d'un Arduino MEGA pour simuler un QDD sur MZ-800 parce que ce dernier à bien la ROM qu'il faut en interne mais pas le MZ-700 sans une extension I/O physique.
3) intercepter "OUT A,($E1)" (active DRAM en $D000-$FFFF) et "OUT A,($E3)" (désactive DRAM en $D000-$FFFF) : idéalement pour conditionner la sortie /CS positionné par 2) seulement lorsque la DRAM est désactivé. J'ignore si cela est faisable avec un GAL mais j'ai l'impression que non.
4) Neutraliser un /WAIT=0 lors d'un accès en VRAM alors que l'on est en /VBLANK=0 : un truc activable pour voir ce que ça donne, je ne sais pas si on peux mixer avec les points 1) à 3) dans un GAL 20V10D.

L'idéal serait un ATF150x en QFP (la hauteur du CPU est très limitée donc la version PLCC posera sans doute un problème - ou pas) mais à part un USB Blaster, je n'ai pas de quoi les programmer.

Voici des images expliquant les problèmes de hauteurs :
IMG_20201129_172702.jpg
IMG_20201129_172702.jpg (693.79 Kio) Consulté 2664 fois
IMG_20201129_172739.jpg
IMG_20201129_172739.jpg (504.84 Kio) Consulté 2664 fois
IMG_20201129_172810.jpg
IMG_20201129_172810.jpg (695.39 Kio) Consulté 2664 fois
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par 6502man »

Qu'est ce qui te manque pour programmer ces ATF150x ?
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

Je n'ai pas retrouvé ce que tu m'avais offert. Je crois que Frédéric a commencer quelque chose. Et j'ai Dave qui semble intéressé par un kit complet pour son MZ-700 NTSC. Je vais essayer de relancer Dave pour son outil qui permet de reprogrammer ces CPLD - y compris les QFP. Avec Dave, on devrait revoir l'ensemble des circuits cette semaine pour régler la question de la hauteur, et peut-être opter pour plus de SMD.
Avatar de l’utilisateur
6502man
Messages : 12286
Inscription : 12 avr. 2007 22:46
Localisation : VAR
Contact :

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par 6502man »

Ce que je t'avais envoyé c'était uniquement pour du PLCC !

Je sait qu'i existe des sockets QFP en traversant mais je ne saurait dires si c'est compatible avec les empreintes des socket PLCC .
Phil.

www.6502man.com

To bit or not to bit.
1 or 0.
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: [SHARP MZ-700] 27MHz CLK -> PAL/NTSC CLK

Message par hlide »

Oui, mais j'ai surtout du PLCC - cela m'aurait servir à faire joujou avec ce CPLD avant d'aller plus loin avec du QFP. Si seulement je pouvais me souvenir où je l'ai rangé.
Répondre