Categories: R10旧型PC

MB6892 マーク5の拡張RAMでFLEX9を試す その9 (CRT出力の1)

ベーシックマスタレベル3でFLEX9を動作させる作戦の続きです。

今回のFLEX9動作環境は64KBの拡張RAMを使っている上にTPAを連続して確保したいので$8000付近にROMとのバンク切替用のワークが取れないのでROMの機能がうまく使えません。
ROMのサブルーチンが上手く使えないのでFLEX9のドライバ内にレベル3のCRT出力とKB入力の機能を実装したいと思います。

64KB拡張RAMで動作しているプログラムからCRT出力するにはVRAMエリアのバンク切換えが必要ですがレベル3にはVRAMエリアのみバンク切り換えできる機能が用意されていました。

64K拡張RAM使用中のVRAMアクセス切替は$FFE8 で 拡張64KRAM $78 ⇔ $7C VRAMエリア

を切替えることでVRAMエリアを切替できました
試しにACIAに文字出力するところでUレジにVRAMの先頭$400をセットしデータを書いてみました

                ORG             $E020
#; AccA=ASCIIコード
OUTPUT          EQU             *
                PSHS            A
OUT01           LDA             $FFC4
                ANDA            #$02
                BEQ             OUT01
                PULS            A
                STA             $FFC5         ;send data
                BSR             CRTCHR
                RTS
CRTCHR          EQU             *
                CMPA            #$20
                BLS             CHRRTS
                CMPA            #$7F
                BHI             CHRRTS
                LDB             #$07
                STB             $FFD8           ;COLOR REG
                LDB             #$7C
                STB             $FFE8           ;VRAM SELECT
                LDU             CADRS
                STA             ,U+
                STU             CADRS
                LDB             #$78
                STB             $FFE8           ;EXTRAM SELECT
CHRRTS          RTS

ACIAのデータレジスタを書いた後に追加したので、ACIA出力とVRAMへのデータ書き込みは分かれているはず・・

表示結果はこんな感じで、VRAMに書いた文字は反映されました^^

表示がおかしくなるので$20のスペースはスキップしていますが、文字出力はできるようです。
しかし、ACIAに文字を送信した後にVRAMにデータを書いていますが、なぜだかACIAのデータ送信がおかしくなります
(ACIA送信中に割込みORCC #$50で禁止にしてみても改善なし・・)


VRAMへのスクロールや改行処理を追加しACIAの文字化けを解決すればCRT表示も実装できそうな感じです。

ROMに頼らずBIOS内のプログラムで完結できるように頑張ってみます^^
ざっくり追いかけてみた感じではCRT出力よりもKB入力の方が複雑な感じがしました

そんなVRAMへのデータ書き込みの記録・・・

kabekin

Recent Posts

謎なS1を頂いたので観察してみる 【その2】

謎なS1を観察してみるの第二弾…

5日 ago

初めてのGAL書込み GAL16V8A

XGecuのT48プログラマを…

2週間 ago

謎なS1を頂いたので観察してみる 【その1】

数年前にヤフオクで見かけたこと…

3週間 ago

かべきんブログ SSLに対応しました

ずっと後回しになっていたブログ…

1か月 ago

S1用アドレスマッピングRAMを注文 SIGNETICS S54S189F

S1用のアドレスマッピングRA…

1か月 ago