31-May-2007
[うーん……]

Linuxでお手軽に特殊な(?)フォーマットのフロッピーをコピーしようという考え方自体、間違ってるのかも。

OmniDiskなるツールを見つけたので、こいつに最後の望みを託してみるか…(実はまだ試していない)。

28-May-2007: 朝昼:いつもの。夕:味噌汁の残り、白飯。

29-May-2007: 朝昼:いつもの。夕:白飯、ゴーヤ他野菜の炒め物。

30-May-2007: 朝昼:いつもの。夕:都内某所にて。

31-May-2007: 朝昼:いつもの。夕:白飯、豚汁。

空の軌跡SCを解き直さないと…the 3rdに間に合わない…セーブデータ引き継ぎ有りなんてそんなあ…(21:40)

27-May-2007
[うーん…]

uaa@rouge:~$ setfdprm /dev/fd0 ss hd fm=1 ssize=128 sect=26 cyl=1
uaa@rouge:~$ getfdprm /dev/fd0
SS DD sect=24 dtr=0 fm=1 cyl=1 ssize=128 
uaa@rouge:~$ setfdprm /dev/fd0 ds hd fm=0 ssize=256 sect=26 cyl=77
uaa@rouge:~$ getfdprm /dev/fd0
DS HD sect=26 cyl=77 ssize=256 
uaa@rouge:~$ 

fm=1トシタ際ノ、sect=26指定ガsect=24トナッテシマウノハ、何カノ嫌ガラセデスカ?

トリアエズFM領域ノ24せくた分、MFM領域ノ3972せくた分の吸イ出シハ完了。吸イ出スベキ4004せくた(26sect×2head×77cyl)ナノデ、8せくた足リナイ鴨death。おーのー。

…馬鹿ハココマデニシテ、普通ニ続ケマshow。

13枚あったメディアのうち、とりあえずエラー無く読めたのが6枚。システムディスク、それもマスターの類が無傷っぽいとはいえ、読めなくなるのは時間の問題。

早急に5インチのメディアを調達して、実機でのバックアップを作成することが急務だろうね。あと、今のところPC/AT上で完全に同じフォーマットを再現できない以上、それに近いものを作った場合に実機が受け付けてくれるかを実験してみるとか。

読み出せたデータをざっと見る限りでは、ブートコードらしき物が入っているのを見つけたのでこの辺りを上手くごにょごにょしてシステム全体を乗っ取れるといいんだけど…先は長そうだな。

既知のI/OアドレスにGPIOの一本でも出ていれば楽なんだけど、まずは片っ端からメモリを埋めてVideo-RAMに当たればいいよねとかいう感じの、試行錯誤から始めることになるんだろうか。

それにしても、「ERMAP」だの「VOL1TSBIRD」だの「HDR1 DATA」だの「256 01001174126」だのが…EBCDICで書いてあるとは。この文字コードが実際に使われている現場に遭遇するのは、今回が初めてなので結構衝撃的だったりする。

そうかこいつはオフコンの末裔なのか。

朝:妻にお任せ(サラダ、トースト)。昼:トーストと即席ラーメン。夕:味噌汁と、冷食ピラフ。(21:55)

26-May-2007
[うーん]

IBM形式フロッピーディスクらしきものと格闘中。

26sector, 2head, 77cylinderかつFM/MFM混在ということで、まずはFM領域の吸い出し。

setfdprm /dev/fd0 ss hd fm=1 ssize=128 sect=26 cyl=1
dd if=/dev/fd0 of=foo.bin bs=128

どうせ最初のトラックの片側のヘッドしかFM領域じゃないしーというのがcyl=1の理由なんだけど、この設定だと何故か24セクタ分しか吸い出せない。残りの2セクタはどこへ行ったんだろう…

残ったMFM領域は、こうかなあ…

setfdprm /dev/fd0 ds hd fm=0 ssize=256 sect=26 cyl=77
dd if=/dev/fd0 of=bar.bin bs=256 skip=32

先頭のFM領域は回避すればいいしーというのがskip=32の理由なんだけど、これもなんかヘンなんだよなあ。

とりあえず、攻略のための足掛かりは得られたってことで、今日はここまでにしておこう。

