agag @ ウィキ
http://w.atwiki.jp/agag/
agag @ ウィキ
ja
2007-09-17T14:40:08+09:00
1190007608
-
FDC
https://w.atwiki.jp/agag/pages/30.html
FDC実装
フロッピーディスクの読み書きは、内蔵フロッピーディスクドライブ(以下、FDD)もしくはUSB接続かPCカード接続の外付けFDDが使用されるのが一般的である。今回はドライバ等の作成の困難性から、USB接続やPCカード接続の外付けFDDへの対応は見送ることとし、内蔵型FDDのみでの動作を実現する。
FDC(フロッピーディスクコントローラ)
FDCにコマンドを送信してコントロール
ヘッドを目的のシリンダへ移動させる
メモリのどの部分を読み書きするかをDMAC(ダイレクトメモリアクセスコントローラ)に指定してから
FDCに読み書きのコマンドを発行。
DMACの制限で0x00000000~0x00ffffffのメモリまでしかアクセスできない
範囲外のメモリに対してFDの読み書きを実行する場合は、DMACの届く範囲へのメモリの転送が必要になる
DMAはマスタのチャンネル2を使用
書き込み手順
コマンドの送信方法
リザルトステータスの受け取り方
モーター制御
FDCコマンド
2007-09-17T14:40:08+09:00
1190007608
-
時刻取得
https://w.atwiki.jp/agag/pages/29.html
<p>RTC実装</p>
<p> PC/AT互換機における、「時刻」のソースは基本的にRTC(Real Time
Clock)のみである。一方「時間」のソースには、RTC、PIT(Programmable Interval Timer)、Local
APIC(Advanced Programmable Interrupt Controller)、ACPI Timer、TSC(Time Stamp
Counter)、HPET (High Precision Event
Timer)などの種類が存在し、時刻管理は「時刻」と「時間」のソースを組み合わせて行われる。一般的なOSではハードウェア時刻(RTC)とシステム時刻が存在し、以下のような仕組みでシステム時刻情報が保持されていることが多い。</p>
<p>1.ブート時にハードウェア時刻(RTC)を読み出しシステム時刻とする。<br>
2.起動後は「一定時間」ごとにシステム時刻を刻む。「一定時間」の測定には通常PITが用いられる。<br>
3.場合により、適宜高精度タイマ(ACPI、TSC等)によりシステム時刻に補正を加える。<br>
4.アプリケーション等がシステムコールあるいはAPI等により時刻を取得する場合、システム時刻を返す。<br>
5.シャットダウン時にシステム時刻をRTCに書き戻す。</p>
<p>
上記手順において、RTCが常に使用されていない理由については、RTCがCMOS駆動のために信頼に足るデバイスではないとされていたこと、RTCの動作速度がPIC等に比して遅いことが考えられる。また、マルチタスクシステムにおいてはPIC等による「一定時間」ごとの割り込みが必須となるので、PICを使った時刻管理はRTCによる時刻取得よりもシステムにも負荷が少なく効率的な方法である。</p>
2007-09-17T14:38:49+09:00
1190007529
-
GUIデザイン変更
https://w.atwiki.jp/agag/pages/28.html
2007-02-20T04:14:32+09:00
1171912472
-
16bitカラー
https://w.atwiki.jp/agag/pages/27.html
2007-02-12T01:55:40+09:00
1171212940
-
jpeg.c
https://w.atwiki.jp/agag/pages/24.html
2007-02-10T05:29:21+09:00
1171052961
-
bootpack.c
https://w.atwiki.jp/agag/pages/23.html
2007-02-10T05:28:16+09:00
1171052896
-
tek.c
https://w.atwiki.jp/agag/pages/22.html
2007-02-10T05:27:24+09:00
1171052844
-
file.c
https://w.atwiki.jp/agag/pages/21.html
2007-02-10T05:26:53+09:00
1171052813
-
console.c
https://w.atwiki.jp/agag/pages/20.html
2007-02-10T05:26:04+09:00
1171052764
-
window.c
https://w.atwiki.jp/agag/pages/19.html
2007-02-10T05:24:24+09:00
1171052664