2011年11月15日火曜日

横画面固定の解除

解像度を600x375にしてみたら結構綺麗だったので横画面固定を解除しました。

android3.xではフルスクリーンや画面位置の指定が効かないと聞いたのですが、解像度の直指定もダメっぽいですか?


ファイルのパスと音量ボタンについては、考えてみます。

追記:階層に対応しました。副作用でnp2フォルダより上も選べてしまいますが。

追記2:ボリューム対応しました。
114,123 ,//Vol Down
115,124 ,//Vol Up
となっています。
自分で割り当てたい場合は、123と124を設定して下さい。

2011年11月12日土曜日

キーの割り当てについて

暫定的にキー割り当てを用意しました。

上図のようにnp2フォルダに拡張子を.keyとしたテキストファイルを用意し中に次のように記入して下さい。

androidのscancode,PC-98のkeycode

例えば、

125,1
126,2

と記入すると、LWinキーで1が、RWinキーで2が出力されます。
申し訳ありませんが、androidのscancodeは各自でご確認下さい。

現在内部の割り当ては次のようになっています。

1 , 117 ,//ESC
2 , 1 ,//1
3 , 2 ,//2
4 , 3 ,//3
5 , 4 ,//4
6 , 5 ,//5
7 , 6 ,//6
8 , 7 ,//7
9 , 8 ,//8
10 , 9 ,//9
11 , 10 ,//0
12 , 11 ,//-
13 , 12 ,//^
14 , 14 ,//BS
15 , 15 ,//TAB
16 , 16 ,//Q
17 , 17 ,//W
18 , 18 ,//E
19 , 19 ,//R
20 , 20 ,//T
21 , 21 ,//Y
22 , 22 ,//U
23 , 23 ,//I
24 , 24 ,//O
25 , 25 ,//P
26 , 26 ,//@
27 , 27 ,//[
28 , 28 ,//RETURN
29 , 116 ,//CTRL
30 , 29 ,//A
31 , 30 ,//S
32 , 31 ,//D
33 , 32 ,//F
34 , 33 ,//G
35 , 34 ,//H
36 , 35 ,//J
37 , 36 ,//K
38 , 37 ,//L
39 , 38 ,//;
40 , 39 ,//:

42 , 112 ,//SHIFT
43 , 40 ,//]
44 , 41 ,//Z
45 , 42 ,//X
46 , 43 ,//C
47 , 44 ,//V
48 , 45 ,//B
49 , 46 ,//N
50 , 47 ,//M
51 , 48 ,//,
52 , 49 ,//.
53 , 50 ,//SLASH
54 , 112 ,//SHIFT
55 , 69 ,//[*]
56 , 115 ,//Alt L → GRPH
57 , 52 ,//SPACE
58 , 113 ,//CAPS
59 , 98 ,//f1
60 , 99 ,//f2
61 , 100 ,//f3
62 , 101 ,//f4
63 , 102 ,//f5
64 , 103 ,//f6
65 , 104 ,//f7
66 , 105 ,//f8
67 , 106 ,//f9
68 , 107 ,//f10
69 , 62 ,//Num Lock → HOME
70 , 63 ,//Scroll Lock → HELP
71 , 66 ,//[7]
72 , 67 ,//[8]
73 , 68 ,//[9]
74 , 64 ,//[-]
75 , 70 ,//[4]
76 , 71 ,//[5]
77 , 72 ,//[6]
78 , 73 ,//[+]
79 , 74 ,//[1]
80 , 75 ,//[2]
81 , 76 ,//[3]
82 , 78 ,//[0]
83 , 79 ,//[,]
87 , 77 ,//F11 → [=]
88 , 80 ,//F12 → [.]
89 , 51 ,//BACKSLASH
92 , 53 ,//Henkan → XFER
93 , 114 ,//Katakana → KANA
94 , 81 ,//Muhenkan → NFER
96 , 28 ,//[RETURN]

