Bandai FCG series

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Bandai FCG series
by on (#115195)
調査がある程度進みましたので公開します。
現在広く知られている mapper #16 の明確な間違いは register address は $6000-$ffff の部分です。正しくは FCG-1 と FCG-2 は $6000-$7fff, LZ93D50 は $8000-$ffff です。
http://w.livedoor.jp/famicomcartridge/d ... G%20series

Datach の調査文書は結構雑です。ちょうど1年まえに調査したのですが、機材を返却してしまい当時のメモから作りました。

おかしいところや疑問点があったらいってください。
Re: Bandai FCG series
by on (#115936)
To Lidnariq:
nesdev wiki への執筆を楽しくみています。
I have a question on Bandai LZ93D50 pinout. I have not know detail information about 29 pin. Have you examine by yourself?
Re: Bandai FCG series
by on (#115938)
I have not examined for myself.
I assumed the only unexplained difference of pinout was pertinent. (Sorry)
It is possible that bus conflicts would happen with RAM on BA-JUMP2 if $800D.7 were ever set.
(google:
私は自分自身のために調べていない。
私はピン配置の唯一の原因不明の違いは適切だったと仮定した。 (申し訳ありませんが)
それは$800D.7がこれまで設定されている場合、バス競合がBA-JUMP2上のRAMとどうなる可能性があります。)
Re: Bandai FCG series
by on (#115941)
ぼくの調査を追試してくれたら、情報の真実さが増していいことだと思っていました。

ピンの並びからあなたの推測はもっともらしいです。推測は楽しいことですが、本物のICから確認していないなら"推測"または"?"を書いた方がいいです。
Re: Bandai FCG series
by on (#125313)
I have started fixing the (luckily minor) inaccuracies I had in MESS for these PCBs
Could you just confirm a couple of small details about the BA-JUMP2 board?

1. are the writes to $8004-$8007 ignored? (unfortunately google translate makes a mess of you original comment on this, so I have to ask for a confirmation, even if you probably already wrote about it on your page)
2. are the writes to $800d ignored, since there is only SRAM and not EEPROM on the board? your webpage seems to suggest that the lines on the board are present, even if no actual EEPROM is physically available...
Re: Bandai FCG series
by on (#125317)
1. CPU の $8004,$8005,$8006,$8007 への書き込みは LZ93D50 のレジスタ
にはラッチされる。LZ93D50 の PPU A12 への入力端子が L 固定なので、
ラッチしたレジスタの値が Charcter ROM A17:10 へ出力されることがない。
(そして charcter ROM 自体が存在しないのは自明だ)

2. BA-JUMP2 の基板には EEPROM は配置/配線されていない。
本来は I2C EEPROM を接続することを想定した端子に SRAM を例外的に
配線したという意味で、 I2C control と書いてある。


1. LZ93D50 internal registers latches CPU's writing operation to
$8004,$8005,$8006,$8007. LZ93D50's PPU A12 (pin22) fixed/wired L
level, it never output latched value to charcter ROM A17:10.
And this PCB is not placed charcter ROM device.

2. BA-JUMP2 PCB is not placed/wired EEPROM.
LZ93D50 pin 27 is supposed to be wired I2C device.
I have a description such as this because it was arranged SRAM
exceptionally this board.
Re: Bandai FCG series
by on (#125320)
LZ93D50 に関係のない話です。
MESS はいつも解析に使っているのでこの機会に etabeta さんに伝えたいこ
とがあります。hash/nes.xml で修正して欲しいことがあります。

Silva Saga (Jpn)
これは baddump がついていますが、 redump しても hash は同じでした。
原因を調べたら、 battery backup がないときに $6000-$7fff を 0x00 で
埋めると、 silva saga のプログラムのチェックサム検出を通過してしまう
ものの、ゲームの進行上は不正なデータとなります。
http://d.hatena.ne.jp/na6ko/20130909/p1
この領域の初期値を 0x00 で埋めなければ、正常な動作となります。
ですので、 baddump を外してください。


Dezaemon (Jpn)
PCB は NES-SLROM ではなく NES-SXROM とすべきです(本当は HVC-SXROM)。
hash は同じなので baddump は不要です。


----
This is a story not related to LZ93D50.
I offset uses analyzing Famicom games with MESS. I want you fix
hash/nes.xml


Silva Saga (Jpn)
This game is marked 'baddump', redumped image's has same by my
friend. I analyzed this game. When .sav file is not found, many
emulators fill data 0x00 as 'initialize' at address $6000-$7fff.
The program passed checksum at $6000-$7fff, but game is buggy.
http://d.hatena.ne.jp/na6ko/20130909/p1
If emulator is not fill 0x00 'initalized data', game works fine.
I want remove baddump flag.

Dezaemon (Jpn)
PCB is defined 'NES-SLROM'. This is wrong, database must be defined
as 'NES-SXROM'. (In fact, this is HVC-SXROM).
Its hash is same, I want remove baddump flag.
Re: Bandai FCG series
by on (#125336)
etabeta wrote:
2. are the writes to $800d ignored, since there is only SRAM and not EEPROM on the board? your webpage seems to suggest that the lines on the board are present, even if no actual EEPROM is physically available...
naruko's pinout of BA-JUMP2 shows the pin that was I2C SCL is now 6264 +CE. So writing to $800D should be necessary to drive I2C SCL high to talk to RAM.
Re: Bandai FCG series
by on (#125361)
thanks for the replies! I will look into them tonight (got some short deadlines at work)

@naruko: would you consider sending bootgod some snaps and info about those cart you verified? it would be good to share the confirmation with the NESdb :)
Re: Bandai FCG series
by on (#125365)
実は nescartdb への登録方法をしらないわたし。
市販品のファミコンカセット全てを持っている協力者はいても、わたしはソフトをそんなに持っていない...
Re: Bandai FCG series
by on (#125370)
I think you can ask directly to bootgod by email.
I doubt he has much time to work on his site (I haven't seen him around for a while), but I think he can setup up something for you
Re: Bandai FCG series
by on (#125402)
a last pair of question, this time related to Bandai Datach (that I'm currently implementing in MESS)
- I'm a bit confused about the subcarts with an EEPROM. when you write that SDA line is shared between the internal and the external EEPROM, do you mean that a write to $800d writes to both EEPROMs? or is it something else?
- Also, for the record, SD Gundam - Gundam Wars writes to the external I2C address at start... do you have a cart to see if there is anything connected or if it's just some remnant of the development with no effect in the released game?
- From heuristic observation of Battle Rush – Build Up Robot Tournament writes, I think the External I2C SCL goes in bit 3 of the written data at $8000-$8003 (actually the game seems to write to address $8004-$8007 as well...)


on the other subject (fix to nes.xml), when you have time could you share with me (even by PM) pics of the datach pcbs and, if you have them, of Silva Saga and Dezaemon pcbs? I love to document the precise label and markings inside the carts, if possible :)


finally, thanks a lot for the great docs (and I hope you get one day a Bandai Karaoke Studio too, because I was always curious about that subslot system!)
Re: Bandai FCG series
by on (#125412)
etabeta wrote:
- I'm a bit confused about the subcarts with an EEPROM. when you write that SDA line is shared between the internal and the external EEPROM, do you mean that a write to $800d writes to both EEPROMs? or is it something else?
I²C is funny in that it requires specific behavior on both lines to start communication, so splitting either SCL or SDA would be sufficient to use talk to multiple EEPROMs without worrying about address conflicts. Since the X24C01 uses all the addresses, it can't coexist with anything... So a write to $800D will control the physical line that is SDA for both internal and external EEPROMs, but to persuade either the X24C01 or X24C02 the game is talking to it requires specifically a high-to-low transition of SDA no less than 4µs before the same transition of SCL.
Quote:
actually the game seems to write to address $8004-$8007 as well...
As far as I can tell, because the PCB still connect PPU A12 to the LZ93D50P, it should require writing to all eight addresses, not just the first four.
Re: Bandai FCG series
by on (#125414)
Is that EEPROM (X24C01) actually I²C compliant? The address field of an I²C message is supposed to select a slave in a network, not an address in an EEPROM...I see some gain to proceed that way but that makes it pretty much a non-standard I²C device (contrast to a 24AA64, for instance)
Re: Bandai FCG series
by on (#125415)
The X24C01 is technically not I²C because it's using the device address as the EEPROM address (and therefore responds to all 128 I²C addresses, precluding anything else from being on the same bus). But otherwise it's the same wire protocol.
Re: Bandai FCG series
by on (#125417)
作りかけのスクリプトから抜粋。

=====================
X24C01 frame sequence
=====================
<START>[EEPROM address+RW]<A-ACK>[data]<D-ACK><STOP>

<> is 1bit, [] is 8bit, A-ACK is address acknowledge,
D-ACK is data acknowledge, R is 1, W is 0

8bit data send MSB to LSB (bit7 to bit0)
Dragon Ball Z1's program send address LSB to MSB (bug).

--current address read--
<START>[EEPROM address,R]<A-ACK>[EEPROM data]<D-ACK><STOP>

=====================
X24C02 frame sequence
=====================
<START>[slave address+RW]<A-ACK>[data]<D-ACK><STOP>

<> is 1bit, [] is 8bit, A-ACK is address acknowledge,
D-ACK is data acknowledge, R is 1, W is 0

slave address 6:3 is 4'b0101, fixed
slave address 2:0 is 3'b000, configurated by PCB

8bit data send MSB to LSB (bit7 to bit0)

--current address set--
<START>[0x50,W]<A-ACK>[EEPROM address]<D-ACK><STOP>

--current address read--
<START>[0x50,R]<A-ACK>[EEPROM data]<D-ACK><STOP>
Re: Bandai FCG series
by on (#125420)
Etabeta wrote:
- I'm a bit confused about the subcarts with an EEPROM. when you write that SDA line is shared between the internal and the external EEPROM, do you mean that a write to $800d writes to both EEPROMs? or is it something else?
frame sequence は SDA と SCL の START BIT から開始される。 SCL は 2 つの EEPROM で個別になっているので、1つの EEPROM との通信が可能。同時に2つの EEPROM とのアクセスはできない。

- Also, for the record, SD Gundam - Gundam Wars writes to the external I2C address at start... do you have a cart to see if there is anything connected or if it's just some remnant of the development with no effect in the released game?
解析している当時に SD Gundam - Gundam Wars を持っている人から写真を送ってもらいました(画質悪くてごめんよ)。これには EEPROM はついていません。
私はこのソフトを解析していないのでそれ以上の詳しいことはしりません。

- From heuristic observation of Battle Rush – Build Up Robot Tournament writes, I think the External I2C SCL goes in bit 3 of the written data at $8000-$8003 (actually the game seems to write to address $8004-$8007 as well...)
これもよくわかってないです... LZ93D50P は QFP IC なので通常のカートリッジと比較して調べることが面倒で、雑な調査をしたまま貸してもらった人に返却しました。今思えば PPU A12:10 の配線をしっかりと調べればよかったと反省しています。

Silva Saga and Dezaemon は持っている人に聞いてみます。時間がかかるかもしれません。資料が揃ったら別のスレッドを作ります。

> カラオケスタジオ
Enri 氏のところに配線がありますが、ご存じでしたらすいません。
http://www43.tok2.com/home/cmpslv/Famic/Famic.htm

カラオケスタジオの main cartridge は簡単に手に入って、別売りの sub cartridge は希少だったと思います。あまり期待しないでください。
Re: Bandai FCG series
by on (#125463)
first of all, thanks to both of you (naruko & lidnariq) for the help with EEPROMs. It is now a lot clearer.
too bad in MESS there are still some issues and the games do not save properly.
I will investigate more on this later


naruko wrote:
解析している当時に SD Gundam - Gundam Wars を持っている人から写真を送ってもらいました(画質悪くてごめんよ)。これには EEPROM はついていません。
私はこのソフトを解析していないのでそれ以上の詳しいことはしりません。

thanks. maybe the EEPROM support was removed later in the development.
or the game was meant to be released as LZ93D50P cart, originally, and those write were CHR initialization

naruko wrote:
これもよくわかってないです... LZ93D50P は QFP IC なので通常のカートリッジと比較して調べることが面倒で、雑な調査をしたまま貸してもらった人に返却しました。今思えば PPU A12:10 の配線をしっかりと調べればよかったと反省しています。

Unfortunately, I had no time for emulation since last summer and I have only seen your info last week
However, no problem: your info already pointed out all important parts of the cart hardware!

naruko wrote:
Silva Saga and Dezaemon は持っている人に聞いてみます。時間がかかるかもしれません。資料が揃ったら別のスレッドを作ります。

Thanks for the help!
In the meanwhile, I will work to fix the code for Silva Saga, so to be able to use random data (non 0x00)

naruko wrote:
Enri 氏のところに配線がありますが、ご存じでしたらすいません。
http://www43.tok2.com/home/cmpslv/Famic/Famic.htm

I knew Enri's website, but I had never noticed the part about Karaoke Studio. Thanks a lot!
Re: Bandai FCG series
by on (#125588)
mmm... I'm getting an headache trying to fix EEPROMs in MESS (they don't work in MegaDrive either, so it might be a core problem)

do you have any idea of what these screens say?
(they are from Datach DBZ, with possibly broken 24C02 in the base Datach unit)

Image Image Image

concerning Karaoke Studio, I'm going to improve it a little bit in MESS based on the following guesses
- the PRG of the main game is in the "base unit", not in the switchable part
- writes to $Cxxx with bit3=0 do nothing if no expansion cart is present
similar to Nantettatte!! Baseball expansions (but without the timer)

this seems the more likely scenario, because I see no other way for the cart to acknowledge the addition of the expansion
(and expansion PRG does not contains the main game data)
but if one day you find a cart and you discover it works differently, I will improve/fix it with pleasure
Re: Bandai FCG series
by on (#125589)
Screen 1: "There is nowhere to save data. Please select unneeded data."

Screen 2: "Select Data"

Screen 3: "Overwriting data. Is it okay to delete the old data?" The option on the left is "Yes", and the option on the right is "No".
Re: Bandai FCG series
by on (#125594)
thanks for the fast reply. so it does indeed mean that there are EEPROM problems :)
I hope to have more time to debug my code next week
Re: Bandai FCG series
by on (#125599)
Joeさん:
日本語訳ありがとうございます。問題ない翻訳内容です。

Etabetaさん:
コレクターの人に聞いたら、カラオケスタジオは vol.2 が希少品ですが、 vol.1 は簡単に手に入るそうです。
私の都合で手配に時間がかかりますが、分解して調査しますのでお待ちください。

Etabeta さんの blog で付属のカードについて言及がありましたので、バーコードゲームが流行した原因を簡単に説明します。
最初に Epoch が発売したバーコードバトラーが大流行しました。 wikipedia (Ja) の概要は見ておいた方がいいと思います。これは単体のおもちゃ(LCD game)で、ビデオゲームではありません。
http://ja.wikipedia.org/wiki/%E3%83%90% ... 9%E3%83%BC
小学生の間で人気の雑誌で大々的に紹介され、普段使っている食品や本のバーコードがゲームのパラメータとなって戦わせることが人気となり、当時の日本の子供の間で大流行していました。

その後、Epoch がバージョンアップしたバーコードバトラーIIをだし、 Famicom や Super Famicom と連携したソフトも発売されました。同業の Bandai も流行に乗って出したものが、この Datach です。他社も類似品を出していたようです。

Datach に戻しますと、付属のカードで遊ぶよりもやはりゲームで強いバーコードを探す方が人気だったと思います。
http://www25.atwiki.jp/famicomall/pages/133.html
このURLにサンプルのバーコードも載っているので試してみてはいかがでしょうか。
Re: Bandai FCG series
by on (#125639)
interesting read. thanks a lot :)

I had stumbled upon that website, but I'm quite busy with real life and I still haven't got enough time to try those codes :)

p.s. take your time with Karaoke Studio, there is no hurry
Re: Bandai FCG series
by on (#126110)
再度 datach を入手後、配線調査しました。
- LZ93D50P の PPU A12:11 の接続は誤りで A11:10 の接続
- $8000-$8003 の write register の修正
- LZ93D50P の pin 配置は LZ93D50 に似ていることが判明
http://seesaawiki.jp/famicomcartridge/d/Bandai%20Datach