"yaft on LUNA" at NBUG Meeting 2014-11
-
Upload
kenji-aoyama -
Category
Software
-
view
351 -
download
4
Transcript of "yaft on LUNA" at NBUG Meeting 2014-11
NBUG 2014年9⽉例会→11⽉例会
夏休み自由研究報告
yaft × LUNA
Nagoya *BSD Users' GroupKenji Aoyama / ⻘⼭ 健治[email protected]
4
yaft - yet another framebuffer terminal
• 作者: haru (@uobikiemukot )さん
• yaft is simple framebufferterminal emulator for minimalist(living without X). This softwareis being developed to replaceLinux console for personal use.
• Main target is Linux console, but yaft supports some other framebuffer platform, FreeBSD console and NetBSD/OpenBSD wscons (experimental). And there are other (non framebuffer) ports, yaftx (X Window System) and yaft-android (Android).
http://uobikiemukot.github.io/yaft/
5
yaftの特徴 = 3S(?)
• Simple– 設定ファイルなし…conf.hを編集してコンパイル– フォントもコンパイル時に埋め込み
• Small
• Sixel対応
% ls -l yaft-rwxr-xr-x 1 aoyama staff 323828 Aug 27 21:52 yaft*% ldd yaftyaft:
Start End Type Open Ref GrpRef Name00001000 000b0000 exe 1 0 0 yaft1e39a000 1e4d7000 rlib 0 1 0 /usr/lib/libc.so.74.21ae41000 1ae41000 rtld 0 1 0 /usr/libexec/ld.so
<OpenBSD/luna88kの場合>
6
X版でとりあえず動かしてみる
• yaftx(X版yaft)で動きを確認• 色の設定を工夫すれば1bppでも使えそう?
左:amd64/24bpp
右:luna88k/1bpp
↑amd64/24bpp ↑luna88k/1bpp ↑色の設定を変えたら文字表示された
7
LUNAコンソールでの実装方針を考える
• frame bufferと同サイズのメモリ(バッファ)上でフォント描画を⾏い、最後にframe bufferへ反映している– バッファへ書くタイミングでframe bufferと同じ形にしておけ
ば、プレーン形式でも同様の処理になるはず• フォントパターンはwscons(4)に似た方式で保持してい
る– frame bufferへの書き込みは、LUNAのwscons(4)の実装を真
似れば良さそう• とりあえず1bpp版を動かすことを目標
9
LUNA版の描画%プレーン形式対応
display
memcpy(2)
font pattern color
buffer
frame buffer
#0
#1
#2
#3
word
plane
#0#1
#2#3
plane ここを実装まずはplane #0のみ