投稿

冬なのにキャベツに虫

イメージ
畑にキャベツを採りに行ったら、ずいぶんとたくさん虫が付いていました。蛾か蝶の幼虫でしょうか。 葉っぱを2~3枚はぐれば問題なく食べられるので良いのですが。 この時期、朝方は気温が氷点下まで下がる北海道で、虫がこんなにいることにびっくりしました。

PC-8801FH 分解清掃

イメージ
ジャンク品の PC-8801FH を 1,250円で購入しました。外見は悪いのですが、とりあえずディスプレイに表示は出て、ROM BASIC は立ち上がりました。 汚れと外装のサビがひどいので、バラバラに分解して水洗いして、サンドペーパーでサビ落としを行いました。 メモリーバックアップ用のニッカドバッテリーが液漏れを起こしているので、バッテリーを取り外しておきました。 基板のパターンが腐食していますが、とりあえず洗浄だけしておいて様子見です。 掃除して綺麗になりました。 メイン基板全景。4層基板のようです。 メインCPUとビデオ周り ディスクサブシステムのCPUやFDCなど FM音源やビデオのD/A、8251なんかの周辺I/Oなど

KORG D1200 電源コネクタのピンアサイン

イメージ
本体電源コネクタを背面から見た図 普通の 7ピン DINコネクタです +5V 3A +12V 2A -12V 0.5A? 程度の電源を用意すれば良いんじゃないでしょうか。電圧はきっちり安定化させておかなければいけません。小型のATX電源なんかがあればちょうど良いですね。 手持ちの  +5 5A  / +12V 1.25A / -12V 0.35A のスイッチング電源でしばらく使ってみましたが、調子良く動作しています。発熱も少ないので、もう少し容量の小さい電源でも大丈夫そうです。 メイン基板電源入力部のおおまかな回路図 1,000円と安かったので、ジャンク品の KORG D1200 ハードディスク MTR を購入してみたのですが、専用の電源アダプタが無いので本体の電源回路を調べて、代替の電源で動かしました。 適当な電源を接続して、無事に動作しました。 2002年製造の古い機械ですが、外見は結構綺麗で、工場出荷時に入っているデモソングも残っていました。あまり使われていなかったんでしょうか? ハードディスクは、簡単に交換できる位置に付いていました。 3.5インチ IDE の 40GB です。 ハードディスクを簡単に交換できるのか試してみました。 手持ちの古い 60GB の IDE ハードディスクを接続して電源を入れると、「INIT Internal Hard Disk Drive」(内蔵ハードディスクを初期化するぞ)と表示が出たので [OK] を押すと、短時間で初期化が終了して通常通り使用できるようになりました。 ちゃんと使用できる容量も増えました。 ハードディスクにOSやファームウェアが記録されていて、単純にハードディスクドライブを交換しただけでは使用できない場合もあるのですが、D1200 の場合そのようなことはなく、簡単にハードディスクを交換して使用することが出来ました。 蓋を開けたところ メイン基板

電気たこ焼き器を購入

イメージ
ホームセンターへ買い物に行ったら、電気たこ焼き器が980円で売っていたので、買ってきました。アイリスオーヤマのプレートが外れないタイプで、少し古い機種のようです。 電気なので火力が弱いかな?と思っていたのですが十分な火力で、ひっくり返すのをもたもたしていると焼けすぎてしまうほどです。 焼きたてのたこ焼きは、外側カリッと中はトロッとたいへん美味しかったです。

ロードスターのドアスピーカーを交換

イメージ
車のドアスピーカーを交換しました。 初期型ロードスターのドア内は雨水の通り道になっていて、スピーカーが水に濡れます。今回右のスピーカーが水で腐って音が出なくなったので、左右とも MonotaROで 2個 3,000円くらいの安い 16cmスピーカーに交換しました。外して付けるだけの簡単な作業です。安いけれど十分いい音で鳴りました。 年式によってはスピーカーに水よけのカバーが付いているようなのですが、前回交換してから青空駐車で10年以上持ったので、カバー無しでもいいや。

電源が入らない電磁調理器を修理 EIH1470-B

イメージ
故障している電磁調理器「アイリスオーヤマ EIH1470-B IHクッキングヒーター」を購入しました。壊れているのに 2,550円もしました(笑)。 2013年製で現行商品のようです。 症状は、電源を入れても一瞬表示が全点灯してすぐに電源が切れるという状態です。外観は綺麗でしたが、分解してみると吹きこぼれが内部に入り込んでいました。 吹きこぼれ そう簡単には吹きこぼれが侵入しないような構造になっているので、よほどたくさん吹かしたのでしょう。 とりあえず、キャビネットを洗いました。 基板が腐食していて、一部放電したような跡があります。 弱電部分に放電の影響があったら修理は無理だなあと思いながら、作業を続けます。 洗浄してから、腐食しているところ、断線しているところを修正しました。 直ってしまいました。ラッキー (危険なので私のような素人が勝手に修理してはいけません。人が死にます。)

