[Z80] - utilisation des ports

Couvre tous les domaines de l'émulation logicielle ou de la virtualisation ainsi que les discussions sur les divers outils associés.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
yo_fr
Messages : 1336
Inscription : 13 août 2009 18:24
Localisation : 78...
Contact :

[Z80] - utilisation des ports

Message par yo_fr »

Bonjour,
Je pose la question car je n'ai pas réussi à trancher une question qui me taraude depuis un petit temps. L'instruction OUT (c),a permet d'envoyer la données contenue dans le registre A sur le port dont le numéro est dans le registre C.
Ceci est clair dans toutes les documentations.
MAIS ...
on trouve sur le net une info sur l'adressage du AY comme ceci:
  • Peripheral: 128K AY Register.
    Port: 11-- ---- ---- --0- (More information).

    Sound Chip
    The AY-3-8912 sound chip is a widely used one, to be found in the MSX, Vectrex, Amstrad CPC range, etc. It is controlled by two I/O ports:
    OUT (0xfffd) - Select a register 0-14
    IN (0xfffd) - Read the value of the selected register
    OUT (0xbffd) - Write to the selected register


Ce qui laisse supposé que le port est sur 16 Bits.
En regardant certains émulateur de Z80 on s'aperçois que le OUT est utlise une adresse sur 16 bits (en combinant le port B et C).
Ce qui fait que les ports ne sont pas adressés sur 8 bits mais bien sur 16 ! En plus le poids faible (registre C) ne change pas entre le N° de registre du AY et sa valeur !

C'est une extension non documentée du Z80 ?

Merci si vous avez des infos...
JJ
joaopa
Messages : 512
Inscription : 14 sept. 2013 12:17

Re: [Z80] - utilisation des ports

Message par joaopa »

En effet (voir page17 d'un document à toujours avoir sur soi)
http://www.z80.info/zip/z80-documented.pdf)
Avatar de l’utilisateur
yo_fr
Messages : 1336
Inscription : 13 août 2009 18:24
Localisation : 78...
Contact :

Re: [Z80] - utilisation des ports

Message par yo_fr »

ok la réponse est bonne.

Merci (et document également mis au chaud!)
Répondre