セブンカフェ

f:id:nicotakuya:20210830044902j:plain

間違って、カフェラテ容器にアイスコーヒーを入れてしまう

セブンカフェでアイスカフェラテを買ったのですが、間違ってアイスコーヒーを入れてしまいました。実質70円くらいの損ですけど、精神的にその10倍くらい損した気分になる。なんだ、この無駄な不幸感。

カップをセットしてボタンを押すだけの簡単オペレーションのはずですが、、、

自分は致命的にもラテ用じゃないほうに置いてしまいましたけど、これ、センサーでミスを検出してくれないんでしょうか。「ラテはこっちにセットしてください」のシールは初見だと気が付きにくい。ボタンを押した瞬間、すぐ間違いに気付いたのですが、抽出し終わるまで止まらない。キャンセルとかないのか。

あと、ボタンはRとLとホットとコールド、コーヒーとラテの組み合わせで8個あって押し間違いやすい。デザイン性を優先してるんだと思いますが、見た目が抽象的すぎます。液晶パネルでなにか補助的な情報を出せないのか。現代人が日々これを使いこなしてることに驚き。

帰りにスーパーでコーヒー牛乳買って飲みました。

 

 

 

新しいgoogleサイトへの移行

f:id:nicotakuya:20210830053408p:plain

Googleサイト更新前の様子

2021年9月からgoogleサイトが廃止されるとのことですが、事前に乗り換え作業をやっておかないとページが表示されなくなってしまいます。

そこで、自分のサイト

takuya's HOBBY

の乗り換えを試みたのですが、ファイルの添付機能がなくなって、ドライブに変わったのでしょうか。

表組みも壊れますね。わけが分からない状態です。2年前からアナウンスされてきたことのなので、いまさらですが。

googleサイトには14年間くらいお世話になってきましたが、もう限界かなという気がします。このブログで事足りる気もします。googleサイトに置けない内容を少しずつGitHubに移行します。

すでにgoogleサイトのURLをいくつか雑誌に掲載しちゃっているのですが、そうしたページは残さないといけません。GitHubへリンクして誘導するのがいいかなと思います。コンテンツを長続きさせるのは難しい。

f:id:nicotakuya:20210830053548p:plain

更新後の様子

(2021/8/30追記)

更新してみました。レイアウトが変だったり、消えてしまったファイルもありますが、そのうち復旧します。

 

(2021/09/01追記)

f:id:nicotakuya:20210901230740p:plain

画像が大きくならない

いま気付きましたが、画像をクリックして拡大という機能がありません。これだと、回路図が小さいままです。右クリックすればいいんでしょうけど。旧googleサイトより使い勝手が悪くなってどうする?! こうなると、回路図もGitHubに移転すべきかなという気が。

 

f:id:nicotakuya:20210903135823p:plain

URLが勝手に変わる

(2021/9/3)

さらに重大なトラブル。URLが勝手に書き換わってます。たとえば、「~/diy-p6-cartridge」が「~/p6diy-p6msx-cartridge」になっていました。新googleサイトに変換すると、見出しから自動生成するんですね。

余計なお世話すぎる。

 

f:id:nicotakuya:20210903135900p:plain

カスタムパスでURLを修正

直し方ですが、ページ右端にある「(・・・)」をクリックしてプロパティを選択。「カスタムパス」の項目を入力すると直ります。「(・・・)」はカーソルが寄らないと表示されないので、初見殺しです。

AliExpressで返金の手続き

AliExpressで買った商品が届かなかったので、申し出をしたら、無事に返金されました。安さが売りのAliExpressにリスクは付きもの。

f:id:nicotakuya:20210816233117p:plain

「荷物がキャンセルされました」って?

履歴を見ると、商品は5月29日に発送準備が完了してます。しかし、その10日後(6月9日)には、「荷物がキャンセルされました」という謎のメッセージ。

しかしステータスが「配達中(Awating delivery)」のままなので、もしかして配達してるのかと思って、念のため、2か月半ほど待ってみたのですが、結局、届きませんでした。今回、発送方法(キャリア)は「AliExpress Standard Shipping」を選択しました。AliExpress Standard Shippingは追跡できるということになっています到着しか追跡できない気がしますが。

 返金の手続きですが、注文履歴から「View Detail」を押して、「Dispute」→「Refund Only」を選択します。 こうした申し出を「紛争」と呼ぶみたいです。「紛争原因」は「追跡情報がありません」を選択。

「申し出の詳細をご記入ください」の項目には、「商品が届きませんでした」という内容を英語で入力。返金の「金額(Amount)」は自動で入力済み。証拠(Evidence)は空欄にしました。

最後に「Submit」ボタンを押すと、「争議がエスカレートされました」というメッセージが出ます。当日のうちにお金が振り込まれました。

「荷物がキャンセル」の謎は残ったままです。郵便事故かなにかでしょうか。立地の問題で日本へ発送できなかったという可能性があります。となると、ダメだったショップは使うのを止めたほうが良さそうです。

 

MSX用カートリッジ基板の自作

www.youtube.com

 MSX用のカートリッジ基板を自作してみました。上の動画は製作過程です。

 

f:id:nicotakuya:20210820132344j:plain

市販のゲームカートリッジを分解

まず、 仕組みを調べるため、MSX用のカートリッジを買って分解してみました。「プロフェッショナル麻雀」っていうゲームです。税込みで308円。

