0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

uPD8279を使ってみた(keyboard編)

Last updated at Posted at 2020-05-30

EX-80のバスに以前日米商事で108円で入手したuPD8279つないでみました。

写真(2020-05-29 16.49).jpg

このユニバーサル基板は亜土電子で買ったものだった気がします。古くなってハンダのノリ悪いです。

8279はIntelのi8279がオリジナルで、セカンドソースがいろいろな会社から発売されていました。

Z80で使われている方がいて大変参考になりました。

CSにはA4を直接つなぎました。

デコーダーはストックの74LS138(HCじゃなく)を使いました。EX-80の頃はLSが標準品でした。

テストプログラムです。

;

TVCLR   EQU     036CH
TVDSP   EQU     02DEH

; 8279 ports

DAT     EQU     0EEH
CTL     EQU     0EFH

        ORG     8200H

        CALL    TVCLR
        MVI     A, 00H
        OUT     CTL
        MVI     A, 38H
        OUT     CTL
        MVI     A, 50H
        OUT     CTL

        IN      CTL
        STA     LAST
        CALL    DEBUG
        MVI     B, 08H
        CALL    PAD

LOOP
        LDA     LAST
        MOV     B, A
        IN      CTL
        CMP     B
        JZ      LOOP
        STA     LAST
        CALL    DEBUG
        LDA     LAST
        MVI     B, 07H
        ANA     B
        MVI     B, 00H
        CMP     B
        JNZ     DATIN
        MVI     B, 08H
        CALL    PAD
        JMP     LOOP

DATIN
        IN      DAT
        CALL    DEBUG
        MVI     B, 06H
        CALL    PAD
        JMP     LOOP

PAD
        PUSH    B
        MVI     A, 20H
        CALL    TVDSP
        POP     B
        DCR     B
        JNZ     PAD
        RET

DEBUG
        STA     VAL
        RRC
        RRC
        RRC
        RRC
        CALL    WRITE
        LDA     VAL
        CALL    WRITE
        RET

WRITE
        MOV     C, A
        MVI     B, 0FH
        ANA     B
        MVI     B, 0AH
        CMP     B
        JNC     ALPH
        ADI     30H
        CALL    TVDSP
        RET
ALPH
        SUI     0AH
        ADI     01H
        CALL    TVDSP
        RET

VAL     DB      0
LAST    DB      0

アセンブラはやっぱり苦手です。ださださなコードですみません。

とはいえ、ちゃんとEX-80のプログラム書いたのは初めてかもしれない。めんどくさいこと苦手で、当時ハンドアセンブルとかできませんでした。40年越しのプログラミングです。

MBAのasm8080でアセンブリしてexldaでFTDIモジュールからEX-80にダウンロードして実行してみます。

ボタンを押すと反応するのでおそらくちゃんと動いているのではないかと思われます。

8279.jpg

通常は00でキーを押すとまず40が返ってきてこれはキーの入力があったことをしめして、次にFIFOのデータの数を返すようです。データを読むと00に戻ります。

私のEX-80は廉価版の7セグが無いタイプのもので、本当は7セグを試したかったのですが、8279はカソードコモンな7セグが必要で手持ちがなかったので、とりあえずkeyboardだけ試してみました。

EX-80の7セグはフェアチャイルド社のDM9368というIC二つでドライブしているのですが、このICはすでにディスコンで手に入りません。DM9368はΛ-1でも使われていて、マイコン創成期に一世を風靡したチップでした。

7セグの点灯につていはこちらが参考になります。

シンクドライバのTD62083AFGはストックがありますが、ソースドライバのTD62783AFGはないのでこれも手に入れる必要があります。

また秋葉に行ける日が来ますように。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?