デジホリのblog

釣りと自転車とDIYを愛するオヤジのブログ

タグ:Pokecom

先日のRayForceですが、ソースコード入力手順を動画にしてみました。
それだけですが(笑)

ここで紹介しているツールが秀逸です。
・ProgramList OCR
・DumpList Editor

ちなみにここではポケコンのマシン語コードを入力していますが、
ポケコン以外の様々なフォーマットに対応しています。


Pokecom GO で遂に 1360 が動きました!
ってか、本当は 1360K を動かしたいんですけど、現物を持ち合わせていません。。。
1360 の ROM イメージだけは手元にあるので、これで何とか動かしたく色々とやっていました。
ちなみに、なぜかここ数年で中古ポケコンの相場が上がっていて、特に 1360 系はすごいお値段になっています。
10年ぐらい前は 1360K が 5,000 円ぐらいで取引されていたような気がするんだが。(1万円ぐらいだったかも?)
1360K 欲しい!

さて、1360 って 1350 の後継なんだけど、メモリマップやキーマッピングが全然別物です。
ちまたに情報が少なく、多分このサイトぐらいしかありません。
一応ここにメモリマップやバンク切り替えアドレス(バンク切り替えレジスタ)などの情報があり、かなり参考になります。
一応起動時の初期画面(メモリクリアしますか?画面)までは辿り着いたのですが、その先に進みません。
ネットをさまようと、同じようなことをされている PocketGriffon さんのサイトを見つけました。
なんと、キーマッピングが 1350 と全然違うじゃん!
ということで、ここの情報をもとにキー情報を修正してみましたが、、、
あれ?なんか微妙に違くね?
私の保有しているROMが変なのかな。
ちょっと謎だけどまぁいいや、
ということで、現物合わせで何とかしました(笑)

一応動くようになったので、BASIC ソースコードの LOAD/SAVE をしてみたら、あれれ???これも変だな。
よくよく調べたら、何と BASIC の内部表現が 1350 と違う!
BASIC コードが &FE で始まる PC-1470U の形式と同じだった。

ということで、PC-1360 は 1350 と全く別物ということがわかりました。見た目が似ているだけだ。

そして、かねてよりやりたかった RAY-FORCE を動かしてみました。
これ、本当は PC-1360K でないとメモリ容量(メモリマップ?)の問題で動かないのですが、エミュレータではどこのアドレス空間でもメモリが存在するので動いてしまいます。(笑)
先の PocketGriffon さんが動かしていた実績もありますし。



おぉ、、、
感動ものです。

ってか、ソースコード入力が大変だった。(老眼にはきつい!)

なお、PC-1360 対応バージョンは PlayStore にて公開していますので興味のある方は使ってみてください。

そしてPokecom GO(SHARP)も更新しました。
いろいろとUI仕様が難しくて悩みましたが、、、

まずAndroid 10(Q)以降のストレージアクセスポリシーへの対応ですが、
もともとPokecom GOは外部ストレージに"pokecom"ディレクトリを作っていましたが、それができなくなってしまったので、Androidの標準ファイルピッカーを使ってユーザー指定させるようにしました。

アプリ起動画面のところでROMのディレクトリを指定させ、次回からはその設定に従うような感じ。"ACTION_OPEN_DOCUMENT_TREE"を使ってディレクトリ指定しています。

あと、ファイルのLOAD/SAVEに関しても、ファイル選択のところで標準のファイルピッカーを呼び出します。
ちなみに、Android Q以前のバージョンでは、今までの古いUIをデフォルトにしています。

それから、外部キーボードにも対応しました。
最近はWindows11やChrome bookでもAndroidアプリが動くので、ハードキー入力ができないと扱いづらいです。

今回のアップデート(V1.07.01)の紹介ビデオも作りました。



久々にPokecom GO(PB-100の方)に手を入れました。
少し前から外付けキーボード対応の件で苦戦していたのですが、、
外付け入力デバイスのキーボード(USBやBluetoohいずれも)やゲームコントローラに関しては、そもそも Android が標準で対応しているため、接続すれば勝手に認識してくれて、プログラム内でも普通にイベントが起こって dispatchKeyEvent() が呼ばれます。
なので、呼ばれた先をインプリするだけで処理はできるのですが、
ハマっていたのはフォーカス問題です。
この記事で言っているように、ボタンなどのオブジェクトはシステムがフォーカスを勝手に切り替えたりするので、その結果さまざまな悪さをしてしまいます。
なので、フォーカス切り替えが起こらないやり方がないか調べていました。
で、ボタン類の上位のレイアウトで、
 android:descendantFocusability="blocksDescendants"
と指定してあげれば、一切フォーカスを取りに行かないことが判明しました。
かなり悩みましたが、これで解決です。やったー!

ということで、外付けキーボード対応して PlayStore にアップしました。
ローカルでもこっちで公開しています。
SHARPの方にも反映しないといけないな。ってかこっちが本命なんだけどね。

最近は Chrome book とか Windows11 で Android アプリが動くので、物理キーボードの入力に対応していないと色々不便だよなー。

ってことで。




Pokecom GO で直接 Google Drive が見れるようになったので、PCとの親和性がかなり上がりました。
PC側に Google Drive をインストールすると普通のファイルとしてアクセスできるようになるので、PC 側では Google Drive 上のファイルを編集し、エミュ側ではそのファイルをロードするだけで良いことになります。
ついでに実機との連携も入れた動画を作ってみました。



かなーりいい感じだと思います。

↑このページのトップヘ