31-Mar-2015
[仕事が忙しいし]

なんか腰痛になってしまったみたいで腰が痛い…歳は取りたくないなと実感している40目前の日々。

色々気になるモノはあるのだけど、実際のコストだのなんだのを考えると手を出しにくいというか出せないというか、そういうものが多々あって全てスルーという状態。昔なら多分何かしら手を出していた気がしなくもないのだけど。この辺も、やっぱり歳を(以下省略)。

メモ、PC/ATでお手軽に割り込みを使うためにPIC(8259)をいじるための。今はAPICの御時世だけど。

おそらく定番となる情報源はOSDev Wikialldatasheet.comに転がってるデータシート。これを簡潔にまとめたのがi386 Interrupt Handlingか。

DOSで使うならPICの初期化は済んでいるものとみなし、割り込みマスクの操作は0x21/0xa1, EOI発行は0x20/0xa0のポートに然るべき値を書くだけで良い…のかな?58.40kg(06:00)

24-Mar-2015
[ネタ仕込み中?]

gccでDOS向けのコードを書けるかどうかということで、PanCakeっぽい動きをする何かというのを実はここんとこずーっとやっています。コードはFaceBookのIchigoJam-FANに転がしていたりするのですが。

本当はGitHub辺りに置いときゃ良いかなーとも思いつつ、PanCakeに組み込まれている画像データの扱い(一応CC BY-NCなので然るべきクレジットを入れておけば大丈夫か?)を考えるとあまり気が進まないということでFaceBookグループ内でのみとしています。

こんな感じのicrt0.Sを書いていますが、.bssの初期化を省いていてもそれなりに動いてしまうというのが良いのやら悪いのやら…何かの折にもーちょいマトモなものにしたいと思うものの、このまま放置かも。58.55kg(06:15)

16-Mar-2015
[ネタ枯渇中。]

gcc-4.9.2を使って、How to build DOS COM files with GCCDOS .COM startup registersを参考にDOS向けのコードを書こうとしているとかそんな感じではあるのだけど。x86の16bitと32bitとの間にはすごく厚い壁があることを実感中。この調子だと、x32遊びは随分先になることは間違いない。

IngressはやっとLv11になったところ。IlluminatorがいきなりPlatinumだったおかげでGoldを3枚取ればLv13への道が拓けるのだけど、こちらもかなり先のことになりそうだ。58.20kg(04:15)

09-Mar-2015
[gcc-4.8.[34]→gcc-4.9.2への移行(続・クロスコンパイラに関する覚え書き)]

12-Jan-2015の続き。gcc-4.9系だとi386では-m16オプションで16bitコードが吐けるようになると聞いたので、binutils-2.25への移行も含めてさっくりと。ついでにarm-none-eabiも移行しちゃいましたよ。

・arm-none-eabi

Cortex-M0に対応させるため、gcc/config/arm/t-arm-elfを修正する。gcc-4.9.2でも相変わらずmultilib絡みのバグがあるので、gcc/gcc.cの修正が必須。

binutils-2.25
../configure --target=arm-none-eabi --prefix=/usr/local --enable-interwork --enable-multilib --disable-nls --disable-werror
gcc-4.9.2 + newlib-2.2.0
../configure --target=arm-none-eabi --enable-languages=c --prefix=/usr/local --enable-interwork --enable-multilib --with-newlib --disable-nls --disable-libssp --disable-libgomp --with-gmp=/usr/local --disable-lto

・x86_64-elf

binutils-2.25
../configure --target=x86_64-elf --prefix=/usr/local --disable-nls --disable-werror
gcc-4.9.2 + newlib-2.2.0
../configure --target=x86_64-elf --enable-languages=c --prefix=/usr/local --with-newlib --disable-nls --disable-libssp --disable-libgomp --with-gmp=/usr/local --disable-lto --with-abi=m64

・x86_64-x32-elf

binutils-2.25
../configure --target=x86_64-x32-elf --prefix=/usr/local --disable-nls --disable-werror
gcc-4.9.2 + newlib-2.2.0
../configure --target=x86_64-x32-elf --enable-languages=c --prefix=/usr/local --with-newlib --disable-nls --disable-libssp --disable-libgomp --with-gmp=/usr/local --disable-lto --with-abi=mx32

・i386-elf

binutils-2.25
../configure --target=i386-elf --prefix=/usr/local --disable-nls --disable-werror
gcc-4.9.2 + newlib-2.2.0
../configure --target=i386-elf --enable-languages=c --prefix=/usr/local --with-newlib --disable-nls --disable-libssp --disable-libgomp --with-gmp=/usr/local --disable-lto

ぶっちゃけた話、前回(gcc-4.8.[34])の時のコピペです。とはいえ注意事項として(OpenBSD-5.6では?)ulimit -d 33554432を実行して割り当て可能なリソースを増やさないとout of memory allocating 16 bytes after a total of 312 bytesみたいなエラーが出ます。58.30kg(03:15)

03-Mar-2015
[漢字ROM吸い出しネタ二つ。]

手元にTC531000の眷属が二つほどあり、そろそろどうにかして読み出さないといかんなーということで読み出してみました、こんな風にして。

tp2263379.jpg

我ながら無茶したなと思います。WillemのROMライタ+16bitカード改(12-Apr-2014)+86duino EduCakeのブレッドボードを組み合わせるとか…アダプタ作っても良かったのですが、その時間すら惜しかったので。

まずは一つ目。0098と書かれている東芝製のTC531000。

東芝製ということもありグリフの並びは東芝仕様、ただし2, 8〜9区および漢字部分の0, 95点はMSX/Rupoの物とは異なり、漢字部分の書体はjiskan16系。

二つ目は富士通製。二個の831000…おそらくMB831000だと思うのだけど。

SMC-70/FM-11に搭載されていた物と類似しているものの、未使用部分に(a)〜(z)だの、0.〜9.だののグリフがあったりします。JIS第二水準も実装されているものの、8×16ドットのANK文字は見当たらず。

18-Feb-2015に作ったコンバータ、JIS第二水準部分も生成できるようにした方が良いのかなと思いつつ、MAKEFONTの生成結果とは微妙に異なってしまうのでどーしたものかと…59.75kg(05:35)