ページ

2025年7月29日火曜日

PiStorm install on Amiga

PISTORMとはRaspberry Piを使った68KCPU emulatorです。AMIGA専用というわけでもない様で、X68000などでも使用実績があるという話も聞き及びます。使用するRaspberry Piは"Raspberry Pi PICO 2 W"(Pi2W)です。PISTORMがサポートしているRaspberry Piは限られていますので、あらかじめ調査が必要です。AMIGA実機に組み込んだ場合に周囲と衝突しない事を考えるとやはり小さなRaspberry Piという選択になりました。以下、個人的な忘備録であり、あくまでも2025年段階の話ですので変わる可能性があります。

PISTORMを動作させるには目下、Emu68と今回のようなソースコードからコンパイルする2通りの方法があります。個人的な感想を述べれば、Emu68の方が簡単ですね。

PiStromに使うプログラムをソースコードからコンパイルするにはRasberry Pi OSが最近の物ではエラーを起こしてしまいます。 少し古い"BullsEye"でもエラーとなります。 もう少し古い"Buster" versionでないとコンパイルが通りませんでした。 "Buster"を入手するには以下を参照しました。
https://monomonotech.jp/kurage/memo/m211208_raspi_os_install_past.html
直接その場所も記しておきます。
https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2021-05-28/
からZIPファイルをダウンロードします。 ここは2021年5月版一択でして、同じ"BUSTER" versionでも古い物になると、エラーでコンパイルが通りません。

これをRaspberry Pi ImagerでSD cardに先ほどダウンロードしたZIPファイルを指定して書き込みます。

具体的にはCHOOSE OSで「カスタムイメージを使う」を選択してSD cardに書き込みします。
なお、その際にSSHとWiFiの設定は済ませておいた方が便利です。後でもそれらの設定はできるのですが、Pi2WにUSBキーボードを接続しないといけません。そのUSBケーブルもMicroUSB変換しないとPi2Wに接続できません。
Pi2WとPISTORMを2列のソケットで結合します。

そしてRaspberry Piの方に先ほど書き込みの終わったSD Cardを挿入してWindowsマシンとUSBケーブルで接続します。 あらかじめWiFiを設定しているとPi2Wはブート時に自動的にWiFiに接続されるのでSSHでホストマシンから操作できます。なおPi2WのIPアドレスを調べるには"Advanced_IP_Scanner"などを使うといいです。Windows10上のSSHクライアントはTeraTermを使いました。

Pi2Wにログインし以下の入力をします。

sudo apt-get update

sudo apt-get install git libsdl2-dev

git clone https://github.com/captain-amygdala/pistorm.git pistorm

cd pistorm

make

エラーが出ていなければ、"emulator"という実行ファイルができているはずです。

次にOPENOCDのINSTALL

sudo apt-get install openocd

OPENCDでは無くてOPENCOCDですので。これを勘違いして1月程悩みました。

その後

./flash.sh

ここでCPLDが見当たらないなどというエラーが出た場合はPi2WとPISTORMを接続するソケットがずれてないかを確認して下さい。ここでflashするのはPISTORM上のCPLDにファームウェアを書き込んでいるわけです。ここまでエラーを出さずに完了すると、AMIGAの実機のCPU68000と交換して使うことができるようになります。

sudo ./emulator

で動作するようなります。ただそれではAMIGAの起動時にPISTORMが起動しないので自動起動するように設定します。

sudo vim /etc/systemd/system/pistorm.service

に以下の内容を書き込みます。

[Unit]
Description=PiStorm emulator
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/home/pi/pistorm/emulator
WorkingDirectory=/home/pi/pistorm
[Install]
WantedBy=multi-user.target

ここまででも、エミュレーターとして動作するのですが、設定ファイル(default.cfg)に便利な設定をしてしてゆきます。ここでもかなり悩みました。まず、default.cfgがありません。それにはamiga.cfgというファイルがありますので、これをコピーします。

cp amiga.cfg default.cfg

この設定では同じディレクトリーにkick.romが無いといけないので、kickstartファイルを入手出来ない場合は、上記の設定内容を書き換えるか、設定してはいけません。 個人的にはAmigaForeverからkickstart ROMファイルを購入しました。AmigaForeverは、2025年6月頃に最新のアップデートがあったようで、最新版を入手しました。 ところがdefault.cfgを作ってからpistormがうまく動作しなくなりました。なので、その内容を調査してみました。すると