食事メモはばっさり省略。

基本的に調子悪くて作れないから(風邪伝染しちゃうというのもあるからね)、妻にスパゲティ作ってもらうとか、その辺りにあるシリアルやら即席ラーメンやらを食べてる。(21:35)

24-May-2007
[何故だ…]

風邪を引いてしっかりダウン…5inch FDDをマシンに取り付けた呪いだなんて、言わせないぞ。

それにしても、この時期に風邪引くのは珍しい気がするんだよな。自分の日記に「風邪」というキーワードが出てくるのをGoogleに検索させてみた結果から、本当に風邪引いてそうな時期をまとめるとこんな感じになる訳で。

DecNovOctSepAugJulJunMayAprMarFebJan
2007                   
2006                     
2005                   
2004                   
2003                 
2002                   
2001                 
2000                   
1999                   
1998                     

厳密に裏取ってる訳じゃないから何とも言えないけど(後でもう一度調べ直してみるか?)…Feb/Aprのコンボが一ヶ月遅れでやってきたと考えるのが良いのかねえ。

何にせよ、ここ数年この時期に風邪引いた覚えは無いというのは確かなので、変だなあとは思っていたのですが。齢30も超えれば身体の一箇所や二箇所ガタが来てもおかしくはないので、人間ドックにでも行かないといけませんかねえ。

それはキレる子供と同じ論理かと思ったのは俺だけでしょうか。「言っても聞いてくれないから暴れちゃうぞー」、みたいな。

「話だけは聞いてあげるよ(実際に受け入れるかどうかは別問題だけどね)」という態度くらいは見せておけば大人しく…ならないかな、やっぱり。

食事メモは後日。(20:45)

22-May-2007
[5インチのFDDを付けてみた]

5inch FDメディアの解析を行う以上は機材が無ければ話にならないので、FDD-Tokyoの5inch FDD(再生品)rougeに取り付けてみました。こんな感じです。

tdscf0922.jpg tdscf0925.jpg tdscf0926.jpg tdscf0932.jpg

付属のケーブルは3.5inch FDDと5inch FDDとの間がちょっと短かったので、3.5inch側をB:、5inch側をA:となるように設定しました。

起動時にFDDが順番にシークする様子はなかなか格好良いです。DOSでの動作確認後、Linuxでの動作も見ましたが問題なさそうです。dmesgの中に、Floppy drive(s): fd0 is 1.2M, fd1 is 1.44Mというメッセージがありますし。

…FDDを上下逆に取り付けようとしたのは、とりあえず秘密にしておいて下さいね。

とりあえず、(まだ型番は書けませんが)東芝製の某ワープロのフロッピーを解析してみました。

詳細な解説は面倒なので端折りますが、fdutilsでうりうりやった際のログを見る限りでは、こうでしょうか…

なんか本気でIBM形式フロッピーディスクのお仲間でございますって感じがするのですが、どうしましょう…

食事メモは後日。(22:25)

21-May-2007
[メモ]

最近、J-POPだの洋楽だのが耳に入ってくるだけで疲労度が増加するという状況だったりする…かといって、OTTAVAにアクセスするのもなんか腹立たしいんだよな。

とりあえず、「ああどうせ俺はミーハーだよ主体性ねーよ釣られてるよクマー」とか書いておけば、納得してもらえるんでしょうか。

USBラジオと言っている割に、AF出力はサウンドカードの音声入力端子へ、っていうのはなんか違うと思うんだよな。DRM (Digital Radio Mondiale) 放送受信のためのリソースにある受信機のように、USBケーブル一本で全部やるくらいのことはしてくれないと。

もっとも、電源はPCから取らない方がいいと思うけどね…雑音(ノイズ)の巣だし。

それにしても、DRMのデコードサンプルはすごいな。短波帯でこの音質の放送が実用化されているとは…

20-May-2007: 朝:パン。昼:橋本某所にて。夕:カレーライス。

21-May-2007: 朝昼:いつもの。夕:白飯、ジャガイモと茸の炒め物、焼き魚。(22:50)

19-May-2007
[ほいな。]

とりあえず16×16物の変換は完了。24×24ドットも気が向いたら着手する予定。

