Apple II Plus クローン機が手に入りました(ジョイスティック修理完了)

Apple II Clone 機本体も一通り動くようになって、ちょっと遊んでみようかといくつかゲームを動かしてみたところ、ジョイスティックの反応がおかしいことに気づきました。スティックを上下左右に振っても、ソフトの反応が均等な感じではなく特定の方向にやけにキレがあるというバランス悪い状況。

分解してみたところ、RV24 の可変抵抗に半固定抵抗をつけて調整するような感じの配線になっていました。

Apple II 本体はジョイスティックの入力に 558(Quad 555)タイマIC を使用していて、ジョイスティックの抵抗を経由してきた電流がそれぞれ C8/C5 に貯まると QA/QD が ON になります。555 と違うのはコンパレータの基準電圧は VCC の 1/2 です。ジョイスティックの抵抗値で発振周波数が変わり出力端子の ON/OFF のサイクルが決まりますが、その状態を H14(74LS251) が頻繁に各端子の ON/OFF 状態を取得してマイコン側に返しています。

では、その 558 に最適な抵抗値はなんぼ?と検索をかけたら回路がでてきました。150kΩ の可変抵抗でいけるようです。

抵抗を交換するべく全バラにしました。古い RV24 抵抗を見ると 500k と書いてあります。回すと一個はカーボン抵抗、もう一個は巻き線抵抗のようなゴリゴリ感。抵抗を測ると一個は500kΩ でもう一個は 1MΩ です。抵抗値の違いは目を瞑るとして、なんでこんなに大きな抵抗値が必要か? ジョイスティックの場合はスティックを左右一杯に振っても40°くらいの角度しか回りません。でも普通の可変抵抗の回転角は 280° くらい回ります。なのでジョイスティックの振れる角度で 150kΩの変化を持たせようと思ったら、 280/40 = 7倍 となって 150k × 7 = 約1MΩ の可変抵抗を使わないとだめということになります。
ということで、1MΩの抵抗を買って付け替えをします。


プラスチックの割れなどがあったので、接着剤+結束バンドの応急処置などしながら組み上げ。200k の調整用半固定抵抗もなくし、配線間間違いも直して問題なく使用できるようになりました。これで、ジョイスティックの調整は完了です。

抵抗を買ったついでに8方向コントローラも買ったので、この辺は暇なときにやりたいと思います。また、ジョイスティックの接続に Dsub 25ピンのコネクタを使っているのですが、 Dsub 9ピン変更対応もそのうちやるタスクに積んどきます。

Apple II Plus クローン機が手に入りました(本体修理完了)

入手できる TTL(74LS) が届きましたので、張り替えていきます。

apple_2_repair_1982.pdf
W. Gayler – The Apple II Circuit Description.pdf

の資料を参考に交換実施。HIRES or LORES Problem と Wrong Page or Video Mode の部位を交換して、グラフィック描画がおかしい事象は収まりました。あとは、ピンの腐食が激しく足がちぎれたチップや、腐食が進んで駄目になりそうなものもセットで交換。

ゲームを起動してみて、問題ないレベルで画面を見られるようになりました。


本体ケースに戻します。スピーカーは手持ちのものと交換、電源・キーボード・メインボードを組み付けて完成であります。

ゲームパッドもセンター調整も行い、組みあがったところ。
フロッピードライブは1台回転しない状態なのであきらめました。全く回転しないというか、モーターが回ろうとしても5インチメディアの摩擦にまけて回転できない感じです。もう一台は動くので一応本体に接続しています。フロッピーメディアへの初期化と書き込みは行けてるんで多分大丈夫かなぁ。回転数調整をしないと駄目なような気もしますが、いまさら5インチメディアを他人に渡すこともないので、フロッピードライブいじりはしない予定。

もうちょい簡単にリペア完了するかなと思っていましたが、四捨五入して約40年前の機材。やはり経年劣化には勝てなかったというところでしょうか。基板にダメージなかったのが幸いです。

Apple II Plus クローン機が手に入りました(テキストモード OK)

Apple II Clone 機のリペア作業はまだ頓挫していません Hi

電源は DigiKey で買った中華スイッチング電源に置き換えしました。+5V, +12V, -5V, -12V の 4出力電源です。5V に電流流さないと電圧が出ないタイプです。電圧調整は 5V の半固定抵抗だけで他の電圧も連動して変化するタイプ。 +12V が 12.8V と高めでしたが、個別に調整できないためこのまま 5V 調整ちょっと低めに設定にしてなんとか行けるでしょうというところ。


