2012-01-01から1年間の記事一覧

はてなブログの gist の表示をなんとかする

はてなブログの現行のスタイルシート( alpha2.css )では、pre 要素に影が付くようになっています。 Github 側の変更によるものと思われますが、現在の gist は 1 行 1 行がバラバラの pre 要素になっているため、1 行 1 行に影が付いて、見た目にウザい感…

Chisel の紹介

Chisel(Constructing Hardware in a Scala Embedded Language)は、Scala の内部 DSL として実装されたハードウェア記述言語(開発しているバークレー大 EECS(Electrical Engineering and Computer Sciences)では "hardware construction language" とし…

TRONSHOW の過去をさぐる

さきごろ TRONSHOW2013 が開催された TRONSHOW であるが、過去の開催はどうだったのか、ちょっと調べた。 TRONWARE 100 号の DVD に収録された、過去の TRONWARE が恰好のタイムマシンである。 7 号( http://www.personal-media.co.jp/book/tw/tw_index/080…

マイクロスクリプトでキーのリリースを検出するには

(参考資料 超漢字(B-right/V R4)仕様書、第4編 デバイス制御、第6章 KB / PD、6.6 属性データhttp://www.chokanji.com/developer/doc/brightv.r4/device/kbpd.html#ack ) 超漢字付属のマイクロスクリプトでは ACTION 〈手続き名〉 KEY とすることで、キー…

μT-Kernel for Raspberry Pi おぼえがき(6)

EABI 対応 コンパイラの ABI を EABI にすると、構造体のパディングが変わるため、アセンブラから C の構造体を触っているところで問題が出る。 kernel/sysdepend/cpu/raspib/offset.h に次のような修正を加えて動くようになったが、他にも修正が必要な箇所…

μT-Kernel for Raspberry Pi おぼえがき(5)

タイマー周り μT-Kernel のシステム資源としてタイマーがある。kernel/tkernel/src/timer.c の knl_timer_initialize という関数が初期化ルーチンである。 knl_timer_initialize が呼ばれるまでを順番に追うと、 icrt0.S の kernel_start: の次の行の main()…

μT-Kernel for Raspberry Pi おぼえがき(4)

ソフトウェア割込み番号の割当て Raspberry Pi では割込み番号 0~95 が GPU や ARM 周辺で使われているので、μT-Kernel が使うソフトウェア割込みは 96~127 を使うことにした。AT91 の番号を参考に、下位のビットパターンが同じになる 100~103 番とした。…

μT-Kernel for Raspberry Pi おぼえがき(3)

IRQ ハンドラ ARM の割込み(昔からの TRON の分類で言う「EIT の I」)は、コアでは外部の割込み要因の識別などをおこなったりせず、単一のハンドラを呼ぶようになっている。 AT91 では外部の割込みコントローラを使用しているのでハンドラのコードは簡単だ…

μT-Kernel for Raspberry Pi おぼえがき(2)

シリアル入出力の修正 μT-Kernel では、シリアル入出力の初期化は sio_init というルーチンで、前述の icrt0.S の中から呼ばれており、lib/libtm/src/sysdepend/機種名/sio.S ないし sio.c に定義がある。また、メッセージの表示は tm_putstring 関数を経由…

μT-Kernel for Raspberry Pi おぼえがき(1)

似たような環境に移植する人の参考になるかもしれないことを記録しておこうと思います ソースコードはこちらに http://github.com/metanest/utkernel-pi ローダ Das U-Boot を使用。Raspberry Pi 用は、FreeBSD を移植しているプロジェクトのものが使える ht…

ビューティフルコード第一章のマッチャを Go 言語にしてみた

ちょっとひっかかったのは文字列の後に \0 が付いてないので * のチェックでアクセスがはみ出る所ぐらい do~while で書いてあったものを if cond { break } に書き換えたのでそのへんがエレガントでなくなっている スライスを使っているので効率はほとんど…

高水準命令と割込み

RISC 教をあざわらうかのように、これでもか、という感じの命令が AVX で追加されているわけですが、そういった複雑な命令について TRON チップに、memcpy のような操作を 1 命令で実行する命令があることから「そんな命令があるのにリアルタイム性があるわ…

fsck には物理メモリがたくさん、絶対に必要か? (結論は出てない)

先日の FreeBSD 勉強会で、ブートシーケンスで swapon より前に fsck が走ってメモリ不足でコケて、ということが起きると、ずっと同じことの繰り返しになる、という話を聞いたので、では swapon を先に実行してから fsck ということはできないのか試してみた…

RPM パッケージ間の依存の非対称性について

Linux システムの、RPM ベースのディストリビューションにおいて、インストール時とアンインストール時の依存関係が非対称なことがあるようです。 私が実験しているのは Fedora (の yum )ですが、パッケージ a をインストールする時には依存関係で b もイ…

AM_ICONV の動作を確認するための最小環境

GNU gettext 添付の iconv.m4 にある autoconf マクロ AM_ICONV の話。実験のために configure を走らせるための最小環境を作るには、 だいたいこんな感じになる。 config.guess config.sub install-sh config.rpath が configure の実行時に必要なので、lib…

ビューティフルコード第一章のマッチャを Haskell っぽい Haskell にしてみた

最後のパターンがもう少しエレガントに書けないものか えらく行間が間延びしてたのでスタイルシートいじってみた。もし、下線が見えない、というような環境がありましたらぜひともご連絡いただきたく

Unixにおけるインタフェースと実装の単純さと複雑さのトレードオフ

『rootから/へのメッセージ』には、Unixには、トレードオフがある時、実装が複雑になることをいとわない、という性格がある、とある。 root(ルート)から/(ルート)へのメッセージ―スーパーユーザーが見たひととコンピュータ作者: 高野豊出版社/メーカー: アス…

はてなブログで MathJax を利用して、MathML で数式を表示する

MathJax プロジェクトがこれまで提供に利用してきた CDN の運用が止まります(2017年4月末)。 https://www.mathjax.org/cdn-shutting-down/ を参考に、新しい CDN の URL に移行するようにしてください(以下の記述は、まだ移行に対応していません(すいま…

最近の pkgtools (portupgrade) 事情

FreeBSD の pkgtools (portupgrade) の ruby 1.9 対応版に入れ替えるとかの作業 まず make.conf に RUBY_VER=1.9 を書いて FreeBSD の Ruby 環境を 1.9 化しておく (なにをやっているのかわからない人は以下の作業も含めて、やらないように) pkgtools (portu…

不正確例外でシグナルを発生させてみる

まず karetta の『Gaucheプログラミング(立読み版)』にある「正確数と非正確数」( http://karetta.jp/book-node/gauche-hacks/010883 )を見てください IEEE 754 では、オペランドを正確数(浮動小数点表現ですが、厳密にその値であるとみなす)であるとし…

電子書籍をリリースしました

http://tatsu-zine.com/books/fpga 電子書籍『FPGAでCPUを作ろう』をリリースしました

『FreeBSD徹底入門』おまけシール

さがしたらまだ持っていた 一枚、何かに貼ったような気がしていたのだが、未使用だった

油性ボールペンに関していくつか

だいぶ古いボールペンを復活させようとしてあれこれやったり検索してわかったことなど 溶剤が飛んでしまったら復活は無理 油性ボールペンの溶剤はものすごく絶妙の配合になっていて、そこらのアルコールとかペイント用溶剤とかを染み込ませたら最後、まとも…

NSL の Vim シンタックス定義 nsl.vim を登録しました

Vim のページはこちら http://www.vim.org/scripts/script.php?script_id=3904 Github https://github.com/metanest/nsl_vim

「オペレーティングシステム」に「(基本ソフト)」と付けるのはやめてほしい、という話

高橋秀俊先生が「ソフトウェア」に「(利用技術)」というカッコ書きを付けるのをやめよ、と書いておられる(『コンピュータへの道』 p. 12、『電子計算機の誕生』 p.219)のを読み直して、改めて思ったわけだが、「オペレーティングシステム(基本ソフト)…

高橋秀俊先生のコンピュータの本2冊

日本で最初期に、コンピュータに妨害が出るからノイズをなんとかしろと言われた人

著者はスパークを使う分光分析の実験を始めていましたが、それが計算機の電子回路を攪乱し、ノイズが発生し計算できないということで、高周波が漏れない実験室を作れと言われ、苦労したものでした。 http://blog.goo.ne.jp/kamadahts/e/cb64cb4fc6910b7593f0…

ほぼ完成

あとは電池の代わりにACアダプタも使えるようにする小工作とかかな

地球ゴマ

http://metanest.jp/talk/talk.html に「地球ゴマで自転と公転をどう説明するというのか?」(ページの最後)という記述を追加した

あけましておめでとうございます

あけましておめでとうございます はてなブログを hatenadiary ドメインで始めてみています → http://ksmakoto.hatenadiary.com/