macOS 用 HSP3 動作テスト報告

結論:
私の環境(macOS上)ではHSP3Dishアプリを実行することはできましたが、正しく動作しませんでした。(描画まわり?)

追記: じゅんちゃんおじさんの推測
ARM M1 〜 M4チップ搭載の比較的あたらしいMacでは正しく動作して、
比較的ふるい Intel Core i チップ搭載の Macでは正しく動作しないっぽい…?
(チップが原因か、その当時のMacに採用されてる周辺のハードやソフトの問題かは不明)

Apple の Mac は年月が経つと、macOSのアップデートが提供されなくなります(iPhoneのiOSとおなじ)
なので、時が経てば ARMチップ搭載 Mac が全体を占めるようになるので、
ふるいMacを使っているユーザーはあきらめて Try HSP3Dish を利用する方向でわりきってもよいような気もします。
もちろん Intel Mac でも HSPがうごくとうれしいですが…、労力が大きいので
Try HSP3Dish が拡充されたり安定化するほうが、HSPユーザー人口は増えるかも。macOSユーザーだけでなく、iOSユーザーも使えるし、もちろん他のOSユーザーも使えるし。(私見)


私の Intel Mac の Safari 上で hsp3dish.js が動作しない問題もおなじ原因かも?

HSP3公式ドキュメントでは「 hsp3dish.js は、Safari上での動作をサポート」と明言しているので、推測するに、ARM Mチップ搭載の Mac実機で動作検証している気がします



2025年2月23日

・macOS用 HSPについての紹介記事を書きたいと思い、再度インストールに挑戦した動作結果を共有します。

 前回(2025年1月ごろ)はインストール手順の検証のみが目的だったので、HSPスクリプトエディタ hsed が起動できたところまでしか動作確認していませんでした。

使用機材

 iMac 2017 Intel Core i5  macOS Ventura 13.7.3


インストール手順

(前回インストール時のOpenHSPフォルダはフォルダごと削除して、再度以下の手順を実行)

git clone https://github.com/zakki/OpenHSP-fork OpenHSP

cd OpenHSP

git checkout macos

brew install glew glfw sdl2 sdl2_image sdl2_mixer sdl2_ttf gtk+

make -f makefile.macos

インストールは問題なく完了しました。
(付記:最近インストールの方法がもっと便利なカタチになるような話もでていたようです)

HSPスクリプトエディタの起動

問題なく起動しました。


サンプルスクリプトを実行しようとしたが…

フォルダの位置関係が一段ずれているみたい?
hspcmp と __hsptmp.hsp および ランタイムhsp3dish などの位置関係。
ターミナルウインドウのログのエラーを手がかりにして
No such file or directory がでなくなるような感じの場所にファイルを再配置してあげると実行画面までは出せるようになった。

実行結果

block3.hsp

hsed: RUN(./hspcmp -d -i -u /Users/xxxxxx/OpenHSP/__hsptmp.hsp)
#HSP script preprocessor ver3.6 / onion software 1997-2021(c)
#HSP code generator ver3.6 / onion software 1997-2021(c)
#use UTF-8 strings.
#Uninitalized variable (ginfo_winx).
#Uninitalized variable (ginfo_winy).
#Uninitalized variable (key).
#Uninitalized variable (bsize).
#Code size (1836) String data size (306) param size (0)
#Vars (40) Labels (8) Modules (0) Libs (0) Plugins (2)
#No error detected. (total 3143 bytes)

celputm.hsp


#include "hsp3dish.as"
#cmpopt varname 1

	x2=320:y2=480

	screen 0,x2,y2
	title "DEMO"

*main
	redraw 0
	color 0,0,32:boxf
	color 255,255,255:pos 10,24:mes "Hello World!"

	redraw 1
	await 33

	goto *main

HGIMG4 実験 Try HSP3Dish+HGIMG4 (trygp)のスクリプトを貼り付けて macOS上で実行( Intel Mac )
sample-test1

#include "hgimg4.as"