電源のリップルが減ったのでコンポジット出力の水平同期、垂直同期の信号も見やすくなりました。

次は、居間のテレビではまともに画面表示できず今後の調整が困難なため、なんとか画面表示するべくあれこれ試行錯誤。

FPGA ボードのアナログ入力 → RGB 変換はダメでした。ADV7180 というビデオ信号をデータに変換してくれる石が乗っているのですが、データシートを見るとインターレースにしか対応していませんでした。Apple II のコンポジット出力はノンインターレースなのでモニタ探しにヤフオクへ

ヤフオクで見つけたのが SONY BVM-9045QD という 9インチモニタで 3000円(税抜き)でした。これならいけるんちゃうか?ということで早速入札。多量に出品されているので競合もなく落札です。ちゃんと同期も取れてテキストモード(モノクロモード)はばっちり表示できました。

次の問題は DOS が起動しない問題です。DOS の起動中にリブートがかかってしまいます。メインメモリがおかしいのは確実。4116 DRAM を 1 列ずらして起動できるか確認した結果 DOS の起動に成功。早速 DIAG ツールで RAM テストを実施。テストの結果やはり RAM テストでエラーがでました。画面では D5 のロケーションにあるチップが駄目と出ていますが、一個だけ交換してもエラーになったので仕方なく、 4116 8個(1列)丸ごと交換して RAM テスト OK を確認。

次はグラフィックモードの確認。というのはゲームを起動すると妙に画面が見にくい。やっぱおかしいということで、BASIC で横線を描画させてみました。その結果、画面の左に怪しい青の線が出たり、横線を数ピクセルおきに描画させても等間隔で表示されていません。DRAM から読み出すロジック部分でエラっているようです。このあたりになると TTL 張替えで対応することになります。Apple II で使用している TTL のほとんどは 74LS なのでまだ入手可能です。一部 74S もあってこっちは入手困難。今日 74LS のパーツは届く予定なので、描画データ読み出しに関連しそうなところを交換してみたいと思います。

Apple II Plus クローン機が手に入りました(電源確認・基板掃除着手)

Apple II クローンのリペアを少しづつやっていきたいと思います。

・家庭用テレビのコンポジット入力は画面表示可能(画面の水平位置のずれはあるけど表示できてる)
・スキャンコンバータではコンポジット信号認識できない
という症状がでているため、ちょっと信号見てみるかと準備。


電源投入して、プロンプトのカーソルが点滅してるだけの状態で水平と垂直同期の信号を観察。オシロの描画がモワっとなっていました。映像出力は手前のロジック回路から出力された信号を抵抗で合成して、エミッタフォロワを通して出力する回路です。5V の電源にスイッチングノイズなど乗っているとこういう表示結果となってしまうかも知れません。つことで、やっぱ避けて通れない電源チェックへ。

電源ユニットをばらして、目視確認では目立った焼けや膨らんだコンデンサはなし。ケミコンの容量抜けくらいしかない状態。ということで 5V の測定

電源の端子部分で測ってこの状態でした。安定稼働のためには手を打つ必要ありです。バラしてコンデンサ貼り換えは地味にめんどくさいので、何か適当な電源が無いか捜索開始。
必要な電源仕様は以下のとおり

+5V 4.0A
-5V 0.25A
+12V 1.0A
-12V 0.25A

最初思いついたのは組立 PC に使う ATX 電源です。なんといってもどこでも買えるし出力も大きい。ただし、-5V の出力が無いので追加の工作が必要なのと、大きさが合わないのでケースに入らないことが判明。諦めてスイッチング電源を探すことになりました。
国内ショップで入手しやすいスイッチング電源は TDKラムダ、コーセル、サンケンあたりですが、カバー付き・端子台タイプだと 3 出力となって 4 出力タイプがなかなか見つからない。国内ショップは諦めて海外ショップでも探します。 Mouser で検索してもそれっぽいのが引っ掛からず、最後に Digikey で 4 出力タイプをみつけました。85W と 100W とありましたが、電源本体の大きさは今より一回り小さくなります。どちらもお値段も5000円以下と ATX 電源よりもお安い感じでしたので、100W タイプをポチっとなしました。
Digikey お買い物が水曜日の夜だったので、金曜日通関いければ速攻で宅配業者委託するよう依頼して土曜日入手できる可能性はあります。が、最悪月曜配達の予定となります。

電源来るまでの間は基板の掃除をしようと、土ぼこりを少しづつ拭っていったところです。残っている部分はありますが、だいぶキレイになってきました。

