RESET 後にノイズが乗るのは、これも KiCAD化の時に余計なことした(TXD をプルダウン)影響でした。
Power On 時も問題ないようにするなら、インターフェース側からプルアップを引くのが良さそう。まだこちらの方はやっていません。
読み込みが上手くいかないのは …… このUARTって受信後に 受信バッファに書かないと 受信レディが消えないのね。
直してこうなりました。
1/ 0 : ;;; UARTTEST for MELPS740
2/ 0 : ;;; 2023-04/11 efialtes_htn
3/ 0 : ;;;
4/ 0 : ;;; Assumes PHI=8MHz - UART external clock = 307.2KHz
5/ 0 : ;;;
6/ 0 : ;;; 2023-04-09 parameter should be 8bit no-parity
7/ 0 : ;;;
8/ 0 : CPU MELPS740
9/ 0 : ;
10/ 0 : =MELPS740 TARGET: EQU "MELPS740"
11/ 0 : ;
12/ 0 : ;; VECTORS
13/ FFFA : ORG $FFFA
14/ FFFA : 00 00 FDB $0000 ; NMI
15/ FFFC : 00 F0 FDB $F000 ; RESET
16/ FFFE : 00 F0 FDB $F000 ; IRQ/BRK
17/ 10000 : ;
18/ F000 : ORG $F000
19/ F000 : A9 12 CSTART: LDA #$12 ; Stack-page1, Microprocessor mode
20/ F002 : 85 FF STA $0FF
21/ F004 : A6 FF LDX $0FF
22/ F006 : 9A TXS
23/ F007 : D8 CLD
24/ F008 : 12 CLT
25/ F009 : A9 FF LDA #$FF ; all output
26/ F00B : 85 EB STA $0EB ; port4 directional reg
27/ F00D : ;
28/ F00D : A9 08 LDA #$08 ; No sleep, 8bit UART, SCLK=P36/16
29/ F00F : 85 F4 STA $0F4 ; T/R Mode register
30/ F011 : ;
31/ F011 : EA NOP
32/ F012 : EA NOP
33/ F013 : EA NOP
34/ F014 : EA NOP
35/ F015 : A9 00 LDA #$0 ; reset every errors. then enable
36/ F017 : 85 F5 STA $0F5
37/ F019 : A9 05 LDA #$5 ; RSV/TRN enabled
38/ F01B : 85 F5 STA $0F5
39/ F01D : ;
40/ F01D : A2 00 LDX #$0
41/ F01F : EA NOP
42/ F020 : EA NOP
43/ F021 : CONOUT0:
44/ F021 : EA NOP
45/ F022 : EA NOP
46/ F023 : BD 00 F2 LDA WSTR,X ; WSTR
47/ F026 : F0 09 BEQ ECHOBACK
48/ F028 : CONOUT:
49/ F028 : 37 F5 FD BBC 1,$0F5,CONOUT
50/ F02B : 85 F6 STA $0F6
51/ F02D : E8 INX
52/ F02E : EA NOP
53/ F02F : 80 F0 BRA CONOUT0
54/ F031 : ;
55/ F031 : ECHOBACK:
56/ F031 : EA NOP
57/ F032 : 77 F5 FC BBC 3,$0F5,ECHOBACK ;get one character
58/ F035 : A5 F7 LDA $0F7 ;get received char
59/ F037 : 85 F7 STA $0F7 ; ... write back to clear RI
60/ F039 : EA NOP
61/ F03A : CONOUT1:
62/ F03A : 37 F5 FD BBC 1,$0F5,CONOUT1
63/ F03D : 85 F6 STA $0F6
64/ F03F : EA NOP
65/ F040 : EA NOP
66/ F041 : 80 EE BRA ECHOBACK
67/ F043 : ;
68/ F200 : ORG $F200
69/ F200 : WSTR:
70/ F200 : 4F 20 62 72 61 76 FCB "O brave new world, That has such people in't!",$0D,$0A,$00
65 20 6E 65 77 20
77 6F 72 6C 64 2C
20 54 68 61 74 20
68 61 73 20 73 75
63 68 20 70 65 6F
70 6C 65 20 69 6E
27 74 21 0D 0A 00
71/ F230 :
72/ F230 : END
うまくいっている感じ。次は Asano さんの Universal Monitor をナントカしましょう。