海外レトロPCエミュレータも気になってたので、Linux で動作する Apple II , Apple][ , Apple// エミュレータ、 LinApple を DevTerm でビルドしてみました。
linapple-pie
https://github.com/dabonetn/linapple-pie
おおもとは、Windows用 Apple II エミュレータ AppleWin からの移植ですね。
INSTALL に従って必要なライブラリを入れて、
sudo apt install libsdl1.2-dev libsdl-image1.2-dev libcurl4-openssl-dev zlib1g-dev libzip-dev
make でOKです。
DevTerm で LinApple ビルドしてみました。INSTALL の通りでビルドできました。
SDLから横長画面が認識されないぽくて、全画面モードだと表示が下すぎですねw
ウィンドウモードにした時も、ちょっと画面サイズ大きくて入りきって無いです。このへんは要調整…。https://t.co/6qAPkPfNOA pic.twitter.com/LsYB1mzCwb— Nochi (@shikarunochi) April 22, 2022
GitHub のコンフィグファイル linapple.conf だと、最初からフルスクリーンモード起動設定になってるので、ウィンドウ起動にしておきます。
#Fullscreen = 1 Fullscreen = 0
あと、画面解像度が 800×600 指定になってて DevTerm 画面に入りきらないので、ここも修正します。ウィンドウモードだと 560×420 でちょうどでした。
#Screen Width = 800 #Screen Height = 600 Screen Width = 560 Screen Height = 420
全画面モード表示だと、なんか下の方に表示されてしまいます。MZ-700 エミュレータで SDL1 使ってた時も同じ現象になったので、ライブラリが横長画面をうまく扱ってくれないのかも?Frame.cpp ソースをちょっと修正してみました。(対症療法だし、指定画面解像度で微調整必要です…。)
//screen = SDL_SetVideoMode(g_ScreenWidth, g_ScreenHeight, SCREEN_BPP, SDL_SWSURFACE | SDL_HWPALETTE); screen = SDL_SetVideoMode(g_ScreenWidth, /*g_ScreenHeight * 2.5*/ 1280 , SCREEN_BPP, SDL_SWSURFACE | SDL_HWPALETTE); //for DevTerm
スプラッシュ画面がちょっと大きめで、画面サイズ小さくすると隠しきれずにはみ出てきてしまいますw
これはまあ、気にせずに…。(気になるなら、splash.xpm を入れ替えればよさそう。)
F1で、ヘルプが表示されます。
ちなみに、DevTerm のゲームパッド&ボタンも認識されて使えました!
ミステリーハウスが1987年に Public Domain になっていたので、(難しいので攻略見ながら)遊んでみました。名作ですね。
1987年に public domain (freeware) になった Apple II 版のミステリーハウスを遊んでみました。
エミュレータでは、画面表示を滲みあり/なしに切り替えできます。https://t.co/hQUTPggejB pic.twitter.com/Aj0VXnB5FC— Nochi (@shikarunochi) April 24, 2022
Mystery House
http://www.sierrahelp.com/Games/HiResAdventures/MysteryHouseHelp.html
LinApple 、別のバージョンもありました。
LinApple
https://github.com/linappleii/linapple
こちらも、単純にライブラリインストール & make でビルドできました。起動時にディスクとコンフィグ指定します。
./linapple --conf ../etc/linapple/linapple.conf --autoboot --d1 ../share/linapple/Master.dsk
config での解像度指定はされてなくて、デフォルト 560 x 384 表示です。スプラッシュもこのサイズなのでキレイに隠れてよいですw
全画面モードは、こちらもうまく表示できなかったので、DevTerm 用にプログラム修正必要な感じです。
微妙に、ファンクションキーの割り当てが異なっていますね。
Ctrl + F10 の Hot Reset が効かなくて、ディスク入れ替えが試せませんでした…。