sl-jslinux
JavaScript で書いた PC エミュレータ上で動作する OS、jslinux が一部で話題らしい。@hasegawayosuke さんが、sl を動かしたいと言っているので、なんとかしてみましたよ。termcap を移植するのは面倒なので、vt100 環境限定で。
@uta46 やー、sl-2010 も http://bellard.org/jslinux/ 上で試したんですけど、terminfo/termcap の移植とかから始めないといけなさそうだったんで諦めましたw
— Yosuke HASEGAWA (@hasegawayosuke) 2011, 5月 19
必要なのは、
sl-2010 - hatenablog.utashiro.com
のソースの、curses.h の代わりに下のコードを入れるだけ。
ソースのコピーは /dev/clipboard 経由。コンパイルは tcc というコマンドを使う。
#include <tcclib.h> #define COLS 80 #define LINES 30 #define _IONBF 2 void initscr() { setvbuf(stdout, 0, _IONBF, 0); printf("\033[H\033[2J"); } void mvprintw(int y, int x, char *f, char *s) { printf("\033[%d;%dH", y+1, x+1); printf(f, s); } void refresh() { }
ウェイトは入れなくても大丈夫なので、むしろ最初に作ったころの環境に近かったりする。