MB-6892

システムI/O

標準ポート

PIA (HD46821(MC6821))

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFC0 PA7 PA6 x x PA3 PA2 PA1 x W PIA Aポート
標準RAMバンク切り替え
FFC1 IRQ A2 IRQ A1 CA2制御 DDR A CA1制御 W
FFC2 PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 R / W PIA Bポート
プリンター出力(パラレルポート)
FFC3 IRQ B2 IRQ B1 CB2制御 DDR B CB1制御 R / W

バンク切り替えの詳細はメモリの項を参照。

ACIA (HD46850(MC6850))

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFC4 IRQ PE OVRN FE CTS DCD TDRE RDRF R カセットインターフェース&RS-232C(排他)
(切り替えはMODE-SELのビット5で行う)
CR7 CR6 CR5 CR4 CR3 CR2 CR1 CR0 W
FFC5 D7 D6 D5 D4 D3 D2 D1 D0 R
D7 D6 D5 D4 D3 D2 D1 D0 W

CRTC (HD46505(MC6845))

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFC6 x x x A4 A3 A2 A1 A0 W CRTCアドレスレジスタ
FFC7 D7 D6 D5 D4 D3 D2 D1 D0 R / W CRTCデータレジスタ

KBNMI

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFC8 BK x x x x x x x R

BK=1 のとき、BREAKキーが押されている。

DIPSWITCH

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFC9 D7 D6 D5 D4 D3 D2 D1 D0 R

NEWONコマンドの値と同じ。初期設定の項参照。
※マーク5では、ディップスイッチが廃止され、D0,D1が1、D3~D7が0固定となり、D2がモードスイッチの値となっている。

TIMER

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFCA T x x x x x x x R

T=1のとき、タイマIRQ(FIRQ)が発生した。

LPFLG

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFCB LP x x x x x x x R

LP=1のとき、ライトペンが反応した。(IRQ発生)

MODE-SEL

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD0 w HR C x x GB RB BB W 状態設定レジスタ

W=0 のとき 40字/行、W=1のとき80字/行
HR=0のときハイレゾモード、HR=1のときノーマルモード
C=0のときACIAにカセットを選択、C=1のときRS-232Cを選択
GB,RB,BB:背景色(緑、赤、青)

TRACE

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD1 x x x x x x x x W

WRITE時、トレースカウンタON
(WRITEしてから16?マシンサイクル後にNMIが発生する。)

REMOTE リモートスイッチ

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD2 RM x x x x x x x W

RM=1のとき、リレースイッチON(カセットリモートOFF)

MUSIC-SEL

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD3 MS x x x x x x x W

内蔵スピーカより音発生(MSを 0 <-> 1 と切り替える。)

TIME MASK

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD4 TM x x x x x x x W

TM=1のとき、タイマIRQ(FIRQ)禁止。内蔵時計が停止する。

LPENBL

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD5 LE x x x x x x x W

LE=1のとき、ライトペン動作を許可。

INTERACE-SEL

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD6 x x x x IS x x x W

IS=1のとき、インターレースモードに設定。キャラクタ文字がインターレース側となる。

BAUD-SEL ボーレート切り替え

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD7 x x x x x x x SR W

SR=0のとき600ボー、SR=1のとき1200ボー。

C-REG-SEL カラーレジスタ

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFD8 MK x IG GC RV G R B R / W カラーレジスタ

カラーレジスタに値を書き込んだあと、VRAMに書きこみを行うことでカラーRAMにレジスタの値が反映される。
VRAMから値を読み出すと、MK=0ならカラーRAMの値がカラーレジスタに反映される。
MK=0のときレジスタに書き込み可能、MK=1のとき書込み禁止
IG=0のときIG表示しない、IG=1のときIG表示を優先(D0~D4の値は無視)
GC=0のときキャラクタ表示、GC=1のときグラフィック表示
RV=0のとき通常、RV=1のとき色を反転
G,R,B:表示色(緑、赤、青)

KB

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFE0 BM SS x x UE SL HR KN W キーボード・モードレジスタ
D7 D6 D5 D4 D3 D2 D1 D0 R キーボード・マトリックス・スキャン・データ

BM=0のときKBNMI禁止、BM=1のときKBNMI可能
SS=0のときKBIRQ禁止、SS=1のときKBIRQ可能
UE=0のときキーボードカウンタ動作、UE=1のとき動作停止
SL=0のときCAPSキーLED点灯、SL=1のとき消灯
HR=0のときひらがなLED消灯、HR=1のとき点灯
KN=0のときカタカナLED消灯、KN=1のとき点灯

詳細はキーボードの項を参照。

BANK-REG 拡張RAMバンク切り替え

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFE8 x D6 D5 D4 D3 D2 D1 D0 W 拡張RAMバンク切り替え

バンク切り替えの詳細はメモリの項を参照。

IGMODREG

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFE9 x x x x x x x PM W

PM=1のとき、IGキャラクタ定義許可。IG RAMに書き込みが可能になる。

IGENREG

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FFEA x x x x x PG PR PB W IGカラープレーン選択レジスタ

PG:IG RAM緑プレーンを選択
PR:IG RAM赤プレーンを選択
PB:IG RAM青プレーンを選択

