PC−8001


CRTC:μPD3301D、μPD8257C−5へ RTC :μPD1990Cへ SIO :μPD8251Cへ   PC−8011 拡張ユニットへ PC−8012 拡張スロットへ PC−80S31 ミニ ディスク ユニットへ   PCG8100へ シリアル マウスへ   N−BASICへ   PC−8001のスペック
CPU μPD780C−1(Z80A) 3.9936MHz 1WAIT
PSG 無し、ゲートによるBEEP音1つ
ROM 24KB(本体内は計32KBまで拡張可)
RAM 16KB(本体内は計32KBまで拡張可)
CRTC μPD3301とDMA μPD8257の極悪コンビが割り込み(正確にはCPUバス制御)でCPU速度を落とし 尚且つ1WAITかかりZ80A 4MHzは遅いイメージを植付けさせた罪作りなPC(実際はDMAが無いと遅い) 後にPC−8801でバンク切り換えが遅いというイメージも追加される。
実質的な速度  PC−8001はメモリアクセスで1WAITかかりZ80Aの約4MHzの速度の約20%の速度が落ちます。  CRTC+DMAでのバス割り込みでさらに約34%の速度が落ちます。  よって実質な速度は約46%になり、約1.84MHzのクロックと同等となります。  これがPC−8001系の欠点でありますが長所でもある所です。  通常PCを使うのに常に画面を表示する場合が多いのでDMAを使わない(CPU処理速度を落さない)で  ソフトでブロック転送するよりCPUを停止してDMAを使用する(CPU処理速度を落す)方が結果的には速かったりします。  CPUを停止するのはZ80がメモリのアクセスが非同期なので68系の様にメモリアクセスをしないときに  DMAを使用するような事が出来ないのでCPUを停止してバス制御をDMAに移す為です。  ただしCPUを停止するという事は割り込み関係にその影響が受けてしまう事になるということになります。  ただPC−8001では割り込みを使用するのにはオプションであるのと  N−BASICではほとんど使用することが無いので気にする事はないでしょう。
互換性  N−BASICを搭載しているPCには互換性がありますが特定の操作によっては動作しない場合があります   タイマー関係の違い    PC−8001のみ単純なタイマとなっていますのでワークエリアをクリアするだけで    タイマーの内容がリセットされます    それ以外の機種ではバッテリーバックアップが行われておりワークエリアをクリアするだけでは    タイマーの内容がリセットされるとは限りません     ROMの切り替え    PC−8001のみ/ROMDSn(n=0−3)で8KBごと切り替えができます。           ただしPC−8012、13では/ROMKILLで全てのROMを使用禁止    PC−8801、PC−8001mkIIは/ROMKILLで全てのROMを使用禁止     SIO    PC−8001のみターミナルモード用SIO、CMTは本体内蔵、RS−232Cは外付けの8351を使用    PC−8801、PC−8001mkIIは全て本体内蔵のSIOを使用     /EXTON    PC−8001はPC−8011、12,13等の拡張ユニットが繫がると1、繫がっていないと0    PC−8801、PC−8001mkIIはFDドライブが繫がると1、繫がっていないと0  
起動方法 PC−8001には3つの起動方法があります。  1、リセット(電源を入れる)   コールドスタート  2、STOPを押しながらリセット ホットスタート(BASICの内容等が残る)  3、ESC を押しながらリセット 次のPC−8031系ユニットをブート    *ESC+RESETは通常のPC−8031系のポート0FCH−0FFHのアクセスをせず   ポート0F8H−0FBHをPC−8031系のポートとしてボートを試みます   殆どがポート0F8H−0FBHでPC−8031系のユニットを接続していないので   ディスクドライブの切り離しとして使用します   パラレルポートPC−8801−13等で接続が可能か?(未確認)     コールドスタートルーチンは機種によって若干変わるようで 主に3種類になるようです またNECのソフトによってはこの辺りで判断してます    PC−8001Ver.1.00/1.01/1.1   1757:3A 00 00   LD  A,(00000H)   175A:3A 00 40   LD  A,(04000H)   175D:3A 00 80   LD  A,(08000H)   1760:3A 00 C0   LD  A,(0C000H)            |      PC−8001mkII/SR   1757:21 D0 07   LD  HL,007D0H   175A:2B         DEC HL   175B:7C         LD  A,H   175C:B5         OR  L   175D:20 FB      JR  NZ,A175A   175F:AF         XOR A   1760:32 FF BF   LD  (0BFFFH),A            |      PC−8801/mkII/SR系   1757:AF         XOR A   1758:D3 E7      OUT (0E7H),A   175A:D3 F8      OUT (0F8H),A   175C:00         NOP   175D:3A 00 80   LD  A,(08000H)   1760:3A 00 C0   LD  A,(0C000H)            |    
シリアルソケット  PC−8001の本体内にはシリアル転送用の16ピンソケットがあります  ターミナルモードで使用する為オプションPC−8062(RS−232Cケーブル)が必要になりますが  自作でレベルコンバートする方法もあります  BASICのRS−232C命令はPC−8011等のオプション用の命令になります  *PC−8001以外はターミナルモードもBASICでも同じRD−232Cを使用     1:GND  16:GND   2:/T×D 15:−12V   3:/R×D 14:GND   4:RTS  13:+12V   5:CTS  12:GND   6:DSR  11:+5V   7:CD   10:GND   8:DTR   9:GND    ボーレートの変更   PC−8001の本体内にジャンパー線の接続で設定を行います。   ターミナルモードで2−3で接続していると、何も動作はしませんが、ページプリントは出来ます。    1−2:×16モード 4800、×64モード 1200    1−3:×16モード 2400、×64モード  600    1−4:×16モード 1200、×64モード  300    1−5:×16モード  600、×64モード  150    1−6:×16モード  300、×64モード   75   ターミナルモード N−BASICのダイレクトコマンドでターミナルモードに移行します ターミナルモードからN−BASICへの移行はCTRL+B(^B) BASICプログラムは壊れません   動作は下記の2種類  1.RS−232Cから入力した文字をCRT出力  2.キーインプットした文字をRS−232Cに出力   [コマンド]  TERM x,n,m,l   x:A 8Bitモード     J 7Bitモード     n:0 パリティモードなし     1 奇数パリティ     2 偶数パリティ     m:0 ボーレートファクタ16     1 ボーレートファクタ64      l:0 オートL/Fをする     1 オートL/Fをしない   [ファンクションキー]  f・6 :コントロールコードの表示のオン、オフ  f・7 :半二重/全二重の切り替え  f・8 :LPにエコーバックのオン、オフ  f・9 :スクリーンのLPへのコピー  f・10:LPのラインフィードの実行    
CPU拡張バス   1:+5V     2:+12V   3:DB0     4:−12V   5:DB1     6:/ROMDS0   7:DB2     8:/ROMDS1   9:DB3    10:/ROMDS2  11:DB4    12:/ROMDS3  13:DB5    14:/INT  15:DB6    16:/NMI  17:DB7    18:/EXTON  19:AB0    20:AB8  21:AB1    22:AB9  23:AB2    24:AB10  25:AB3    26:AB11  27:AB4    28:AB12  29:AB5    30:AB13  31:AB6    32:AB14  33:AB7    34:AB15  35:/RD    36:/RESET  37:/WR    38:/WAIT  39:/MREQ  40:/WE  41:/IORQ  42:/MUX  43:/RFSH  44:/RAS0  45:/M1    46:/RAS1  47:SCLOCK 48:GND  49:φ      50:GND     /ROMDS0=N−BASIC ROM 00000H−01FFFHの使用禁止   /ROMDS1=N−BASIC ROM 02000H−03FFFHの使用禁止   /ROMDS2=N−BASIC ROM 04000H−05FFFHの使用禁止   /ROMDS3=本体内の拡張ROM   06000H−07FFFHの使用禁止  
プリンタ・インターフェィス セントロニクス社仕様に基準しています。   1:/STB    2:GND   3:PD0     4:GND   5:PD1     6:GND   7:PD2     8:GND   9:PD3    10:GND  11:PD4    12:GND  13:PD5    14:GND  15:PD6    16:GND  17:PD7    18:GND  19:/ACK   20:GND  21:/READY 22:GND  23:N C    24:N C  25:N C    26:HIGH  27:N C    28:N C  29:HIGH   30:HIGH  31:GND    32:N C  33:N C    34:N C     /STB:ライトストローブ信号。 プリンタにデータを出力する時のライト信号として使用。   PD0〜PD7:プリンタ用のデータバス。   /ACK:プリンタからのアクノリッジ信号。        ポートではフリップ。フロップで受けています。        プリンタから/ACKを受けたらリセット        /STBが出力されたらセット   /READY:0のときにプリンタにデータ出力が出来ます。   *N−BASICでは/STBと/READYを見ていますが、/ACKは無視しています。    主なプリンタアクセス方法   /READY(ポート040HのBit0入力)が0になるまで待つ   /READY(ポート040HのBit0入力)が0になったら、ポート010Hにデータを書き込む   /STB(ポート040HのBit0出力)を0にする   /STB(ポート040HのBit0出力)を1にする    プリンタ・インタフェースのD0〜D7をアンプ+スピーカに繋いでサンド出力する  ソフトがあります     PD0を出力 (アスキー’80年 8月号 PC−8001による音声合成)          (RAM ’84年 8月号 PC−8801/9801                        キャリーラボ『JELDAII』サウンド出力ケーブル)     PD7を出力 (I/O ’82年 2月号 スピーチ・シンセサイザ)    
CRTインターフェース カラーインターフェース  1:VDD (+12V)  2:GND  3:COLOR CLK  4:/HSYNC (水平同期信号)  5:/VSYNC (垂直同期信号)  6:R  7:G  8:B    *COLOR CLKはオプション用(カラーモジュレータ)   カラーバースト3.58MHzの4倍の14.32MHzを出力   白黒 インターフェース  1:VDD (+12V)  2:GND  3:VIDEO OUT  4:/HSYNC (水平同期信号)  5:/VSYNC (垂直同期信号)    *VIEDO OUTはこのままでは出力が弱い為ビデオアンプの回路が必要になります(明るさ調節だけでも一応可)  
CMTインターフェース PC−8001/mkII以降  1:GND  2:GND  3:GND  4:CMTOUT  5:CMTIN  6:REM+  7:REM−  8:GND   PC−8801のみ  1:VCC  2:GND  3:/INT5  4:REC 、UIP3  5:MON 、UIP2  6:REM+、UIP1  7:REM−、UIP0  8:UOP0      *初代PC−8801は汎用I/Oと共用になります(本体内のジャンパで切り替える)   またCMTケーブルのピンが入出力端子として使用できます(ただし一部使用不可)   PC−8801mkII、PC−8001mkIIは汎用I/O(9ピン)が増設されています    CMTピン対応表   ・−−−−−−−−−−−・   | |プラス |マイナス|   |−+−−−−+−−−−|   |白|UIP2|GND |   |赤|UIP3|GND |   |黒|UIP0|UIP1|   ・−−−−−−−−−−−・  
拡張ROM 本体内には8KBのROMが拡張出来るようになっています。 また特定のアドレスに特定のデータを書き込む事によって オートスタートやモニタコマンドの拡張等が出来るように設計されています。    オートスタートする場合   06000Hから041H、042H(アスキーコードでAB)を書き込むと   PCが初期設定(01757H)の途中でPROMチェックをしていて、06002Hに飛びます。   メモリチェックや割り込みの設定は行っていないので注意が必要です。     またPC−8001mkIIではN80ROMと拡張ROMを区別する為に   拡張ROMでは06002Hに000Hを書き込めば   オートスタートROMとして06002Hから実行されるようになります。    モニタコマンド   07FFFHに055H(アスキーコードでU)を書き込むと   BASICでMONコマンドを実行すれば   通常のモニタへは飛ばず、07FFCHに飛びます。       拡張RAM PC−8011またはPC−8012+PC−8012−02/PC−8013等で拡張します 00000H−07FFFHの32KBがRAMとして割り当てられますが バンク切り替え方法が異なったりします   PC−8011の場合  DIP SW2の設定により起動またはリセットでバンク設定  またポート0E0H−0E3Hで使用バンク設定  ポートは出力するだけでよい     PC−8012+PC−8012−02/PC−8013の場合  起動またはリセットでRAMカード内のLS74により、  RAMリード禁止、RAMライト許可になます  ポート0E2Hで使用バンク設定    <例>   RAMバンク0がある場合    起動時には00000H−07FFFHは    RAMリード:禁止(本体ROMを選択)、ライト:バンク0になる    つまりOUT&HE2,&H10の状態になる    00000H−07FFFHにデータを書き込むとバンク0に書き込まれ    データを読み込むとN−BASIC+拡張ROMが読み込まれる     RAMバンク0−3がある場合(未確認)    起動時には00000H−07FFFHは    RAMリード:禁止(本体ROMを選択)、ライト:バンク0−3になる    つまりOUT&HE2,&HF0の状態になる    00000H−07FFFHにデータを書き込むとバンク0−3に同時に書き込まれ    データを読み込むとN−BASIC+拡張ROMが読み込まれる    また、バンク内のデータを読み込みは同時には出来ません       メモリチェック PC−8001のモニタにはTM(テストメモリコマンド)があり。 本体内RAM(16KBまたは32KB)のチェックを行います。 TMコマンドを実行して、エラーが無ければ電源をONにしたときと同じになりますが エラーが出た場合は音がBEEP音が鳴りっぱなしなり停止(HALT)します エラーが出た場合はSTOPを押しながらリセットして 次のアドレスを見ればエラーヶ所が分かります。    0FF39H−0FF3AH:エラーの出たアドレス(下位、上位の順)  0FF3BH:その時に書き込んだデータ  0FF3CH:その時に読み込んだデータ 上記のアドレスRAMが不良な場合はこの内容は信用できません。    
割り込み/INTについて
/INTはオプションのPC−8011・8012・8013によって変ります。(どのオプションでもモード2で使用) コントロラーチップは8214(PC−8011は2つ、PC−8012・8013は1つ)を使用されています。 割り込み順位は/INT0が最低です。    PC−8011は16レベル   08000H−08001H:PC−8011 IEEE−448   08002H−08003H:PC−8011 IEEE−448   08004H−08005H:PC−8011 リアルタイムクロック   08006H−08007H:PC−8011 未使用   08008H−08009H:PC−8011 RS−232C Ch1 (8251のR×RDYが1になるとかかる)   0800AH−0800BH:PC−8011 RS−232C Ch2 (8251のR×RDYが1になるとかかる)   0800CH−0800DH:PC−8011 /INT9 汎用パラレル   0800EH−0800FH:PC−8011 /INT8 汎用パラレル   08010H−08011H:PC−8011 /INT7   08012H−08013H:PC−8011 /INT6   08014H−08015H:PC−8011 /INT5   08016H−08017H:PC−8011 /INT4   08018H−08019H:PC−8011 /INT3   0801AH−0801BH:PC−8011 /INT2   0801CH−0801DH:PC−8011 /INT1   0801EH−0801FH:PC−8011 /INT0    PC−8012・8013は8レベル   08000H−08001H:PC−8012 /INT7もしくはリアルタイム割り込み   08002H−08003H:PC−8012 /INT6   08004H−08005H:PC−8012 /INT5   08006H−08007H:PC−8012 /INT4   08008H−08009H:PC−8012 /INT3 BASICではRS−232C Ch1になっている(拡張)   0800AH−0800BH:PC−8012 /INT2 BASICではRS−232C Ch2になっている(拡張)   0800CH−0800DH:PC−8012 /INT1   0800EH−0800FH:PC−8012 /INT0   08010H−08011H:PC−8012 /INT7’もしくはリアルタイム割り込み   08012H−08013H:PC−8012 /INT6’   08014H−08015H:PC−8012 /INT5’   08016H−08017H:PC−8012 /INT4’   08018H−08019H:PC−8012 /INT3’BASICではRS−232C Ch1になっている(拡張)   0801AH−0801BH:PC−8012 /INT2’BASICではRS−232C Ch2になっている(拡張)   0801CH−0801DH:PC−8012 /INT1’   0801EH−0801FH:PC−8012 /INT0’    *32KBシステムの場合です、16KBの場合0C000Hからテーブルが割り当てられます。   PC−8011の/INT8−/INT9は汎用パラレルI/Oポートにでているだけです。   PC−8012、PC−8013で8214のI/Oアドレスの設定はジャンパCN1で設定を行います。     1−2:ポート0E4Hを使用(上位8レベル)     2−3:ポート0E5Hを使用(下位8レベル)   PC−8012、PC−8013で/INT7をリアルタイム割り込みか/INT7の使用はジャンパCN3で設定を行います。     1−2:INT7を選択     2−3:リアルタイム割り込みを選択   PC−8012、PC−8013で/8214の出力されるエンコードベクトルはジャンパCN5で設定を行います。     1−2:割り込みレベル(上位8レベル)     2−3:割り込みレベル(下位8レベル)   PC−8001mkII/PC−8801はPC−8012基準で独自の割り込みに当てられています。 その為汎用スロットも若干端子に違いがあります。    PC−8001mkIIは内蔵で8レベル   08000H−08001H:/INT7 RS−232C BASICではRS−232C Ch1になっている   08002H−08003H:/INT6 VRTC   08004H−08005H:/INT5 リアルタイムクロック   08006H−08007H:/INT4 /INT3   08008H−08009H:/INT3 /INT4   0800AH−0800BH:/INT2 /INT5 汎用I/Oポート   0800CH−0800DH:/INT1 /FDCINT1   0800EH−0800FH:/INT0 /FDCINT2      *N−BASIC、N80―BASIC両方です。(ベクタアドレスはモードによって若干変ります)     /INT2、/INT3のベクタはBASIC ROM内に飛び8251のシ処理を行われています。     8214からみた/INT0−7です。INT/4−2のバスが違う名前として繋がっています。         N−BASIC:/INT7:0F1E6H                 /INT6:0F1E9H                 /INT5:000C9H                 /INT4:000C9H                 /INT3:0237FH                 /INT2:023A9H                 /INT1:000C9H                 /INT0:000C9H                  以降は000C9H         N80−BASIC:/INT7:0237FH                 /INT6:0165AH                 /INT5:0165AH                 /INT4:0165AH                 /INT3:0237FH                 /INT2:023A9H                 /INT1:0165AH                 /INT0:0165AH                  以降は0165AH    PC−8801は内蔵で8レベル   08000H−08001H:/INT7 RS−232C   08002H−08003H:/INT6 VRTC   08004H−08005H:/INT5 リアルタイムクロック   08006H−08007H:/INT4 /INT3   08008H−08009H:/INT3 /INT4    0800AH−0800BH:/INT2 /INT5 汎用I/Oポート(CMT端子の3ピン)   0800CH−0800DH:/INT1 /FDINT1   0800EH−0800FH:/INT0 /FDINT2      *N−BASICモードの場合です。     8214からみた/INT0−7です。INT/4−2のバスが違う名前として繋がっています。  
リアルタイム割り込みについて
PC−8001はPC−8011、PC−8012・13を接続することで使用可能となります(PC−8012・13はジャンパで設定) またPC−8801、PC−8001mkIIは本体内で実装されています。 約1.67mS(600Hz)毎で割り込みが掛かりますが本体はCRTC+DMAのバス制御が掛かるので 割り込みでもDMAを禁止(画面表示Off)にしないとDMA要求が掛かかります。    PC−8011、PC−8012・8013の場合   0E6H       Bit0 リアルタイム割り込み     1=許可、0=禁止    PC−8801の場合   0E6H       Bit2:8251 RxRDY割り込み 1=許可、0=禁止       Bit1:VRTC割り込み       1=許可、0=禁止       Bit0:リアルタイム割り込み     1=許可、0=禁止  
DMAについて PC−8001はチャンネル2をCRTC用のみで使用していましたが PC−8801、PC−8001mkIIは拡張してチャンネル0〜2まで使用しています。  チャンネル0は5インチDMAタイプディスク  チャンネル1は8インチDMAタイプディスク  チャンネル2はCRTC    DMAタイプディスク用ポート   0F3H:DMAタイプディスクユニット インターフェイスセレクトポート   0F4H:DMAタイプ8インチ 制御   0F5H:DMAタイプ8インチ マージンコントロール   0F6H:DMAタイプ8インチ FDCステータス   0F7H:DMAタイプ8インチ FDCデータレジスタ     0F8H:DMAタイプ5インチ 制御   0F9H:DMAタイプ5インチ マージンコントロール   0FAH:DMAタイプ5インチ FDCステータス   0FBH:DMAタイプ5インチ FDCデータレジスタ     DMAタイプディスクのFDCはuPD765Aを使用    
PC−8001mkII専用I/Oポートについて
PC−8001mkIIは新たに拡張されたポートがあります   00AH:Bit0:TABキー 1=押されていない、0=押されている   010H:プリンタまたはμPD1990用データ、汎用I/Oポート 出力  プリンタの場合   Bit7:PD7   Bit6:PD6   Bit5:PD5   Bit4:PD4   Bit3:PD3   Bit2:PD2   Bit1:PD1   Bit0:PD0    μPD1990の場合   Bit7:UOP3   Bit6:未使用   Bit5:未使用   Bit4:未使用   Bit3:μPD1990データ出力(DATA IN)   Bit2:コマンド出力 C2   Bit1:コマンド出力 C1   Bit0:コマンド出力 C0    030H(入力)   Bit7:UIP1   Bit6:UIP2   Bit5:MODE SELECT SW3 1=Off、0=On   Bit4:MODE SELECT SW4 1=Off、0=On   Bit3:MODE SELECT SW5 1=Off、0=On   Bit2:MODE SELECT SW6 1=Off、0=On   Bit1:MODE SELECT SW7 1=Off、0=On   Bit0:MODE SELECT SW8 1=Off、0=On(N80/Nモードの切り換えの使用)     UIPnは背面にある汎用I/Oの入力ポート部分です。   MODE SELECT SWnは背面にあるDIPスイッチで上にやるとOnになります。   その中のMODE SELECT SW8はBASICの切り換えで    1:N80−BASIC、0:N−BASICとなります。     またこのSWはただの入力ポートなのでソフトでこのSWを見てポートの制御をします。   MODE SELECT SW2は拡張ボード用の為のメモリウェイト(未確認)   MODE SELECT SW1は未使用    031H(出力)      Bit7:バックグラウンドカラー       Bit6:バックグラウンドカラー       Bit5:バックグラウンドカラー       Bit4:グラフィック解像度   1=320×200、0=640×200      Bit3:グラフィックの表示   1=表示する   、0=表示しない      Bit2:カラーモード      1=モノクロモード、0=アトリビュートカラーモード      Bit1:メモリモード      1=RAMモード 、0=ROMモード      Bit0:拡張ROMセレクト   1=N80−ROM、0=拡張ROM   PC−8001mkII専用のポートでグラフィックとメモリの制御を行います。   メモリモードは00000H−07FFFHを本体内のROMかRAMの選択を行います。   拡張ROMセレクトは06000H−07FFFHのROM領域の選択になります。   リセット時、最初はN80−ROMが選択されています。(正確にはN−BASICとN80は同じROM16KB*2内に収納)    040H(出力)     Bit7:UOP2     Bit6:UOP1     Bit5:BEEP    1=オン、0=オフ     Bit4:未使用     Bit3:CRT     /CLDS CLK     Bit2:RTC CLK(μPD1990 データ・シフト)     Bit1:RTC STB(μPD1990 コントロール)     Bit0:PRT     /STROBE    05CH(出力)   08000H−0BFFFHのRAM領域をG−RAMに切り換えます   N/N80 BASICの割り込みベクタアドレスが08000Hから始まっていますので、   G−RAMを切り換えた後に割り込み要求が始まると暴走してしまいます。   したがってBASICシステムが動いていてアクセスする場合、   割り込みを禁止にするかベクタアドレスをG−RAM領域以外に移動する必要があります。    05FH(出力)   08000H−0BFFFHのRAM領域を本体メモリに切り換えます    0C8H(出力)不明 RS−232Cポートの使用禁止ゲート(出力データは何でもよい)  0CAH(出力)不明 RS−232Cポートの使用禁止ゲート(出力データは何でもよい)    0E8H(出力)漢字ROMアドレスの下位      (入力)漢字フォント下位の読み出し  0E9H(出力)漢字ROMアドレスの上位      (入力)漢字フォント上位の読み出し        0EAH(出力)漢字ROMの読み出し開始  0EBH(出力)漢字ROMの読み出し終了   本体内のジャンパ PC−8001mkIIには数ヶ所のジャンパがあります。 内容は不明(ひょとするとマニュアルに記してあるかもしれませんが) 恐らく後期ロットのPC−8801(製造番号下3桁がW〜Z)やPC−8801mkIIと同様に モニタの外部同期と内部同期の切り換えと割り込み関係かもしれません 割り込みの選択の可能性も考えられます。   本体の起動 PC−8001mkIIは起動(RESET)すると以下の順で起動します  Nモードの場合   1.PC−8031系インテリジェントタイプ   2.拡張ROM(06000H−07FFFH)   3.N−BASIC  N80モードの場合   1.拡張ROM(06000H−07FFFH)   2.DMA転送方ディスク8インチ   3.DMA転送方ディスク5インチ   4.PC−8031系インテリジェントタイプ   5.N80−BASIC 0BFFFHの内容でどのモードから起動したのかが判断出来るようになっています。  0BFFFH:000H=N−BASIC  から起動         02BH=N80−BASICから起動  

