メインクロックとWAITの動作を確認するために、RTS0端子にトランジスターを介して
LEDを接続しました。
また、メインクロックは16MHz水晶に変更しました。回路図上は水晶発振器になっていますが
実際は、16MHz水晶発振子と22PFコンデンサー2個で駆動しています。

回路図は下記になります。
bord1

デフォルトの設定では、内部クロックは、供給されているクロックの1/2となっています。
また、WAITは、3ステート追加されています。
従いまして、今回16MHz水晶を接続していますが、内部クロックは8MHz動作になっています。
内部クロックとWAITはソフト設定で変更できそうなので、確認してみました。

まずは、クロックですが、レジスターの設定変更で3種類に変更できます。
1、内部クロック=水晶発振周波数/2 デフォルトです。
2、内部クロック=水晶発振周波数
3、内部クロック=水晶発振周波数*2

1、2は「CPU CONTROL REGISTER」(CCR:1FH)の7bit目の
Clock DiVideで変更します

CCR(1FH):D7  XTAL/2=0 (デフォルト)
         XTAL/1=1

3、はCCRと「CLOCK MULTIPLIER REGISTER」(CMR:1EH)の
7bit目の X2 CLOCK MULTIPLIERで変更します

CCR(1FH):D7 XTAL/1=1
CMR(1EH):D7 X2 CLOCK MULTIPLIER=1

したがって 以下のような設定になります
      水晶発振周波数/2(デフォルト) 水晶発振周波数 水晶発振周波数*2
CCR(1FH):D7  0            1        1
CMR(1EH):D7  0            0        1

次にWAITですが、メモリー用とI/O用が用意されています。
DMA/WAIT CONTROL REGISTER(DCNTL:32H)のD4~D7で設定します。
メモリー関係: D6~D7
            
MWI1(D7)   MWI0(D6)   WaitState
  0           0           0
  0           1           1
  1           0           2
  1           1           3 (デフォルト)

I/O関係:(D4~D5)
IWI1(D5)   IWI0(D4)   WaitState
  0           0           1
  0           1           2
  1           0           3
  1           1           4 (デフォルト

実際にプログラムして確認してみました。
・内部クロックは 水晶発振周波数*2 ここでは、16MHz*2=32MHzで動作させています
・Waitは、メモリーで2WAITに設定、I/Oはデフォルトのままです

[asm] .z180

CNTLA0 .equ 0x00
DCNTL .equ 0x32
CCR .equ 0x1f
CMR .equ 0x1e

.area TEST(abs)
.org 0x0000

ld sp,0x8000
nop
nop
in0 a,(CMR)
set 7,a ;XTAL*2
out0 (CMR),a

in0 a,(CCR)
set 7,a ;XTAL/1
out0 (CCR),a
;
in0 a,(DCNTL)
set 7,a ;MWI1=1
res 6,a ;MWI0=0 Memory wait state =2
; res 5,a ;IWI1=1
; res 4,a ;IWI0=1 I/O wait state =deflut
out0 (DCNTL),a
nop
nop
loop: in0 a,(CNTLA0)
set 4,a
out0 (CNTLA0),a ;RTS0=H output
in0 a,(CNTLA0)
res 4,a
out0 (CNTLA0),a ;RTS0=L output
jr loop
[/asm]

タイミングを確認するとRTS0端子もH/Lしていることを確認しました。

おすすめの記事