月別アーカイブ: 2013年3月

カーナビ地図データ更新

パナのストラーダを使ってますが、地図データが2004年のものでした。たいていのところは問題ないですが、うちのナビは2012年が最終版らしいので、アップデートすることにしました。今の車もまだ乗るだろうし、新しく買うより壊れるまで使いたいですし、配線もコンピュータから出てる走行速度を取るためのコードも付け替えは面倒ですからお手軽に最新にできるアップデートを選んだわけです。
一体型のでもいいのでしょうけど、どうせつけるならちゃんとしたのがいいですし。まあ、いろいろと考えると手軽で一番よさそうなのって事で。

ネット上だと在庫を抱えてるところは高い(2万近くする。これなら買い替えしたほうがいい)メーカー取り寄せだと安く済ませられるので時間を犠牲にして入手することにしました。最初のショップは納期がかなり遅く、一週間程度で状態報告もしないのでキャンセルに。次に見つけたショップは注文したらすぐに納期を連絡してくれて、予定通り到着しました。最初からこちらを選んでれば先週には更新できたのですけど手を抜くショップはダメだね。

アップデートは新DVDを挿入したら自動で行われました。明日は遠出しなければならないのでちょうどよかったです。2012年ならいろいろと工事で道が変わってるのも対応できてるだろうし間に合ってよかった。

ベーマガ打ち込み

88年7月号まで終わった。さすがに出来がいいのが少なくなってる感じが。PCの処理性能の限界があるのでそれを見越した設計だといいものになってる感じかな。
8月号にマシン語で4KB程度あるプログラムを打ち込み中。BASICでマシン語部分を作成するプログラムと本体のBASICプログラムの2本構成。ダンプリスト形式じゃないですが、BASICで書かれてても4KB程度あると打ち込みに時間がかかりそうです。DATAの中身が10進数だと楽ですけど、16進数だとどうも時間がかかる。

MAMEのコンパイル方法

模索してたどり着く方がいるので書いておきます。
1.コンパイラ、ツールのインストール先を決める
C:\MinGWなどのコンパイラをインストールするフォルダを作成します。

