古いメモ1
古いメモ2


spam避け
  • 画像変換Image converter for MSX/MSX2/MSX2+ https://nazo.main.jp/prog/retropc/gcmsx.html -- kuran_kuran 2023-12-17 (日) 01:44:14
  • X68000Z mt32-piでラズパイをMIDI音源にする https://nekopom.jp/x68uart08/ -- kuran_kuran 2023-12-11 (月) 16:19:42
  • カッター付きラベルプリンタ https://shop.primera-japan.com/products/lx610 -- kuran_kuran 2023-11-30 (木) 17:13:56
  • オレンジ色のセタ将棋カセットには高確率で128kと64kのepromが入ってる -- kuran_kuran 2023-11-28 (火) 17:51:12
  • USBドングルの「YAMAHA DX-7エミュレータ https://twitter.com/yoshinokentarou/status/1728257507792134272 -- kuran_kuran 2023-11-26 (日) 23:23:43
    sugaさんからのメールより
     モニタMZ-1Z001とSB-1520で、IPL後モニタの初期化が完了し 
    後続のBASIC等に制御を渡すのに次の番地が使われています。
    00AE  C3  (無条件ジャンプ命令)
    00AF  実行アドレスの下位バイト
    00B0  実行アドレスの上位バイト
    
     このままだと、RESETを押してもモニタに戻らず再びBASIC等に
    戻ってしまうので ここをモニタのリストの通り
    00AE  C3
    00AF  B1
    00B0  00
    とか、全てNOP (00)とか
    00AE  21
    とか
    00AE  01
    ・・等に置き換えてるようです。

https://2dgames.jp/godot4-impreme
https://twitter.com/2dgames_jp/status/1686552143140986881
https://twitter.com/2dgames_jp/status/1684015176444706817

MZ-1Z001
0000h モニタスタート
00AEh GOOUT BASICへジャンプ
00B1h モニタホットスタート
12A0h BASICコールドスタート
1300h BASICホットスタート
PC-8001 リスト構造と弾幕
MSX用ゲーム製作
私のへっぽこコードでよければ参考にどうぞ.
math.h/math.c の atan2 と sin と cos です.
C2  KMM 200V 560μF
C13 KY 35V 470μF
C14 KY 25V 47μF
C15 KY 25V 100μF
C23 LXZ 16V 4700μF
C33 KY 35V 2200μF
C34 KY 25V 100μF
C35 LAH 25V 22000μF
C41 KY 35V 2200μF
C43 KY 25V 100μF
String operator"" s(const char* str, std::size_t length)
{
  return String(str);
}

int operator"" km(unsigned long long x)
{
  return static_cast<int>(x) * 1000;
}
System256でキン肉マンマッスルグランプリ2(1だと不可)を起動して
「SYSTEM256 MODE SETTING ERROR」と表示されているときに
ボタン
123 123 4321232
123 123 4321231
START
の順番に押すと起動できる。
3ボタンの筐体が多くてできないかもだけど…
System256だとCPUは1.33倍になって処理落ちが減ってRAMが多いからキャッシュが効く。
System256の246モードだとキャッシュが効くんだったかなぁ…?
もう昔過ぎて忘れた…
[Unity]アンドロイドでバックボタンを押した時の処理
// プラットフォームがアンドロイドかチェック
if (Application.platform == RuntimePlatform.Android)
{
    if (Input.GetKeyDown(KeyCode.Escape))
    {
        Application.Quit();
        return;
    }
}
OpenVRとOpenGLの座標系は同じっぽい
       (y+)   奥(z-)
       ↑   /
       |  /
       | /
       |/
(x-)-----+----→(x+)
      /|
     / |
    /  |
    ↙   |
手前(z+)   (y-)
// aとbが同じだったらtrue (a == bのfloat版)
#define _USE_MATH_DEFINES
#include <math.h>
bool approximatelyf(float a, float b)
{
	if(fabs(a - b) <= DBL_EPSILON * fmaxf(1.0f, fmaxf(fabs(a), fabs(b))))
	{
		return true;
	}
	return false;
}
■プロジェクトに外部モジュール追加
libdms, dms, lpng, ssalib, libogg, libvorbisを追加した場合。libvorbisはliboggを参照しているのでliboggの下に追加。

・settings.gradle
include ':app', ':libdms', ':dms', ':lpng', ':ssalib', ':libogg', ':libvorbis'
project(':libdms').projectDir = new File(settingsDir, '../../../libDms/project/androidstudio/libdms')
project(':dms').projectDir = new File(settingsDir, '../../../libDms/project/androidstudio/dms')
project(':lpng').projectDir = new File(settingsDir, '../../../lpng/project/androidstudio/lpng')
project(':ssalib').projectDir = new File(settingsDir, '../../../ssalib/project/androidstudio/ssalib')
project(':libogg').projectDir = new File(settingsDir, '../../../libogg/project/androidstudio/ogg')
project(':libvorbis').projectDir = new File(settingsDir, '../../../libvorbis/project/androidstudio/vorbis')