拡張ボード関連

6重和音PSG (AY-3-8910 & MC6821(PIA))

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF30 DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA0 R / W レジスタ/データ
FF31 PIAレジスタ。
FF32 x x x x x SEL BDIR BC1 R / W バスコントロール
FF33 PIAレジスタ。

BDIR = 1 かつ BC1 = 1 の時、PSGレジスタ選択
BDIR = 1 かつ BC1 = 0 の時、PSGデータ書き込み
BDIR = 0 かつ BC1 = 1 の時、PSGデータ読み出し
SEL : PSG1選択=0, PSG2選択=1

9重和音PSG (AY-3-8910 & MCS6522(VIA))

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF70 x x x PSG3 PSG2 PSG1 BC1 BDIR R / W ORB バスコントロール
FF71 DA7 DA6 DA5 DA4 DA3 DA2 DA1 DA0 R / W ORA PSGレジスタ/データ
FF72 DDRB
FF73 DDRA
FF74 T1L-L / T1C-L
FF75 T1C-H
FF76 T1L-L
FF77 T1L-H
FF78 T2L-L / T2C-L
FF79 T2C-H
FF7A SR
FF7B ACR
FF7C PCR
FF7D IFR
FF7E IER
FF7F x x x x x x x x ORA

BDIR = 1 かつ BC1 = 1 の時、PSGレジスタ選択
BDIR = 1 かつ BC1 = 0 の時、PSGデータ書き込み
BDIR = 0 かつ BC1 = 1 の時、PSGデータ読み出し
PSG1:PSG1選択時=1
PSG2:PSG2選択時=1
PSG3:PSG3選択時=1

KANJI

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF75 D15 D14 D13 D12 D11 D10 D9 D8 R / W
FF76 D7 D6 D5 D4 D3 D2 D1 D0 R / W

書き込み時:D4~D15:漢字コード D0~D3:ライン番号
読み出し時:D0~D15:ビットイメージ (未定義の場合D0=1となる)

FDC(HD46503S(MC6843))(片面単密度用)

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF18 R DIR
W DOR
FF19 ? R / W CTAR
FF1A R CMR
x x x x W ISR
FF1B R STRA
W SUR
FF1C x x x R STRB
W SAR
FF1D x W GCR
FF1E x x x x x x W CCR
FF1F x W LTAR

DRIVE-SEL(片面単密度用)(推定)

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF20 MT ? ? ? D3 D2 D1 D0 W

D0:ドライブ0 D1:ドライブ1 D2:ドライブ2 D3:ドライブ3 選択
MT:モータON/OFF ?

FDC(MB8866)(両面倍密度用)

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF00 R STR
W CR
FF01 R / W TR
FF02 R / W SCR
FF03 R / W DR

DRIVE-SEL(両面倍密度用)

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF04 DRQ x x x x x x IRQ R
x NM D/S S M x DRV W

IRQ:通常=1 IRQ発生時=0 -> NMI割り込み発生
DRQ:通常=1 DRQ発生時=0
DRV:ドライブ選択(0~3)
M:モータON/OFF
S:サイド選択
D/S: 倍密度=1 単密度=0
NM: NMI禁止する場合=1

増設プリンタカード? (HD46821(PIA))

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF3C PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 R / W LPT1:
FF3D IRQ A2 IRQ A1 CA2制御 DDR A CA1制御 R / W
FF3E PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 R / W LPT2:
FF3F IRQ B2 IRQ B1 CB2制御 DDR B CB1制御 R / W

増設RS-232Cカード? (HD46850(ACIA))

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF40 IRQ PE OVRN FE CTS DCD TDRE RDRF R COM1:
CR7 CR6 CR5 CR4 CR3 CR2 CR1 CR0 W
FF41 D7 D6 D5 D4 D3 D2 D1 D0 R
D7 D6 D5 D4 D3 D2 D1 D0 W

COM2:~COM4:は未実装 ... $FF42 ~ $FF47

◆以下、未確認(未実装)ポート

リアルタイムクロック?(RTC58321?)

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF38 R W ? ? REG W RTC制御?
FF39 RW CS ? ? DATAW W
FF3A ? ? ? ? DATAR R

REG:RTCレジスタアドレス
R=1のとき、RTCからの読み出し開始。$FF3Aから読み出し可能になる。
W=1のとき、RTCへの書き込み開始。$FF39のデータを書き込む。
RW:データ方向。RTCへの書き込み=0,RTCからの読み出し=1
CS=1のとき、RTCへのアクセス可能
DATAW:RTCへ書き込むデータ
DATAR:RTCから読み出したデータ
RTCへの読み書きはバッファを通して行うようだ。

拡張PIAカード? (HD46821(PIA) x 2)

アド
レス
データビット R / W 備考
D7D6D5D4D3D2D1D0
FF60 PIA Aポート
FF61
FF62 PIA Bポート
FF63
FF64 PIA Aポート
FF65
FF66 PIA Bポート
FF67

関連ページ

LEVEL-3 BASICワークエリア

LEVEL-3 BASIC ROMサブルーチン

 

TOP PAGE