Le signal /CS2 est le même sur les RIOT en U4 et U5 qu'en U6, la condition est donc identique AB13 = 0 et AB12 = 0
Pour le CS1 de U4 :
CS1 = 1 <=> Z8-4 = 1 <=> /(//AB8 + //AB7) = 1 <=> /(AB8 + AB7) = 1 <=> /AB8 & /AB7 = 1 <=> AB8 = 0 et AB7 = 0
Deux des plages d'adresse sont : [0x0000 : 0x007F] et [0x0200 : 0x027F]
Pour le CS1 de U5 :
CS1 = 1 <=> Z8-1 = 1 <=> /(//AB8 + /AB7) = 1 <=> /(AB8 + /AB7) = 1 <=> /AB8 & AB7 = 1 <=> AB8 = 0 et AB7 = 1
Deux des plages d'adresse sont : [0x0080 : 0x00FF] et [0x0280 : 0x02FF]
Maintenant, on s'intéresse à la broche 36 des RIOT (/RS) :

Si elle est à 0, c'est la RAM du RIOT qui est sélectionnée, sinon c'est les périphériques (PIO et Timer).
Cette broche est connectée au signal BAB9. Ce signal suit AB9, le bit d'adresse 9 du 6502 va donc sélectionner ou la RAM ou les périphériques.
On trouve ce plan d'adressage mémoire :
[0x0000 : 0x007F] : RAM du RIOT U4
[0x0080 : 0x00FF] : RAM du RIOT U5
[0x0100 : 0x017F] : RAM du RIOT U6
[0x0200 : 0x027F] : Périphériques du RIOT U4
[0x0280 : 0x02FF] : Périphériques du RIOT U5
[0x0300 : 0x037F] : Périphériques du RIOT U6
Le choix de Gottlieb au niveau du décodage d'adresse, permet d'avoir une RAM de 384 Octets continue (du point de vue du 6502) de l'adresse 0x0000 à 0x017F.
Concernant les périphériques internes au RIOT, un décodage d'adresse interne au chip, crée ce plan d'adressage :
Adresse interne 0: valeur des E/S en lecture ou en écriture du PIOA
Adresse interne 1: Configuration du sens (0 = Entrée, 1 = Sortie) des GPIO du PIOA
Adresse interne 2: valeur des E/S en lecture ou en écriture du PIOB
Adresse interne 3: Configuration du sens (0 = Entrée, 1 = Sortie) des GPIO du PIOB
Adresses interne suivantes : c'est le timer, non détaillé pour l'instant.
Un exemple sur l'adressage des périphériques : rendre active la sortie SOL9 d'un system 80A.
il faut configurer PA7 de U6 en sortie :
Mettre le bit 8 de l'adresse 0x0300 à 1
Piloter PA7 de U6 à 1 :
Mettre le bit 8 de l'adresse 0x0301 à 1
N'hésite pas à demander des explications complémentaire, si je n'ai pas été assez clair.
[edit2] corriger erreurA11 => A13
Pour le CS1 de U4 :
CS1 = 1 <=> Z8-4 = 1 <=> /(//AB8 + //AB7) = 1 <=> /(AB8 + AB7) = 1 <=> /AB8 & /AB7 = 1 <=> AB8 = 0 et AB7 = 0
Deux des plages d'adresse sont : [0x0000 : 0x007F] et [0x0200 : 0x027F]
Pour le CS1 de U5 :
CS1 = 1 <=> Z8-1 = 1 <=> /(//AB8 + /AB7) = 1 <=> /(AB8 + /AB7) = 1 <=> /AB8 & AB7 = 1 <=> AB8 = 0 et AB7 = 1
Deux des plages d'adresse sont : [0x0080 : 0x00FF] et [0x0280 : 0x02FF]
Maintenant, on s'intéresse à la broche 36 des RIOT (/RS) :
Si elle est à 0, c'est la RAM du RIOT qui est sélectionnée, sinon c'est les périphériques (PIO et Timer).
Cette broche est connectée au signal BAB9. Ce signal suit AB9, le bit d'adresse 9 du 6502 va donc sélectionner ou la RAM ou les périphériques.
On trouve ce plan d'adressage mémoire :
[0x0000 : 0x007F] : RAM du RIOT U4
[0x0080 : 0x00FF] : RAM du RIOT U5
[0x0100 : 0x017F] : RAM du RIOT U6
[0x0200 : 0x027F] : Périphériques du RIOT U4
[0x0280 : 0x02FF] : Périphériques du RIOT U5
[0x0300 : 0x037F] : Périphériques du RIOT U6
Le choix de Gottlieb au niveau du décodage d'adresse, permet d'avoir une RAM de 384 Octets continue (du point de vue du 6502) de l'adresse 0x0000 à 0x017F.
Concernant les périphériques internes au RIOT, un décodage d'adresse interne au chip, crée ce plan d'adressage :
Adresse interne 0: valeur des E/S en lecture ou en écriture du PIOA
Adresse interne 1: Configuration du sens (0 = Entrée, 1 = Sortie) des GPIO du PIOA
Adresse interne 2: valeur des E/S en lecture ou en écriture du PIOB
Adresse interne 3: Configuration du sens (0 = Entrée, 1 = Sortie) des GPIO du PIOB
Adresses interne suivantes : c'est le timer, non détaillé pour l'instant.
Un exemple sur l'adressage des périphériques : rendre active la sortie SOL9 d'un system 80A.
il faut configurer PA7 de U6 en sortie :
Mettre le bit 8 de l'adresse 0x0300 à 1
Piloter PA7 de U6 à 1 :
Mettre le bit 8 de l'adresse 0x0301 à 1
N'hésite pas à demander des explications complémentaire, si je n'ai pas été assez clair.
[edit2] corriger erreur






















































