spellbound a écrit : ↑07 oct. 2017 17:51(Sorry, I have to switch to english, since my French is still not good enough for writing
)
No problem, let's see if I'm still able to write decent French text even when it comes to subjects I 1: don't care about 2: don't master at all
Anyway, that's good for practice.
**********************************
Bonjour,
Ceci s'adresse aux propriétaires de PC-1600, qui veulent savoir si un module RAM ou la RAM intégrée ne présente aucun défaut. Je vous propose mon testeur de RAM pour le PC-1600.
Il est écrit en assembleur et peut vérifier tous les modules compatibles avec le PC-1600, y compris sa RAM intégrée.
CE-151 - slot 1
CE-155 - slot 1
CE-159 - slot 1
CE-161 - slot 2
CE-163 - slot 2
CE-163 modifié - slot 1
CE-1600M - slot 1
32K fait maison - slot 1
CE-1601M - slot 2
64K à 256K fait maison - slot 2
512K fait maison (mon module 'superRAM') - slot 2
RAM intégrée- en exécutant le programme de test depuis n'importe quel module compatible en slot 1 (S1)
Téléchargement:
http://drive.google.com/uc?export=view& ... ldLVVZhYlE
Pour faciliter les choses, j'ai assemblé les différentes configurations dans des fichiers BLOADables (eg, que l'on peut charger par commande BLOAD) pour PC-1600. Vous n'avez donc pas besoin d'un assembleur PC-1600. Référez-vous à la table contenue dans le fichier CHKRAM.txt (qui contient les adresses à passer en paramètre de CALL).
Quelques mots à propos du CE-163:
Le CE-163 est un module 2Kx16 prévu pour le PC-1500(A) avec une sélection de plages explicite sous contrôle de l'utilisateur:
PC-1500:
POKE&5800,0 => bank0 (16K)
POKE&5801,0 => bank1 (16K)
PC-1500A:
POKE&6800,0 => bank0 (16K)
POKE&6801,0 => bank1 (16K)
En conséquence, cette sélection se comporte comme si l'utilisateur disposait de deux modules 16K montés l'un ou l'autre dans l'emplacement physique, de façon exclusive.
Cela dit, attention: un CE-163 non modifié n'est pas compatible avec le slot 1 et l'est en revanche avec le slot 2. Le PC-1600 le verra toujours comme un module 16K (comme le CE-161).
Monté dans le slot 2 d'un PC-1600, la sélection des plages du CE-163 se contrôle par l'utilisateur de la manière suivante:
OUT&28,0 => bank0 (16K)
OUT&29,0 => bank1 (16K)
Donc, pour tester un CE-163 non modifié, il suffit de lancer le test du CE-161 deux fois en permutant les plages entre les deux.
Pour finir, le CE-163 se modifie facilement pour devenir un module 32K pour le PC-1600 compatible slots 1 et 2, tel le CE-1600M. Dans ce cas, il convient de le tester en slot 1 avec le test propre au CE-1600M.
**********************************
Quelques explications détaillées sur le CE-163 et la raison pour laquelle il n'est pas compatible avec le slot 1 du PC-1600. Voici le schéma que j'ai récupéré auprès de ROM1500. En orange, vous trouverez les modifications pour le convertir en module 32K pour PC-1600. J'ai aussi rajouté le sélecteur de plages pour le PC-1600.
<circuit ici>
Pour le CE-163 non modifié, la sélecttion s'opère via les signaux S3 et A0.
Pour le slot 1 du PC1600, le signal S3 décode les adresses $A800-$AFFF, sauf pour les modules 8K.
Cela signifie que tout accès en écriture à une adresse paire dans cette plage sélectionne bank0, alors que les accès à une adresse impaire sélectionne bank1. De l'autre côté, la plage de 16K des modules RAM est décodée en $8000-BFFF. Donc, les adresses utilisées pour la sélection de plages se retrouvent dans l'espace mémoire des modules placés dans le slot 1
Bien sûr, ceci génère un comportement totalement erratique - il suffit de venir taper dans la plage $A800-AFFF. Donc, ne l'utilisez pas dans le slot 1
Le slot 2 décode le signal S3 différemment. Il s'appelle K2# et fait partie du "sélecteur vertical" pour les modules > 32K. K2# est accessible par l'adressage ports (commande OUT) uniquement et n'est pas présent dans l'esapce mémoire conventionnel. Pas de problème d'effet de bord pour un CE-163 en slot 2, donc.
En passant, pour la même raison, les modules >32K (par exemple CE-1601M) sont incompatibles avec le slot 1 du PC-1600.
Pourquoi ce choix de conception ? Parce que SHARP a dû maintenir la compatibilité avec les modules plus petits destinés au PC-1500(A), tout en assurant le support des nouveaux modules plus gros que 32K. C'était impossible avec un signal par slot. De manière générale, la compatibilité suit la règle:
modules < 16K => slot 1 uniquement
modules 16K,32K => slot 1 ou 2
CE-163 => slot 2 uniquement
modules > 32K => slot 2 uniquement
J'espère que ma traduction tient la route
Enjoy !
a+