DIP の足が真っ黒に酸化しているのもありますが、これもおいおい IC のピンをこすって磨きたいと思います。

メインボードの汚れがマシになったので、クリーナーとブラシ掛けで残りの掃除をしたいと思います。

Apple II Plus クローン機が手に入りました

細かい経緯は省きますが、ハードオフにジャンクで持っていかれる予定の Apple II Plus コンパチマシンを引き取ってまいりました。

ケースもそれっぽいケースに入っています。ロゴもそれっぽいのが貼ってあります。

ケースの蓋を取って基板を見たところです。電源とメインボードとフロッピーインタフェースの基板が見えます。4116 の DRAM が 3 列入っているので 48k システムでした。



電源スイッチがこわれているので、コンセントの抜き差しで電源は ON/OFF します。Apple II の映像出力はNTSCコンポジット出力ですが、ftpサイトや掲示板を見ると仕様に近しい信号が出るらしいです。アマゾンでコンポジット → HDMI アップスキャンコンバーターが 2000円ほどであったので購入し本体+コンバータ+液晶モニタ構成としようしたところ、スキャンコンバーターから「信号ありません」の悲しいメッセージ。ケーブルをテレビにつなぎ変えて、基板上の出力調整の半固定抵抗をまわしてぎりぎり映るところまできた状態。
テレビのほうが頑張って表示したる! みたいな状態。電源電圧からチェックしていかないといけませんが、クロックタイミングが微妙な感じです。ついでに、ギャラクシアンは画面にゴミもでるので、安定稼働状態からはランク下がってる状態。まぁ 30年以上前に販売された組み立てキットを組んだブツなので、このへんはやむを得ないというとこですかね。

ということで、掃除セットを買ってまいりました。

・電源電圧のチェック、リップルの具合確認
・クロック周波数確認
・コンポジット出力のRCA 端子を接点ブライトで綺麗にする。
・基板のホコリ除去(IC抜き差し)
・拡張カードスロットにリレークリーナー吹いて清掃
・目視でわかるハンダ割れなどは都度手当
・キーボードの文字入力チェック
は直近で実施してみたいところです。

・フロッピードライブの掃除
・ICソケット、IC の足磨き(するか未定)
・カセットテープ用 3.5mmジャックの掃除方法は検討する
は、動いてしまえばええかなレベルの優先度

花粉症がつらい時期なので、この手の掃除は余裕あるときにする予定。この記事が更新されなくなったときは、壊してしまいよったな。と思ってください Hi

WordPress の新テーマ Twenty Fifteen のカスタマイズメモ

WordPress のバージョンが上がって Twenty Fifteen というテーマが追加されました。今までは Twenty Fourteen を使っていて Futured タグ付けた記事は Blog 画面の先頭に表示されたりして、これはこれで良いテーマでしたが、最近 Futured タグ付けられる記事がなかなか書けない状況のためシンプルな表示スタイルの Twenty Fifteen に切り替えしました。

WordPress のテーマをそのまま日本語で使うとフォントの指定が無視されるわけでして、大抵「明朝体」のやたら大きな文字とかで表示されて、なんじゃこりゃ状態になります。英語などでは serif sans-serif など使い分けで綺麗なページになるのでしょうけど、日本語でページ作ると地味に中途半端な感じになります。とりあえず、今日時点のカスタムCSSをメモでのこしておきます。

まだ、明朝体で表示されてしまうところは残っていますが、あらかた修正した状態のものです。なお、サイドバーとコンテンツエリアの幅調整は難しくて手を出していません。

@import  "http://fonts.googleapis.com/earlyaccess/notosansjapanese.css";

/*
カスタム CSS へようこそ!

CSS (カスケーディングスタイルシート)
は、ブラウザに対し Web
ページの表示方法を指定するためのコードです。このコメントを削除し、カスタマイズを始めることができます。

デフォルトでは、ここで指定したカスタムスタイルはテーマのスタイルシートが読み込まれた後に追加されます。つまり、デフォルトの
CSS
ルールを上書きできるということです。テーマのスタイルシートの内容をここにコピーする必要はありません。追加したい内容だけを書き込んでください。
*/
body {
	font-family: 'Noto Sans Japanese', serif;
}

input, textarea {
	font-family: 'Noto Sans Japanese', serif;
}

.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form input[type="submit"],textarea {
	font-size: 80%;
}

.page-title, .comments-title, .comment-reply-title, .post-navigation .post-title {
	font-size: 2.1rem;
	line-height: 1;
	font-family: 'Noto Sans Japanese', serif;
}

.entry-title {
	font-size: 125%;
}

