Circuit processeur Z80
De MicElectroLinGenMet.
Sommaire |
Description
(Voir le Z80 sur Wikipedia)
Processeur 8 bits Zilog Z80.
Processeur fabriqué en 1976 est devenu trés utilisé dans les années 80 avec le boum des ordinateur domestique comme les Sinclair ZX80, ZX81, ZX Spectrum, le standard MSX, les Amstrad CPC dont le CPC 6128 et même la première GameBoy.
Brochage
Programmation
Liste des instructions assembleur
Exemple de source Z80
Ce programme a tourné sur un ZX81 pour transférer du code par une carte série vers un PC.
La carte série est une carte réalisé pour le CPC 6128 et connectée au ZX81 par l'intermédiaire d'un adapteur.
Voir Transfert programme Zx81 sur PC pour une photo du câblage.
; Transfert de codes du ZX81 vers le PC par l'intermédiaire de l'UART Amstrad. ; Voir zx_uart.sch, shéma du circuit adaptateur. .org h'2000 .equ uart,h'7F ;Registre de données de l'UART. .equ status,h'3F ;Registre de status de l'UART. ; Envoi les 256 codes vers l'uart. test: 1/>ld a,h'55 call txd ;Envoi octet 'prét à emettre'. ld b,h'FF test1: 1/>ld a,b 1/>call txd 1/>djnz test1 1/>ret ; Envoi les codes du programme en mémoire comme lors d'un SAVE. trans: 1/>ld bc,h'4009 ;Adresse de début d'un SAVE. 1/>ld hl,(h'4014) ;Contient l'adresse de fin d'un SAVE. and a ;c à 0. sbc hl,bc inc hl ;(HL-BC)+1. ld b,h ld c,l ;BC = nbre d'octets du programme. 1/>ld a,h'55 call txd ;Envoi octet 'prét à emettre'. ld hl,h'4009 trans1: 1/>ld a,(hl) 1/>call txd ;Envoi le code. 1/>inc hl 1/>dec bc 1/>ld a,b 1/>or c 1/>jr nz,trans1 ;Boucle si BC<>0. 1/>ret ; Envoi un caractère A par l'uart. txd: 1/>PUSH af txd1: 1/>IN a,(status) 1/>RRA 1/>RRA ;Positionne TBE dans c. 1/>JR nc,txd1 ;Boucle si non prét à émettre (TBE=0). 1/>POP af 1/>OUT (uart),a ;Si prèt, envoi A. 1/>RET ; Attend et lit le caractère reçu dans A. rxd: 1/>IN a,(status) 1/>RRA ;Décale DAV dans c. 1/>JR nc,rxd ;Saute si pas d'octet reçu (DAV=0). 1/>IN a,(uart) ;Lit l'octet reçu dans A. 1/>RET
Carte Z80zx
Carte Z80 basée sur une carte de ZX81 HS.
La ROM Sinclair est remplacée par une EPROM 8Ko et le chip ULA remplacé par un circuit horloge et décodeur d'adresse.
Cela donne une carte de dévelloppement Z80 1Ko RAM / 8Ko EPROM pas chère avec un connecteur Zx fournissant le bus complet du processeur.
Circuit décodeur d'adresse et horloge (sur support ULA):


