aki_iic’s blog

己の欲せざる処人に施す事無かれ、狂人の真似するは即ち狂人なり

基板組立(その5)Z80+MC6850+MC6821でRCBUS風SBC

ebz80_v0 実装ボード

 ノスタルジーシリーズ(その2)でZ80CPU+MC6850+MC6821でRCBUS風SBC(タイトル長いですがZ80でSBCだとスルーされそうなので精一杯の個性を:)の組立・動作確認を行いました。トピックとしては下記の続きになります。

aki-iic.hatenablog.com

0.Z80データシートより

・先刻ご承知の方が大半とは存じますがZilog社のデータシートから引用します。

 ・CPUピン機能とブロック図

 ・バスタイミング(M1サイクル)

Z80CPU M1サイクルタイミング

 M1サイクルの後半でDRAMリフレッシュを云々といったジジイの薀蓄は省略:)。2026年の現在では4Mbit SRAMが1300円(為替150円)で入手可能なご時世ですからレプリカ系の方以外は不要な情報かと。

・バスタイミング(メモリリード/ライトサイクル)

Z80CPU メモリリード/ライトタイミング

 本機ではCPUクロック8Mhz(125ns)で動作させるので1Mbit SRAMが70ns、PSD(Flash+SRAM+IO+PLD)が90nsですので余裕です。実はCPUはZ84C0020(20Mhz)なのですが別の要因でクロックは8Mhz以下に設定しております。

・バスタイミング(I/Oリード/ライトタイミング)

Z80CPU I/Oタイミング

 今回は!nIORQ=E(6850,6821のE)としてインタフェースします。これはしばしば引用するrcbus/rc2014界隈でも定石の様で以下はRC2014サイトですがZ80CPU(7.3Mhz)にMC68B50(2Mhz)を接続した構成です↓

rc2014.co.uk

・回路図(上記より引用)

RC2014 Mini 回路図(RC2014サイトより引用)

 上図右上にある様にnIORQを反転して68B50のEに入力しております。うろ覚えですがこの構成は1980年代のCQ出版別冊のマイコンピュータNo.2の松本吉彦さんの記事で見たような(うろ覚えですが)・・・

 ところでZ80CPUにわざわざMC68B50を使っている理由ですが、いつものgemni3(fast)にも相談しつつ得た仮説としては、

 ・8251の如き割込回路をユーザが組む必要がなく、ワイヤードORで直結出来る(Pullup抵抗は必要)ので面倒が無く、Z80SIO/DARTの如き複雑(主観)なレジスタ設定が不要(MC6850は制御レジスタ1個)で設定も簡単(0x43,0x15 or 0x11)と呪文を唱えれば初期化終了:)でHD63B50はEOLが相対的に遅かったのでオークション品でも入手が可能、等々の理由が考えられるかもしれません(見当違いかも知れません)。

 無論、RCBUSではZ80SIO、16550、MC68B50を用いた各種ボード・回路図が公開されている様なのでお好きな素材を選択すれば良いだけの事ですが、今回はCPU以外の素材は共通(縛り)でやってみたかったのでこういう構成を選択した次第(楽なので)。

・MC6850バスタイミング

MC6850 Bus timing

 懐かしいですね(40年振りの再会みたいな)。Eクロックの最小値はMC68B50ではパラメタ3のE>220nsが相当します。Z80CPUのIOサイクル(0Wait)では約2クロックですので逆算すると計算上は9Mhz程度迄動作すると思われますが本機では8Mhz(250ns)で使用しています。セカンドソースのHD63B50も同じスペックなので差替可能です(今回はHD63B50を使用しています)。

 

1.ブロック図

ebz80_v0(仮称)ブロック図

 何というか・・・eb6809/eb6802のCPU替えバージョンであります(以下同様)。

2.回路図

3.パターン図(全レイヤ合成)

4.実装ボード

ebz80_v0 実装ボード(部品面)

ebz80_v0 実装ボード(半田面)

 今回は半田面にもシルク入れてみたのでその為だけに写真掲載します:)。

