ファミリーベーシック活用テクニックat I4004
ファミリーベーシック活用テクニック - 暇つぶし2ch900:ナイコンさん
11/05/13 01:21:42.38
すがすがしいくらい綺麗な回路図をありがとう

901:ナイコンさん
11/06/15 20:49:40.12
867です。
スタンドアロンだとしんどすぎるので、キーボードのカセット入力に
使われている4069から線を引き出してmax232経由でrs232cからインテルhex形式の
データを読み込めるローダを作りました。
タイミングをはかるのにメモリマッパのCPLDのあまりでカウンタを作って
楽をしているのですが、そこだけ作り直せばmax232をつないだだけの
ファミリーベーシックでも動きそうです。そのようなものに需要はありますか?
実機派の人には便利なような気がしますが。


902:ナイコンさん
11/06/16 02:32:47.62
オクたのむ

入札するから

903:ナイコンさん
11/06/18 03:12:10.32
回路図とローダー公開希望!
是非PLD使わないバージョンで

904:ナイコンさん
11/06/21 07:09:48.82
PLAY命令の詳細仕様って無いかな?M,Y,Vの意味がよくわからん

905:ナイコンさん
11/06/21 12:57:37.12
URLリンク(www.nicovideo.jp)
よくできてる。

906:ナイコンさん
11/06/21 21:40:45.11
>>905
ブワッ…

907:ナイコンさん
11/06/22 00:42:44.15
久しぶりにファミベ動画も見てきたよ

908:ナイコンさん
11/07/10 07:31:25.19
867です。
ファミリーベーシックにrs232c経由でインテルhexを流し込むためのローダ、
とりあえずソースとダンプリストをアップしました。
興味のある方どうぞ。


909:ナイコンさん
11/07/10 08:28:58.65
おつです
どこですか

910:ナイコンさん
11/07/10 14:39:48.14
867です。
ファミリーベーシックにrs232c経由でインテルhexを流し込むためのローダのアップ先ですが、
わたしが書いている電子工作のブログに置いてます。週末に置いたので、検索すればすぐみつかると思います。
自分のブログ置いたので、ストレートにアップ先を書くのはちょっと下品かと思って書いていませんでした。
わかりにくくてすいません。


911:ナイコンさん
11/07/13 07:02:38.63
URLリンク(www.google.co.jp)

912:ナイコンさん
11/07/25 21:44:28.52
V3
データレコーダに変わるファミリーベーシックの記憶装置です。

913:ワニチャン
11/07/26 17:53:49.57
はじめて書き込みします。

子供の頃にファミリーベーシックのメッセージボードで隠しメッセージが
出たことがあります。
何せ相当前のことなので記憶だけで書くのですが
通常のメッセージボードとは色違う画面になり
開発者からのメッセージらしきモノがでました。
「アリガトウ...」的なメッセージの後で、
「レンラククダサイ」というような内容だったのですが、
当時はどこに連絡すれば良いか分からず、
結局なにもしなかったのを覚えています。
このメッセージをもう一度見たいのですが、どう出すか分かりますでしょうか?


914:ワニチャン
11/07/26 17:56:44.62
あともうひとつ、当時近くジャスコの4階でファミリーベーシックの
金色のキーボードがあったのですが、あれは何だったか分かりますでしょうか?
うる覚えですが、なんか普通のベーシックとは少し違っていた覚えがあります。
開発機かなんかかな?と思っていましたが、何だったか分かれば知りたいです。


915:ナイコンさん
11/07/26 20:11:09.93
>>開発機かなんかかな?
「開発機」か「なんか」のどちらか2択です。
実は、「なんか」なのです。
ジャスコの4階のファミリーベーシックの金色のキーボードの正体は、
「なんか」なのです。

916:ナイコンさん
11/07/26 23:08:02.79
メーカーが限定で塗ったんなら超レアだけど
ジャスコが勝手に塗ったんなら只の客寄せ
もしオクに出たならそこんところよく確かめないとね

917:ワニチャン
11/07/27 13:20:06.45
色々調べたら、PlayboxBasicってヤツだったんじゃないかと思います。
でもキーボードの画像が見つけられず、真相は分かりませんが。

918:ナイコンさん
11/07/29 16:24:14.68
久々にファミリーベーシックを触ろうと中古屋を巡ったけど
どこにもなかったわ

919:ナイコンさん
11/07/29 16:29:56.29
ないアルヨ

920:ナイコンさん
11/07/29 21:34:17.96
あるナイヨ

921:ナイコンさん
11/07/29 23:27:46.74
ありますん

922:ナイコンさん
11/08/11 19:39:21.49
家族揃ってレーシック受けました
ファミリーレーs