98 , 65 ,//[/]
99 , 97 ,//Print → COPY


102 , 62 ,//HOME
103 , 58 ,//UP
104 , 54 ,//ROLL UP
105 , 59 ,//LEFT
106 , 60 ,//RIGHT
107 , 63 ,//End → HELP
108 , 61 ,//DOWN
109 , 55 ,//ROLL DOWN
110 , 56 ,//INS
111 , 57 ,//DEL
119 , 96 ,//STOP
124 , 13 ,//\


127 , 120 ,//MENU
139 , 120 ,//MENU
158 , 119 ,//back → RIGHT CLICK
217 , 15 ,//Search → TAB
229 , 120 ,//MENU
232 , 118 ,//DPAD Center → LEFT CLICK
248 , 116 ,//e_kao_ki → CTRL
249 , 114 ,//moji → KANA



本来はPC-98のESCコードは0なのですが、都合が悪いので117に割り振っています。


ファイルが出来ましたら、MENU→設定→設定→keymap fileでファイルを選択してください。


他にもちょこちょこ改変していますが、画面に重なるキーはまだ実装できていません。
申し訳ない。



2011年10月27日木曜日

ファイルの読み込み

キーコンフィグをどうしようか考えていたのですが、余りのキーの多さに嫌気がさしたので
先にファイルの読み込みを付けてみました。

ソースはまだUPしてませんすいません。

2011年9月29日木曜日

SDカードののパスについて

今まで便宜上/sdcard/np2としていましたが、いつまでもこのままにしてはおけないので少し修正しました。

今後は外部SDカードにnp2フォルダを作成して下さい。


サムスンなんかだと外部SDカードのパスが

/sdcard/external_sd

などとなっていますし、

/mnt/sdcard/

となっているデバイスもありますが、多分大丈夫だと思います。

まあ、そんなに沢山確認していないのでダメな場合もあるかと思いますが。




2011年9月25日日曜日

フルスクリーン

フルスクリーンに対応しました。
タブレット使用の一部の方、お待たせしました。
メニューから最大化を選んでフルスクリーンのチェックを入れると最大化します。

スクリーンを変更すると一度NP2 for Androidが終了・再起動されますので必要な人は
resumeにチェックを入れるなどして対処してください。

残っている宿題は、
・トラックボール・マウス対応
・キーコンフィグ
・NP2に依存しないファイルの読み込みの実装
・ソフトキーボードの抜本的改善
こんなところでしょうか?

3年くらいかかりそう

とりあえずapkファイルだけ上げてあります。
ソースはちょっと遅れます。

以上

2011年9月21日水曜日

UI変更

なんとなくUIを変更してみました。

MENUキーを押すとAndroidっぽいメニューが表示されます。
キーボードのon off、NP2のメニュー表示、再起動、終了が行えます。

それから、BACKキーがマウスの右ボタンに割り当てられていることが多いようなので
BACKキーを右ボタンにしました。
また、トラックボールの押し込みもしくはセンターキーを左クリックに割り当てました。

未実装の機能はまたそのうちに。

しかしだんだん重くなるな。


追記 font.bmpの中身です。
M+とIPAの合成フォントを用いて作ってみました。

2011年8月2日火曜日

FDDのプロテクトについて

ちょっと時間が開きましたが、FDDイメージに書き込みできない問題、とりあえず対応しました。

結局解決法が思いつかなかったので、dosio.c中のfile_attrの処理をすっ飛ばしています。
不具合が出たら教えて下さい。
多分対処は出来ませんが。

追記:
Google Docsがなんとなく使いにくかったので、保管場所を変更します。

2011年6月29日水曜日

ステートセーブ

どこかから声が聞こえた気がしたので
とりあえず1つだけステートセーブ、ステートロードをつけてみた

いつものごとく、動くかどうかは判りません