部品面にて右上からHD63B21(PIA)、Z80CPU(Z84C0020を8Mhzで動作)、1Mbit SRAM、AE-FT245RL、左上からHD63B50(ACIA)、PSD834F2J90(ST)とCPU以外は前回のeb6802_v0と同じ部品です。無論PSDのPLD,Flash,IOはターゲットCPU毎に異なっておりますが、プログラマブルデバイスの利点という事で(書込もISPなので・・・)。

 上記理由でCPUクロックを制限していますがwaitをMC6850/6821系に挿入すればメモリアクセスタイムの上限迄クロックは上げられる筈です(16Mhz迄は行けそうな)がPSDのピンを使い切ってしまったので今回は断念しました:)。

 前回と重複しますが今回はRCBUS/RC2014バス情報は重要なので再度引用します↓

smallcomputercentral.com

 retroマイコン用(つまり製品用途ではない)点に注意が必要です。それでも参照するのはZ80、68xx、TMS9995、他16ビットプロセサにも考慮された仕様である事、Z80/Z180系であれば2026年の現在でも組み立てキットが入手可能である事、コネクタ類は秋月で入手可能な0.1インチピンヘッダ/ピンソケットであり入手が容易で安価である(Amazon中華は更に安い)点を現時点では評価しております。

 そりゃYouTubeで公開されている様なEurope Cardでシステム組んでみたい願望は否定出来ないのですが・・・いつか機会があれば(希望)・・・

 消費電流は小数点3桁表示のUSB電圧電流電力計で測定した結果は、

 0.162A、0.827W とCMOSのZ80にしては多めの様な・・・

 

 ・デバッグ環境

ebz80_v0 デバッグ環境

  いつもの構成なので簡単に説明すると、右上からRlinkというRAISONANCE社(フランスの企業の様です)のST製MCU/PSD/uPSD開発用ツールを使用しています。USB接続でWindowsXP上でのみ動作(Win7以降では動作しない様です)なので当方はUbuntu24.04.3上にVMWareでWinXPhomeの仮想マシンを作成し、そこから使用しています。左はターゲット(14pin JTAG)とRlinkを繋ぐ変換基板(手製:)で昔はRlinkに添付されていたのですがPSDがEOLになった為か?割愛されてしまったのでpcbwayさんに基板を作ってもらったものです。

 見ての通り赤色基板のeb6802_v0と瓜二つ(姉妹基板故:)ですがそれは意図的な物故、ご容赦の程。並べてみても色とCPU部分以外は見分けがつかない(あたりまえ)↓

ebz80_v0(左)とeb6802_v0(右)

 上述のRCBUS/RC2014は基板右側の40ピンヘッダーが相当します。ebz80_v0ではCPUがZ80なのでほぼrcbus/rc2014準拠のつもりです、が見ての通り39ピン迄で40ピン目が浮いております(はずかし)。これは中華キャンペーン価格(100x100mm、2層)に合わせたかったので「トレードオフ」であります(言い訳ですね)。幸いPin40は未使用(そもそもリザーブ)なので無しでも当方の用途では何とかなってます。Kicad上は39ピンのコネクタとしてERC/DRCを通しています(クリアランスエラー・警告は適時柔軟に対処)。まあ,道楽なのでと(本当は駄目なんですがね)。

・PLDの論理式(書きかけ)

module ebz80_v0
a0 PIN 30; "Address line
a1 PIN 31; "Address line
a2 PIN 32; "Address line
a3 PIN 33; "Address line
a4 PIN 34; "Address line
a5 PIN 35; "Address line
a6 PIN 36; "Address line
a7 PIN 37; "Address line
a8 PIN 39; "Address line
a9 PIN 40; "Address line
a10 PIN 41; "Address line
a11 PIN 42; "Address line
a12 PIN 43; "Address line
a13 PIN 44; "Address line
a14 PIN 45; "Address line
a15 PIN 46; "Address line
_wr PIN 47;
CLK PIN 49;
_rd PIN 50;
_reset PIN 48;
d0 PIN 29; "Data bus line
d1 PIN 28; "Data bus line
d2 PIN 27; "Data bus line
d3 PIN 25; "Data bus line
d4 PIN 24; "Data bus line
d5 PIN 23; "Data bus line
d6 PIN 22; "Data bus line
d7 PIN 21; "Data bus line
nMREQ PIN 7;
nIORQ PIN 6;
BCK PIN 5;
MA16 PIN 4; "MCU I/O
nFT245TXE PIN 3; "MCU I/O
nFT245RXF PIN 2; "MCU I/O
nCF PIN 52;
pb7 PIN 51; "MCU I/O
tms PIN 20;  "TMS
tck PIN 19; "TCK
nFT245RD PIN 18;
FT245WR PIN 17;
nRAM PIN 14;
tdi PIN 13; "TDI
tdo PIN 12; "TDO
nPIA PIN 11;
nACIA PIN 10;
nIORD PIN 9;
nIOWR PIN 8;
csiop node;
fs0 node;
rdd NODE istype 'reg_D';
csd NODE istype 'reg_D';

