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 へ戻る