PV-1000


今回も武田さんの協力に感謝します。
PV-1000のスペック
CPU D780C-1(Z80A) 3.579MHz
VDP D65010G031
PSG D65010G031
ROM なし カートリッジで供給
RAM 2KB+1KB

姉妹機PV−2000と全く違うアーキテクチャを持つ。 内蔵ROMもなく、ワークRAMも少ない。(D65010G031内にPCG用のキャラクタジェネレータ用メモリ1KBを持っている) カラーは8色、テキストのみでスプライトは無し。

カートリッジ端子図
PV−2000とほぼ同じなのですがA16端子がROMカ−トリッジの/OEにつながっています。 A16端子がRD B16端子がWR A17端子がIORQ     8KBROMカートリッジ(64KBit)回路図 プーヤンの回路図になります。64KbitマスクROMを使用 本体のアドレスは00000H-01FFFHになります。     16KBROMカートリッジ(64KBit*2)回路図 エキサイトマージャンの回路図になります。64KbitUV−EPROMを使用 本体のアドレスは00000H-03FFFHになります。  


割りこみ(かなり不明な部分があります) モード1を使用しており V-BLANKが始まったら期間中に16回割り込みが掛かるそうです。 またV-BLANK以外でもD65010G031がメモリを参照する為、処理速度が遅くなるようです。   /NMIは使用していないようです。   I/Oポート(かなり不明な部分があります) 0F8H:PSG ChA 0F9H:PSG ChB 0FAH:PSG ChC 0FBH:???PSG 0FCH:???タイマ? 0FDH:JOY端子 出力;Bit3-0 セレクト 入力:Bit3-0 JOYデータ   0FEH:???V−RAM上位アドレス 0FFH:???キャラクタジェネレータ上位アドセス   メモリ・マップ 00000H-07FFFH:カートリッジ領域 08000H-0B7FFH:不明(空き?) 0B800H-0BAFFH:V−RAM(変更可?) 0BB00H-0BBFFH:ワークRAM領域(スタックもココに置かれる) 0BC00H-0BFFFH:PCG用キャラクタジェネレータ 0C000H-0FFFFH:不明  
キャラクタジェネレータ キャラクタコードは000H-0DFHまではポート0FFHで指定したアドレスが キャラクタジェネレータの上位アドレスとなるようです。 その為ポートで切り換えることが出来ます。 通常ポート0FFHは000Hなので00000H-01BFFHがプログラム領域にもなり キャラクタジェネレータとなります。 キャラクタデータはPCGと同じでR、G、Bの3枚のプレーンなので8色表示となります。   未使用(8バイト) キャラクタデータR(8バイト) キャラクタデータG(8バイト) キャラクタデータB(8バイト)     PCG キャラクタコード0E0H-0FFHのキャラクタジェネレータです。 ROM領域のキャラクタジェネレータはデータは固定されますが PCGなので書き換えが可能な領域です。 アドレスは0BC00H-0BFFFHになります。   未使用?(8バイト) キャラクタデータR(8バイト) キャラクタデータG(8バイト) キャラクタデータB(8バイト)     V−RAM 恐らくポート0FEHで設定したデータを上位アドレスにしているようでゲームソフトでは最初に0B8Hを指定しています。 固定でも設定可能でもアドレスは0B800Hとして、全体の領域は0B800H-0BAFFHの0300Hバイトになります。 横1ラインあたり020Hバイトで縦018Hラインになるので、32*24キャラなります。 左端、右端の1キャラ分は表示しないようなので表示領域は30*24キャラの240*192ドットとなります。   そのV−RAM内にキャラクタコードを書くだけで表示されます。 キャラクタコードは000H-0DFHがROM内のキャラクタジェネレータで0E0H-0FFHがPCGとなります。 アトリビュートはないのでカラーの変更やキャラクタの回転は出来ません。 PCGならキャラクタデータを書き換えて表示するしか方法がありません。  
キー入力 ポート0FDHで読むデータを選択して同じポートを読みます。   Bit3=1を出力 Bit3=2P TRIG2 Bit2=2P TRIG1 Bit1=1P TRIG2 Bit0=1P TRIG1   Bit2=1を出力 Bit3=2P Up Bit2=2P Lef Bit1=1P Up Bit0=1P Left   Bit1=1を出力 Bit3=2P Right Bit2=2P Down Bit1=1P Right Bit0=1P Down   Bit0=1を出力 Bit3=2P Start Bit2=2P Select Bit1=1P Start Bit0=1P Select   *このポート0FDHを出力した値はポート0FCHで確認できるようです。  


PSG データを送る時にAND 03FHでマスクしているところをみると有効データはBit5-0のようです。  


Home へ戻る