Z180 schaltet seine Taktfrequenz nicht um

Gast #3338468
ich experimentiere mit einem Zilog Z180, genau gesagt einem Z8S180. Bei 
den ersten einfachen Experimenten hat das Abschalten des Refresh Signals 
funktioniert, aber die Umschaltung des Systemtakts funktioniert nicht, 
wenn ich die entsprechenden Systemregister manipuliere, siehe Code. Bei 
einem externen Quartz mit 3,68 MHz kommen am PHI pin immer 1,84 MHz 
raus. Was ist falsch an diesem minimalen Stück code?
1
; Z180 erste Tests
2

3
cmr  .equ  1Eh  ; clock multiplier register
4
ccr  .equ  1Fh  ; CPU control register
5
rcr  .equ  36h  ; refresh control register
6
icr  .equ  3Fh  ; I/O control register, base addr. for internal I/O
7

8
  .org   0000h
9

10
begin:  
11
; das funktioniert:
12
  ld  a,0  ; clear a
13
  out  (icr),a  ; set internal I/O to base addr. 0
14
  out   (rcr),a  ; switch off DRAM refresh facility
15
; das funktioniert nicht:
16
  ld  a,80h
17
  out  (ccr),a  ; switch from 1/2 clock to full speed
18
  out  (cmr),a  ; 2 x external clock
19

20
loop:  jr  loop
21
  .end
Die internen Register werden über 16-Bit-Addressen (0x0000-0x00ff) 
adressiert. Deshalb müssen die out0/in0 Befehle verwendet werden, da bei 
den "herkömmlichen" in/out-Befehlen Register A auf der oberen 
Adressbushälfte liegt.

Micha schrieb:
> ; das funktioniert:
>   ld  a,0  ; clear a
>   out  (icr),a  ; set internal I/O to base addr. 0
>   out   (rcr),a  ; switch off DRAM refresh facility

A == 0, deshalb gehts hier.

> ; das funktioniert nicht:
>   ld  a,80h
>   out  (ccr),a  ; switch from 1/2 clock to full speed
>   out  (cmr),a  ; 2 x external clock

A != 0, Interne Register werden nicht selektiert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.