Almost lost technologies

ここは昔の CPU を用いた工作記事を書くために用意しました。

MELPS740 SBC チェック(5) - UART テスト

最初 0x55 (ascii で 'U') でテストして切れ目がわかりにくかったので、'U:' の2文字連続出力でテストしました。

       1/       0 :                     ;;; UARTTEST for MELPS740
       2/       0 :                     ;;; 2023/03/26 efialtes_htn
       3/       0 :                     ;;;
       4/       0 :                     ;;; Assumes PHI=8MHz - UART external clock = 307.2KHz
       5/       0 :                     ;;;
       6/       0 :                         CPU    MELPS740
       7/       0 :                     ;    
       8/       0 : =MELPS740           TARGET:    EQU    "MELPS740"
       9/       0 :                     ;
      10/       0 :                     ;; VECTORS
      11/    FFFA :                         ORG    $FFFA
      12/    FFFA : 00 00                   FDB    $0000    ; NMI
      13/    FFFC : 00 F0                   FDB    $F000    ; RESET
      14/    FFFE : 00 F0                   FDB    $F000    ; IRQ/BRK
      15/   10000 :                     ;
      16/    F000 :                         ORG    $F000
      17/    F000 : A9 12               CSTART:    LDA    #$12    ; Stack-page1, Microprocessor mode
      18/    F002 : 85 FF                   STA    $0FF
      19/    F004 : A6 FF                   LDX    $0FF
      20/    F006 : 9A                      TXS
      21/    F007 : D8                      CLD
      22/    F008 : 12                      CLT
      23/    F009 : A9 FF                   LDA    #$FF    ; all output
      24/    F00B : 85 EB                   STA    $0EB    ; port4 directional reg
      25/    F00D :                     ;
      26/    F00D : A9 08                   LDA    #$08    ; No sleep, 8bit UART、Ext CLK
      27/    F00F : 85 F4                   STA    $0F4    ; T/R Mode register
      28/    F011 : EA                      NOP
      29/    F012 : EA                      NOP
      30/    F013 : EA                      NOP
      31/    F014 : EA                      NOP
      32/    F015 : A9 00                   LDA    #$0    ; reset every errors. then enable
      33/    F017 : 85 F5                   STA    $0F5
      34/    F019 : A9 05                   LDA    #$5    ; RSV/TRN enabled
      35/    F01B : 85 F5                   STA    $0F5
      36/    F01D :                     ;
      37/    F01D : EA                      NOP
      38/    F01E : EA                      NOP
      39/    F01F :                     CONOUT0:
      40/    F01F : EA                      NOP
      41/    F020 : EA                      NOP
      42/    F021 : A9 55                   LDA    #$55    ; U
      43/    F023 :                     CONOUT:
      44/    F023 : 37 F5 FD                BBC    1,$0F5,CONOUT
      45/    F026 : 85 F6                   STA    $0F6
      46/    F028 : EA                      NOP
      47/    F029 : EA                      NOP
      48/    F02A : A9 3A                   LDA    #$3A
      49/    F02C :                     CONOUT1:
      50/    F02C : 37 F5 FD                BBC    1,$0F5,CONOUT1
      51/    F02F : 85 F6                   STA    $0F6
      52/    F031 : 80 EC                   BRA    CONOUT0

出てきたのがこれです。

なんかそれなりにもっともらしそうに見えるんですけど、CH340E の設定だと 7-bit EVEN Parity でないと取れないなぁ。 ’U8' にするとこうなるのでパリティがあるようには見えない。

もうすこしテストしないといけないかもしれません。