オープンソースカンファレンス2020 Online/Fukuoka NetBSDのご紹介 の記録

2020/11/28 10:00-10;45 JST(UTC+9) に行われる オープンソースカンファレンス2020 Online/Fukuoka での「NetBSDのご紹介」の記録です。 #osc20fk #NetBSD
0
Izumi Tsutsui @tsutsuii

XM6i でマウスをキーボード接続にしてとりあえず mlterm-x68kgrf を試してみると、予想に反してマウスカーソルがちゃんと動く。 あれ? と思って ms.c を見直したらしれっとキーボード接続のときのコマンドを MFP に投げてた(コメントにも書いてあった) nxr.netbsd.org/xref/src/sys/a… 失礼しました…… pic.twitter.com/vRnsvr4Rvx

2020-11-22 14:25:03
拡大
Izumi Tsutsui @tsutsuii

ただ、現状のソースだとマウス直結の RTS とキーボード経由の MFP と同時に操作しているので、両方にマウスを接続した場合は MFP経由のキーボード側RTSの応答速度によっては両者の応答が衝突しそうな気はする。 ms.c としては tick 毎に交互に ON/OFF するようにしたら行けそうな気はするけど

2020-11-22 14:27:14
Kenji Aoyama @ao_kenji

88K2実機で2GのHDDイメージを吸い出すのに3時間かかった...

2020-11-22 19:45:50
Kenji Aoyama @ao_kenji

#OpenBSD/luna88k 6.8-current runs on nono-0.1.4 on #OpenBSD/amd64. Now I can login to virtual luna88k machine! Great! pic.twitter.com/pBCIaD2xmh

2020-11-22 20:31:02
拡大
Kenji Aoyama @ao_kenji

@cynicalsecurity The official page is: pastel-flower.jp/~isaki/nono/ If you use #OpenBSD, it has ports: cvsweb.openbsd.org/cgi-bin/cvsweb… (However currently I have not use this...)

2020-11-22 20:58:42
isaki @isaki68k

オレオレROMを88kでもう一回ほぼ同じことをしないといけないんだけど、68kのこれよう書いたなわし…。

2020-11-22 21:31:13
isaki @isaki68k

キャラクタVRAMに書いたテキストをLUNAのフレームバッファに内蔵フォント使って描画する、SIO操作してキー入力を受け取る、インタラクティブシェルを作る、自力でBSDパーティション探してUFSからパス開いてinode集めてきてELFかa.outを展開して実行とか。

2020-11-22 21:39:37
Kenji Aoyama @ao_kenji

For anyone interested in nono and luna88k, I put OpenBSD/luna88k live image. (990MB gzip'ed, 2.0G uncompressed) Set this image as spc0-id6-image in nono.cfg, and start nono with OpenBSD/luna88k bootloader, i.e. "nono (other options) -A boot" nk-home.net/~aoyama/liveim…

2020-11-22 22:33:39
Izumi Tsutsui @tsutsuii

NetBSD/evbarm earmv5 9.1 + pkgsrc-2020Q3 で pkgsrc/graphics/graphviz のビルドが ps2pdf cdt.3.ps cdt.3.pdf gmake[3]: *** [Makefile:1066: cdt.3.pdf] Bus error (core dumped) で失敗する問題(とりあえず ghostscript 無効設定で回避)

2020-11-23 00:44:18
arakiken @arakiken

@isaki68k @isaki68k 遅ればせながら0.1.4になってようやくnono試してみました。luna68kが手元で動いて感動しました。ありがとうございます。Debian 9.13上で試したのですが、何点か気付きがありましたので、参考までにお知らせします。

2020-11-23 02:24:08
arakiken @arakiken

@isaki68k 1)nonoの内蔵ROM使用で、初めてnonoを起動すると、0.0.3では、NVRAM Initializedというメッセージとプロンプトが表示されるのですが、0.1.4だと何も表示されませんでした(NetBSD9.0でも同じ)。mlterm.sf.net/nono-0.1.4-fix… のようにConsoleUpdate()を追加するとちゃんと表示されました。

2020-11-23 02:26:20
arakiken @arakiken

@isaki68k 修正後の表示→ mlterm.sf.net/nono-nvraminit… (なお、ソースコードの構成を十分理解していないため、ConsoleUpdate()を入れる場所は適切ではないと思いますが、取り急ぎご報告します)

2020-11-23 02:27:31
arakiken @arakiken

@isaki68k 2)多分速度の遅いマシンで動かしているからだと思いますが、vm/lunakbd.cppで、MakeKey()→KeyboardCallback()→BreakKey()→KeyboardCallback()ではなく、MakeKey()→BreakKey()→KeyboardCallback() という順番で実行され、BreakKey()に渡されるキーコードがkey_event.Start()されないことにより、

2020-11-23 02:28:18
arakiken @arakiken

@isaki68k キーを一度押しただけで、キーが押しっぱなしの状態になってしまいました。やむをえず mlterm.sf.net/nono-0.1.4-fix… のように修正しました。本来どう直すべきか理解していない(直すべきではないのかもしれません)のですが、もし何か分かりましたら、お教えいただけると幸いです。

2020-11-23 02:29:18
arakiken @arakiken

@isaki68k 3) mlterm.sf.net/nono-0.1.4-fix… の udp7201.cpp の修正箇所ですが、memmove()のdstとsrcが逆になっているように思ったので修正しましたが、私の勘違いでしたらすみません。

2020-11-23 02:29:46
arakiken @arakiken

mltermから外部サーバ(Debian 9.13)にmoshし、Xsixel上でnono 0.1.4+NetBSD 9.0を起動した図 mlterm.sf.net/nono-on-xsixel…

2020-11-23 03:06:43
Y.Sugahara @moveccr

@arakiken @isaki68k 横からですがパッチ拝見しました。修正内容は理解できました。これを受けてコード見ると、そもそも「VMスケジューラの回転が十分に速い」という前提の作りになっているため、キーだけでなくマウスでも同じような現象が起こる可能性があると見ました。...

2020-11-23 03:21:05
Y.Sugahara @moveccr

@arakiken @isaki68k キーボードとマウスのような外部入力イベントの処理は見直さなければなりません。RTCがしているような実時間と仮想時間の調停を考えないといけないかもしれません。

2020-11-23 03:27:17
Y.Sugahara @moveccr

@arakiken @isaki68k それから、1) と 3) についてはそのとおりだと思います。すぐに修正されることになると思います。ありがとうございました。

2020-11-23 03:29:02
Y.Sugahara @moveccr

で、LUNAの謎資料、マウスが動いている時のタイミングは明確にしてあるけど、マウスが静止している時にボタンが押されたときの通信タイミングが不明確なので実機にオシロ(ry

2020-11-23 03:32:30
Kenji Aoyama @ao_kenji

@cynicalsecurity Sorry, correction. You may already notice, the official page is: pastel-flower.jp/~isaki/nono/ (http, not https)

2020-11-23 08:20:50
isaki @isaki68k

@arakiken ありがとうございます。1,3は確認しました。ご指摘の通りです。2は moveccrさんからもある通りもうちょっと見てみます。

2020-11-23 11:37:50
Izumi Tsutsui @tsutsuii

ghostscript 無効にしても ps2pdf で pdf マニュアルを作ろうとするのは変わらなくて、 -O1 や -O0 にしても落ちるので gdb で見たら Program terminated with signal SIGBUS, Bus error. #0 0xbab881e8 in packed_get () from /usr/pkg/lib/libgs.so.9 名前がそこはかとなく unaligned access 感

2020-11-23 12:04:14