ONKYO GX-70AX ジャンク品 を購入

イメージ
ジャンク品の ONKYO GX-70AX を購入。1,000円でした。 壊れていたら修理しようと思っていたのですが、どこも壊れていなかったので掃除だけしました。 中古品・ジャンク品の清掃には、いつも食器用洗剤に台所用漂白剤を混ぜて使っています。汚れがよく落ちますし、漂白剤のにおいで清潔になった「気が」します(笑)。 漂白剤を素手で使うと手が荒れるので、気にする人は手袋をしたほうが良いです。 約 10cmのユニットで、箱も小さいので音質はあまり期待していなかったのですが、低音も良く出て印象の良い音です。低音と高音の調整ボリュームも付いていました。 裏側 音声入力が2つあります。 入力は単純な切り替えではなく、ミキサーで混ぜて聞くことができるので、かなり便利です。もちろんバランスの調整もできますし、片方だけの音を聞くこともできます。 中身 アンプは TDA2616 でした。 消費電力は、無音時 7W、結構大きな音を出して 9Wくらい。いつも使っているデジタルアンプと比べると、もう少し省エネだといいなといったところ。

SDカードを使ったFDDエミュレーターを試作

イメージ
フロッピーディスクドライブの信号 を見てみて、フロッピーディスクドライブの互換品を自分で作れそうな気がしたので、MMC / SDカードを使ったフロッピーディスクドライブのエミュレーターを作ってみました。 回路図  H8S FDD EMULATOR20141022.pdf ソースコード  2144_FD_EMULATOR20141020.zip マイコンは H8S/2144 で、開発環境はルネサスのHEW無償版です。回路図、ソースコードはどのような用途にでも自由にお使いください。 作成途中ですが、MFMエンコードや CRCの計算は正しく動いていて、X1 turbo の OS LSX-Dodgers 上で 2D と 2HD 形式のファイルの読み取りが正常に動作しました。シークが遅いせいか IPLからの起動はまだできません。書き込みもできません。 フロッピーディスクのCRC計算や、MFMエンコードの資料はなかなか見つからないので、そのサンプル程度には役に立つんじゃないでしょうか。 今のところ、古いパソコンのエミュレータでよく使われている、D88形式のイメージファイルを使っていて、STEP信号が来るたびに D88ファイルからトラックのデータを読んで、CRCを計算して、MFMでエンコードしてバッファに書き込むという動作をしているのでシークに時間がかかっています。 クロックビットの分イメージファイルのサイズが 2倍になってしまいますが、CRCの計算とMFMのエンコードをあらかじめ済ませておいた、独自形式のイメージファイルを使って速くしたらいいんじゃないかなと考え中です。 はじめ、READ DATA 信号の生成は、タイマーで 1ビット期間 (クロックビットを入れると 2HD では 1Mbps) づつ割り込みをかけて、IOポートをソフトウェアで操作して行ってみたのですが、H8Sではまったく間に合わなかったので、SCI のクロック同期モードを使うようにしました。 クロックビットを含めると 1トラック分のバッファに 25Kバイトも必要になるので、外付けRAMのあるジャンクのマイコン基板を使ったのですが、秋月で 1個 360円の PIC32MX が SRAM を 32Kバイト内蔵しているので、これを使えば外付け部品無しで作れるかも。 ま...

にんにくを植えて、キャベツを食べた

イメージ
にんにくを植えました。 9月頭に植えようと思っていたのですが、天気が悪かったり、面倒くさかったりで10月になってしまいました。 畑のキャベツが大きくなってきたので食べました。味は普通。 もったいないので、外側の硬くて濃い緑色の部分も炒めたり茹でたりして食べてみたのですが、青臭くて美味しくありませんでした(笑)。

ジャンク品の灯油ストーブを購入

イメージ
ジャンク品の灯油ストーブを購入しました。1,198円+送料1,944円。 今までポータブルストーブを一つしか持っていなくて、家の 1階と 2階にいちいち持って歩かなくちゃならないのが面倒だったので、前からもう一つ欲しかったのです。 ホームセンターで 7,000円くらいで買える商品ですが、中古で安く買えて良かったです。 中にゴキブリとかがいたら嫌なので、分解清掃しました。 2011年製で、天板の焼け具合からほとんど使用されていないもののようです。 たまたま、右のいままで使っていた2008年製ストーブと同じメーカーで、暖房能力も同じものでした。年式が新しくなってコンパクトになっています。

BDS C のサンプル - CP/M のバージョンと TPA のサイズを表示