title "HGIMG4 Test"

	gpreset

	setcls CLSMODE_SOLID, 0		; 画面クリア設定

	setpos GPOBJ_CAMERA, 0,0,5	; カメラ位置を設定

	gpbox id_model, 1		; 箱ノードを追加

repeat
	redraw 0			; 描画開始

	addang id_model,0,0.02,0.01	; ノード回転
	gpdraw				; シーンの描画

	color 255,255,255
	pos 8,8:mes "HGIMG4 sample"

	redraw 1			; 描画終了
	await 1000/60			; 待ち時間

loop
hsed: RUN(./hspcmp -d -i -u /Users/xxxxxx/__hsptmp.hsp)
#HSP script preprocessor ver3.6 / onion software 1997-2021(c)
#HSP code generator ver3.6 / onion software 1997-2021(c)
#use UTF-8 strings.
#Uninitalized variable (id_model).
#Code size (174) String data size (90) param size (0)
#Vars (1) Labels (2) Modules (0) Libs (0) Plugins (2)
#No error detected. (total 1106 bytes)

Runtime[hsp3gp].
hsed: Runtime [hsp3gp].
Create GamePlay platform 640x480

Create GamePlay platform => 640x480

Create GamePlay platform => 640x480

hsp3dish_init_sub ok

hsp3dish_init_sub run

HGIMG4 3.6 initalized : linux

readAll -- 
Failed to load file: res/shaders/colored.vert


createFromFile -- 
Failed to read vertex shader from file 'res/shaders/colored.vert'.


initialize -- 
Failed to create effect for pass. vertexShader = res/shaders/colored.vert, fragmentShader = res/shaders/colored.frag, defines = MODULATE_ALPHA;DIRECTIONAL_LIGHT_COUNT 1


create -- 
Failed to create pass for material: vertexShader = res/shaders/colored.vert, fragmentShader = res/shaders/colored.frag, defines = MODULATE_ALPHA;DIRECTIONAL_LIGHT_COUNT 1

sample-test2 実行結果
ウインドウは test1とおなじで真っ黒

hsed: RUN(./hspcmp -d -i -u /Users/xxxxxx/__hsptmp.hsp)
#HSP script preprocessor ver3.6 / onion software 1997-2021(c)
#HSP code generator ver3.6 / onion software 1997-2021(c)
#use UTF-8 strings.
#Uninitalized variable (ginfo_sx).
#Uninitalized variable (ginfo_sy).
#Code size (430) String data size (109) param size (0)
#Vars (7) Labels (2) Modules (0) Libs (0) Plugins (2)
#No error detected. (total 1421 bytes)

Runtime[hsp3gp].
hsed: Runtime [hsp3gp].
Create GamePlay platform 640x480

Create GamePlay platform => 640x480

Create GamePlay platform => 640x480

hsp3dish_init_sub ok

hsp3dish_init_sub run

HGIMG4 3.6 initalized : linux

sample-test3

#include "hgimg4.as"

title "HGIMG4 Test"

	gpreset
	setcls CLSMODE_SOLID, $404040

	sx=ginfo_sx	; 画面のXサイズ
	sy=ginfo_sy	; 画面のYサイズ

	; gsquare用の頂点座標と色を配列に代入
	x(0)=0 : y(0)=0 : col(0)=$0000ff
	x(1)=sx : y(1)=0 : col(1)=$00ffff
	x(2)=sx : y(2)=sy : col(2)=$ff0000
	x(3)=0 : y(3)=sy : col(3)=$ff00ff

	font "",32	; フォントサイズを指定

	gmode 0

	;
	; gradf命令サンプル
	;
	repeat

	py=sin(0.1*cnt)*64+(sy/2)

	redraw 0

	; グラデーションで四角形を描画
	gsquare gsquare_grad, x,y,col

	; グラデーションで矩形を塗りつぶし
	gradf 0,py-50,sx,150, 1, $ff00ff, $ffffff

	; 文字を表示
	color 255,255,255
	pos 32,py
	mes "HGIMG4 gradf sample"

	redraw 1
	await 1000/60

	loop

↓ 実行すると31行目で「変数名が指定されていません」とエラーがでるので、とりあえず適当に

	; グラデーションで四角形を描画
	gsquare 0, x,y,col,col

↑ と書き換えると実行できるようになる。
が、画面は黒く画面上部で黒色の横長い矩形がビヨンビヨン跳ねるようなうごきをするのみ。(Try HSP3Dishの実行結果に雰囲気は似ている。グラデーションはなく、位置も異なるが。)

Execute from __hsptmp.ax runtime[hsp3gp](1).
hsed: Process end 255.
hsed: Runtime error 23 line 31.
hsed: Jump line [31].
hsed: RUN(./hspcmp -d -i -u /Users/xxxxxx/__hsptmp.hsp)
#HSP script preprocessor ver3.6 / onion software 1997-2021(c)
#HSP code generator ver3.6 / onion software 1997-2021(c)
#use UTF-8 strings.
#Uninitalized variable (ginfo_sx).
#Uninitalized variable (ginfo_sy).
#Code size (578) String data size (115) param size (0)
#Vars (8) Labels (2) Modules (0) Libs (0) Plugins (2)
#No error detected. (total 1595 bytes)

Runtime[hsp3gp].
hsed: Runtime [hsp3gp].
Create GamePlay platform 640x480

Create GamePlay platform => 640x480

Create GamePlay platform => 640x480

hsp3dish_init_sub ok

hsp3dish_init_sub run

HGIMG4 3.6 initalized : linux

Init:TTF_OpenFont error
---enterMessagePump OK

Init:TTF_OpenFont error
Init:TTF_OpenFont error
Init:TTF_OpenFont error
Init:TTF_OpenFont error
#Error 23 in line 31 (hgimg4.as)
-->変数名が指定されていません

Execute from __hsptmp.ax runtime[hsp3gp](1).
hsed: Process end 255.
hsed: Runtime error 23 line 31.
hsed: Jump line [31].
hsed: RUN(./hspcmp -d -i -u /Users/xxxxxx/__hsptmp.hsp)
#HSP script preprocessor ver3.6 / onion software 1997-2021(c)
#HSP code generator ver3.6 / onion software 1997-2021(c)
#use UTF-8 strings.
#Uninitalized variable (ginfo_sx).
#Uninitalized variable (ginfo_sy).
#Code size (578) String data size (115) param size (0)
#Vars (8) Labels (2) Modules (0) Libs (0) Plugins (2)
#No error detected. (total 1595 bytes)

Runtime[hsp3gp].
hsed: Runtime [hsp3gp].
Create GamePlay platform 640x480

Create GamePlay platform => 640x480

Create GamePlay platform => 640x480

hsp3dish_init_sub ok

hsp3dish_init_sub run

HGIMG4 3.6 initalized : linux

Init:TTF_OpenFont error
---enterMessagePump OK

Init:TTF_OpenFont error
Init:TTF_OpenFont error
Init:TTF_OpenFont error
Init:TTF_OpenFont error
TTF_Render : error
Execute from __hsptmp.ax runtime[hsp3gp](1).
hsed: Process end 0.

sample-test 0000


以上です。

現在の macOS版の OpenHSP 開発は 「Mac実機での検証なし」の環境で行なっているみたいなことが 書かれていたので、
とくに急がずに、気長に待とうと思います。

とりあえず Mac で HSP3Dish のプログラミングがしたいひとは、
Try HSP3Dish と WebDish が
代わりになる動作を十分果たしているような気がします。



別件の疑問共有:hsp3dish.js は Mac用Safari でうごくのか?


うちの Mac の ブラウザ Safari では hsp3dish.js が動作したことがありません。(通常モード、プライベートモード 両方)

Mac 上でも、Mac用 Chrome や Firefox 上では動作します。

iOS用Safari では動作します。 iPhone 、 iPad 。

疑問: Mac用Safari で hsp3dish.js が動作することを確認した人はいるのだろうか?
だとしたら、どういうSafariの環境設定(セキュリティ設定?)にすればよいのか?


!注意!
このページは今後、削除、または、非表示化する可能性があります


おまけ: その他の情報

macOS 用 HSP3 動作テスト報告