X = .x.;
address = [a15..a0];
Vcc = 1;
Gnd = 0;


// Begin user preserved declarations (not affected by iterations of DA usage) ===================

// End user preserved declarations (not affected by iterations of DA usage) ===================

 

equations

csiop = *1;
fs0 = *2;
! nFT245RD = *3;
FT245WR = *4;
! nRAM = *5;
BCK.oe = _reset;
nCF = !(!nIORQ & !a7 & !a6 & !a5 & a4);
nCF.oe = _reset;
pb7.oe = _reset;
nPIA = !(!nIORQ & a7 & !a6 & !a5 & a4);
nPIA.oe = _reset;
nACIA = !(!nIORQ & a7 & !a6 & !a5 & !a4);
nACIA.oe = _reset;
nIORD = !((!nIORQ & !a7 & !a6 & !a5 & a4 & !a3) # csd);
nIORD.oe = _reset;
nIOWR = !(!nIORQ & !_wr) ;
nIOWR.oe = _reset;
rdd := _rd;
rdd.ck = CLK;
rdd.re = _reset;
rdd.pr = Vcc;
csd := !nIORQ & !a7 & !a6 & !a5 & a4 & !a3;
csd.ck = CLK;
csd.re = _reset;
csd.pr = Vcc;


// Begin user preserved equations (not affected by iterations of DA usage) ===================

// End user preserved equations (not affected by iterations of DA usage) ===================


end ebz80_v0

ACIAの13分周回路が未記述です(すみません)・・・

20260512 12:57追記:13分周回路実装しました↓

13分周回路 - aki_iic’s blog

 

5.dba

ebz80_v0 dba 起動時

 これも毎度同じ様な感じなので簡単に。右上が識別情報、Z80系なので0番地からROMでZ80風な命令が並んでおります:)。

ebz80_v0 dba memorymapped i/o領域

 こちらはメモリマップドI/O領域(具体的にはPSDとFT245)です。

ebz80_v0 dba i/o mapped のコピー

 こちらはI/O空間に配置したレジスタ類のコピーです(I/O空間のデータを読み出してメモリにコピーしたもの)。ACIA(0x80)が0xf180に、PIA(0x90)が0xf190に反映されております。ACIAは0x43(ソフトリセット)、0x15(制御レジスタ初期化)後の状態でステータスは0x02(TXEMP)となっているので多分大丈夫そうな。

