こじんてきメモ

趣味とか...(╹◡╹)

New 2DS LLにCFW入れた話 その1

New 2DSLLにCFWを導入した。

現時点で最新のVer11.9でも、導入できる。

それ以外のverの場合は最新のver(11.9)にあげて実行する。

なので、一応すべての3DS(CFW未導入のもの)で導入できる。

Seedminerという手順らしい。

手順紹介サイトはあるが日本語訳がいまいちなので自分用にメモ。

ベースは3DS Hack Guide。

※念の為コピペのように書きますが、この手順で失敗しても

 責任は負いませんし、改造を推奨しているわけでもありません。

※あくまでも、私のメモです。

 

大まかな工程は下記の通り

I.Boot9strap(B9S)のインストール
 1事前準備
 2.Seedminer
 3.Steelminer
 4.Boot9strapのインストール
 5.Luma3DSの設定
II.最終設定
 1.準備
 2.システムアップデート
 3.Homebre Launcher導入
 4.CIAインストール
 5.DSP ダンプ
 6.CTRNAND Luma3DS
 7.SDカード クリーンナップ
 8.Essentialファイルのバックアップ

必要なもの

・PC(microSDが読めるもの)or(microSDカードリーダ/ライタ)
・New 2DSLL
・Steel Diver:Sub Warsの体験版
・frogcert.bin
・Frogtool(最新のもの)
・the Homebrew Launcher(最新のもの)
・Steelhax(最新のもの)
・b9sTool(最新のもの)
・Luma3DS(最新のもの)
・otherapp_payload(自分のファームにあったもの)

 つづく

※最終的に画像付きの総集編を掲載予定。

VisualStudioとかを入れないでVB,C#をコンパイルする

結構知られてない事な気がするのでメモ

 

私も最初は勘違いしていましたが、VBC#Windows環境であればVisualStudioとかを入れなくてもコンパイルできます。

 

例えば今私が使っている環境だと、下記フォルダに.NETのフォルダが入っていますが、

[C:\Windows\Microsoft.NET\Framework]

このフォルダに

[v3.5]とか[v4.0.30319]という名前のフォルダがあります。

この中にある、vbc.exe(VB),csc.exe(C#)がコンパイラです。

 

なので例えば、

[C:\Windows\Microsoft.NET\Framework\v4.0.30319]

をPATHに追加してあげて、コマンドプロンプトで、作成中のソースがあるフォルダにcdしてから

[vbc hogehoge.vb]

と実行してあげると同じフォルダにexeを作成してくれます。

 

知ってる人は知っている。知らない人は知らない。そんなテクニック(?)でした

Intel 6世代のCPUが入ってるPCにWin7を新規インストールできない問題

Intel CPUの6世代目(Kaby Lake)以降が搭載されてるPCにWindows7を入れることになってはまったのでメモ

 

上記構成の場合はWindows7クリーンインストールする際、USB3.0が原因で失敗する。

詳細はここ

www.fmworld.net

 

一番はまったのは、最後にISOをやくメディアがなかったのでUSBブートにしようとしたら失敗した点。

 

USBにISOを書き込む際に[Windows7 USB DVD Download Tool Installer]を使ったがまったく書き込んでくれない。

結論としてはUSB3.0USBメモリUSB2.0に変更して(借りて)やったら書き込んでくれた。

その後のインストールも無事終了。

後からすれば、3.0が原因でおきる事例なのに3.0でやろうとしていたのが絶対原因じゃんって思うけど、はまった時はまったく気付けなかった...

 

いまどきUSB2.0USBメモリなんて売ってるのかな・・・

PCのCPU,物理メモリ、ディスプレイ解像度を調べるコマンド

コマンドプロンプトで、WMICを使うとより正確な情報が取得できそう。

 

■CPU

→[systeminfo]

→[wmic CPU get NAME]

例)

---------------------------------------------------------

NAME

Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz

---------------------------------------------------------

■物理メモリの容量

→[wmic MEMORYCHIP get Capacity]

※複数枚搭載時の結果は未確認。

---------------------------------------------------------

Capacity
4294967296

---------------------------------------------------------

■ディスプレイの解像度(Rexolution)

→[wmic DESKTOPMONITOR get screenheight,screenwidth]

例)

---------------------------------------------------------

ScreenHeight  ScreenWidth
900           1600

---------------------------------------------------------

※screenheightとscreenwidthは逆でも良い。

※複数枚ある時はそれぞれを出すが、まれに接続されているのに出てこないものがあるかも。

FEヒーローズの画像・音声抽出

ファイアーエムブレムヒーローズに少しはまって、いろいろ弄ってたらpngでの抽出成功したので読む人が読めばわかるようにめも

 

1.泥端末から、com.nintendo.zabaをとりあえず全部抜いてくる

・com.nintendo.zaba\files\assets\Common\Face配下にあるのが各キャラクタの画像データ

 

f:id:hmmr:20170317141656j:plain

※命名規約はおそらく、

chXX_No_NAME_SEX_Normal

XX:作品番号

No:キャラ番号

NAME:名前

SEX:性別、M→男/F→女