2.コンパイラのダウンロード
本家のDevelopment Tools(http://www.mamedev.org/tools/)からコンパイラへのリンクをクリックしてダウンロードします。32ビット版なら、The Easy Wayの方を利用します。64ビット版もこちらのものでOKです。64ビット版で、コンパイラ、ツール、ライブラリをそれぞれインストールしたいなら、The Hard Wayの方のリンクを選んでダウンロードします。

3.コンパイラを展開
1で作成したフォルダに展開します。The Easy Wayのものなら、これでコンパイラのインストールは完了です。The Hard Wayの方は、コンパイラに続いて、ツールを先に展開したコンパイラのbinフォルダへ入れてしまいます。SDLライブラリはbin、include、libへそれぞれ入れます。

4.環境変数を変更
システムのプロパティ内の詳細タブ内にある環境変数ボタンを押して変更します。上段のユーザー環境変数にPathが存在しなければ新規追加を、あれば変更します。システムPathの後へ追加すればいいので、ユーザー環境変数へは1で作成したフォルダ内のbinを含むパス名を指定します。ちなみに、システム側へ追加すればすべてのユーザーへ適用されます。
これで、コマンドプロンプトを開いて、「gcc」打ち込んで実行すると

gcc: fatal error: no input files
compilation terminated.

と表示されればOKです。

‘gcc’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

こんな表示の場合は設定が間違ってます。

5.MAMEソースのダウンロード
最新版をダウンロードします。過去のバージョンは検索すれば保管しているサイトが見つかるでしょう。

6.ソースを展開
展開するフォルダを作成し、ソースを展開します。コンパイルはこのフォルダで行いますので、わかりやすいフォルダ名にするといいでしょう。最新版のアップデート(~u1とか)のコンパイルは、元のソースへパッチを適用してコンパイルとなります。「diff ダウンロードしたdiffファイル」で適用します。
また、MAMEUIとかGUI対応のMAMEも、オリジナルを展開し、そこに上書きでGUI対応のものを展開します。

7.コンパイル
コマンドプロンプトを開いて、6で展開したフォルダへ移動します。コマンドプロンプトを開くとプロンプトが表示されて入力待ちになりますが、プロンプトの先頭に現在のフォルダのパスが表示されます。展開したフォルダのドライブと同じなら、「cd \展開したフォルダ」で移動します。違うドライブなら、まず展開したフォルダのドライブを「D:」とかドライブ名とコロンを打ち込み、「cd \展開したフォルダ」で移動します。
コンパイルは「make」と打ち込んで実行するだけです。
小一時間待てばexeが出来上がります。バイナリで配布されているものを展開し、そこにexeを上書きすればコンパイルしたものを使うことができます。

まあ、検索すれば図付きで解説しているサイトがたくさんあるのでそちらのほうが参考になるか?

TPP参加はいいことなのだろうか

マスコミの報道だとメリットは大きな声で、デメリットは小声で放送している感じに取れます。
自分的に危機を感じるのは、自給自足率の低下、農薬漬け野菜の輸入による弊害、医療の粗悪化と更なる高額化、労働力の粗悪化と賃金低下・失業率の増大といったところでしょうか。表面上は経済の活性化につながったり、商品を安く手に入れられたりするでしょうけど、将来的に本当にいいのだろうかと考えてるのか疑問です。
米とか除外とか言ってますけど、圧力がかかれば解禁しそうな気もするし、ダメなものははっきりとNO!と言うべき。もっと自分たちの国益を考えてほしいものです。

フィギュア

金のかかる趣味なのでチェックしてなかったのですが、ふと広告を目にしてチェックしてみるといろいろと欲しくなりそうなのがあった。
シーエムズコーポレーションのグッとくるフィギュアコレクションのシリーズがなかなかよさそうだった。いくつか好みの造型があるので欲しいですが、やはり値段がネックです。完成済みなので組み立て、色塗りの必要がない分、キットの倍くらいの値段(ものによりますけど)なので手が出ません。

なのはのテスタロッサはうちも2体購入しましたけど、引っ越しの関係で処分したのも痛かった。まあ、それより昔購入したキットを組み立てるのが先か。だいぶ引っ越しで処分したのですが、エロいやつ以外は売れなくてのこってますので。エロいやつも高いのは残ってますけど組み立てる気力もなくて。塗料も固まってるので買いなおさないとダメですし、もっと余裕が出てからかな。

ベーマガ打ち込み

だいぶ打ち込みました。あと残り40本です。
時々長いのがあるので時間がかかります。あと、データで長い英数字列があると打ち込むのが厳しいです。データとかは数字とカンマが続くのは左手でカンマ、右手で数字を打ち込めるので楽なのですけど。16進数打ち込みだとAからFはキーの位置を相対定期に覚えてますが、時々一文字ずれてたりして間違って入力してしまったり。

掲載情報は、Oh!MZの84年半ばから1か月前の他紙の機種別掲載記事があるので、未掲載の雑誌は買う必要がないので役立ってます。それ以前の雑誌は当然現物写真のみしか判断材料がありません。
最近はPOPCOM誌が少しづつ集まりつつあります。テクノポリス/プログラムぽしぇっとは絶望的ですけどね。この辺りの雑誌はみんな持ってたものだから処分されたのが痛いです。エニックスのプログラムコンテスト作品が掲載されたムックとかポニーキャニオンの市販ソフトが掲載されたムックも既に入手が難しくて厳しい。エニックスのは5万とかで出てますけどそれはちょっと厳しいです。安く出ても必ず競るだろうからそれくらいの額になる可能性が高いですけどね。
手に入れられればという考えで、地道に探すしかないです。

SSMTPの続き

ソースを調べてみたけど、パスワードはAuthPass=XXXXXの行を見つけたらXXXXXをメモリにコピーしておいてAUTH LOGINコマンドでBASE64変換したユーザー名の送信後にBASE64変換したパスワードを送っているだけだった。ASCIIコードなら何でもいいとGmailでは説明がありますが、明らかに記号を除いたら通ってるのが解せない。セキュリティの関係で前のパスワードへ戻せないのでgdbを使って確認も難しそうです。ユーザー名なら使える記号の制限があるのは確認したのですけど、パスワードに関しては記述が見つからないです。
BASE64での変換処理はエラーとなる要因がありません。ASCII文字列からBASE64は3バイトを6ビットづつ使って4バイトの文字に変換するので、0x00から0xffまでどんな文字を使おうが変換できます。逆はBASE64で使う文字が限られているのでエラーとなる可能性はありますけどね。

現状は特に問題なく運用できているので、こういうものだという認識でクローズします。

ssmtpの設定ミス

先日Gmailのパスワードを変更してからメールの転送が失敗してましたが、パスワードを合わせてもダメでした。
エラーメッセージの最後は
send-mail: Authorization failed (535 5.7.1 http://support.google.com/mail/bin/answer.py?answer=14257 u10sm9544879pax.14 – gsmtp)
Can’t send mail: sendmail process failed with error code 1

こんな感じでした。SMTPのやり取りで、パスワードを送った後にエラーになってました。Windows上のThunderBirdでのやり取りは特に問題がないので、パスワードの指定が間違ってるということはなさそう・・・と思ってたのが問題だった。どうやらパスワードに記号が混在するとダメらしいです。記号を含んだssmtp.confの設定方法がわかればいいのですが、ググってもどうもそういった事例はなさそうというのがわかりました。海外の掲示板だと、記号を使わなければ問題ないよみたいな書き込みだらけで、そもそもssmtpでパスワードに記号が使えない可能性が出てきました。
とりあえずは、パスワードを長く指定して対処しましたが、可能なら記号を含めておきたいところです。

ちょっと時間を作ってssmtpのソースを見てみたいと思います。