[新連載開始]W65C02マイコンボードの製作
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
私としてはW65C02をさわるのは全く初めてです。何から何まで未経験です。さてどうなりますでしょうか。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第72回]
●82C55が動きました!(3)
前回はW65C02テストボードに82C55増設基板を接続して簡単な出力のテストを行ないました。
今回は入力のテストです。
下がテストプログラム(ソースプログラム)65C02TEST50.LSTです。
;w65c02test50 26/9/11
;
;DMA test
;
org $8000
;
lda #$80
sta $0283
lda #$55
sta $0280
lda #$aa
sta $0281
lda #$a5
sta $0282
;
lda $0280
sta $00
lda $0281
sta $01
lda $0282
sta $02
stp
;end
|
W65C02アセンブラでアセンブルしました。

下はアセンブルした結果作成されたアセンブルリストです。
0000 ;w65c02test50 26/9/11 0000 ; 0000 ;DMA test 0000 ; 8000 org $8000 8000 ; 8000 A980 lda #$80 8002 8D8302 sta $0283 8005 A955 lda #$55 8007 8D8002 sta $0280 800A A9AA lda #$aa 800C 8D8102 sta $0281 800F A9A5 lda #$a5 8011 8D8202 sta $0282 8014 ; 8014 AD8002 lda $0280 8017 8500 sta $00 8019 AD8102 lda $0281 801C 8501 sta $01 801E AD8202 lda $0282 8021 8502 sta $02 8023 DB stp 8024 ;end |
前回のプログラムの後ろにポート入力を追加しました。
プログラムの前半では全ポートを出力に設定しAポートに#$55をBポートに#$AAをCポートに#$A5を出力します。
82C55は出力に設定したポートに対して入力命令を実行すると現在出力されている値がそのまま読み込まれます。
プログラムの後半ではAポートから読み込んだ値を$00に、Bポートから読み込んだ値を$01に、Cポートから読み込んだ値を$02に書き込みます。
65C02TEST50.BINをロードして実行しました。

実行後に/DMコマンドでゼロページの内容を確認しました。
$00に#$55が書き込まれています。
$01には#$AAが書き込まれていて$02には#$A5が書き込まれていることが確認できました。
今回のテストで82C55にWRITEとREADが両方とも正しく実行されることが確認できました。
W65C02マイコンボードの製作[第72回]
2026.9.14 upload
前へ
次へ
ホームページトップへ戻る