・app\build.gradle
dependencies {
    implementation project(path: ':libdms')
    implementation project(path: ':dms')
    implementation project(path: ':lpng')
    implementation project(path: ':ssalib')
    implementation project(path: ':libogg')
    implementation project(path: ':libvorbis')
}

■プロジェクトに.a追加
・app\src\main\cpp\CMakeLists.txt
set(LIB_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../../libDms/project/androidstudio)
add_library(Dms STATIC IMPORTED)
set_target_properties(Dms
    PROPERTIES IMPORTED_LOCATION
    ${LIB_ROOT}/lib/${ANDROID_ABI}/libDms.a)

■AdMob (Google Play Services)
・AndroidManifest.xmlに<meta-data>追加
<manifest>
    <application>
        <meta-data
            android:name="com.google.android.gms.ads.AD_MANAGER_APP"
            android:value="true"/>
    </application>
</manifest>

・app\build.gradleにライブラリ追加
dependencies {
    implementation 'com.google.android.gms:play-services-ads:18.0.0'
}

■タイトルバーを消す
・app\src\main\res\values\styles.xml
<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="windowNoTitle">true</item> ← 追加

■画面の向きを変更した場合の再起動を回避
<manifest
    <application
        <activity
            android:configChanges="orientation|screenSize" ← 追加
            android:screenOrientation="portrait"> ← 追加(portrait、landscapeなど)