TAB ESCキーの横のSがステートセーブ、Lがステートロードです。

が、まともに動きませんでした。
ごめんなさい。

ちょっと修正してみましたが、やっぱりセーブ・ロード共に失敗することがあります。
セーブはそれほどでも無いのですが、ロードの失敗が多いですね。
何回かロードを繰り返してやると上手くいくこともあります。

7月6日追記

大変もうしわけありませんでした。
UPしたつもりが共有になっていませんでした。
申し訳ない。

2011年3月2日水曜日

ソフトキーボード

ボタンからソフトキーボードに変更したらまともに動かなくなった……
なんでだろう?

ところで、キーは画面の右と左、どっちが使いやすいですかね?
今は、親指でテンキーパッドを操作することを想定して左にしていますが。

下にも少し置くとして。




追記

ソフトキーボードの実験用にこんなの作ってみた。



SDLを通さずに直接NP2にキーコードを送ってみたのですが、動作が不安定です。
実機で動くかは判りません。
が、多分キーが小さすぎて使えないと思います。
一応UPしますが、我ながら酷い出来ですねぇ。

書き忘れていましたが、640×960の画面専用です。

2011年2月22日火曜日

ボタン追加

今日触った所

t98devlogさんの修正を真似て音を出せるようにした。

これについては、どうして治るのか分かっていません。
調べたら、w32版のNP2-SDLもCopyMemory使ってました。
何でだろう?
それ以前に、なんでMixAudioがおかしいって判るんだろう?
すごすぎてどうしたらいいのか判りません。

・ボタンを付けて重くした
一応余ったスペースにテンキーと特殊っぽいボタンをつけました。
SDL部分とNP2部分の両方を改変しました。

CTRL SHIFT GRPH HELPは一度クリックすると押しっぱなしになり、
もう一度クリックすると解除されます。
これで、セットアップメニューに入れるようになりました。

しかしながら、結局レイアウトの使い方が良く判っていないため、
今回のボタンはソース中にゴリゴリ書き込んで作っています。
何という力業! 自分の低い知能が憎い!


ところで、NP2は修正BSDライセンスでの配布が認められています。
私が穢したところも同様にします。

SDL部分はLGPLによる配布が認められています。
私が汚した所もそうなります。

では、出来たバイナリはどっちなんでしょうか?
LGPL?


Android用のNP2を求めてきた人へ
ここのを使うよりは、t98devlogさんの物を使うと良いと思います。
ソフトキーボードに対応していますし。

以上

2011年2月10日木曜日

今日の勉強

IS01の画面を直すのとボタンを置こうかと思ってjavaをいじったら
余ったスペースでマウスを動かせなくなった……

今日の勉強
・文字列の比較の仕方
・SDLのマウスモーションの拾い方



やっぱり勘と運だけで手を出さない方が良かったのかな。


追記
SDL_GetMouseStateって何ですか?
motion.stateってどう使うの?

……もう一回書き直すか。

2011年2月8日火曜日

今日の更新

皆さんこんばんは

今日の更新は

・若干タップっぽい挙動にした(今まではマウスUPでごまかしていた)
・1秒長押しで右クリックっぽい何かを送るようにした
・NDKをr5bに変えたら何だか描画がさらにおかしくなったかもしれない

です。

今までやったことを忘れないうちに書いておきます。

機種依存外について
menudeco.inc
メニューを若干広げてタップしやすくした
filesel.c
大文字の拡張子も認識するようにした
memory.h
t98devlogさんにならってmemory_.hに書き換えた
あわせて crtc.cとcpucore.hも書き換えた

機種依存部について
np2.c
datadir[MAX_PATH] = "/sdcard/np2/" とした
mousemng_initialize();をぶち込んだ

sdlkbd
SDLK_???をSDL_scancode_???に変更した
KeyUPの後にmouseの状態を更新するようにした

