AQUOS PAD SH-06F のカスタムROM化は可能か?

問合せがあったので調査した結果です。

情報がないようです。日本国内のみで、海外で販売されない端末は、カスタムROMが作成されにくい傾向があります。SH-05G (Android 5)もカスタムROM を探してもありませんでした。

Yahoo掲示板での一般的な見解がここにもありました。

シャープさんはGPLライセンスに基づきソースコードは公開されています。

SH-06F オープンソースソフトウェア

腕に覚えがあり、時間の余裕のある方なら理論上は実現可能です。カン的には5~10人月かかるでしょう。

Sharp L-04C のカスタムROM化は可能か?

問合せがあったので、その調べた結果です。

こちらもハードウェアキーボード付きの端末ですね。2011年発売と古すぎて、ぱっと調べると、古すぎで ROM 置き場のURLが切れています。Android4.4が限界のようです。

ヤフオクで、Android4.4 版がたまに出品されているみたいですね。

BlackBerry KEY2 BBF 100-9はカスタムROM化可能か?

問合せがあったので調べた覚書です。

BlackBerry KEY2 BBF 100-9 は、ハードウェアキーボードつきの端末ですね。

ぱっと調べるとXDAにこのスレッドがありました。Android10は無いの? Android9もupgreadできないとの内容のようです。

有名な ROM の置き場では何かファイルがおいてありました。2.5GBとそこそこの容量ですがネーミング的にカスタムROMではなさそうです。”china”とあるので純正ROMかもしれません。

ハードウェアキーボード付きだと、 他Andoirdとプログラムコードの共通性がないのかもしれませんね。

arrows Tab F-02K のカスタムROM化は可能か?

先刻問合せがあったので、その覚え書きです。

arrows Tab F-02K 、10インチ、高耐久 たしかによさげな端末ですね。しかし国内販売のみの製品はカスタムROMはほぼないです。Android File Host では検索ヒットせず。純正でAndroid9までバージョンアップが可能なら当面はそれでいいんでは?

Googleアドセンス向け法人居住者証明書の申請

自社WEBサイトにGoogle広告を掲載させるための仕組み:Googleアドセンスの税務情報には「居住者証明書」が必要です。これはe-Tax等での電子申請はなく、紙による申請が必要です。他WEB記事でも多数説明がありますが実際に実施してみたところをレポートいたします。

  • PDF上から入力でOK。
  • 法人でも登記簿は不要、申請者の証明書でOK。
  • 費用はかからない。

取り急ぎ郵送で申請書を税務署に送ったのですが、以下の指摘がありました。

「居住期間は申請日に対して月末日まで満了している必要がある」

つまり以下のケースはNGです。

以下、訂正です。

初回は郵送しましたが、訂正は手持ちしました。16時くらいに。訂正を確認していただき、後送付と思いきや、「今から処置するのでしばらくお待ちください」とのこと。15分程度で証明書を発行いただけました。

手持ちして証明書が出来て取りに行くかと思い郵送にしましたが、窓口が閉まる寸前でもなければその場で処置してくれるようです。一回の訪問ですむなら郵送は不要そうです。指摘があればその場で直せるでしょうし。込みそうな都内や横浜はわかりませんが、、、

Google お支払いセンターに、当初、登記簿を申請して「書類が違うか期限が切れています」とNGをくらいました。「期限が切れています」に着目して最新登記簿を入手して申請してもNG。「登記簿をだせばOK」というWEB記事もありましたが時期の違いかそれだけではNGでした。

Google お支払いセンターに、「税務情報の書類は何を出せばよいですか」と質問をしてもレス無しでした。国ごとに事情がちがうので聞いてもムダなようです。ちなみに2年前にMicrosoft Storeの申請をしたときは「居住者証明書」は不要でした。

SHのC/C++コードのロジック変更なしで性能改善できそうな方法memo

マイコン命令とコンパイラが特殊そうなSHマイコンにて、各種マニュアルを読んで、ロジック変更なしで性能改善できそうな方法memoです。まだ試していません。

対象内容
コードなんでもいいauto変数は4byteで確保する。
CPU汎用レジスタが全て4byteのため、1/2byteを使うと、
4byteからの変換コードが挿入されるため。とくにforのループ回数は効きそう。
コードなんでもいいauto変数はsignedで確保する。
cpuのデフォルトがsignedのため、unsignedを使うと変換コードが挿入されるため。
コード構造体メンバは、使用頻度の高い順で並べる。
コードなるべく「if 0 比較演算子 変数」で判定する。
0と判定だと、CPU汎用レジスタを使わないため。
コード除数は、なるべく1、2byteを用いる。
コードcaseが5個まではif文にする。
コード引数の参照渡し。C++ のみ。値渡しだと引数値がスタックに退避されるため。
これは一般的なハナシ。実際に試すと、実行コードが1ステート減る。()
コード関数の引数は4つまでとする。これは4つまでならスタックを使わず、CPU汎用レジスタに引数を載せれるため。
リンケージoptimize=register レジスタ退避・回復の最適を用いる。
これは不要なレジスタ退避・回復を削除する。
リンケージoptimize=branch 分岐命令の最適化を用いる。
call先が近い場合、call命令でなくgoto命令で飛ぶ。

効果があったら本記事を改定していきます。

法人電話番号の回線選択について

法人設立時、登記上はTEL番号は必要ありません。しかし税や社会保険など様々な書類にTEL番号欄もあり、銀行口座開設には必要だと言われています。 当方も口座開設前にTEL番号を取得しました。IP電話で構いません。昔あった「TEL加入権」なるものは不要です。このとき一つ落とし穴がありましたので、ご紹介いたします。

