FrontPage  Index  Search  Changes  Login

FCG-3

ハード構成のバリエーション

mapper 16 は互換性がないハードもひとまとめにされています。

  • FCG-1, FCG-2
    • FCG-1 (LZ93D36) + Program ROM + Charcter ROM
    • FCG-2 + Program ROM + Charcter ROM
  • FCG-3 standard
    • LZ93D50 + Program ROM + Charcter ROM
    • LZ93D50 + Program ROM + Charcter ROM + X24C01
    • LZ93D50 + Program ROM + Charcter ROM + X24C02
  • FCG-3 JUMP2 (特殊)
    • LZ93D50 + Program ROM(4M) + Charcter RAM + Work RAM + Battery
  • Datach
    • LZ93D50P + Subcartridge + Charcter RAM + X24C02 + Barcode scanner

FCG-1, FCG-2 では互換性がありそうで、FCG-3 とは互換性がありません。

FCG-3 standard 系は配線はほぼ同じですが serial EEPROM のプロトコルが違います(ゲームは立ち上がるがセーブデータ処理で止まるはず)、 JUMP2 は例外実装、 Datach は本体自体に ROM はなく FLASH 化に必要な線がサブカートリッジコネクタにおそらく来ていません。

※この hiki 全体で flash memory と書いているものはシリアル EEPROM との対比表現としてパラレル EEPROM と呼ばれることがあります。お間違えないようご注意下さい。

使用した基板

この記事では FCG-3 + Program ROM + Charcter ROM + X24C01 のハード構成の基板 "DRAGON BALLZ" での配線方法を記載します。X24C02 も使用可能な基板 "DRAGON BALLZ-B" との違いは EEPROM の 1pin,2pin,3pin (初版は全てNC, B版は全てGND)だけだと思います。

基板での ROM のピン配置

   +--v--+
A17| 1 32|+5V
GND| 2 31|+5V
   ~   30|+5V
   ~     ~
   ~   24|A16
   ~     ~    (省略した信号は 27C301 と同じ)
   ~   22|EN# 

Program ROM, Charcter ROM ともに同じです。27C301 の配線を拡張した形になっており、1M bit の場合は 28pin の MASK ROM が使用できるようになっています。 2pin は OE# かもしれません。

LZ93D50, Program flash memory

LZ93D50 は専用 IC なのに Write 信号の条件判定が甘く、EN# 信号も flash 書き込みには都合の悪い出力となっております。このため 74HC00 を追加します。

           29F040 
           +--v--+                   74HC00
          @| 1 32|@                  +--v--+
Program A16| 2 31|CPU R/W     CPU R/W| 1 14|+5V
           ~   30|@           CPU R/W| 2 13|+5V
           ~     ~                 +-| 3 12|+5V
           ~   24|-----------------+-| 4 11|-+
           ~     ~            CPU φ2| 5 10|-+
           ~   22|CPU ROMCS# FCG3 R/W| 6  9|-+
           ~     ~                GND| 7  8|NC
           +-----+                   +-----+
@ は基板にそのまま接続する
~ は省略の意味で基板にそのまま接続する
flash_a[18:0] = {program_a[17], 1'b1, program_a[16:15], cpu_a[14:0]};
flash_dq[7:0] = cpu_d[7:0];
flash_ce = cpu_romcs;
flash_oe = ~cpu_rw;
flash_we = cpu_rw;
lz93d50_rw = cpu_rw | ~cpu_phi2;
  • 29F040 1,30pin はアドレスビットが異なるが問題ない
  • 74HC00 3,4pin と 29F040 の 24 pin をつなぐ
  • 74HC00 11,10,9pin は全てつなげ、 NC は何もつながない
  • LZ93D50 の 16pin に接続されている CPU R/W (テスターで確認してください)を切断した上で 74HC00 の 6pin の FCG3 R/W に配線する

CPU area の ROM bank は可変1, 固定1となっているため、コマンドアドレスは A[10:0] などの制限が甘いものを使用してください。

Charcter flash memory

            29F040 
            +--v--+
           @| 1 32|@
Charcter A16| 2 31|PPU WR#
            ~   30|@
            ~     ~
            ~   24|PPU RD#
            ~     ~
            ~   22|PPU A13
            ~     ~
            +-----+
flash_a[18:0] = {charcter_a[17], 1'b1, charcter_a[16:10], ppu_a[9:0]};
flash_dq[7:0] = ppu_d[7:0];
flash_ce = ppu_a[13];
flash_oe = ppu_rd;
flash_we = ppu_wr;

こちらは通常通りです。

PPU area の ROM bank は可変8ですので、コマンドアドレスは A[14:0] など広いものでも使用可能です。

加工済み基板写真

ちょっと大きめです。 / 部品面 dragonballZ_parts.jpg / はんだ面 dragonballZ_solder.jpg

74HC00 には SOIC を使用しました。DIP より小さいのでケースに収める制限の緩和が期待でき、ピンを延ばしたり切る加工を省くことが出来ます。またこの基板では、バイパスコンデンサが少なめなので配線しやすい場所限定ですがバイパスコンデンサを追加しています。

Last modified:2012/08/23 07:16:18
Keyword(s):
References:[FrontPage] [専用ICなのに7400を追加すべき基板]