ebz80_v0 dba i/o空間をメモリにコピー

 この様な小物を書いて上記メモリダンプで表示したものです。プログラムのロードは上記右下の青ボタン(ロード)でバイナリファイルを読込ます。これらはホスト側のPythonで行われ、ターゲットにはメモリライト(複数)コマンドとして実行され、ロード後に同画面左下の赤ボタン(実行)で画面左上のアドレスからサブルーチンとして呼び出されます(昔のワンボードマイコンみたいなインタフェース)。

 最後にdbaのアセンブルリストですがz180_v0のそれをベースにしています(IOアドレス変えて、機種情報を変更したみたいな)・・・

 AS V1.42 Beta [Bld 270] - Source File ebz80_t3.asm - Page 1 - 2026年03月12日 15時49分06秒


    1/   0 :                            ; ebz80_t3
    2/   0 :                            ; 20260312 : z180_t3から修正
    3/   0 :                            ; 20260312 : 6821(pia),6850(acia)を追加
    4/   0 :                            ;          : 6850(acia) 80-8fh i/o空間、rcbus/rc2014互換
    5/   0 :                            ;          ; 6821(pia)  90-9fh i/o空間、rcbus/rc2014(未使用空間)
    6/   0 :                            ;
    7/   0 :                            ; z180_t3
    8/   0 :                            ; 20251109 : z180_t0ベース
    9/   0 :                            ;          : rs0 8000-89ffh(仮)だがオフにするかもしれない(4Mbit sramがあるので)
   10/   0 :                            ;          : csiop 00-5fh,psd834f2j90の仕様?でio空間だがa15-0をデコードするのでアクセスは out (c),a 等のbcレジスタを使った16bitアクセスが必要
   11/   0 :                            ;          : fs0 0000-7fffh
   12/   0 :                            ;          : ramtop 8000-ffffhに仮配置しているが512KBのsramなので柔軟に配置可能(PSD834F2J90のdpldによる)
   13/   0 :                            ;          : ft245 78h(仮)、csiopの影響でマップ変更
   14/   0 :                            ;          : cfide 80h(仮)、同上
   15/   0 :                            ;          : z180io c0h
   16/   0 :                            ; 20251111 : マップ全面変更、csiop,ft245を0ff00-ff8fのメモリマップド領域に移す。理由は80系io空間の互換性維持の為。
   17/   0 :                            ;          : rs0 使用しない(4Mbit sramがあるから)
   18/   0 :                            ;          : csiop memory mappedに配置、0ff00-ff7fに配置
   19/   0 :                            ;          : fs0 0000-7fffに仮配置、fs1-fs7はコンクリフト防止(特にff00-ffffはメモリマップドio空間の為、禁止)
   20/   0 :                            ;          : ramtop 8000h-feffに配置(ff00-ffffはメモリマップド領域)、ramは10000-7ffffに仮配置
   21/   0 :                            ;          : ft245 0ff80-ff8fhのメモリマップド領域に配置、理由は80系io空間互換の為だがio空間に戻しても良い
   22/   0 :                            ;          : cfide io空間の 10h-17hに配置
   23/   0 :                            ;          : z180内蔵周辺 io空間の 0c0-ffhに配置
   24/   0 :                            ;
   25/   0 :                                cpu    z80
   26/   0 :                            
   27/   0 : =0FF00H                    csiop    equ    0ff00h        ; csiop base address
   28/   0 : =0FF05H                    pb7    equ    csiop+5        ; pb7
   29/   0 : =0FF01H                    pbin    equ    csiop+1        ; ft245 status
   30/   0 : =0FF80H                    ft245    equ    0ff80h        ; ft245 data
   31/   0 : =10H                       cfide    equ    10h        ; cfide base address
   32/   0 : =80H                       acia    equ    80h        ; acia base address
   33/   0 : =90H                       pia    equ    90h        ; pia base address
   34/   0 : =0C0H                      z180io    equ    0c0h        ; z180 io base
   35/   0 :                            
   36/   0 : =0H                        romtop    equ    0000h        ; rom top address
   37/   0 : =8000H                     rombtm    equ    romtop+8000h    ; rombottom 
   38/   0 : =8000H                     ramtop    equ    8000h        ; ram top addess
   39/   0 : =0FEFFH                    rambtm    equ    ramtop+7effh    ; ram bottom address
   40/   0 : =0FE00H                    wktop    equ    ramtop+7e00h    ; work area top
   41/   0 :                            
   42/   0 : =2H                        t1    equ    02h        ; delay time
   43/   0 :                            
   44/FE00 :                                org    wktop
   45/FE00 :                            a0    ds    2
   46/FE02 :                            a1    ds    2
   47/FE04 :                            a2    ds    2
   48/FE06 :                            a3    ds    2
   49/FE08 :                            a4    ds    2
   50/FE0A :                            a5    ds    2
   51/FE0C :                            a6    ds    2
   52/FE0E :                            a7    ds    2
   53/FE10 :                            d0    ds    2
   54/FE12 :                            d1    ds    2
   55/FE14 :                            d2    ds    2
   56/FE16 :                            d3    ds    2
   57/FE18 :                            d4    ds    2
   58/FE1A :                            d5    ds    2
   59/FE1C :                            d6    ds    2
   60/FE1E :                            d7    ds    2
  AS V1.42 Beta [Bld 270] - Source File ebz80_t3.asm - Page 2 - 2026年03月12日 15時49分06秒


   61/FE20 :                            
   62/FE20 :                            
   63/   0 :                                org    romtop
   64/   0 :                            
   65/   0 : 31 FF FE                   init    ld    sp,rambtm    ; sp initialize
   66/   3 : CD B4 00                   start    call    pb7on
   67/   6 : CD BC 00                       call    delay
   68/   9 : CD AF 00                       call    pb7off
   69/   C :                            ;    call    id    ; 識別情報送信(試し)
   70/   C :                            
   71/   C :                            ; cmd待ち
   72/   C : CD AF 00                   cmd    call    pb7off
   73/   F : CD A3 00                       call    pbin0
   74/  12 : CD B4 00                       call    pb7on
   75/  15 : 7A                             ld    a,d
   76/  16 : FE D1                          cp    0d1h    ; memory dump?
   77/  18 : 20 05                          jr    nz,cmd1
   78/  1A : CD 58 00                       call    memc
   79/  1D : 18 ED                          jr    cmd
   80/  1F : FE D2                      cmd1    cp    0d2h    ; go ?
   81/  21 : 20 05                          jr    nz,cmd2
   82/  23 : CD 6D 00                       call    go
   83/  26 : 18 E4                          jr    cmd
   84/  28 : FE D3                      cmd2    cp    0d3h    ; memory write?
   85/  2A : 20 05                          jr    nz,cmd0
   86/  2C : CD 3A 00                       call    memw
   87/  2F : 18 DB                          jr    cmd
   88/  31 : FE D0                      cmd0    cp    0d0h    ; machine id?
   89/  33 : 20 D7                          jr    nz,cmd
   90/  35 : CD 7C 00                       call    id
   91/  38 : 18 D2                          jr    cmd
   92/  3A :                            ; memory write
   93/  3A : CD 91 00                   memw    call    adrin    ; 戻り値はhlとする
   94/  3D : 22 04 FE                       ld    (a2),hl    ; adrs = a2
   95/  40 : CD 91 00                       call    adrin
   96/  43 : 22 1A FE                       ld    (d5),hl
   97/  46 : 2A 04 FE                       ld    hl,(a2)    ; adrs = a2
   98/  49 : ED 4B 1A FE                    ld    bc,(d5)    ; length = d5
   99/  4D : CD A3 00                   memw0    call    pbin0    ; D reg
  100/  50 : 72                             ld    (hl),d    ; (hl)<=Dreg
  101/  51 : 23                             inc    hl
  102/  52 : 0B                             dec    bc
  103/  53 : 78                             ld    a,b    ; bc=0かチェック
  104/  54 : B1                             or    c
  105/  55 : 20 F6                          jr    nz,memw0
  106/  57 : C9                             ret
  107/  58 :                            ; memory dump
  108/  58 : CD 91 00                   memc    call    adrin    ; adrs = hl,(a1)
  109/  5B : 1E 00                          ld    e,0    ; 256
  110/  5D : 3A 01 FF                   dump0    ld    a,(pbin)
  111/  60 : E6 10                          and    a,10h
  112/  62 : 20 F9                          jr    nz,dump0
  113/  64 : 7E                             ld    a,(hl)
  114/  65 : 32 80 FF                       ld    (ft245),a
  115/  68 : 23                             inc    hl
  116/  69 : 1D                             dec    e
  117/  6A : 20 F1                          jr    nz,dump0
  118/  6C : C9                             ret
  119/  6D :                            
  120/  6D :                            ret
  AS V1.42 Beta [Bld 270] - Source File ebz80_t3.asm - Page 3 - 2026年03月12日 15時49分06秒


  121/  6D :                            ; go
  122/  6D : CD 91 00                   go    call    adrin    ; adrs = a2
  123/  70 : 22 04 FE                       ld    (a2),hl
  124/  73 : 21 7B 00                       ld    hl,go2
  125/  76 : E5                             push    hl    ; 擬似的なcall (hl)
  126/  77 : 2A 04 FE                       ld    hl,(a2)
  127/  7A : E9                             jp    (hl)    ; これだから80系は〇〇だ(溜息)
  128/  7B : C9                         go2    ret
  129/  7C :                            ; id
  130/  7C : 21 D0 00                   id    ld    hl,tgt_id
  131/  7F : 1E 1E                          ld    e,30    ; 30文字固定
  132/  81 : 3A 01 FF                   id0    ld    a,(pbin)    ; ft245 statu check
  133/  84 : E6 10                          and    a,10h
  134/  86 : 20 F9                          jr    nz,id0
  135/  88 : 7E                             ld    a,(hl)
  136/  89 : 32 80 FF                       ld    (ft245),a
  137/  8C : 23                             inc    hl
  138/  8D : 1D                             dec    e
  139/  8E : 20 F1                          jr    nz,id0
  140/  90 : C9                             ret
  141/  91 :                            ; adrin:
  142/  91 : CD A3 00                   adrin    call    pbin0    ; big endianでホストから送られてくる・・・
  143/  94 : CD A3 00                       call    pbin0    ; 32bitの上位16bit読み飛ばし(空読み)
  144/  97 : CD A3 00                       call    pbin0    ; 戻り値はDreg
  145/  9A : 62                             ld    h,d
  146/  9B : CD A3 00                       call    pbin0
  147/  9E : 6A                             ld    l,d
  148/  9F : 22 02 FE                       ld    (a1),hl    ; 戻り値はhl
  149/  A2 : C9                             ret
  150/  A3 :                            ; pbin0
  151/  A3 : 3A 01 FF                   pbin0    ld    a,(pbin)    ;
  152/  A6 : E6 20                          and    a,20h
  153/  A8 : 20 F9                          jr    nz,pbin0
  154/  AA : 3A 80 FF                       ld    a,(ft245)
  155/  AD : 57                             ld    d,a
  156/  AE : C9                             ret        ; 受信データ <- Dレジスタ
  157/  AF :                                
  158/  AF :                            ; pb7 on / off
  159/  AF : F5                         pb7off    push    af
  160/  B0 : 3E 80                          ld    a,080h
  161/  B2 : 18 03                          jr    pb7set
  162/  B4 : F5                         pb7on    push    af
  163/  B5 : 3E 00                          ld    a,00h
  164/  B7 : 32 05 FF                   pb7set    ld    (pb7),a
  165/  BA : F1                             pop    af
  166/  BB : C9                             ret
  167/  BC :                                
  168/  BC :                            ; delay subroutine
  169/  BC : E5                         delay    push    hl
  170/  BD : D5                             push    de
  171/  BE : 26 02                          ld    h,t1
  172/  C0 : 16 00                      dly02    ld    d,0
  173/  C2 : 1E 00                      dly01    ld    e,0
  174/  C4 : 1D                         dly0    dec    e
  175/  C5 : 20 FD                          jr    nz,dly0
  176/  C7 : 15                             dec    d
  177/  C8 : 20 F8                          jr    nz,dly01
  178/  CA : 25                             dec    h
  179/  CB : 20 F3                          jr    nz,dly02
  180/  CD : D1                             pop    de
  AS V1.42 Beta [Bld 270] - Source File ebz80_t3.asm - Page 4 - 2026年03月12日 15時49分06秒


  181/  CE : E1                             pop    hl
  182/  CF : C9                             ret
  183/  D0 :                            
  184/  D0 :                            ; ターゲット識別情報(単なる文字列、30文字固定)
  185/  D0 :                            ;                123456789012345678901234567890
  186/  D0 : 65 62 7A 38 30 5F 76 30 3A tgt_id    db    'ebz80_v0:20260312E00          '
        D9 : 32 30 32 36 30 33 31 32 45
        E2 : 30 30 20 20 20 20 20 20 20
        EB : 20 20 20                  
  187/  EE :                            
  188/  EE :                            
  189/  EE :                                end
  AS V1.42 Beta [Bld 270] - Source File ebz80_t3.asm - Page 5 - 2026年03月12日 15時49分06秒


  Symbol Table (* = unused):
  --------------------------