map type=rom address=0xF80000 size=0x80000 file=kick.rom ovl=0 id=kickstart

の行をコメントアウトして

#map type=rom address=0xF80000 size=0x80000 file=kick.rom ovl=0 id=kickstart

とするとpistormが動作するようになりました。

この行が何をしているかというとkick ROMファイルを参照して、OSを起動しようとしている箇所です。これで何日か悩みました。 でkick.romファイルが壊れているという結論になりました。そこで某所からダウンロードしたkickstart_2.0.romファイルなるものを使いました。 すると再びpitormが動作開始しました。なおPi2Wにkick.romファイルを転送するには初めてWinSCPを使いましたが、これは便利ですねぇ。 Pi2Wのpistormディレクトリに転送したkickstart_2.0.romファイルの名称をkick.romに変更します。

mv kickstart_2.0.rom kick.rom

ここで簡単にAmigaOSの説明をしますとkickstartというのはMS-DOSのようなものです。まあOSです。そしてその上に乗っかるのがWorkBenchです。これはMS-DOSの上に乗っかったWindowsという例えでしょうか。まあGUI-interfaceですね。でAmigaOSには世代がありまして、

最初のAmiga1000には
kickstart1.2
次の世代Amiga500,Amiga2000には
kickstar1.3

という具合です。ですのでAmiga500などが新しいOSを使おうとするとkickstart2.xなりのROMチップを海外から個人輸入しないといけませんでした。それを思うとネットからダウンロードしたファイルを使えるのですから便利になりました。

2025年7月24日木曜日

Amiga2000 motherboard repair

ジャンク品だというAmiga2000を手に入れた。筐体を開けてマザーボードを取り出してみると、案の定、電池の液漏れのため基板・CPUからKickROMにかけて青い飛沫が飛散していた。電源をオンにするとPowerLEDとFloppy DriveのLEDは点灯するものの、VIDEO OUTPUTは所謂"BLACK SCREEN"だった。
(1)電池の液漏れは酢で洗うといいのだそうだ。そこはそれとして、まずCPUとKICK ROM SOCKETのPINがひどく青くなっているので、2個のSOCKETをマザーボードから外して新品に交換した。そうそう、キーボード端子のDIN5PIN CONNECTORも青くなっていたので交換した。
(2)AMIGA2000の回路図を入手した。こういう事は回路図がないことには作業できない。海外製の古いコンピュータの回路図ってネットにおいてあるので助かりますが、日本の古いコンピュータの回路図ってネット上に無いのよね。マザーボード上の68000CPUから伸びる信号線の断線を確認してゆくと、次々と断線が判明した。
(3)断線をジャンパーで補修したので電源ON!。あ、"RED SCREEN"になった。その原因はCPUからKICK ROMに伸びる断線を一か所、補修し忘れていたためでした。これを治して電源ON!
(4)VIDEO OUTPUTは"WHITE SCREEN"になった。これは困りました。白は点検箇所がたくさんあるんですよ。数日間、考えていましたが、良くわからない。気分転換のつもりで電解コンデンサを新品に交換してみました。電源ON!
(5)VIDEO OUTPUTは"YELLOW SCREEN"になった。うーん。電池の液漏れで68000CPUが壊れたと思いました。そこで間に合わせに、以前、AMIGA500で設定していた68000 EMULATORのPISTORMを使ってみました。PISTORMを68000と交換して、電源ON!
(6)VIDEO OUTPUTは"GREEN SCREEN"になった。ここまで来るとdiagROMを使えばいいだろうと思ったのですが、これを注文すると1か月近く待たなくちゃならん。仕方なく主としてメモリー回路部分とにらめっこを続けたのだけど、断線は発見できなかった。ひょっとするとメモりーチップの故障かもしれん。メモリーチップはソケット使ってないからマザーボードから取り外すのが大変だ。数日間悩みながらぼんやりとマザーボードを眺めていたら、変なことに気が付きました。68KCPUの64PINの中で2箇所だけ半田がついてない。幾度か目を凝らして見直しましたが、間違い無い。高齢になると目がよくみえなくなるんですよね。これを補修して電源ON!
(7)VIDEO OUTPUTは"KICKSTART"になった。

