Rétro-ingénierie d'un mod Zx81
Modérateurs : Papy.G, fneck, Carl
Re: Rétro-ingénierie d'un mod Zx81
Bonjour Patrice,
Il n'y a pas que cela sinon elles seraient sur toutes les lignes d'adresse!!
Je crois que cela à voir avec le fonctionnement de l'ULA mais mes souvenirs sont assez flou et je ne retrouve pas l'endroit où j'ai trouvé l'info.
Je vais creuser un peu!
Bonne soirée
Jean-François
Il n'y a pas que cela sinon elles seraient sur toutes les lignes d'adresse!!
Je crois que cela à voir avec le fonctionnement de l'ULA mais mes souvenirs sont assez flou et je ne retrouve pas l'endroit où j'ai trouvé l'info.
Je vais creuser un peu!
Bonne soirée
Jean-François
Il n'y a que 11 sortes de gens, ceux qui comprennent ceux qui ne comprennent pas et ceux qui me font répéter!
Jean-François
Jean-François
Re: Rétro-ingénierie d'un mod Zx81
Un début de réponse:
Une petite recherche sur Google en tapant"zx81 resistans r18 à r26" permière réponse obtenu!
Extrait de cette page: http://www.silicium.org/forum/viewtopic.php?t=25916
...
Pour comprendre le problème, il faut savoir que l'affichage des charactères est effectué par le composant Sinclair que l'on nomme ULA.
En regardant le schéma du ZX81, On peut voir que le bus d'adressage de A0 à A8 (qui sort du Z80 et qui va vers le connecteur du ZX), ne va pas directement vers la ROM.
Une resistance (R18-R26) s'intercale entre le Z80 et la ROM.
Du Z80 à la résistance nous avons A0,A1...A8 et de la résistance à la ROM A0',A1'...A8'.
Ces résistances sont là pour "affaiblir" le signal d'adressage vers la ROM pour rendre les informations du ULA prioritaires.
Donc, l'adressage du Z80 est ignoré lorsque le ULA donne des informations du pointage vidéo de la ROM.
Mais, comme la ligne d'adresse du connecteur est lié au bus du Z80, nous perdons des informations lors de l'envoie d'une adresse sur la ROM via le ULA.
Une ROM avec un adressage en A0 (connecteur/Z80)... et non en A0' (ULA), ne vas jamais recevoir de signaux d'adressage en provenance du ULA.
Donc, l'affichage ne pointera pas au bon endroit (table des caractères) dans la ROM pour générer les caractères.
...
Voilà la réponse
Bonne soirée
Jean-François
Une petite recherche sur Google en tapant"zx81 resistans r18 à r26" permière réponse obtenu!
Extrait de cette page: http://www.silicium.org/forum/viewtopic.php?t=25916
...
Pour comprendre le problème, il faut savoir que l'affichage des charactères est effectué par le composant Sinclair que l'on nomme ULA.
En regardant le schéma du ZX81, On peut voir que le bus d'adressage de A0 à A8 (qui sort du Z80 et qui va vers le connecteur du ZX), ne va pas directement vers la ROM.
Une resistance (R18-R26) s'intercale entre le Z80 et la ROM.
Du Z80 à la résistance nous avons A0,A1...A8 et de la résistance à la ROM A0',A1'...A8'.
Ces résistances sont là pour "affaiblir" le signal d'adressage vers la ROM pour rendre les informations du ULA prioritaires.
Donc, l'adressage du Z80 est ignoré lorsque le ULA donne des informations du pointage vidéo de la ROM.
Mais, comme la ligne d'adresse du connecteur est lié au bus du Z80, nous perdons des informations lors de l'envoie d'une adresse sur la ROM via le ULA.
Une ROM avec un adressage en A0 (connecteur/Z80)... et non en A0' (ULA), ne vas jamais recevoir de signaux d'adressage en provenance du ULA.
Donc, l'affichage ne pointera pas au bon endroit (table des caractères) dans la ROM pour générer les caractères.
...
Voilà la réponse
Bonne soirée
Jean-François
Il n'y a que 11 sortes de gens, ceux qui comprennent ceux qui ne comprennent pas et ceux qui me font répéter!
Jean-François
Jean-François
- Patrice
- Messages : 1562
- Inscription : 14 janv. 2008 10:42
- Localisation : https://www.ville-saintes.fr/
- Contact :
Re: Rétro-ingénierie d'un mod Zx81
Bonsoir Jean-François,
Non cette protection ne concerne que les lignes I/O (ULA et Z80). Un court-circuit sur les lignes d'adressage n'aurait pas la même incidence.
Non cette protection ne concerne que les lignes I/O (ULA et Z80). Un court-circuit sur les lignes d'adressage n'aurait pas la même incidence.
- bubulemaster
- Messages : 1082
- Inscription : 01 juil. 2014 13:48
- Localisation : Nantes
Re: Rétro-ingénierie d'un mod Zx81
Merci Jeff, j'ai effectivement mal cherché sur internet
Cela explique bien pourquoi il n'y a que la ligne A0 à A8 avec une résistance.
C'est sacrément tiré par les cheveux comme fonctionnement à croire que les ingénieurs se sont lancés à l'époque un défit pour faire un truc complètement fou
Peut-être que la protection en cas de court-circuit est un effet secondaire
Le 80286 et suivant sont des processeurs beaucoup trop évolués qui n'auraient jamais dû être inventés .
Vinted | Le bon coin | Ebay
Vinted | Le bon coin | Ebay
Re: Rétro-ingénierie d'un mod Zx81
C'est encore plus tordu car il y a le même système sur le bus de données.
C'est pour forcer le Z80 à faire des NOP pendant la génération du signal vidéo. La ROM fournit les pixels formant les caractères tandis que le Z80 assure le comptage via les NOP.
Il n'y a aucune recherche de protection de CC car les CI logiques sont limités en courant de sortie.
C'est pour forcer le Z80 à faire des NOP pendant la génération du signal vidéo. La ROM fournit les pixels formant les caractères tandis que le Z80 assure le comptage via les NOP.
Il n'y a aucune recherche de protection de CC car les CI logiques sont limités en courant de sortie.
- bubulemaster
- Messages : 1082
- Inscription : 01 juil. 2014 13:48
- Localisation : Nantes
Re: Rétro-ingénierie d'un mod Zx81
Wouah, c'est bien compliqué
Si je comprend bien. Quand l'affichage se fait, c'est le ULA qui va lire dans la ROM pour avoir la table de caractères.
Le ULA est connecté en direct à la ROM et qu'après, il y a les résistances sur les fils d'adresse qui provoquent une chute de tension certainement suffisant pour que les puces de RAM ne le prennent pas en compte.
RP1 permet de faire du NOP pendant l'affichage des caractères.
Bon, pour les résistances R7 à R14 par contre, le positionnement des résistances m'étonnent, je m'attendais à la même architecture que les adresses.
Si je comprend bien. Quand l'affichage se fait, c'est le ULA qui va lire dans la ROM pour avoir la table de caractères.
Le ULA est connecté en direct à la ROM et qu'après, il y a les résistances sur les fils d'adresse qui provoquent une chute de tension certainement suffisant pour que les puces de RAM ne le prennent pas en compte.
RP1 permet de faire du NOP pendant l'affichage des caractères.
Bon, pour les résistances R7 à R14 par contre, le positionnement des résistances m'étonnent, je m'attendais à la même architecture que les adresses.
Le 80286 et suivant sont des processeurs beaucoup trop évolués qui n'auraient jamais dû être inventés .
Vinted | Le bon coin | Ebay
Vinted | Le bon coin | Ebay
Re: Rétro-ingénierie d'un mod Zx81
Tu trouveras le schéma bloc et une petite explication du fonctionnement ici :
http://searle.x10host.com/zx80/zx80.html
Le ZX81 n'est qu'une évolution du ZX80 auquel il ajoute un générateur d'interruption pour assurer un affichage plus stable. Donc on peux raisonner à partir du schéma du ZX80 qui est réalisé avec des CI logiques simples. Le ZX81 intègre toute cette logique dans l'ULA ce qui rend son fonctionnement plus mystérieux.
http://searle.x10host.com/zx80/zx80.html
Le ZX81 n'est qu'une évolution du ZX80 auquel il ajoute un générateur d'interruption pour assurer un affichage plus stable. Donc on peux raisonner à partir du schéma du ZX80 qui est réalisé avec des CI logiques simples. Le ZX81 intègre toute cette logique dans l'ULA ce qui rend son fonctionnement plus mystérieux.
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Rétro-ingénierie d'un mod Zx81
Cf le film sur Sinclair où l'on voit les ingénieurs essayer d'éviter (péniblement) que lorsqu'on appuie sur une touche, la vidéo saute parce que le CPU ne peut générer l'écran et gérer une touche appuyée en même temps sans déborder la durée du vbl.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
- bubulemaster
- Messages : 1082
- Inscription : 01 juil. 2014 13:48
- Localisation : Nantes
Re: Rétro-ingénierie d'un mod Zx81
J'ai fini mon investigation.
Il me reste une dernière question sur les modifications apportées à la carte mère.
La résistance R2 a été supprimée pour que les IC4b et et IC4a ne reçoivent pas le signal et donc ne soit jamais activé.
Par contre, la suppression des résistances R18 à R16 et la connexion de faite entre R23 et la pin 17 du IC4b est un mystère.
J'ai trouvé une explication intéressante du fonctionnement de l'ULA et des résistances ici aussi https://retrocomputing.stackexchange.co ... n-the-zx81
Il me reste une dernière question sur les modifications apportées à la carte mère.
La résistance R2 a été supprimée pour que les IC4b et et IC4a ne reçoivent pas le signal et donc ne soit jamais activé.
Par contre, la suppression des résistances R18 à R16 et la connexion de faite entre R23 et la pin 17 du IC4b est un mystère.
J'ai trouvé une explication intéressante du fonctionnement de l'ULA et des résistances ici aussi https://retrocomputing.stackexchange.co ... n-the-zx81
- Pièces jointes
-
- hack_sur_carte_mere.png (761.56 Kio) Consulté 1814 fois
Le 80286 et suivant sont des processeurs beaucoup trop évolués qui n'auraient jamais dû être inventés .
Vinted | Le bon coin | Ebay
Vinted | Le bon coin | Ebay
- bubulemaster
- Messages : 1082
- Inscription : 01 juil. 2014 13:48
- Localisation : Nantes
Re: Rétro-ingénierie d'un mod Zx81
Et voilà, j'ai ajouté au premier message le schéma logique pour la mémoire. Reste plus qu'à comprendre à quelle adresse elle répond.
Sur ce site ZX80/ZX81 Memory Mirrors and Expansions, je vois que les 1K de mémoire répondent de 4000-43FF, l'extension 16K répond à 4000-7FFF.
Donc je me dis que c'est ce que ça fait.
Sur ce site ZX80/ZX81 Memory Mirrors and Expansions, je vois que les 1K de mémoire répondent de 4000-43FF, l'extension 16K répond à 4000-7FFF.
Donc je me dis que c'est ce que ça fait.
Le 80286 et suivant sont des processeurs beaucoup trop évolués qui n'auraient jamais dû être inventés .
Vinted | Le bon coin | Ebay
Vinted | Le bon coin | Ebay