f:id:nicotakuya:20210820132515p:plain

回路の解析結果

調べた結果です。32KBのROMだけが入ってました。専用ICもなくて、シンプルです。

 

f:id:nicotakuya:20210821042255p:plain

回路図

基板を解析して、回路図に書き起こしてみました。コンデンサを省略してます。

カードエッジの端子のA14がどこにもつながっていません。最初、変だと思ったのですが、これは、CPUが0x4000番地にアクセスした時にROMの0x0000番地をアクセスさせるための処置です。そして、端子のA15がROMのA14につながっているので、0x8000番地にアクセスするとROMの0x4000番地がアクセスされます。結果として、全部のアドレスが0x4000ずれて伝わります。

f:id:nicotakuya:20210820132754p:plain

PC-6001MSXのスロット

 PC-6001のROMカートリッジインターフェース(取扱説明書より)とMSXのカートリッジスロット(https://www.msx.org/より)のピン配置を比較してみました。

両者は驚くほどそっくりです。アドレスバスとデータバスのピン番号が同じです。5V、GND、RD、WRも同じです。

特に違うのは、4番ピンですね。MSX側の「SLTSL」はスロット選択時にLowになる端子です。一方、P6側の「CS2」は0x4000~5FFF番地(8KB)をアクセスした時だけLowになります。

 

f:id:nicotakuya:20210726041418j:plain

PC-6001用カートリッジ基板とフラッシュメモリ

解析の結果、PC-6001MSXのカートリッジの端子がすごく似てるということがわかったので、以前作ったPC-6001用のカートリッジ基板を流用します。

 

f:id:nicotakuya:20210821041910p:plain

8bitworkshop.com

8bitworkshopというサイトからMSX用サンプルプログラム(Hello World)のROMイメージを頂戴しました。

8bitworkshop.com

このサイト、凄いことにファミコンとかAtari2600とかMSXのプログラムがWebブラウザだけで作れてしまいます。エミュレータ機能も搭載しているので、動作チェックもすぐにできます。謎の技術です。

MSXの場合、C言語に対応しているのもありがたいです。

 

f:id:nicotakuya:20210821041942p:plain

00をFFに変換

ダウンロードしたROMイメージは32KBです。細かい話ですが、データの後半が全部00で埋まってました。これだと、ROMの書込に時間がかかるので、自作ツールでFFに変換しました。

 

f:id:nicotakuya:20210821041642j:plain

自作のフラッシュメモリライターで書き込み

 以前PC-6001用に作ったフラッシュメモリライターを使って、フラッシュメモリにROMイメージを書き込みます。ROMには0x4000番地から書き込みます。この仕様もPC-6001と同じです。データが「AB」で始まるところも同じ。アクセス可能な範囲は0x4000~0xBFFFなので、容量は最大32KBになります。

この自作カートリッジ基板はアドレスバスを全部つないでしまっているので、ムダな領域ができてしまいます。

 

f:id:nicotakuya:20210821094814j:plain

MX-101

MSX本体を持っていなかったので、駿河屋で中古品を買いました。5626円。

ダンボールいっぱいの静岡新聞といっしょに届きました。状態は文句なしです。ACアダプタが欠品してましたが、手持ちのもので問題なく動きました。

 

f:id:nicotakuya:20210821041830j:plain

動きました

フラッシュメモリの書き込みが終わったら、カートリッジ基板をMSX本体に挿し込んで電源を入れるだけです。

4番ピンの仕様の違いがどう影響するのか心配でしたが、無事に動きました。今回は回路設計も基板設計もしないで終わりました。

 

f:id:nicotakuya:20210821183245p:plain

今回動かした基板の回路図

PC-6001用のカートリッジをそのままMSXに接続して大丈夫なのか、、、ちょっと心配だったので、回路図で確認してみました。「SLTSL」をROMのCEに直結しています。これだとスロット読み込み時は常にアクティブになっていて、「CS12」の状態を見ていないのが心配なところです。74HC32で「CS12」とOR演算してからCEに入れたほうが確実のように思えます。

今、気が付きましたが、この回路だとA15がつながっていないですね。0x8000~0xBFFFにアクセスすると、ROM側は0x0000~0x3FFFにアクセスされます。たまたま未使用領域なので、問題なく動いているようです。しかし、気分的によくないので、ジャンパ線でA15をつないだほうがいいと思います。

 

(2021/08/25)

作り方はこちらで公開中です。PC-6001用とMSX用のページを統合しました。

sites.google.com

TFT液晶のデモ

f:id:nicotakuya:20210812150710j:plain

文字とライン表示

以前、作ったTFT液晶のプログラムに、デモを追加してみました。自作のフォントを表示してみました。

TFT液晶は秋月で1200円で売ってます。

今までは通信速度が遅すぎて使い物にならなかったのですが、SPIライブラリを使うことで速度を上げてみました。

github.com

解像度は128x160ピクセル。1バイト/ピクセルとして、20KBバイトのRAMを確保してます。本当は16bitカラーにして、2バイト/ピクセル(40KB)を確保したかったのですが、Seeeduino XIAOのRAMは32KBなので、無理でした。

f:id:nicotakuya:20210812150930j:plain

Seeeduino Xiaoと接続

 


www.youtube.com

(2021/08/16追記)動画を追加。