文章の元ネタは、和文フォント大図鑑[LIBRARY]。ラジオ体操の歌という話もありますが。

ラジオ体操の歌の歌詞を、「古臭い夜がきた 絶望の夜だ 悲しみに心閉じて 闇空仰げ」なんて感じにいじったりしませんでしたか?

…ひょっとして、俺だけ?

朝:寝てた。昼:昨日作ったスープの残り、トースト。夕:COSTCOで買ったパエリア、以前作った野菜スープ。(22:25)

18-May-2007
[実験中。]

JW-R55Fから吸い出した16×16ドットフォントのデコードを真面目にやるのも面倒なので、MSXの漢字ROMイメージ形式に変換してからコンバータに食わせてみようかと考えています。

…で。

とりあえずこんなコードを書いてROMイメージの変換をしてみましたが、実は「\」の左上8×8ドットのパターンがMSX標準漢字ROMの仕様とは異なるため、以前作ったコンバータでは変換できません。

krom2fontx.cにこんな感じのパッチを当てれば変換できるようですが…ちゃんと変換できたかどうかはまだ未確認です。

ちなみに、「/」のデザイン(?)もMSXのそれとは微妙に違うようです(「\」に合わせた形になっています)。

朝昼:いつもの。夕:白飯、トマトと野菜と鶏肉の煮物。(24:15)

17-May-2007
[試作品。]

一応それなりに動くようですが、正しいTADデータになっているという保証は全くありません。自己責任でお試し下さい。

おまけ。