2025年6月20日金曜日

Apple IIe Power supply explosion

前回、Apple IIe用の電源を修理して1週間。別の Apple IIe に電源を入れてFloppy Driveの動作テストをしていた時だ。いきなり「バチン」と大きな音がして火花が散った。そして嫌な臭いとともに白い煙がIIeから立ちのぼった。あわてて電源をオフにした。においは30分ほど漂っていただろう。
IIe から電源(PSU)を取り外してみた。
高圧側のRIFAコンデンサーが爆発していました。コンデンサー爆発の破片がPSU B OX内に飛散してました。ということでRIFAを取り換えて、ついでに電解コンデンサも交換してみました(Recap)。

2025年5月31日土曜日

Repair Astec Power Supply for Apple IIe

電源が入らなくなった Apple IIe を入手した。手持ちの IIe 用電源を接続してみると IIe は無事に起動した。 電源の故障に関してネットから情報を探してみると、そこそこの情報があった。
Apple IIe PSU : Apple II Astec Power Supply AA11040B
(1) AC 入力側の 0.1uF RIFA を交換する。 --->効果無し。電源出力はいずれの端子も 0V.
(2) 電解コンデンサーを新品の製品に交換する。--->効果あり。
ただし、電圧の出力端子の 12V には 1.5V, 5V には 1V しか出ていない。 それに電源基盤のどこからか知らないけれど「チッチッチッ」と音が断続的に響く。 この件に関しては C7 の交換が効果があったのだと思ってる。 ただ、このままでは電源として使えない。
●電解コンデンサーを新品に取り換えた
よく調べると L5 の頭部が一部焼け焦げていたので、てっきりこれが故障の原因かと思ったが、違った。
(3) D4,D5,D11 の交換。--->効果無し。
(4) D6 の交換。--->効果あり。
出力電圧は +12, +5, -12, -5V ともに正常となる。 それに「チッチッチッ」という音も消えた。 ただ D6 というパーツ探しに時間がかかった。整流器としての規格は D6:3A,50V なのだが、 適当な製品が見つけられなかったので、3A, 200V の製品 1N5417TR を使った。
●古いD6を取り去る前
●新しいD6を放熱板に差し込む
【参考】 (1)回路図とパーツリスト:https://bitsavers.org/pdf/apple/power_supply/Astec_Power_Supplies_Aug82.pdf

2015年11月16日月曜日

カーナビに求めるもの

(1) カーナビを使い始めたのは2008年頃だったかと記憶する。当時購入した車にディーラーオプションとして装着したのだ。購入して数ヶ月もしない頃、タッチパネルの一部に押さえても反応しない箇所がある事に気がついた。しかし、当時はタッチパネルはそんなものだろうと思っていた。しかし反応しない領域は確実に広がり続け3年もするとタッチパネルの四分の一近くが虫食い状に無反応となった。そうなるとさすがに地名検索にも事欠くのでディーラーで相談したら、壊れかけてますね、との事。

(2) そのカーナビを購入して最初に検索した地名は出雲大社だった。しかし出雲大社の登録が無いのだ。「いずもたいしゃ」の登録すらなかったのだ。世界に冠たる車メイカーがこんな製品を装着させるという事実が不信感の芽になってしまった。結局、三度道を間違いつつも目的地に辿り着けたのだけれど。

(3) その1年後、九州の山の中で道に迷わされてしまった。一周4KM程の周回路を三回ほど走っていれば、何か変だと気がつきます。カーナビの指示に従わないようにしてやっと脱出できた。

(4) その2年後、大阪へ出かけた時、関西国際空港へ行ってみようと高速道路をひた走っていた。ところがカーナビが高速道路を降りろと何度も繰り返す。変だなぁと思いつつも、高速道路を降りたら、今度は道のない方角へ行けと指示を出す。ゆっくり走行していればカーナビが案内してくれるだろうと思っていたら、カーナビが黙り込んでしまった。仕方なくカーナビ抜きで高速道路方向へ向かっていたら運良く合流できた。勝手なもので、高速道路入口が見えた頃になってカーナビが案内を再開した。