fontmng
#define FONTNAME_DEFAULT "/sdcard/np2/default.ttf"としたが
結局SDL_ttfが必要など重めだったのでdinguxからdefault.ttfの必要の
無いものを導入した
あわせて、メニューのUIをUSバージョンにした

mousemng
これもdinguxから持ってきた ヴァーチャルマシンが状態を確認する
度にマウスにリセットをかけるようにした。

taskmng
これはもうメチャメチャ とりあえずタップらしいものと長押しらしいものを
取ってつけた。

この位か

それではさようなら

2011年2月5日土曜日

無理やり修正

今日の修正
マウスのクリック部分の実装が変だったのをもっと変にしてなんとか動くようになった

です。

ぷろ すちゅーでんとGでも大丈夫だと思います。

2011年2月3日木曜日

マウスを(左クリックだけ)仮に実装した

前回からの修正
フォントの自動生成を止めた(なんとなく重い気がしたので)
makefileをマシなものにした(t98devlogさんの書き方をほぼそのまま使用しました 勉強になりました)
マウスを仮に実装してみたら使いにくかった
キー入力の拾い方を元にもどした
他にも何かあったかも

以上となります。

ちなみに、NP2を移植するに当たって、ソースはCVSから取ってきたものとdinguxのものを
使用しています。

SDLはhttp://www.libsdl.org/よりandroid-project.zipを持ってきて使用しています。

ほぼすべて借り物で出来ているのでした。

2011年1月31日月曜日

少し修正

大文字の拡張子を読めるようにしました。
また、画面スリープにならないようにしました。

あとキー入力の拾い方を少し変えてみましたが、逆に重くなったかもしれません。

実は音も出るようにしたのですが、リピートがかかっておりまともに再生されません。



忘れていました。np2フォルダにdefault.ttfというファイルを入れておくとfont.tmpを自動生成してくれます。
もしかしたら、default.ttfが無いとmenuの文字が表示されないかもしれません。

default.ttfに使うフォントは何でもいいと思います。

2011年1月26日水曜日

キー設定

足りない分をどう割り振ろうか

そんなことより、keystat.hみてみたら、keystat_senddataが廃止関数とか書いてあるし……
根本的に作り直すことは(能力の関係上)出来ないし、どうしたもんか


IS01に合わせた配置になってます
左ALT=CTRL
絵・顔・記=GRPH
文字=カナ
サーチ=ESC
右SHIFT=TAB
トラックボール押し込み=STOP
MENU=MENU
戻る=終了

にしてあります
画面タップでMENUでるからMENUキーも何かに使おうかな

あ、それから、画面スリープに入ると暴走します

不具合あってもいいから使ってみたい、という人は、SDLActivity.apkをDLした後、
adb installなどでインストールしてください

FONT.BMPなどがないと画面が汚いので、NP2のページのツールを使用するなりして
作成してください

同じフォルダにHDDイメージを入れておけば、メニューから選択できると思います

2011年1月25日火曜日

とりあえずUP

色々と残念な仕様になっていますが実機(IS01)で動作したのでUP
俺の運と実力ではこの辺が限界

https://docs.google.com/leaf?id=0B1mW5LO0TG8qNzFmODE0ZmYtNDIzNS00YjU0LTkyMGQtYzcyNTllODI1NzU3&hl=ja

キーボード必須です
SD Cardにnp2というフォルダを作ってfont.bmpやらを入れてください

関連リンク
ねこープロジェクトII



スイマセンスイマセン、makefileの作り方がわからなくてスイマセン
そのせいで、きれいにフォルダ分けされたNP2のソースが平積みに……

makeするときはnp2のフォルダをSDL-Android-projectの中のjniフォルダ中にあるsrcフォルダに入れて、SDL-Android-projectディレクトリでndk-buildして下さい

その後は、俺はeclipseでやりましたがantでもいけると思います

xp (cygwin)とubuntu 10.04 で実行ファイル作成できました