923:ナイコンさん
11/08/12 12:32:20.17
大阪日本橋の状況をはなしのねたにおしらせします。
今は中古ゲーム屋数軒のうち、ある店に1個だけ箱入り中古が売ってる感じ。
入荷して一ヶ月くらいたつのかな。
私は二月ごろ欲しくなった時に在庫がなくて、入荷するまで一ヶ月以上
入荷している店はないか探して買いましが、ほぼ同時期のある日、2軒に
1個ずつ入荷したので両方買ったけど、その後は1ヶ月かそこら見かけなかったので、
これも売れてしまったらまた一ヶ月やそこらは見なくなるんじゃないかと思います。
まあ、待てば店頭にでてくるだけましか。



924:ナイコンさん
11/08/12 16:12:57.78
ファミベのキーボードって押し具合が超イイ感じなんだよな

925:ナイコンさん
11/08/12 17:54:47.02
ヤフオクにあるジャン

926:ナイコンさん
11/08/13 02:44:31.54
あのファミベキーボードのパチパチカタカタ鳴るのとタッチ感イイヨね!

927:ナイコンさん
11/08/17 11:28:53.50
キーが小さいのと、STOPキーの位置に不満はあるけどね

928:ナイコンさん
11/08/26 13:09:04.14
最近実機をみてないからキーのサイズが思い出せない

929:ナイコンさん
11/08/26 14:04:50.44
お子様サイズではあるね
いっちょ押し入れから引きずり出して計ってみるかな

930:ナイコンさん
11/08/27 12:47:38.90
コードが短いね。

931:ナイコンさん
11/08/27 14:09:39.12
厚みがあるよね


932:ナイコンさん
11/10/20 04:18:36.65
厚みの割には軽いよね
初代無印PC-9801のキーボードの重い事重い事…

933:ナイコンさん
11/11/25 16:16:54.66
やすぶしーん

934:ナイコンさん
11/11/27 02:55:12.77
中身は随分スッカラカンで基盤なんてほとんど無いから
もっと薄くコンパクトに出来るだろうな

935:ナイコンさん
11/11/27 05:25:13.69
魑魅魍魎を組み込んでスタンドアローン…
そんなふうに考えていた時期が俺にもありました

936:ナイコンさん
11/11/27 11:35:25.97
俺にはありませんでした。

937:ナイコンさん
11/11/28 02:17:19.09
魑魅魍魎じゃ15pのキーボード刺さんないだろ

938:ナイコンさん
11/11/28 12:33:19.19
ファミコン互換機をみかけるたびに15ピン拡張ポートがないかと
確認するのですが、昔はあったらしいけど、今の日本橋ではみつからないですね。
romにパッチあてて、コントローラ2あたりにキーボードをつなげるようにすれば
いいんだろうけど、なかなかむつかしそうですね。






939:ナイコンさん
11/11/28 12:37:43.80
ファミリーベーシックを逆アセンブルした方、いらっしゃいませんか?

逆アセンブル時に使用するcode/dataを区別するヒントファイルを
いただけないでしょうか。

また、実行結果からcodeとdataの範囲情報を出力できるエミュレータとか
ありましたらおしえていただけないでしょうか。

よろしくおねがいします。



940:ナイコンさん
11/11/28 17:18:24.23
>>939
昔、一応VBAマクロでV3.0を逆アセンブルしたことはある。
面倒だったので全然解析してないけど。

この辺のページとか参考にしてたかな。
URLリンク(hp.vector.co.jp)

でも今は、なんか便利そうなのが…
URLリンク(mrchecker.web.fc2.com)

codeとdata云々はちょっと意味がわからんかったけど、
上のツール使ったら分かったりしない?


941:ナイコンさん
11/11/28 18:15:12.24
コードとデータなんて機械的に分けられるもんじゃねえだろ
ジャンプテーブルなんか使ってたらひとたまりもない

942:ナイコンさん
11/11/28 20:53:44.11
そういう時はIDAの出番だよ
ほぼ間違いなくコードとデータに分けてくれる
プラグインを使えばコメントさえ付けてくれる

オレはファミコンの解析はこれ一つでやっている

943:ナイコンさん
11/11/29 10:54:03.08
終了時にプログラムカウンタの通過したバンク・アドレスを出力すりゃいいんだから
改造としては簡単な部類だと思うが
ビルド環境の導入から始めても2時間も掛からんだろ

俺はやらんがね

944:ナイコンさん
11/11/29 20:50:07.15
みなさん、レスありがとうございます。

>>940
codeとdataの分離なしに逆アセンブルすると、
dataの部分もcodeとして逆アセンブルしたり、
opコード(1バイト目)でなく、オペランド(2バイト目以降)を
逆アセンブルしてしまって、わけがわからなくなるのです
地道に読んでいけばよいのですが、一万行くらいになりそうなので
先人の知恵にすがりたかったのです。

>>942
IDAのフリー版をインストールしてみましたが、86系しかモジュールが入って
いませんでした。これは非常に強力そうだけど、けっこうお高いのですね。
ちょっと買えそうにないです(泣)
コード解析機能のある逆アセンブラとして、td6502というのを見つけたので、
これでとりあえでためしてみます。