.entry-content {
	font-size: 90%;
}

.widget-title {
	font-size: 100%;
}

.widget li {
	font-size: 95%;
}

.textwidget {
	font-size: 95%;
}

.widget_rss .rsswidget {
	border: 0 none;
	font-weight: 700;
	font-size: 90%;
}

.rss-date {
	font-size: 80%;
}

input.skuquantity {
	width: 10em;
}

Microsoft Surceface pro 3 イヤホン出力からのノイズ

2014-12-07 10.37.30

イヤホン出力端子から、Heartbeat もしくは popping といわれるノイズが発生します。英語のサイトにあった、
・windows update をする
・音量UP + 電源ボタンを20秒くらい押す
・それでもダメなら surface をリカバリする
というのをやってみましたが、現象改善しません。
よくわからないので、イヤホン端子に IC レコーダー付けて録音


(20秒あたりから鳴りはじめます)

サポートに質問してみた結果、Chrome で動画再生したあとに発生して、 IE で動画再生したあとには発生しないところまで切り分けして、サポート殿とのチャットは終わりにしました。

その後の確認で Chrome を起動してしばらく放置でも発生する。Firefox は、動画再生後ブラウザバックしてflashplayer 起動していない状態で発生するが、firefox を終了させるとノイズは止まる。ノイズが鳴っていても、IE を起動すると停止する。とまぁ、地味にめんどくさい発生の仕方です。当面は IE で動画サイト見るのが回避策になるかも。
あとは、安い USB オーディオインタフェースつけてそっちのヘッドホン出力で聞くか。

感覚的には、アンプのスイッチ ON/OFF のようなポップノイズのような音が聞こえたりするので、サウンドデバイスのオープン・クローズに伴う電源制御?電子ボリュームとか?などなど。よーわかりへんなぁという感想。

LS-500GL という古い NAS の掃除

2013-12-14 09.40.41

数日前に量販店に NAS 見にいったら、いろんな機能が増えて容量もテラバイト単位で Raid あたりまえ、という品ばかりで地味にお高い存在に。ということで、この日は古くからある Buffalo の LS-500GL の掃除と電源電圧チェックして、まだ使えそうかの点検。

電源は一回交換しているのでそうそう壊れられてはたまりません。結果、膨らんでるコンデンサは無し。電圧も、稼動時 5.1V と 11.8V なのでいいでしょう。ホコリを払って箱に戻しました。以前 NAS なしでなんとかるかと外してしばらく使ってませんでした。完全初期化とフォーマットしてからまた使うことにします。でも、あたらしいのはもう少し値段調べてから買います。

Raspberry Pi に USB 外付けディスク接続時の電源について少し確認

2013-12-14 09.10.14

Raspberry Pi 単体(Type B)では、 5V / 700 ~ 1200mA 使うと FAQ に書かれています。また USB 接続の電源供給も追加で必要です。今回は 5V/2A の AC アダプタから電源供給した状態で、外付け USB HDD 接続が大丈夫か確認します。

測定する理由は、Raspberry Pi の電源入力に使っている Micro タイプの USB コネクタにはポリスイッチが付いてます。USB 機器にたくさん電流流れた場合の機器保護のためヒューズの役割りをします。ここで、どれだけ電圧下るかの確認。

USB コネクタ(AC アダプタ)の電圧は 5.04V で、ポリスイッチ経由後の電圧は 4.7V にまで下っていました。USB HDD は電源が入った状態ですが、特にアクセスなどは発生させていない状態です。その後 4.84V 程度の数値になり、USB HDD 抜去で 4.96V くらいです。CPU は 5V から作られた 3.3V 2.5V 1.8V などの電源で動きますが、電流増加に伴なうポリスイッチの電圧降下でマイコンの電源供給も不安定になる可能性が無いとはいいきれません。また直接 5V 供給する USB 機器も動作不安定になる可能性はあります。

外付け USB HDD などを接続する場合は、電源供給はマイクロ USB コネクタからでは無く、ヘッダピンの 5V ピンに直接印加するのが良いようです。

肝心の USB HDD は一昔前の Linux と違い、ExFAT でフォーマットしてたものも一発で認識。本当何もしなくても動きますわ