当初、登記した事務所のマンションで回線が設置済みの、とあるケーブルTVのインターネットを契約し、一緒にTELも申し込みました。TEL番号の地域番号は合わせてくれます。事務所は不在が多いので、個人携帯TELに転送するようにしました。

使い始めてすぐ全く知らないところからTELがどんどんかかってきます。何故か流山市の役所が多い。どうも前に同じTEL番号を使っていた方へのTELでした。どうも福祉関係の業者さんのようです。その方々がTELの変更を周知していないのか、突然廃業したのか定かではありません。業務はeメール連絡なので、業務TELがかかってくることはなく、個人携帯に転送はやめました。

結局、諸事情により事務所は移転しました。その時、ケーブルTVのインターネットは法人だと割り増し料金を取られていたため、それの無いNTTひかりのIP電話しました。TEL番号は変わってしまいますが、区も変わってしまうため仕方ないです。その時、NTTさんに質問しました。

「以前の回線では、前にTEL番号使っていた方への電話がひどかった。なんとかなりませんか?」

NTTさんは、

「未使用になった回線は、2年間空けてから割り当てるようにしています。」

流石、元役所です。

起業時のTEL番号は、未使用期間を確認しましょう。

しかし最近NNTひかりは、2025年にむけて、ファミリータイプ:3,080円 → 5,720円 と大幅値上げにするとお知らせがありました。また回線検討が必要そうです。

RL78のアセンブラ関数でSJIS特定漢字でBuildエラー

RL78にてCコード中に、アセンブラ関数を作り、日本語コメントを UFT8 から SJIS に変更すると特定の漢字でビルトエラーが発生するようになりました。コンパイラは CCRLGCC のほうではないです。

コードは、

メッセージは、

どうも「実施」の文字が引っかかっているようです。昔昔、SJISの特定コードがエスケープシーケンスと被るみことがUNIX上で起こっていましたが、イマドキまさか。ルネサスに問合せしました。コンパイラ購入者でなくとも、ルネサス評価ポードは購入していれば問合せOKでした。購入先の代理店さんをお知らせする必要があります。

ルネサス殿と問答が続きましたが、以下のコードを以下のようにしてくれとのことでした。

違いはわかりますでしょうか? アセンブラ関数でもコメントは C/C++ 形式にするということでした。確かにCCRL取説のはアセンブラ関数のコメント形式は明記されていませんが、サンプルコードは「//」になっていました。。。まさかの結果でした。

SHマイコンのSFR設定は時間がかかる???

SHマイコンの SFR:システムレジスタ も時間がかかるのでしょうか? 前回記事では、割込禁止フラグをアクセスするにはC/C++言語上では一行であっても、アセンブラ(実行コード)では専用のSTR命令を経由し、直接変更できないためステート数を食うことが分かりました。

デバッグ時に、E1エミューレータ等で確認できないタイミングを検証したい時 (もしくはエミューレータ等が使えず表示部がない機器 ) では、余っているマイコンポートに出力し、オシロで計測します。とっても気軽に。SHの場合、どのように実行コードが展開されるのでしょうか?

コンパイラはC/C++ compiler package for SuperH RISC engine family V.9.04 Release 03 (無償版)です。

よくやるデバッグポートやLED反転の場合、 C/C++ だと、

最適化ありでのアセンブラ展開は、

実行コードの展開量が多いですね。SFRをダイレクトに読書きしないのは変わらず。ビット反転なのになぜ分岐が必要なのか? PARを何故2回読むのか? 不思議です。R13 にマスク値を入れるのは、オベランドに固定値を直接指定できないのでしょうかね。

12ステートで総17clock、分岐があるとパイプラインの先読みがムダになるのでざっくり+10=27clock。大体 0.3us という計算です。 RL78や78Kシリーズなら以下のように一行で済むはず。

SHでアセンブラで書くなら以下でいいような気がしますが、、、

BIT操作命令はやや特殊、Bit指定は0~7まで。8以上は第2オペランドをアドレス指定でoffsetを要すようで汎用レジスタだけでは組めないようです。SHコンパイラ、SH CPUはなんか特殊そうですね。旧三菱系のM16C、R8Cもちょっと変でしたけど、、、 やっぱり最後にのこったNEC系に部があるのでしょうか…

XamainのIPAをXcodeでiPhoneに書込む

TestFlight IPAファイル を、App Store にUPLOADする前に、IPAの動作確認したい。Ad HocIPAファイル を作成して、iPhone に書込みたいと思います。前回ではMACの無い方にリリースするためWindows PCで行いましたがとても面倒です。自己開発用なら MAC Book から書きこめます。アプリのエンドユーザさんでも、Ad Hoc の IPAファイルを提供してもらい書込めば、TestFlight の使用期限を気にすることなく、アプリ屋さんにあまり手をかけずアプリ評価が可能です。

MAC BookPro 2015 early / mini 2018
Xcode 14.2 / 15.1
iPhoneX
iOS16.2 デベロッパーモード有効
対象IPAAdHoc用、TestFlight用

ちなみに、VS2022 Windowsにて、TestFlight用にBuildしたipaもそのまま書けました。TestFlightでの運用のみの場合、upload前の動作確認用に、AdHocで一度buildして実機に書く必要はないようです。

(1) MAC Book に iPhone をUSBケーブルで接続します。

(2) Xcode をProjectを選択しないで起動し、メインメニューから、Wondow -> Deivce And Simulattors を選択します。

(3) IPhoneの画面が開いたら、画面左側下中断あたりの「」をクリック。

(4) IPAファイルを選択します。選択が完了すると直ぐ書込みが開始します。

(5) 書込みは長くで一分くらい。完了するとアプリとバージョン名が現れます。

iPhoneがデベロッパーモードになっていない場合は以下のメッセージがでます。

手順は以上です。

他のサイトでも説明はありますが図が少ないので、弊方用の手順書として書きました。