2020年6月27日土曜日

XPAC2のROMアップデート

パソピア7/700の個体によって、XPAC2のデータ化けが発生する現象が報告されました。
前回紹介した対策で改善できたと報告を受けましたので、次回から出荷するXPAC2からは、この対策ROMに切り替えていきます。

既にXPAC2を購入された方でAVR ROMライターをお持ちの方は、以下の手順でROMをアップデートできます。

XPAC2の右下にある大きなICがAVRマイコン(ATmega1284P)です。
Flashメモリ128KB、EEPROM 4KBを持っています。

XPAC2は、SDカードを使ってFlashメモリの一部とEEPROMのデータを書き換えできますが、Flashメモリの本体プログラムを書き換えることはできません。
本体プログラムを書き換える場合、AVRマイコンを取り外してデータを書き込む必要があります。

データを書き換えると漢字ROMデータが消えますので、書き換えた後にもう一度漢字ROMデータを登録し直してください。
MRAMデータは残るはずですが、念のためにSDカードなどに保存するのが良いと思います

まず、ATmega1284Pを取り外します。
マイナス精密ドライバーかピンセットを使って、左右から少しずつチップを浮かします

一気にこじるとチップの足が曲がるので、1mmぐらいずつ徐々に左右で浮かせて外します
まわりのICに触れると故障の原因になりますので、注意して取り外してください。(特に表面実装のICは危険です...)

取り外すと、こんなかんじです

AVRマイコンへのROMデータ書き込みですが、自分はAVR Dragonを使っています。

書き込むソフトはAtmel Studio 7.0にあるDevice Programmingツールを使いました。
ライブラリのビルドまわりでトラブったのでビルド環境はAtmel Studio 6.0に戻しましたが、Atmel Studio 6.0のAVR Dragon用ドライバが古いらしく、Windows10 64bit環境だとしばらくすると「USB driver initialization failed: No valid license (0x20000009).」というエラーが出て使えなくなります。デバイスへの書き込みは、正式にWindows10をサポートしているAtmel Studio 7.0を使うことにします。
メニューのTools→Device Programmingから、Device Programmingツールを起動

以下から対策済みのFlashイメージとEEPROMイメージをダウンロード。
Flashイメージ(2020/06/14版)
EEPROMイメージ(2020/06/06版)

ダウンロードしたFlashとEEPROMファイルのパスを指定して、それぞれProgramを実行。
書き込みミスもあるのでVerifyはしておいた方が良いです。
何度も書き込みが失敗する場合は、ISP Clockを落とすとうまくいくことがあります。

Fuse設定やLock bits設定は変更しないでください。
万が一変更してしまった場合、以下のように戻してください
Lock Bit:0xFF
Extended:0xFC
High:0xD8
Low:0xF7

書き込みに成功したら、XPAC2のソケットにATmega1284Pを戻します。
ソケットにさす時には、向きに注意してください。
ATmega1284Pチップ表面に窪みがある方が左側です。
基板シルクやソケットにも同じ窪みがあるので、迷ったら思い出してください...


もし似たような症状で困っている人がいましたら、対策ROMお試しください。
ただ、ROM書き込みデバイスを持っていない人はどうしましょうか...
ヤフオクには書き込み代行サービスもあるようですが、試したことがないので...

0 件のコメント:

コメントを投稿