FGU−8200について(未確認)
使用ポート 0EFH     :FGU−8200用(未確認)     Bit7:     Bit6:1=GRAM選択    、0=PC−8001RAM選択     Bit5:     Bit4:     Bit3:     Bit2:     Bit1:     Bit0:1=グラフィック表示オン、0=グラフィック表示オフ   GRAM領域は08000H−0BFFH 解像度は640×200のみだが WIDTH80,25を実行する必要があるらしく テキスト画面と同期ている?(未確認) また前のモデルFGU−8000は通常のRAMを使用するため    
FD8080(CP/Mシステム)について
本体にFD8080を接続すると00000H−07FFFHのバンク領域に  1.PC ROM 32KB(N−BASIC+拡張ROM)  2.拡張 RAM 32KB(DRAM)  3.ブートROM 2KB+DMA用SRAM 2KB が割り当てられます   FDCは1171を使用しており外付けDMA8257でディスク、SRAM間をアクセスします PC−8001自体、画面表示でDMAの為、1ラインごとCPUが停止しますが 外付けDMAとSRAMでディスクをアクセスするので CPU停止状態でも、外付けDMAはディスク、SRAM間のアクセスを可能にしています なお両面8インチ(FD8090)、拡張端子はS100バス(FD8100) OSは59K CP/M Ver2.0−0.5(Ver2.2も存在?)になります  
PC−8001の使用ポート 000H−009H:キーボード(入力)  1=押されていない、0=押されている   00AH−00FH:未使用     010H:プリンタまたはμPD1990用 出力データ  プリンタの場合   Bit7:PD7   Bit6:PD6   Bit5:PD5   Bit4:PD4   Bit3:PD3   Bit2:PD2   Bit1:PD1   Bit0:PD0    μPD1990の場合   Bit7:未使用   Bit6:未使用   Bit5:未使用   Bit4:未使用   Bit3:μPD1990データ出力(DATA IN)   Bit2:コマンド出力 C2   Bit1:コマンド出力 C1   Bit0:コマンド出力 C0   011H−01FH:ポート010Hのイメージ     020H:μPD8251データ 021H:μPD8251コントロール  コマンドワード(出力)   Bit7:EH   1=SYNCキャラクタの検出を始める、0=何もしない   Bit6:IR   1=内部リセットの実行       、0=何もしない   Bit5:RTS  1=センド要求を実行        、0=何もしない   Bit4:ER   1=全エラーフラグをリセット    、0=何もしない   Bit3:SBRK 1=ブレイクキャラクタの送信    、0=通常動作   Bit2:RxE  1=受信可             、0=受信不可   Bit1:DTR  1=データ・ターミナルレディを実行 、0=何もしない   Bit0:TxEN 1=送信可             、0=送信不可      EH   ハントイネーブル 同期モード時にSYNCキャラクタがくるの待つ    IR   内部リセット   8251をモード・ワード受け取り状態にする    RTS  センド要求    1で/RTS端子をLにする    ER   エラーリセット  PE、OE、FEを0にする    SBRK センドブレイク・キャラクタ 1でTxD端子をLとして通信ブレイク    RxE  受信イネーブル    DTR  データ・ターミナルレディ 1で/DTR端子をLにする    TxEN 送信イネーブル    ステータス(入力)   Bit7:DSR    1=レディ    、0=ビジィ   Bit6:SYNDET 1=キャラクタ検出、0=検出無し   Bit5:FE     1=エラー発生  、0=エラー無し   Bit4:OE     1=エラー発生  、0=エラー無し   Bit3:PE     1=エラー発生  、0=エラー無し   Bit2:T×E    1=エンプティ  、0=フル   Bit1:R×RDY  1=レディ    、0=ビジィ   Bit0:T×RDY  1=レディ    、0=ビジィ      DSR    データ・レディ     /DSR端子がLの時に1になる    SYNDET SYNCキャラクタ検出 SYNDET端子の内容    FE     フレミングエラー    ストップビットが検出されない    OE     オーバーランエラー   CPUがデータを読む前に次のデータが入った    PE     パリティエラー     入力データにパリティエラーの検出    T×E    送信バッファエンプティ TxEMPTY端子の内容    R×RDY  受信レディ       RxRDSY端子の内容    T×RDY  送信レディ       TxEN=1、/CTS=0の場合1    モードワード(出力)  非同期モード   Bit7:S2  ストップビット       11=2ビット、10=1+1/2ビット   Bit6:S1                01=1ビット、00=無効   Bit5:EP  偶数パリティ発生/チェック 1=偶数 、0=奇数   Bit4:PEN パリティ・イネーブル    1=実行可、0=実行不可   Bit3:L2  キャラクタ長        11=8ビット、10=7ビット   Bit2:L1                01=6ビット、00=5ビット   Bit1:B2  ボーレート         11=×64、10=×16   Bit0:B1                01=×1 、00=同期モード    同期モード   Bit7:SCS 単一キャラクタ同期     1=単一SYNCキャラクタ、0=ダブルSYNCキャラクタ   Bit6:ESD 外部同期検出        1=SYNDET入力、0=SYNDET出力   Bit5:EP  偶数パリティ発生/チェック 1=偶数 、0=奇数   Bit4:PEN パリティ・イネーブル    1=実行可、0=実行不可   Bit3:L2  キャラクタ長        11=8ビット、10=7ビット   Bit2:L1                01=6ビット、00=5ビット   Bit1:0   Bit0:0     022H−02FH:ポート020H、021Hのイメージ     030H(出力)     Bit7:未使用     Bit6:未使用     Bit5:CMT BS2     Bit4:CMT BS1     Bit3:CMT MOTOR 1=MOTORオン    、0=MOTORオフ     Bit2:CMT CHIN  1=マーク(2400Hz)、0=スペース(1200Hz)     Bit1:CRT       1=白黒         、0=カラー     Bit0:CRT       1=80行        、0=40行   031H−03FH:ポート030Hのイメージ   040H(出力)     Bit7:未使用     Bit6:未使用     Bit5:BEEP   1=オン、0=オフ     Bit4:未使用     Bit3:CRT    /CLDS CLK     Bit2:RTC CLK(μPD1990 データ・シフト)     Bit1:RTC STB(μPD1990 コントロール)     Bit0:PRT    /STROBE   040H(入力)     Bit7:未使用     Bit6:未使用     Bit5:CRT VRTC(/DMA BUSY) 1=垂直帰線期間  、0=表示または水平帰線期間     Bit4:RTC DO(μPD1990 DATA OUT)     Bit3:EXP /EXTON          1=接続されていない、0=接続されている     Bit2:CMT CDIN CMTからのキャリア信号が検出されたら1     Bit1:PRT /STROBEを/PR /ACKをCLK D=0にしたFF(LS74)のQ     Bit0:PRT /READY     *EXP /EXTONはPC−8001ではPC−8011/8012/8013/8033の接続の有無、               PC−8001mkII、PC−8801ではDISKユニットの接続の有無になります。   041H−04FH:ポート040Hのイメージ   050H     :μPD3301 パラメータ(入出力) 051H     :μPD3301 コマンド (入出力)   060H     :μPD8257 Ch0 DMAアドレス・セット 061H     :μPD8257 Ch0 ターミナルカウンタ・セット 062H     :μPD8257 Ch1 DMAアドレス・セット 063H     :μPD8257 Ch1 ターミナルカウンタ・セット 064H     :μPD8257 Ch2 DMAアドレス・セット 065H     :μPD8257 Ch2 ターミナルカウンタ・セット 066H     :μPD8257 Ch3 DMAアドレス・セット 067H     :μPD8257 Ch3 ターミナルカウンタ・セット 068H     :μPD8257 モード・セットまたはステータス・リード   070H−07FH:未使用     080H−08FH:PC−8011用 /EXT0(ユーザー用) 090H−09FH:PC−8011用 /EXT1(ユーザー用) 0A0H−0AFH:PC−8011用 /EXT2(ユーザー用)     0A0H−0A3H:GSX用 0A0H     :AY−3−8910 #1レジスタ 0A1H     :AY−3−8910 #1データ 0A2H     :AY−3−8910 #2レジスタ 0A3H     :AY−3−8910 #2データ 0A4H−0A7H:GSX用 0A4H     :AY−3−8910 #3レジスタ 0A5H     :AY−3−8910 #3データ 0A6H     :AY−3−8910 #4レジスタ 0A7H     :AY−3−8910 #4データ     0B0H     :PC−8011用 汎用パラレルI/Oポート 8ビット入力 0B1H     :PC−8011用 汎用パラレルI/Oポート 8ビット出力 0B2H     :PC−8011用 汎用パラレルI/Oポート 4ビット入力 0B3H     :PC−8011用 汎用パラレルI/Oポート 4ビット出力 0B4H−0BFH:未使用     0C0H     :RS−232C Ch1 8251データ入出力 0C1H     :RS−232C Ch1 8251コントロール入出力 0C2H     :RS−232C Ch2 8251データ入出力 0C3H     :RS−232C Ch2 8251コントロール入出力 0C4H−0CFH:RS−232Cの使用禁止(データは何でもよく出力するだけで良い)   0D0H     :PC−8011用 IEEE−488バス データ出力 0D1H     :PC−8011用 IEEE−488バス データ入力 0D2H     :PC−8011用 IEEE−488バス 制御信号出力 0D3H     :PC−8011用 IEEE−488バス 8255 コントロール 0D8H     :PC−8011用 IEEE−488バス 制御信号入力 0DAH     :PC−8011用 IEEE−488バス マイアドレスモード入力 0DCH     :PC−8011用 IEEE−488バス NRFD制御ストローブ 0DEH     :PC−8011用 IEEE−488バス モード制御出力     0E0H     :PC−8011用 拡張メモリモード0セレクト 0E1H     :PC−8011用 拡張メモリモード1セレクト 0E2H     :PC−8011用 拡張メモリモード2セレクト、PC−8012−02 拡張メモリセレクト 0E3H     :PC−8011用 拡張メモリモード3セレクト   0E4H     :PC−8011/12用 μPD8214カレントステータス出力 0E5H     :PC−8011/12用 μPD8214カレントステータス出力   0E6H     :PC−8011/12用 リアルタイム割り込み 0E7H     :PC−8012 メモリ モード Bit0=0 モード1、1=モード0 0E8H−0EFH:未使用   0EFH     :FGU−8200(未確認)     Bit7:     Bit6:1=GRAM選択    、0=PC−8001RAM選択     Bit5:     Bit4:     Bit3:     Bit2:     Bit1:     Bit0:1=グラフィック表示オン、0=グラフィック表示オフ     0F3H     :DMA転送方式インターフェィスセレクト (8インチ、5インチ)*PC−8001は使用不可 0F4H     :DMA転送方式8インチ インターフェイスチェック       *PC−8001は使用不可 0F5H     :DMA転送方式8インチ マージンコントロール         *PC−8001は使用不可 0F6H     :DMA転送方式8インチ FDCステータス・レジスタ      *PC−8001は使用不可 0F7H     :DMA転送方式8インチ データ・レジスタ           *PC−8001は使用不可 0F8H     :DMA転送方式5インチ インターフェイスチェック       *PC−8001は使用不可 0F9H     :DMA転送方式5インチ マージンコントロール         *PC−8001は使用不可 0FAH     :DMA転送方式5インチ FDCステータス・レジスタ      *PC−8001は使用不可 0FBH     :DMA転送方式5インチ データ・レジスタ           *PC−8001は使用不可     0F8H     :PC−8031系インテリジェントタイプ ディスク 8255 PA *通常は使用しません 0F9H     :PC−8031系インテリジェントタイプ ディスク 8255 PB *通常は使用しません 0FAH     :PC−8031系インテリジェントタイプ ディスク 8255 PC *通常は使用しません 0FBH     :PC−8031系インテリジェントタイプ ディスク 8255 CW *通常は使用しません   0FCH     :PC−8031系インテリジェントタイプ ディスク 8255 PA 0FDH     :PC−8031系インテリジェントタイプ ディスク 8255 PB 0FEH     :PC−8031系インテリジェントタイプ ディスク 8255 PC 0FFH     :PC−8031系インテリジェントタイプ ディスク 8255 CW  
Home へ戻る