>>943
たしかにエミュの改造は小改造ですみそうなのですが、私のちからでは
ビルド環境をそろえるのと、エミュの動作を調べるのでけっこうな
時間を食いそうに思い躊躇しています。
コード解析つきの逆アセンブラで地道にすすめて、きりがなさそうだと
感じたらエミュにも挑戦するかもしれません。
ファミリーベーシックが動いて、ビルドが簡単で、ソースが読みやすい
そんな都合の良さそうなものがなにかありますでしょうか?
(Cぐらいしか読めません。ビルドはlinuxだと比較的簡単なんでしょうか?)

後だしになってもうしわけありません。
やりたいことはメッセージボードやミュージックボードの、自作プログラムを
書き込んで問題なさそうな領域の調査やBASICのパッチあてです。
何か追加情報ありましたらレスいただけるとありがたいです。


945:940
11/11/29 22:28:15.09
>>944
ツール系は他の詳しそうな人に任せる。
944の望むモノは理解できたので、以下、経験談。

ファミリーベーシックは、V2もV3も、プログラムROMは32Kバイトで
&H8000~&HFFFFにプログラムROMがマップされる、というところはおk?

その最終部分、&HFFFA~&HFFFFまでの6バイトに、
NMIとリセットとIRQの割り込みベクタがリトルエンディアンで書き込まれている。
よって、ここに記載されているアドレスを起点にして順にたどれば、
データを間違ってディスアセンブルする、という現象はひとまず回避できる。

次に、他の人も描いている通り、6502は非常にややこしい間接アドレッシングがあって、
ジャンプ先アドレスがリトルエンディアンで2バイトずつ、ずらずら並んでいるところがある。
ここも、それらを検知したうえで、それぞれ基点として逆アセンブルしなければならない。
(V3.0の場合は5箇所ぐらいみつかった)

あと、非常にトリッキーなアセンブルをしている箇所が、少なくともV3.0には数箇所あった。
それは、オペコードではなく「オペランドのアドレスに向かってジャンプ(またはブランチ)する」というもの。
これによって、通常の逆アセンブルをやっていては絶対に通らない部分がある。
(つづく)

946:940
11/11/29 22:29:02.02
(つづき)
たとえば、

AE A5 33

という並びの3バイトのマシン語を解釈すると「LDX $33A5」となる。
だが、&H33A5はファミコンでは未使用のアドレスなので、
結果的に「LDX #$00」と同じ動きになる。

一方、この3バイトのマシン語の2バイト目「A5」に向かってジャンプする命令が別の箇所に存在する。
この場合、CPUは「A5 33」の2バイトを解釈して「LDA $33」となり、
&H0033の値をAレジスタにロードするという、
6502独自のゼロページ命令として解釈される。

これによって、「LDX #$00」と「LDA $33」が3バイトで表現され、都合1バイトメモリが節約できるわけ。

この辺に注意して逆アセンブラを自作し、何度も何度ももジャンプベクタを
見つけてはそれを起点に加えて逆アセンブルを繰り返していけば、
逆アセンブルは出来ると思うよ。8ビットでオペコードも少ないし、情熱があれば何とかなる。

ただ、V2.0の場合、メッセージボードやミュージックボードもマシン語で書かれているから、
「使っても良さそうな領域」と「使えなさそうな領域」の区別は結構難しい気がする。

むしろ、V3.0を使い、GAME1~GAME4の、
ベーシックの中間コードを丸つぶししてパッチを当てるほうが楽だと思うんですがね。

947:ナイコンさん
11/12/01 23:38:27.46
普通にNES用の逆アセンブラツールじゃいかんの?

948:ナイコンさん
11/12/02 17:24:34.76
944です。
レスありがとうございます。

>>945
なるほどー。V3の内蔵プログラム領域というのは見つけるのが簡単そうですね。
V3が安く店頭に出てきたらぜひやってみようと思います。(今は2.0をさわってます)
ジャンプテーブルの件、逆アセンブラによってはcode/dataの他にジャンプテーブルも
記述できるようですので、特定でき次第逆アセンブラのヒントファイルに書いていく予定です。
オペランドにジャンプするというのはいやらしいですね。8ビットパソコンのプロテクトなんかでは
そんなのもあったような気がするけど、rom化するプログラムでそんなことをすることがあったのですね!

>>947
へたれなのでできるかぎり自動化したいのです。

現状、G-NESにトレースログを出力(他のエミュにもあるとは思うけど)する機能があることが
わかったので、トレースログからcode部を抽出していっているところです。
あれこれトレースして6キロバイト分くらいコード部がでてきました。まだまだ先が長いです。




949:ナイコンさん
12/02/07 02:59:56.77
ZACNER IIとかって内蔵ゲームの領域潰してプログラムされてたの?
そうすると4KB超って事になるんだろうか?

950:ナイコンさん
12/03/11 11:12:53.09
今ファミコン互換機が新聞広告に載ってるぞ

951:ナイコンさん
12/03/13 20:51:46.03
あんまりファミベに関係ないな

952:ナイコンさん
12/03/14 12:28:02.44
スレ違いではありますが、どんな機種が広告ででてたのですか?
15ピンポートとかありました?



最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch