2017/10/24(火) [n年前の日記]
#1 [raspberrypi][ubuntu] HSP3.5を Ubuntu 16.04上で試用
HSP3.5を Raspberry Pi上で動かしてみた際、キー入力が取得できてる気配が無かったのだけど。同じことを Ubuntu Linux上でやったらどうなるのか気になったので、試してみようかと。環境は VMware + Ubuntu 16.04 LTS。
以下の動画がかなり参考になった。ありがたや。
_Linux(Ubuntu)でHSPを動かしてみよう - YouTube
以下の動画がかなり参考になった。ありがたや。
_Linux(Ubuntu)でHSPを動かしてみよう - YouTube
◎ インストール手順。 :
ビルドに必要なパッケージをインストールする。OpenGL ES, SDL1.2, SDL_image1.2, SDL_mixer1.2, gtk+-2が必要になるらしい。
HSP3.5のソースをDLして解凍。
makeする。
これまたエラー。何故。
Raspberry Piの時と同様に、make clean をしてから make してみたら通った。
sudo aptitude install libgles2-mesa-dev sudo aptitude install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev sudo aptitude install libgtk2.0-dev
HSP3.5のソースをDLして解凍。
mkdir ~/hsp cd ~/hsp wget http://www.onionsoft.net/hsp/file/hsplinux35.tgz tar zxvf hsplinux35.tgz cd hsplinux35
makeする。
make
これまたエラー。何故。
Raspberry Piの時と同様に、make clean をしてから make してみたら通った。
make clean make
◎ 動作確認。 :
簡易エディタ head を起動して動作確認。
ちなみに、Raspberry Pi上で動かした場合と同様に、Fileメニュー関係にバグがあるように見えた。
./headソースを書いてF5キーを押すと実行される。
ちなみに、Raspberry Pi上で動かした場合と同様に、Fileメニュー関係にバグがあるように見えた。
- Open を選ぶと、「save」と書かれたダイアログが表示される。
- Save と Save As が逆。
◎ Linux版はキー入力を取得できてるっぽい。 :
Ubuntu上で sample/test1.hsp を動かしたところ、ESCキーを押したら終了してくれた。
Raspberry Pi上では、同じソースを動かしても終了できないのだけど…。どうやら Linux上で動かす分には、キー入力が取得できるようだなと。そして、Raspberry Pi上ではキー入力を取得できない模様。
ちなみに、キー入力を判別してる部分は以下。
_HSPリファレンス : HSPシステム制御
_暁のHSP講座 ★第16章★
「stick 変数, 非トリガータイプキー指定」で、変数にキー入力の状態が入る。ESCキーが押されると128が入るので、その次の行の if key & 128 が真になって、end(= プログラムの終了)が呼ばれるはずで。
getkey という命令でも、キーの状態をチェックできる。
Raspberry Pi上では、同じソースを動かしても終了できないのだけど…。どうやら Linux上で動かす分には、キー入力が取得できるようだなと。そして、Raspberry Pi上ではキー入力を取得できない模様。
ちなみに、キー入力を判別してる部分は以下。
stick key,15 if key&128 : end
_HSPリファレンス : HSPシステム制御
_暁のHSP講座 ★第16章★
「stick 変数, 非トリガータイプキー指定」で、変数にキー入力の状態が入る。ESCキーが押されると128が入るので、その次の行の if key & 128 が真になって、end(= プログラムの終了)が呼ばれるはずで。
getkey という命令でも、キーの状態をチェックできる。
getkey flag,27 if flag = 1 : end「getkey 変数,キーコード」で、そのキーが押されてたら1が、押されてなかったら0が、変数に入る。次の行で、キーが押されてたら、つまり変数の値が1なら、end(プログラムの終了)が呼ばれるはず。
[ ツッコむ ]
#2 [raspberrypi] HSPがRaspberry Pi Zero系上で動くことに期待
どうしてHSPに期待してるかというと…。Raspberry Pi Zero系上でもそれなりに滑らかに動いてくれて、かつ、高級言語(っぽい何か)から扱えるゲーム制作ライブラリの類が現状では存在してないからで。
こういう状況なので、HSP が Raspberry Pi Zero系上で、OpenGL ES を使ってそこそこぬるぬるの描画速度で動いてくれるなら、例えば2Dアクションゲームの類を作りたいとなった際には唯一の選択肢になりそうだなと。故に、HSPの今後に期待してるという…。
いや、Cで書けばアレだけど、お子さん達にいきなりCを書かせるのかよ、って言う。せめて Python とか Ruby とか、百歩譲って HSP とか、そのあたりから始めるほうが、と思うんだけど…。
まあ、そもそも、Raspberry Piシリーズって、本当にお子さん達に買い与えられているのだろうか、触って喜んでるのはおじさんばかりじゃないの、てな不安もありますが。実態はどうなってるんだろう。 *2
- Linux上で高速描画と言えば OpenGL だけど、Raspberry Piシリーズで OpenGL を動かせるのは、Pi2 / Pi3 のみ。Pi1 / Zero系は公式にサポートされてない。Pi1 / Zero系は、OpenGL ES しか対応してない(ことになってる)。
- Python + pygame はソフトウェア描画なので、描画がとにかく遅い。
- Python + pyglet、Python + cocos2d は OpenGL が必要。しかも cocos2d Python版は Pi3 上で動かしてもガクガクだった。
- Ruby + gosu は Pi3 上で滑らかに動いてくれたけど、おそらく OpenGL が必要。Pi1 / Zero系では動かないか、ソフトウェア描画になってガクガクしそう。
- Python + pi3d は OpenGL ES を Python から制御できるけど、ゲーム制作向きのライブラリではない。色々と機能が足りてない。しかもオブジェクトを10個ぐらい出しただけで処理落ちする。
- Flash plugin は Pi2 / Pi3 上でのみ対応。Pi1 / Zero系では動かない。
- え? JavaScript? Zero系で Google Chrome を立ち上げてみれば「あっ。これは」と察するのでは。
こういう状況なので、HSP が Raspberry Pi Zero系上で、OpenGL ES を使ってそこそこぬるぬるの描画速度で動いてくれるなら、例えば2Dアクションゲームの類を作りたいとなった際には唯一の選択肢になりそうだなと。故に、HSPの今後に期待してるという…。
いや、Cで書けばアレだけど、お子さん達にいきなりCを書かせるのかよ、って言う。せめて Python とか Ruby とか、百歩譲って HSP とか、そのあたりから始めるほうが、と思うんだけど…。
まあ、そもそも、Raspberry Piシリーズって、本当にお子さん達に買い与えられているのだろうか、触って喜んでるのはおじさんばかりじゃないの、てな不安もありますが。実態はどうなってるんだろう。 *2
[ ツッコむ ]
#3 [xyzzy] xyzzyのneinstallerが動作しなくて悩んだり
Windows10 x64 + xyzzy 0.2.2.256 で、
_netinstaller - 世界の仕組み研究所 - アットウィキ
の packages.l を登録しようとしたのですが、「URL解析不能」てなエラーが出るのです。何故。
もしかして、xyzzy は、https のURLにアクセスできないのだろうか…。
だとしたら…。
すると今度は、URL解析不能とは言ってこないものの、301がどうのこうのとエラーが出る。
_HTTPステータスコード - Wikipedia
xyzzy って、リダイレクトには対応してないってことかな…。
昨今、あちこちのサイトが http から https に変わってるけど。こういうことが起きるとなると、困るなあ…。非常に困る…。今まで使えてたアレコレが使えなくなるではないか…。
もしかして、xyzzy は、https のURLにアクセスできないのだろうか…。
だとしたら…。
https://www7.atwiki.jp/knenet?cmd=upload&act=open&pageid=62&file=packages.lを
http://www7.atwiki.jp/knenet?cmd=upload&act=open&pageid=62&file=packages.lに変えて追加しようとしてみたり。追加は、netinstaller が起動した状態で、aキー。
すると今度は、URL解析不能とは言ってこないものの、301がどうのこうのとエラーが出る。
_HTTPステータスコード - Wikipedia
301 Moved Permanently
恒久的に移動した。リクエストしたリソースが恒久的に移動されているときに返される。Location:ヘッダに移動先のURLが示されている。
xyzzy って、リダイレクトには対応してないってことかな…。
昨今、あちこちのサイトが http から https に変わってるけど。こういうことが起きるとなると、困るなあ…。非常に困る…。今まで使えてたアレコレが使えなくなるではないか…。
[ ツッコむ ]
#4 [xyzzy] xyzzyにhsp-modeを追加してみたり
ググったら xyzz 用の hsp-mode を公開されてる方がいらっしゃったので使わせてもらったり。ありがたや。
_hsp-mode - 世界の仕組み研究所 - アットウィキ
_netinstaller - 世界の仕組み研究所 - アットウィキ
_Windows用フリーウェア2 - cHspComp
netinstallerでインストールしようとしたが、エラーが出てインストールできなかった。仕方ないので、hsp-mode002.tar.gz を別途ダウンロード・解凍して、手作業でインストールした。
解凍すると、etc , site-lisp フォルダが出てくる。
~/.xyzzy に以下を追加。環境に合わせて、HSP3.5インストール場所の指定を変更する必要有り。
~/etc/hsp-mode-user.l を編集。自分の場合、F9 , C-F9 , S-F9 あたりを別のアレコレで使ってるのでコメントアウトした。どうせメニューに「HSP(P)」が追加されて、そちらを経由して利用できるので問題無し。
~/site-lisp/hsp-mode.l をバイトコンパイル。M-x byte-compile-file と打って、~/site-lisp/hsp-mode.l を指定。
cHspComp を、 _Windows用フリーウェア2 - cHspComp から入手。
chspcomp.zip をDLして解凍すると色々ファイルが入ってるので、以下の2つのファイルを、HSP3.5インストールフォルダにコピーしておく。
xyzzy を再起動すれば、hspファイルを開いた際に色付け表示されるようになっている、はず。
編集後、F5キーでコンパイル+実行ができる。
_hsp-mode - 世界の仕組み研究所 - アットウィキ
_netinstaller - 世界の仕組み研究所 - アットウィキ
_Windows用フリーウェア2 - cHspComp
netinstallerでインストールしようとしたが、エラーが出てインストールできなかった。仕方ないので、hsp-mode002.tar.gz を別途ダウンロード・解凍して、手作業でインストールした。
解凍すると、etc , site-lisp フォルダが出てくる。
- etc/HSP を、xyzzyインストールフォルダ/etc にコピー。
- etc/hsp-mode-user-default.l を、xyzzyインストールフォルダ/etc に、hsp-mode-user.l というファイル名でコピー。
- site-lisp/hsp-mode.l を、xyzzyインストールフォルダ/site-lisp にコピー。
~/.xyzzy に以下を追加。環境に合わせて、HSP3.5インストール場所の指定を変更する必要有り。
;; ---------------------------------------- ;; hsp-mode (require "hsp-mode") (pushnew '("\\.hsp$" . hsp-mode) *auto-mode-alist*) (setq hsp-mode-user-file "~/etc/hsp-mode-user.l") (setq *hsp-root* "HSP3.5インストールフォルダ") ;; 例 : (setq *hsp-root* "C:/Prog/hsp35")
~/etc/hsp-mode-user.l を編集。自分の場合、F9 , C-F9 , S-F9 あたりを別のアレコレで使ってるのでコメントアウトした。どうせメニューに「HSP(P)」が追加されて、そちらを経由して利用できるので問題無し。
~/site-lisp/hsp-mode.l をバイトコンパイル。M-x byte-compile-file と打って、~/site-lisp/hsp-mode.l を指定。
cHspComp を、 _Windows用フリーウェア2 - cHspComp から入手。
chspcomp.zip をDLして解凍すると色々ファイルが入ってるので、以下の2つのファイルを、HSP3.5インストールフォルダにコピーしておく。
chspcomp.exe chspcomp.ico
xyzzy を再起動すれば、hspファイルを開いた際に色付け表示されるようになっている、はず。
編集後、F5キーでコンパイル+実行ができる。
[ ツッコむ ]
#5 [xyzzy] xyzzyってモード別にファンクションキーラベルを変更できないのだろうか
xyzzy 上で hsp-mode が動いてる際、ファンクションキーの F5等に実行機能が割り当てられるけど、ファンクションキーのラベルは変更されないあたりが気になったわけで。
フツーは、以下のような設定で、ラベルを指定できるわけだけど…。
コレをやっちゃうと、どのモードでも、その表示になってしまうわけで。
機能の割り当て自体は、モード別に指定できる。例えば以下の場合だと、hsp-mode の時だけこの割り当てにするよ、と指定できる。
しかし、ラベル表示は追随しない…。不便だ…。
まあ、そもそも xyzzy のような Emacs系エディタを使う人は、ファンクションキーを極力使わない傾向があって困ってないのかもしれないけれど。Emacsってファンクションキーのラベル表示すら無いもんな…。
フツーは、以下のような設定で、ラベルを指定できるわけだけど…。
(set-function-bar-label #\F5 "コンパイル+実行")
コレをやっちゃうと、どのモードでも、その表示になってしまうわけで。
機能の割り当て自体は、モード別に指定できる。例えば以下の場合だと、hsp-mode の時だけこの割り当てにするよ、と指定できる。
(define-key *hsp-mode-map* #\F5 'hsp-compile-and-run) ; コンパイル+実行
しかし、ラベル表示は追随しない…。不便だ…。
まあ、そもそも xyzzy のような Emacs系エディタを使う人は、ファンクションキーを極力使わない傾向があって困ってないのかもしれないけれど。Emacsってファンクションキーのラベル表示すら無いもんな…。
[ ツッコむ ]
#6 [nitijyou] 某所からPC-FAXの件で連絡有り
某所からメールで連絡有り。brother製インクジェット複合機、brother MFC-J6970CDW のドライバを削除してくれるはずのアンインストールツールを一晩中動かしておいたけど、朝になっても処理が完了していない上に、キャンセルを押しても終了してくれない、という相談が。昨日アンインストールツールを実行した際に妙に時間がかかってたから「もしやコイツ…まさか…」とは思ってたけど。brotherさん、やってくれるぜ…。どんなツールやねん…。
とりあえずOS再起動をしちゃっていいです、と連絡。OSが終了する際にプロセスを強制終了してくれるだろう…。
その後、brother Utility → ツール → アンインストールで、ドライバの削除を試みてもらったり。そちらの操作なら、ドライバがアンインストールできたらしい。その状態から、フルパッケージ版のドライバを再インストールしてもらった。
が、しかし、相変わらずPCからFAX送信できないとの話で。電話番号を入力するウインドウが、一瞬表示されてすぐに消えてしまうという。正規の手順で、ドライバのアンインストール・再インストールをしても解決せず、か…。
これはもう brother に問い合わせするしかない、という話に。メールで問い合わせを受け付けてるようではあるけど、返事は来るのだろうか…。
不思議なことに、ハードウェア構成も同じだし、OSも同じ Windows8.1 x64 の別のPCでは、問題が起きてないわけで。Windows Update でおかしくなるなら、そっちでも同じ症状が出るはずだよなあ…。どこに原因があるのやら。
とりあえずOS再起動をしちゃっていいです、と連絡。OSが終了する際にプロセスを強制終了してくれるだろう…。
その後、brother Utility → ツール → アンインストールで、ドライバの削除を試みてもらったり。そちらの操作なら、ドライバがアンインストールできたらしい。その状態から、フルパッケージ版のドライバを再インストールしてもらった。
が、しかし、相変わらずPCからFAX送信できないとの話で。電話番号を入力するウインドウが、一瞬表示されてすぐに消えてしまうという。正規の手順で、ドライバのアンインストール・再インストールをしても解決せず、か…。
これはもう brother に問い合わせするしかない、という話に。メールで問い合わせを受け付けてるようではあるけど、返事は来るのだろうか…。
不思議なことに、ハードウェア構成も同じだし、OSも同じ Windows8.1 x64 の別のPCでは、問題が起きてないわけで。Windows Update でおかしくなるなら、そっちでも同じ症状が出るはずだよなあ…。どこに原因があるのやら。
[ ツッコむ ]
以上、1 日分です。