アカウント名:
パスワード:
実機上でROMのデータを1バイトずつ8x8くらいのマトリクスを使って点字のように表示させていくプログラムを走らせてそれをビデオカメラで撮影してWindows上で画像からROMデータを自動再構築するソフト作ってた
シリアルにでもした方がよっぽど簡単で速そうに思えるけども、あえてドットマトリクス+撮影+画像認識にする事情が何かあったんでしょうかね。
> シリアルにでもした方がよっぽど簡単で速そうに思えるけども、
それは今時のパソコンしか触ったことがないお子様の発想です当時のハードにはシリアルポート(UARTとか)なんてありません
トータルで考えると画面&画像処理の方が簡単です画像処理は使い回しができるし,画面の方はエミュレータを作るためのグラフィック周りのハード仕様の解析で必須です
もちろんその通りです。「マトリクスを使って点字のように表示させていく」回路を外付けするくらいならそこに4021でも付けてSPIかましたほうが楽で速いんじゃないの、って話です。
元コメはArduinoキッズなんですかね。「シリアルといったらハードウェアUART!コラと言ったらアイドルコラージュ!」
また変な勘違いしそうだから補足しますが、その通りというのは「画面に複数ビット」ではなくて「1ビットのみの情報を出す」って意味ですよ。同じデータビットをわざわざ格子に並べてダイナミック点灯させて撮影して解析するのといったいどっちが時間かかるものなのか、軽く想像してみてはどうですか。
中の人です。
具体的なことはこちらをご参照ください。http://takeda-toshiya.my.coocan.jp/rx78/index.html [coocan.jp]
エミュレータを開発するにも、まずROMを吸い出さないと始まらない訳でして。
MS-DOSが動く環境だったら話は早いですね。DEBUG.COMでファイルに保存してやればOKです。
BASICが動いてPEEK/POKEが使えてシリアルケーブルが使えれば簡単です。シリアルポートをOPENしてPRINT #1,HEX$(PEEK(A));でメモリの内容を出力して、ホスト側でTera Termで受信してバイナリに戻すだけ。
BASICでBSAVEが使えてCMTインタフェースがあれば悪くないです。CMTへの出力をwavに録音して、そこからバイナリを抽出することができます。ピーギャーの波形から1bitの表現、1byteの表現、ヘッダやブロックの表現を解析する必要がありますが、慣れてればまあ10分~30分程度で。
そういった外部にデータを出力する方法がない環境で、それでもビデオケーブルという立派な出力信号があるじゃないか、という発想で始めた手法ですが。意外と汎用性が高いというか、結構色々な環境で役に立っています。ワンボードマイコンの7セグメントLEDをビデオカメラで録画する、みたいなこともやったことがあります(苦笑)
#ブート後にBIOSが隠れてしまうタイプだと、それをどうやって表に出すかの解析が先に必要になるんですが。
どうしようもないときは、ボードからROMをすっこ抜くしかないのですが、貴重な実機にできるだけ鏝を当てたくないとか、あまりに古いと+5V,+12V,-5Vの3電源が必要だったりして面倒なので、なるだけ上記の手法で吸い出すようにしています。
> #ブート後にBIOSが隠れてしまうタイプだと、それをどうやって表に出すかの解析が先に必要になるんですが。開腹までOKならロジアナをROMに繋いで電源投入すればアクセスの有ったROM領域のデータは読み出せそう。バスを開放状態で止めることが出来るならロジアナから読み取り信号流し込むって手もあるけど、ミスってぶっ壊したらシャレにならんと思うと半田ごて当てるほうがまだマシなんだろうか…うーむ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
この人のROMの吸出し方法を前に見たことあるんだけどさ (スコア:3, 興味深い)
実機上でROMのデータを1バイトずつ8x8くらいのマトリクスを使って点字のように表示させていくプログラムを走らせて
それをビデオカメラで撮影してWindows上で画像からROMデータを自動再構築するソフト作ってた
Re: (スコア:0)
シリアルにでもした方がよっぽど簡単で速そうに思えるけども、
あえてドットマトリクス+撮影+画像認識にする事情が何かあったんでしょうかね。
Re: (スコア:3, 興味深い)
> シリアルにでもした方がよっぽど簡単で速そうに思えるけども、
それは今時のパソコンしか触ったことがないお子様の発想です
当時のハードにはシリアルポート(UARTとか)なんてありません
トータルで考えると画面&画像処理の方が簡単です
画像処理は使い回しができるし,画面の方はエミュレータを作るための
グラフィック周りのハード仕様の解析で必須です
Re: (スコア:0)
まあその方が簡単だけど時間はものすごくかかりそうですが。
元コメの人、解釈が違ってたらごめんなさい。
Re: (スコア:0)
もちろんその通りです。
「マトリクスを使って点字のように表示させていく」回路を外付けするくらいなら
そこに4021でも付けてSPIかましたほうが楽で速いんじゃないの、って話です。
元コメはArduinoキッズなんですかね。
「シリアルといったらハードウェアUART!コラと言ったらアイドルコラージュ!」
Re: (スコア:0)
また変な勘違いしそうだから補足しますが、
その通りというのは「画面に複数ビット」ではなくて「1ビットのみの情報を出す」って意味ですよ。
同じデータビットをわざわざ格子に並べてダイナミック点灯させて撮影して解析するのと
いったいどっちが時間かかるものなのか、軽く想像してみてはどうですか。
Re:この人のROMの吸出し方法を前に見たことあるんだけどさ (スコア:2, 参考になる)
中の人です。
具体的なことはこちらをご参照ください。
http://takeda-toshiya.my.coocan.jp/rx78/index.html [coocan.jp]
エミュレータを開発するにも、まずROMを吸い出さないと始まらない訳でして。
MS-DOSが動く環境だったら話は早いですね。
DEBUG.COMでファイルに保存してやればOKです。
BASICが動いてPEEK/POKEが使えてシリアルケーブルが使えれば簡単です。
シリアルポートをOPENしてPRINT #1,HEX$(PEEK(A));でメモリの内容を出力して、ホスト側でTera Termで受信してバイナリに戻すだけ。
BASICでBSAVEが使えてCMTインタフェースがあれば悪くないです。
CMTへの出力をwavに録音して、そこからバイナリを抽出することができます。
ピーギャーの波形から1bitの表現、1byteの表現、ヘッダやブロックの表現を解析する必要がありますが、慣れてればまあ10分~30分程度で。
そういった外部にデータを出力する方法がない環境で、それでもビデオケーブルという立派な出力信号があるじゃないか、という発想で始めた手法ですが。
意外と汎用性が高いというか、結構色々な環境で役に立っています。
ワンボードマイコンの7セグメントLEDをビデオカメラで録画する、みたいなこともやったことがあります(苦笑)
#ブート後にBIOSが隠れてしまうタイプだと、それをどうやって表に出すかの解析が先に必要になるんですが。
どうしようもないときは、ボードからROMをすっこ抜くしかないのですが、貴重な実機にできるだけ鏝を当てたくないとか、あまりに古いと+5V,+12V,-5Vの3電源が必要だったりして面倒なので、なるだけ上記の手法で吸い出すようにしています。
Re: (スコア:0)
> #ブート後にBIOSが隠れてしまうタイプだと、それをどうやって表に出すかの解析が先に必要になるんですが。
開腹までOKならロジアナをROMに繋いで電源投入すればアクセスの有ったROM領域のデータは読み出せそう。
バスを開放状態で止めることが出来るならロジアナから読み取り信号流し込むって手もあるけど、
ミスってぶっ壊したらシャレにならんと思うと半田ごて当てるほうがまだマシなんだろうか…うーむ。