*A0 :                         0FE00 C |  A1 :                         0FE02 C |
 A2 :                         0FE04 C | *A3 :                         0FE06 C |
*A4 :                         0FE08 C | *A5 :                         0FE0A C |
*A6 :                         0FE0C C | *A7 :                         0FE0E C |
*ACIA :                          80 - |  ADRIN :                         91 C |
*ARCHITECTURE :                                      "x86_64-unknown-linux" - |
*CASESENSITIVE :                  0 - | *CFIDE :                         10 - |
 CMD :                           0C C |  CMD0 :                          31 C |
 CMD1 :                          1F C |  CMD2 :                          28 C |
*CONSTPI :        3.141592653589793 - |  CSIOP :                      0FF00 - |
*D0 :                         0FE10 C | *D1 :                         0FE12 C |
*D2 :                         0FE14 C | *D3 :                         0FE16 C |
*D4 :                         0FE18 C |  D5 :                         0FE1A C |
*D6 :                         0FE1C C | *D7 :                         0FE1E C |
*DATE :             "2026\-027\-071\-07603\-026\-100\-12012\-026\-105\-091" - |
 DELAY :                        0BC C |  DLY0 :                         0C4 C |
 DLY01 :                        0C2 C |  DLY02 :                        0C0 C |
 DUMP0 :                         5D C | *FALSE :                          0 - |
 FT245 :                      0FF80 - |  GO :                            6D C |
 GO2 :                           7B C | *HAS64 :                          1 - |
 ID :                            7C C |  ID0 :                           81 C |
*INIT :                           0 C | *LISTON :                         1 - |
*MACEXP :                         7 - |  MEMC :                          58 C |
 MEMW :                          3A C |  MEMW0 :                         4D C |
*MOMCPU :                        80 - | *MOMCPUNAME :                 "Z80" - |
*NESTMAX :                      100 - |  PB7 :                        0FF05 - |
 PB7OFF :                       0AF C |  PB7ON :                        0B4 C |
 PB7SET :                       0B7 C |  PBIN :                       0FF01 - |
 PBIN0 :                        0A3 C | *PIA :                           90 - |
 RAMBTM :                     0FEFF - |  RAMTOP :                      8000 - |
*RELAXED :                        0 - | *RET :                           6D C |
*ROMBTM :                      8000 - |  ROMTOP :                         0 - |
*START :                          3 C |  T1 :                             2 - |
 TGT_ID :                       0D0 C |
*TIME :               "15\-026\-103\-12649\-027\-120\-12206\-025\-089\-110" - |
*TRUE :                           1 - | *VERSION :                     142F - |
*WARNRELATIVE :                   0 - |  WKTOP :                      0FE00 - |
*Z180IO :                       0C0 - |

     71 symbols
     37 unused symbols

  AS V1.42 Beta [Bld 270] - Source File ebz80_t3.asm - Page 6 - 2026年03月12日 15時49分06秒


  Code Pages:
  ----------

STANDARD (0 changed characters)

1 code page

0.02 seconds assembly time

    190 lines source file
      2 passes
      0 errors
      0 warnings

6.まとめ

・ebz80_v0 の組立、動作確認(dbaまで)を行いました。

・Z80CPUと6850、6821のインタフェースを簡易的に確認しました。

・実はオークションで入手した1Mbit SRAMにハズレが混じっていた様で切り分けに手こずりました。psdのsramを一時的に有功にしてdbaを起動し、メモリテストで1Mbit SRAM不良を特定しました(まあ、いつかはこういう時は来るだろうと覚悟はしていたのだが・・・)。もっとも作業中に破損した可能性もあり得るので(経験上はありませんが・・・)今回は放置とします↓

 画面左上がそのチップ。再現性があるので不良と断定しました。

 そういえばYouTube等でCPUテスタとかメモリテスタとか見かけますが(販売もされている?)遭遇確率は相応にあるのでしょうか?

 

次のトピック:

aki-iic.hatenablog.com

前のトピック:

aki-iic.hatenablog.com

関連するトピック:

aki-iic.hatenablog.com

*1:address >= ^hFF00) & (address <= ^hFF7F) & (!nMREQ

*2:address >= ^h0000) & (address <= ^h7FFF) & (!nMREQ

*3:address >= ^hFF80) & (address <= ^hFF8F) & (!nMREQ &  !_rd

*4:address >= ^hFF80) & (address <= ^hFF8F) & (!nMREQ & !_wr

*5:address >= ^h8000) & (address <= ^hFEFF) & (!nMREQ