DevTerm:Apple II エミュレータ LinApple

海外レトロ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です。

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 になっていたので、(難しいので攻略見ながら)遊んでみました。名作ですね。

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 が効かなくて、ディスク入れ替えが試せませんでした…。