イメージ
>BDS C の使い方 - 目次 /* BDS C のサンプル OSのバージョンと TPA のサイズを表示する 2014年9月29日作成 */ #include <stdio.h> main() { short *TPA; short TPASIZE; short VER; TPA=0x0006; TPASIZE=*TPA-0x00FF-1; VER=bdos(0x0C,0); printf("CP/M Version 0x%04x\n",VER); printf("TOP OF MEMORY 0x%04x\n",*TPA-1); printf("TPA SIZE 0x%04x (%u) byte / %u kbyte\n",TPASIZE,TPASIZE,TPASIZE>>10); } CP/M エミュレーターで実行 >cpm mem\mem CP/M Version 0x0122 TOP OF MEMORY 0xFDFF TPA SIZE 0xFD00 (64768) byte / 63 kbyte > X1 で実行 MSX で実行 >BDS C の使い方 - 目次

ThinkPad E420 HDD交換

イメージ
2年半くらい、ほぼ電源入れっぱなしで使っていた ThinkPad E420 のハードディスクが壊れたので、新品のハードディスクに交換しました。 容量は 500GBくらいあれば十分なのですが、500GB が 5,000円くらい、1TB が 6,000円くらいと値段があまり変わらないので、1TB の ハードディスクを購入しました。2TB も 7,000円くらいとなかなか安かったのですが、あまり容量が多くてもバックアップに困るので、今回は 1TB です。SSD は 512GB で2万円を超えるくらいと、高価なので買えません。 Windows7 から アップグレード版の Windows8 → Windows8.1 へとOSを入れ替えて使用していたので、また Windows7 から順番にインストールしていかなきゃならないかな? と思っていたのですが、Windows8.1 までをクリーンインストールした直後のバックアップ (コントロールパネル - ファイル履歴 - (左下)システムイメージバックアップ) が残っていたので、20分くらいで Windows8.1 が使える状態まで復旧出来ました。 その後 Windows Update が終了するまで何時間もかかりましたが。 データのバックアップは毎週取っていたので、データの紛失はありませんでした。バックアップ大事。 今回はバックアップを取るのに異常に時間が掛かるようになって、なんだかおかしいなと気づいたのですが、ディスクのプロパティからエラーチェックを行ってもエラーが検出されないので、そのまま一ヶ月くらい使っていました。 イベントログを見てもエラーではなく警告レベル。 回復モードで chkdsk を実行すると不良クラスターが多発していました。 今まで使っていたハードディスク。 2年と7ヶ月で 23,023時間使って、電源投入回数 191回。平均 5日づつの連続稼働でした。

BDS C で X1 turbo の DMA を使ってみる

>BDS C の使い方 - 目次 BDS C の使い方 - SHARP X1 で使ってみる で作った IO16.CRL の out16 関数を使っています。 test.c /* BDS C で SHARP X1 の DMA を使うテスト 2014年9月20日作成 X1 G-RAM はI/O空間 0x2000 - 0x27FF テキストアトリビュート 0x3000 - 0x37FF テキスト 0x4000 - 0x7FFF B 0x8000 - 0xBFFF R 0xC000 - 0xFFFF G */ void main() { /* グラフィックパレット初期化 */ out16(0x1000,0xAA); /* 1010 1010 */ out16(0x1100,0xCC); /* 1100 1100 */ out16(0x1200,0xF0); /* 1111 0000 */ /* GRAMクリア */ dma_rset(); dma_vfil(0x4000, 0xC000, 0xAA); dma_enbl(); puts("hit key\n"); pause(); dma_vfil(0x4000, 0xC000, 0xFF); dma_enbl(); puts("hit key\n"); pause(); dma_vfil(0x4000, 0xC000, 0x55); dma_enbl(); puts("hit key\n"); pause(); dma_vfil(0x4000, 0xC000, 0x00); dma_enbl(); puts("hit key\n"); pause(); /* GRAM Bプレーン適当書き込み*/ dma_m2v(0x0000, 0x4000, 0x4000); dma_enbl(); dma_rset(); puts("hit key\n"); paus...

BDS C でコマンドライン引数を取得

>BDS C の使い方 - 目次 /* BDS C でコマンドライン引数を取得 普通のC言語と同じですね */ #include <stdio.h> main(argc, argv) int argc; char *argv[]; { short count; for(count=1; count!=argc; count++) { printf("%s ",argv[count]); } /* argv[0] (このプログラムの名前)は得られないようでした */ } > cpm cc test\argv BD Software C Compiler v1.60 (part I) 43K elbowroom BD Software C Compiler v1.60 (part II) 40K to spare > cpm clink test\argv BD Software C Linker v1.60 Last code address: 0E82 Externals start at 0E83, occupy 0006 bytes, last byte at 0E88 Top of memory: FDFF Stack space: EF77 Writing output... 51K link space remaining > cpm test\argv > cpm test\argv aaa bbb ccc aaa bbb ccc > cpm test\argv aaa bbb ccc 11 22 33 aaa bbb ccc 11 22 33 > >BDS C の使い方 - 目次