前半部分の詳細を誰か知ってたら教えて欲しい

2.拡張子はpngだが実態は異なる。

ヘッダがヒントになった。

XnConvertが対応してたので一括で正しいpngへ変換。

f:id:hmmr:20170317142148j:plain

 

3.おわり

ほかにもいろいろ見れて楽しかった(小並感)

f:id:hmmr:20170317142408j:plain

 

おまけ

音声はoggなのでチョロだが、各キャラの音声データがckbファイルになっている。

criket audioって所までは行けたけど、エンコの仕方までは行きつけなかったので、だれか教えて欲しい。

もしくは暇なときに調べてみたい。

この程度ならぐぐればすぐかと思ったけど出てこなかったのでメモとして残す

VBA KeyDownイベントを使ってみる

KeyDownイベントを使ってみます。

KeyDownイベントでは、キー入力が行われた際に、KeyCodeにそれぞれのキーに割り当てられた値が返されます。


とりあえず次のようにコードを書いて、
キーに割り当てられた値をメッセージボックスに出力してみます。

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
MsgBox KeyCode
End Sub

f:id:hmmr:20161117182244j:plain

しかしいちいちメッセージボックスが出てきて面倒なので

MsgBox KeyCode

の代わりに

Debug.Print KeyCode

とすると楽ですね。

f:id:hmmr:20161117182700j:plain

そういうわけでデバッグプリントで手元のキーボードを調べてみました。
---------------------------

■テンキー回り
Enter 13
0 96
1 97
2 98
3 99
4 100
5 101
6 102
7 103
8 104
9 105
* 106
+ 107
- 109
. 110
/ 111
NumLock 144
■文字列
A 65
B 66
C 67
D 68
E 69
F 70
G 71
H 72
I 73
J 74
K 75
L 76
M 77
N 78
O 79
P 80
Q 81
R 82
S 83
T 84
U 85
V 86
W 87
X 88
Y 89
Z 90
------------
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
------------
- 189
^ 222
\ 220
@ 192
[ 219
; 187
: 186
] 221
, 188
. 190
/ 191
\ 226

 

■Functionキー
F1 112
F2 113
F3 114
F4 115
F5 116
F6 117
F7 118
F8 119
F9 120
F10 121
F11 122
F12 123

 

■方向キー
← 37
↑ 38
→ 39
↓ 40

 

■それ以外
半角/全角 229
Tab 9
CapsLock 229
Shift 16
Ctrl 17
Windowsキー 91
Alt 18
無変換 29
Space 32
変換 229
カタカナ/ひらがな 229
コンテキストメニューキー 93
PrintScreen 42
ScrollLock 145
Pause/Break 19
PageUp 33
PageDown 34
End 35
Home 36
Insert 45
Delete 46

↓簡易な表にしたもの。センスがないのは...まぁ...

f:id:hmmr:20161117175734p:plain

今回はKeyDownイベントを使いましたが、似たようなイベントにKeyPressイベントがあります。KeyPressでも似たように値を返すのですが、だからといってKeyDownと同じ値は使えません。

例えばKeyDownでは「A」は「65」を返しますが、KeyPressでは「97」を返します。というかそもそもKeyPressの場合はKeyDownではなくKeyAsciiです。

とりあえず今回はKeyDownイベントのお話ということでここまで

 

追記

これらのKeyCodeはここにすべて記載されている。

 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/character-set-0127

https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/character-set-128255

VBAメモ マクロを動かすには???

前回はマクロをすぐに書き始める方法を書きました。

そのままsubプロシージャ内に処理を書いていけばいいのですが、実際マクロを動かして処理をさせようとすると、はたと気付きます。これってどうすればマクロを動かせるのだろうか?

例えばVBE画面でフォームの実行ボタンを押すとか、F5を押すとかでもマクロは動きますが、実際にマクロを書き終わって、毎回処理させると考えたら、いちいちVBE画面を開いてF5を押すのは手間です。

そこで便利なのがボタンを用意することです。

望むべくは、

エクセルを開く→シートに配置されたボタンを押す

のフローで動作させることです。

という事で、その方法です。

1.開発タブを表示させる

結局は開発タブを表示させなきゃダメです。表示の方法は「VBA 開発タブ」とかで調べると出てきます。バージョン毎にやり方が異なるのでここでは書きません。

2.ボタンを配置&ボタンにマクロを登録

開発タブ→挿入→ボタン(フォームコントロール)→任意の範囲をドラッグ&ドロップしてボタンを作る→「マクロの登録」画面が開くので、自分が作ったマクロを指定して「OK」

f:id:hmmr:20160610124313j:plain

f:id:hmmr:20160610124318j:plain

これでボタンを作って、そのボタンにマクロを登録する事ができました。後はボタンを押す毎にマクロが動いて処理がはじまります。今回は簡単にセルA1に「こんにちわ」という文字を入力して、それをメッセージボックスで出力する処理を書きました。これでボタンを押したらマクロが動くようになりました。

f:id:hmmr:20160610124620j:plain

f:id:hmmr:20160610124625j:plain

以上