パトラッシュ…僕はもう…疲れたょ…(謎

15-May-2007: 朝昼:いつもの。夕:吉野家にて。

16-May-2007: 朝昼:いつもの。夕:パンと即席ラーメン。

17-May-2007: 朝昼:いつもの。夕:吉野家にて。

14-May-2007
[むぅ]

なんかそれっぽく動くように見せかけて、全然駄目って感じで。文章開始/終了セグメントとか図形開始/終了セグメントの扱いがイマイチこなれてないような…

仮身セグメントもちゃんと吐き出すようにしないと実用性低いし…

一旦TADとトレーレコードとの対応をきちんと見ておかないと多分ちゃんとした物にならないだろうな…ならないよなあ…

「与作は木を切る〜へいへいほー」を脳内変換したら、「yo-s*ckは木をKILL〜hey! hey! ho!!」なんて結果が出てくるくらい、煮詰まってますよー

13-May-2007: 朝:トーストを適当に。昼:実家にて。夕:カレーライスと炒めたプチトマト。

14-May-2007: 朝昼:いつもの。夕:白飯、豚肉と野菜の炒め物、炒めたプチトマトの残り。(23:10)

12-May-2007
[ちょっと寄り道]

JW-R55FのROMに入ってる、16×16ドットフォントのデコード方法を調べてるとこ。

区点コードの95点とか0点の辺りにあるヘンな記号って、MSXの漢字ROMなんかでも存在するんだけど…その割にはデータの構成が違うような…ぶつぶつ…

20070512a.png 20070512b.png 20070512c.png

問題は24×24なんだよなあ…JIS第一水準だけしか無いから気楽っちゃ気楽なんだけど。

11-May-2007: 朝昼:いつもの。夕:回鍋肉(キット使用)、白飯。

12-May-2007: 朝:シリアル+牛乳。昼:横浜某所にてラーメン。夕:以前作った野菜うどん(余った物を冷凍保存してた)。(23:20)

10-May-2007
[…合掌。ちーん。]
ここまでぶっ壊してみました。壊す前はこんな感じでした

スルーホールを基板に残したままICをひっぺがすことが、自分の腕では絶対に不可能だということが、よーっく分かりました。

あと、ニッパで部品の足を切るのはかなり無理がある、ということも。

という訳で、JW-R55F、どうもありがとう。

稼働するけど傷物、というのはやっぱり価値が落ちるよなあ…

ROM周りの配線ってのは大体決まっているから、仮にパターンを切ったとしても適当な線材でうにゃうにゃできるはずなんだけどさあ。

朝昼:いつもの。夕:スーパーで買った弁当。(22:10)

09-May-2007
[ぅゎぁ〜]

こっちは弱ってるってのに、なんか世間一般はリフレッシュしたらしく妙に元気一杯なサラリーマンが多くて困る…。まあ、この時期にトバすと、夏に倒れるからせいぜい頑張ってねーってことで。

ごめん、宿題まだ終わってない。実は、昨日今日でフロントエンドを必死に作ってた

以前メールで頂いた要望は可能な範囲で盛り込んでみたつもりなんだけど…NM-9300な書体で印刷して、何度かしっかり読んでいたはずなのに…仮身起動の場合についての処理を全然忘れていたという。すみませんすみません。

まずはとりあえず動くものを作りたいので、いい加減に書いたバックエンドをちゃんと書き直して、デバッグとテストという方向で進めちゃいます。

一発で動いてくれるといいんだけどねえ…という訳で、今しばらくの猶予を。

06-May-2007: 朝寝てた。昼:妻にお任せ(サラダ、トースト)。夕:白飯、焼き魚、以前作った野菜のスープ。

07-May-2007: 朝昼:いつもの。夕:焼きそば。

08-May-2007: 朝昼:いつもの。夕:野菜煮込みうどん。

09-May-2007: 朝昼:いつもの。夕:白飯、ウナギ、スーパーで買ったサラダ。(22:10)

05-May-2007
[酒は当分自粛かな…]

飲みすぎて、不調です。おやすみなさい。

04-May-2007: 朝:牛乳+シリアル。昼:即席ラーメン+パン。夕:某所で飲み。

05-May-2007: 朝昼:寝てた。夕:即席ラーメン。(19:55)

04-May-2007
[ん〜…]

憲法を変えたがってる勢力が増殖しているみたいですね。しかし、《彼等》がそれを変えるに相応しい資質を持っているようには見えません。

今の状況で憲法を変更しても《彼等》が得をするだけであり、《我々》およびそれに続く世代には何の利益もありません。

必要があれば変えれば良いという点には同意できますが、それによる正だけでなく負の影響にも責任を持てた上での話です。《彼等》にその覚悟があるようには見えませんし、示そうともしていません。

やるのであれば、《我々》が死に絶えて、この国の人口構成が大幅に変わったくらいの時代でしょうね。

―――それまでの間に、十分な資質を持った人間を育て増やすこと、まずはそこから始めるべきだと思うのですが。(17:00)

04-May-2007
[分解してみました]

東芝製のワープロですが、型番は今のところ秘密です。とりあえず、自分のための記録としてここに残します。(10:25)

tdscf0855.jpgメインボード上のFDDコネクタ周辺。1番ピンの向きに注意。
tdscf0856.jpgCRTユニットのコネクタ。逆挿しができないようになってはいるが、これもコネクタの向きを間違えないように注意。「85.7.9」は日付だろうか…
tdscf0857.jpgメインボード上のディップスイッチ。8番だけがONになっていて、1〜7番はOFF。その隣にある、「DBG」と書かれたジャンパが意味深。これをクローズするとどうなるんだろう?
tdscf0858.jpg5インチFDDユニット。「TYPE DDF5-30D-34K」「RATING 12VDC 360RPM」ということで、PC/AT, PC-98x1向けのFDDと同じ回転数の模様。
tdscf0862.jpgメインボード全景。ICがたくさん付いてる。
tdscf0864.jpg富士通製、MBL8088-2。クロックをどこまで引っ張れるかは不明(8MHzという話もあるが、真偽は不明)。
tdscf0865.jpg右から、TMM23256P, T7818-0304, T7818-0305。TMM23256Pは32KByte, T7818は128KByteのROM。
tdscf0866.jpg右から、T7818-0306, T7818-0302, T7818-0301, T7818-0300。ROM領域だけで、128K×6+32K=800KByteある。
tdscf0867.jpg右から、8257(DMA), 8251A(USART), 8253(PIT), μPD765A(FDC)。
tdscf0868.jpgμPD765A(FDC)の左には、8259A(PIC)。
tdscf0869.jpgTMM4164AP-15が16個。1個8Kbyte(1bit×64Kword)なので、16個で128KbyteのRAMを載せていることになる。
tdscf0873.jpgHD6845SというCRTC。HD46505Sという型番でも呼ばれているらしい。
tdscf0882.jpgSED9420C…CMOS VFO data separator LSIとデータシートに書いてあるので、多分そういうもの。
tdscf0885.jpgμPB8284A。データシートには、8086/8088向けのクロックジェネレータと書かれていた。プロセッサクロックは印加したクロックの1/3の周波数、ペリフェラルクロックはプロセッサクロックの1/2の周波数らしい。
tdscf0886.jpg19.2MHzの水晶発振器が付いているので、プロセッサクロックは6.4MHz、ペリフェラルクロックは3.2MHzか?
tdscf0887.jpgキーボードコネクタ周辺に、クロック関連の部品が配置されている。
tdscf0895.jpgCRTC近くにあった、8個のTMS4416-15NL。1個8Kbyte(4bit×16Kword)なので、64Kbyte分。
tdscf0896.jpg拡張ユニット接続用のコネクタ。32pin×2列。
tdscf0904.jpgメイン基板とCRTユニットとの間は3cm以上の空間がある。
03-May-2007
[改造してみました]

27512までなら無改造でイケるのですが、TC531000のような変な奴の場合はちょっとLANカードに手を加えないと吸い出せません。という訳で、やってしまいました。

tdscf0845.jpg基板から外したROMの足は、こんな風に半田でザラザラな状態になっています。綺麗に整えておけば良かったのでしょうが、面倒だったので…
tdscf0840.jpgそういう状態のROMをソケットに装着しては取り外しなんてことを何度もやっていると、こんな風にソケットはボロボロになります。
tdscf0852.jpgそこで、ゼロプレッシャーソケットに交換してしまいます。交換したついでに、アドレス線(BA16)をRTL8019ASから接続しておきました。
tdscf0847.jpgBA16はROMの22番ピン(CE#)に接続しますが、ここはGNDに落ちていますので、パターンをカットしておく必要があります。
tdscf0848.jpg基板の表と裏の両方でGNDに落とされていますので、どちらもしっかり切り離しましょう。

という訳で、改造したISAのLANカード(RTL8019AS載せた奴)向けに、ROM吸い出しプログラム書いてみました。RTL8019ASのBoot ROMの設定を、16K Page modeとしておくことをお忘れなく。もちろん、DOS向けです。

printf()の表示がかなり怪しいですが、面倒なので修正していません。これだからintが16bitな環境は嫌なんだよ…

でも、今時ISAなカードでやっても「そんな環境なんて無い!」と言われるだけですね。こういうことは、現時点で入手可能な物…PCIでやらないと評価されないのですよ。

という訳で、RTL8029ASでできるかどうか考えてみました。

ROMとしてマップ可能な領域が32Kbyteですが、これはSerial EEPROM向けの線(EESK, EEDI)を拝借すれば128Kbyteまで引っ張れそうな気がします。どうせ正規のBoot ROMなんか載せないだろうし、吸い出しやってる場合はネットワークコントローラとしては使わないだろという前提で。

問題はソフトウェア側で、こっちの方が面倒な気がします。といっても、PCIバス上でRTL8029ASを検索し、ROM用のウィンドウを適切に設定してI/Oレジスタの値を取得するだけなんですが。

吸い出し用のコードは、今あるものを少し改造すれば済むでしょう、多分。

…なんてことを考えていたら、なんか試したくなってくるんですが…手元に部品無いし吸い出した内容を読みたいし宿題も溜っているからそれどころじゃないですorz

とりあえず、こんな風に読み出せているのでLANカードの改造自体はうまくいってるような気がします。

20070503a.png

実は、ROMの吸い出し作業中にISAバスの付いてるFMV(Classic Pentium/120MHzが載っていた時代のもの)が何故か起動しなくなって、Cyrix MIIが載っているマシンを使う羽目になりました。

流石にこのマシンを吹っ飛ばす訳にもいかないので、吸い出し器具のPCI化、あるいはROMライタの導入を急いだ方が良いのかも…

01-May-2007: 朝昼:いつもの。夕:妻にお任せ(チヂミ)。

02-May-2007: 朝昼:いつもの。夕:白飯、八宝菜(キット使用)。

03-May-2007: 朝:シリアル+牛乳。昼:即席ラーメン+パン。夕:カレーライス。(20:15)