2026.9.15
前へ
次へ
ホームページトップへ戻る


[新連載開始]W65C02マイコンボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
私としてはW65C02をさわるのは全く初めてです。何から何まで未経験です。さてどうなりますでしょうか。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第73回]



●82C55が動きました!(4)

今までの82C55テストプログラムは82C55のポートに対して出力または入力を1回行なっただけでした。
今回は出力を連続して行なうプログラムを作ってテストしてみました。
下がテストプログラム(ソースプログラム)65C02TEST49.LSTです。
;w65c02test47 26/9/11 <test49に変更するのを忘れた!
;
;DMA test
;
        org $8000
;
        lda #$80
        sta $0283
loop:
        sta $0280
        sta $0281
        sta $0282
        ldx #$00
loop1:
        ldy #$00
loop2:
        dey
        bne loop2
        dex
        bne loop1
        ror
        bra loop
;end

W65C02アセンブラでアセンブルしました。


下はアセンブルした結果作成されたアセンブルリストです。
0000        ;w65c02test47 26/9/11 <test49変更忘れ
0000        ;
0000        ;DMA test
0000        ;
8000            org $8000
8000        ;
8000 A980       lda #$80
8002 8D8302     sta $0283
8005        loop:
8005 8D8002     sta $0280
8008 8D8102     sta $0281
800B 8D8202     sta $0282
800E A200       ldx #$00
8010        loop1:
8010 A000       ldy #$00
8012        loop2:
8012 88         dey
8013 D0FD       bne loop2
8015 CA         dex
8016 D0F8       bne loop1
8018 6A         ror
8019 80EA       bra loop
801B        ;end

Aポート、Bポート、Cポートの各8ビットのうち1ビットのみを1にして出力します。
次に間にダミーループを置いて一定時間出力を維持したのち1を出力したビットを右に1ビットローテイトして出力しそれを繰り返します。
それによってビット出力がローテイトする様子を目視することができるようになります。

65C02TEST49.BINをロードして実行しました。


出力の様子です。

ダミーループを置いても出力がローテイトされる速度はかなり高速で辛うじてローテイトしていることがわかる程度です。

写真に撮ることでやっと静止しているように見えます。


W65C02マイコンボードの製作[第73回]
2026.9.15 upload

前へ
次へ
ホームページトップへ戻る