Dec 13 09:41:19 raspberrypi kernel: [ 2.931728] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
Dec 13 09:41:19 raspberrypi kernel: [ 3.052103] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
Dec 13 09:41:19 raspberrypi kernel: [ 3.060533] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Dec 13 09:41:19 raspberrypi kernel: [ 3.072235] smsc95xx v1.0.4
Dec 13 09:41:19 raspberrypi kernel: [ 3.136671] smsc95xx 1-1.1:1.0: eth0: register ‘smsc95xx’ at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:1a:39:2e
Dec 13 09:41:19 raspberrypi kernel: [ 3.231759] usb 1-1.3: new high-speed USB device number 4 using dwc_otg
Dec 13 09:41:19 raspberrypi kernel: [ 3.356719] usb 1-1.3: New USB device found, idVendor=1759, idProduct=5000
Dec 13 09:41:19 raspberrypi kernel: [ 3.365777] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 13 09:41:19 raspberrypi kernel: [ 3.374751] usb 1-1.3: Product: MassStorage Device
Dec 13 09:41:19 raspberrypi kernel: [ 3.381050] usb 1-1.3: Manufacturer: USB 3.0
Dec 13 09:41:19 raspberrypi kernel: [ 3.386824] usb 1-1.3: SerialNumber: 57RHT0PXT
Dec 13 09:41:19 raspberrypi kernel: [ 3.402229] scsi0 : usb-storage 1-1.3:1.0
Dec 13 09:41:19 raspberrypi kernel: [ 4.402986] scsi 0:0:0:0: Direct-Access TOSHIBA MK1637GSX 0100 PQ: 0 ANSI: 4
Dec 13 09:41:19 raspberrypi kernel: [ 4.416455] sd 0:0:0:0: [sda] 312581808 512-byte logical blocks: (160 GB/149 GiB)
Dec 13 09:41:19 raspberrypi kernel: [ 4.452626] sd 0:0:0:0: [sda] Write Protect is off
Dec 13 09:41:19 raspberrypi kernel: [ 4.469293] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
Dec 13 09:41:19 raspberrypi kernel: [ 4.470619] sd 0:0:0:0: [sda] No Caching mode page present
Dec 13 09:41:19 raspberrypi kernel: [ 4.485990] sd 0:0:0:0: [sda] Assuming drive cache: write through
Dec 13 09:41:19 raspberrypi kernel: [ 4.509502] sd 0:0:0:0: [sda] No Caching mode page present
Dec 13 09:41:19 raspberrypi kernel: [ 4.527791] sd 0:0:0:0: [sda] Assuming drive cache: write through
Dec 13 09:41:19 raspberrypi kernel: [ 4.547532] sda: sda1
Dec 13 09:41:19 raspberrypi kernel: [ 4.563232] sd 0:0:0:0: [sda] No Caching mode page present
Dec 13 09:41:19 raspberrypi kernel: [ 4.570299] sd 0:0:0:0: [sda] Assuming drive cache: write through
Dec 13 09:41:19 raspberrypi kernel: [ 4.596509] sd 0:0:0:0: [sda] Attached SCSI disk

root@raspberrypi:/home/pi# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3a3764b0

Device Boot Start End Blocks Id System
/dev/sda1 8 312581807 156290900 7 HPFS/NTFS/exFAT

Command (m for help): q

Raspberry Pi の IP アドレスを DHCP から固定に変更

2013-12-13 09.14.40

Raspberry Pi の Ethernet のデフォルトは DHCP でアドレス取得ですが、家の光ルーターの DHCP サーバーには、払出しするアドレス範囲の設定はありますが、MAC アドレスで IP アドレス割り当てるという機能がありません。

ということで、Raspbrry pi 側のネットワーク設定用のファイルを DHCP の設定から固定 IP の設定に変更します。Linux なので /etc/network/interfaces の修正です。

pi@raspberrypi:~$ sudo bash
root@raspberrypi:/home/pi# cd /etc/network/
root@raspberrypi:/etc/network# vi interfaces

---------------------------------------------------------------------------------
auto lo

iface lo inet loopback

#iface eth0 inet dhcp  ← dhcp の行をコメントにして、static の設定を追加
iface eth0 inet static
address 192.168.24.188
netmask 255.255.255.0
gateway 192.168.24.1
network 192.168.24.0
broadcast 192.168.24.255

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
~
~
~
~
~
~
~
"interfaces" 16 lines, 308 characters
---------------------------------------------------------------------------------

root@raspberrypi:/etc/network# reboot     ← 編集おわったらリブート

2013-12-13 09.33.23

有線 LAN の接続出来る場所が居間の光回線設備付近のみなので、5V の電源確保次第ここらへんにポン置きしとく予定。なにもひらめかなかったら USB HDD 差して簡易 SAMBA サーバーになってしまう予定。これで Si4735 ラジオモジュール i2c 制御もいいですかねぇ。