Envoyé par
Artemus24
Tes explications portent à confusion. Le Z80 n'a jamais pu adresser autre chose que du 64Ko.
Le processeur possède un bus d'adresses de 16 bits, ce qui limite directement son espace mémoire adressable à 64 Ko (216 = 65 536 octets). En revanche, lors des instructions d'E/S IN et OUT, le Z80 place bien les registres B (octet de poids fort) et C (octet de poids faible) sur le bus d'adresses. Beaucoup de périphériques ne décodaient que les 8 bits de C, mais rien n'interdisait de décoder aussi les 8 bits de B. On obtenait ainsi un espace de 65 536 ports d'E/S, même si, en pratique, la plupart des machines (dont le CPC) ne décodaient qu'une partie de ces lignes.
Mais il existe une subtilité importante : les ports pouvaient servir à sélectionner des banques mémoire, chacun de 64Ko. Un port pouvait contenir un registre de pagination permettant de choisir quelle banque de 64 Ko était visible dans l'espace mémoire. Si tu avais 16 banques de 64 Ko, tu disposais physiquement de 1 Mo de RAM, mais le Z80 n'en voyait toujours que 64 Ko à la fois.