(5) 神戸市内の一般道路から西へ向かおうと阪神高速に乗ろうとした。しかしカーナビは北へ向かえの一点張り。最寄りの阪神高速入口を探そうとしても車が動いている時にカーナビは操作できないし、いつの間にやら六甲山の北側まで出てしまった。どうやらカーナビは無理矢理でも山陽自動車道まで案内するつもりらしい。

●こんなお馬鹿な目に何度か遭いカーナビを新しい製品にした。古いカーナビは交換時にたたき壊して下さいと言っておいた。新しいカーナビを選ぶ際に幾つかの条件を課した。(4)の事例から二階建ての道路を走行していてもどの階を走行しているのか判断できる能力。あの件は一体何が悪かったのかさっぱり分からなかったけど、冷静に考えてみれば、カーナビが二階道路を走行している時に一階道路を走行していると判断し、一般道路を走行している時に高速道路を走行していると判断したのだろうと見当がついた。(5)の事例から最寄りの高速道路のICを表示でき、どのICへ行くか選択できる機能。もっとも最近のカーナビならこの機能が付いている製品が多いみたいです。さらに、出来れば車の走行中でも目的地の検索や変更ができる機能(助手席からね)。

2015年9月13日日曜日

MacOSX86でHDDをパーテションしたら

MacOSX86でMountainLion(OSX 10.8)を運用してました。ある時うっかりとiTunesのアップデートをやっちゃいました。その直後から

boot0:GPT
boot0:test
......
boot0:boot1h?

でストップするようになりました。HDDデータは無事でしたので、一旦別のHDDに全てのデータを移してから該当のHDDをディスクユーティリティーを使ってパーテション(フォーマット)してシステムを再インストール・MultiBeastインストール・4TBのHDDでも起動可能なようにboot loaderを書き換えて修復完成のはずでした。でも駄目だったんです。同じ箇所でストップするのです。

どうやらパーテションが同一の物だとEFIエリアの書き換えまでやってくれないようです。確実にEFIを新規にするにはHDDのパーテションを1から2にした後で再度1に戻してやればよかろうと思い至りました。そこでディスクユーティリティーを使ってパーティションを2個(2TB+2TB=4TB)にしました。そこまではよかったんですがパーティションを2個から1個にする事ができません。パーティションマップは表示できるもののパーティションを変更するためのタブやボタンがグレイに変わって一切の入力を受け付けてくれません。ディスクユーティリティーって結構オバカだったみたいです。

仕方が無いのでterminalでdiskutilコマンドを使う事にしました。使い方のキモは本家アップルのサイトに簡単な説明があります。

https://support.apple.com/kb/PH8292?locale=ja_JP&viewlocale=ja_JP

ですが若干の補足があったほうがいいようです。以下はその補足です。



ターゲットのHDDはMountainLionX86です。デスクトップ上には"MountainLionX86"と"MountainLionX86 2"の2個しか表示されていませんが、実際は3個のパーティション、ここではdisk0,disk2,disk3に分割されています。



disk0から消去しようとしましたがデスクトップ上に表示されていないのにunmountしないと駄目みたい。
diskutil unmount /dev/disk0
とやったら、ディスクを丸ごとunmountするにはunmountでは無くunmountDiskコマンドを使えとの事。
diskutil unmountDisk /dev/disk0
で無事にアンマウント完了。すぐに
diskutil eraseDisk JournaledHFS+ MacProHD GPTFormat disk0
で消去できるのかと思ったらエラー。



ひょっとしてdisk2,disk3を先に消去しておかなければ駄目なのかと、早速消去。でもpartition mapが無いから消去できないとつれない返事。



実際のところdisk2,disk3はunmountDiskだけでOK。後はdisk0の消去でパーティションは1個に戻す事ができました。

このHDDにシステムを再々度インストール・MultiBeastインストール・4TBのHDDでも起動可能なようにboot loaderを書き換えて修復完成となりました。

2015年8月31日月曜日

副虹が写らなかった

久しぶりに虹を見かけたのでぼんやりと眺めていると、主虹の上に薄らと副虹が見えるではないですか。急いで写真を撮ってみたのですが、どのように工夫しても副虹見えないですね。残念です。