■assetsフォルダ追加
AndroidStudioの[File]-[New]-[Folder]-[Assets Folder]を選択する。
任意のフォルダを追加することができる。
■aarファイルの作成
(1) AndroidStudioを起動する
(2) 「Start a new Android Studio Project」を選ぶ
(3) 「Add No Activity」を選んで「Next」ボタンを押す
(4) Nameを入力してPackage nameとSave locationを確認して「Finish」ボタンを押す
(5) プロジェクトが作成されるのを待つ
(6) 「File」-「New」-「New Module...」を選択する
(7) 「Android Library」を選んで「Next」ボタンを押す
(8) Application/Library nameを入力してModule nameとMinimum SDKを確認して「Finish」ボタンを押す
(9) 「****\src\main」フォルダに「cpp」フォルダを作成する
(10) cppフォルダに「CMakeLists.txt」ファイルを作成する。
例)
cmake_minimum_required(VERSION 3.4.1)
add_library(
            ssalib SHARED
            ../../../../../../source/ssadata.cpp
            ../../../../../../source/ssalib.cpp
            ../../../../../../source/ssaload.cpp
)
target_link_libraries(
    ssalib
    Android
    Log
)
(11) 左のProject一覧のModule名を右クリックして「Link C++ Project with Gradle」を選ぶ
(12) Build Systemに「CMake」を選びProject Pathに上で作成した「CMakeLists.txt」を選択して「OK」ボタンを押す
(13) 「Build」-「Rebuild Project」を選ぶと「build\outputs\aar」にaarファイルが作成される
https://developer.android.com/google/play/billing/billing_library_releases_notes#release-2_0
> 3日以内に購入を承認しない場合、ユーザーは自動的に払い戻しを受け、Google Playは購入を取り消します
つまり、課金しっぱなしでアイテムを付与しなかった場合、自動的に払い戻されるということらしい
  • 課金テストをしたいアプリのアルファまたはベータテスターとしてGoogle IDを登録
    • 課金テストしたいアプリを選びます。(今回はCanvasJpDev) (「設定」「デベロッパーアカウント」「メーリングリストの管理」からも設定できます)
    • 「リリース管理」「アプリのリリース」クローズドトラック(アルファ版の場合)を作成の下にある「管理」を押します。
    • 右側のクローズド アルファ版テストの右側にある「^」ボタンを押して、その下にある「編集」を選択します。
    • メールアドレスの欄にGmailを入力して「保存」を選択します。
    • 以上の設定で課金テストできるようになります。
  • iOS課金テスト
    • テスターアカウントの作成と削除
      • [App Store Connect](https://appstoreconnect.apple.com/)にアクセスしてApple IDでサインインします。
      • 「ユーザーとアクセス」を選択します。
      • 左のメニューから「テスター」を選択します
      • テスターを追加する場合は青い(+)を選択、削除する場合は「編集」を選択してください。
・円アイコン、アダプティブアイコンの設定
AndroidStudio3.3で「Empty Activity選択」-「Next」-「Finish」プロジェクト作る

・円アイコンにPNGを設定する
(1)app/src/main/res/の各mipmapフォルダにあるic_launcher_round.pngアイコンを更新する。
   PNG画像のサイズは48x48、72x72、96x96、144x144、192x192。
(2)アイコンを更新するだけなら(1)だけで良いがファイル名を変える場合は
    app/src/main/AndroidManifest.xmlを書き換える。
    <application
        android:roundIcon="@mipmap/(アイコンPNG名)"

・アダプティブアイコンにPNGを設定する
(1)app/src/main/res/drawable/ic_launcher_background.xmlを削除する。
(2)app/src/main/res/drawable-v24/ic_launcher_foreground.xmlを削除する。
(3)app/src/main/res/の各mipmapフォルダにアイコンを追加する。
   PNG画像のサイズは108x108、162x162、216x216、324x324、432x432。
   512x512の画像を1024x1024位にして余白をつけると丁度になる。
   アイコン用のic_launcher_foreground.pngを追加する。
   mdpi,48x48,108x108
   hdpi,72x72,162x162
   xhdpi,96x96,216x216
   xxhdpi,144x144,324x324
   xxxhdpi,192x192,432x432
   各サイズのic_launcher.pngは古い端末用に残す。
(4)app/src/main/res/values/colors.xmlを修正する。
    <resources>タグの後に
        <color name="ic_launcher_background">#FFFF00</color>を追加する。
(5)app/src/main/res/mipmap-anydpi-v26/ic_launcher.xmlを修正する。
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
    ↓以下のように修正する。
    <background android:drawable="@color/ic_background" />
    <foreground android:drawable="@mipmap/ic_launcher_foreground" />
(6)app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xmlを修正する。
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
    ↓以下のように修正する。
    <background android:drawable="@color/ic_background" />
    <foreground android:drawable="@mipmap/ic_launcher_foreground" />
・アダプティブアイコンと円アイコンの設定の消し方
AndroidStudio3.3で「Empty Activity選択」-「Next」-「Finish」プロジェクト作る
(1)app/src/main/res/の各mipmapフォルダからic_launcher_round.pngを削除する。
(2)app/src/main/AndroidManifest.xmlを編集して
  android:roundIcon="@mipmap/ic_launcher_round" ← この行を消して保存する。
(3)app/src/main/res/drawable/ic_launcher_background.xmlを削除する。
(4)app/src/main/res/drawable-v24/ic_launcher_foreground.xmlを削除する。
(5)app/src/main/res/mipmap-anydpi-v26/ic_launcher.xmlを削除する。
(6)app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xmlを削除する。

Play Billing LibraryのCodeLabをなぞってみた
https://www.masaibar.com/entry/play_billing_library_codelab
Play Billing Library 和訳
https://qiita.com/oya-t/items/a11f27d093963496018d
Play Billing Libraryが超絶かんたんだった件
http://hatesatekite.hatenablog.com/entry/2018/08/07/145422
Play Billing Library 1.0 がリリースされました
http://y-anz-m.blogspot.com/2017/09/
課金をAIDLからBilling Libraryに変更した話
https://blog.choilabo.com/20181028/967
Androidのアプリ内購入を簡単実装
https://qiita.com/watanaby0/items/deb60166753533fb00b1

https://www.sakura.ne.jp/function/freessl.html
これってサクラでドメイン取得したら利用できるよってことみたいですね!
で、Let's Encrypt自体はさくらとは関係ない別サービスですね
さくらだとLet's Encryptで取得したSSLを簡単に設定できますよ~ってだけみたいです
さくらのお試し期間ってクレカで払った場合のみでした。。。クレカ払いだとすぐサーバ用意されるみたいです。。。
https://ssl.sakura.ad.jp/
これの「詳しく見る」でブラウザのURLバーのとこの表示の違いみれますよ!
さくらのSSL年間972円ですよw
iPhoneでWKWebView
・httpアクセス
https://qiita.com/aminosan000/items/ae2e9de0e910af42304d
・Objective-C
https://i-app-tec.com/objective-c/webview.html
・Swift
https://developer.apple.com/documentation/webkit/wkwebview
・SwiftとJavaScriptと相互通信
https://qiita.com/usayuki/items/6979d0d6f7d8f5b302ad
・WKWebViewにおけるSwiftとJavaScriptにおける双方向通信
https://qiita.com/mss634/items/170d3cb401eee4ec1253
上記すべてWebkit.frameworkが必要
sshでwindowsに接続
1)PoserShellを管理者権限で起動
2)opensshのインストール
 choco install win32-openssh -params '"/SSHServerFeature /KeyBasedAuthenticationFeature"' -confirm
 インストールが終わったら、インストール先に移動
 cd "C:\Program Files\OpenSSH-Win64"
 cp sshd_config_default sshd_config
 notepad sshd_config
 9行目の#Port 22の#を消す
 
3)sshdのインストール
 powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
 「sshd and ssh-agent services successfully installed」と表示されたら完了
 
4)サービスの起動
 net start sshd
(1) Chrome起動
(2) F12を押してデベロップモードにする
(3) アンドロイドをPCに接続する
(4) ・・・ボタンを押してMore toolsを選んでRemote devidesを選ぶ
(5) Enter URLにURLを入れる
(6) Inspectボタンを押す
機種判別(C/C++)
#if defined(_WIN32)
// Windows
#elif defined(__ANDROID__)
// Android
#elif defined(__APPLE__)
// iPhone & MacOSX
#elif defined(ARDUINO_SAMD_ZERO) && defined(INTERNAL32K)
// TinyArcade
#elif defined(ARDUINO_SAMD_ZERO)
// GamebuinoMETA
#else
// その他
#endif

前に戻る


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-11-27 (水) 16:20:18 (7d)