気まぐれな戯れ言


PC・プログラムネタについて色々書いたものです。
今後取り扱うかも知れないネタに関しては一番下に。

気まぐれな戯れ言の記事一覧です。
日付順とジャンル別の2つの一覧があります。

一応ページ単位の分類。
バックナンバー1(〜1999/09)(アセンブラ開始時やDirect3Dの話が多いです)
バックナンバー2(〜2000/02)(MMXの話・WAVE解析・CGIの話が多いです)
バックナンバー3(〜2000/08)(フォント描画の話・新天地開拓(^^;)の話が多いです)
バックナンバー4(〜2001/10)(色々ごちゃごちゃとした話が多いです)
バックナンバー5(〜2002/11)(OS作成チャレンジのための基礎知識・VBでホイール等)
バックナンバー6(〜2003/07)(FDのブートセクタ解析・ベジェ曲線・MP3デコード等)
バックナンバー7(〜2003/11)(CRCの計算方法、コンパイラ関連書籍)
バックナンバー8(〜2004/02)(MP3ヘッダ、文字のアウトライン、IEの右クリックメニュー拡張)
バックナンバー9(〜2004/05)(MP3デコード、テーブルアート最適化、多角形交差判定)
バックナンバー10(〜2004/09)(乱数、PC自作、VBでOpenGL)
バックナンバー11(〜2005/06)(VBでSTL風処理、VBでOpenGL)
バックナンバー12(〜2007/09)(VBで字句解析・構文解析)
バックナンバー13(〜2008/06)(ファミコン音源・flexで字句解析)
バックナンバー14(〜2009/12)(自前言語のBNF、デバッグAPI)
バックナンバー15(現行)(麻雀得点計算)


日付順記事一覧
ジャンル別記事一覧

日付順記事一覧(括弧内はバックナンバーのページ番号。Nは最新)
下半分にはジャンル別に並んだリストがあります。
 
日付 記事名 概要
(15)2012/05/10 麻雀得点計算アルゴリズム編−2 役の判定と最終的な得点計算までやってみる。
(15)2010/12/30 麻雀得点計算アルゴリズム編−1 麻雀の得点計算をしてみる。ここでは上がり形の列挙まで。

(14)09/12/22 デバッグ系APIでアプリ動作を操作してみる編−2 COM呼び出しやDLL呼び出しをブレークして引数をいじってみる。
(14)09/10/24 デバッグ系APIでアプリ動作を操作してみる編−1 Windowsでアプリに自分のプログラムからブレークポイント張ったりしてみる。
(14)08/11/20 コンパイラ作ってみるかも編−6 構文解析前の下準備。

(13)08/06/15 コンパイラ作ってみるかも編−5 flexで字句解析してみる。
(13)08/03/15 Visual C++のマングリング規則編 Visual C++のマングリング規則を調べてみる。
(13)07/11/16 ファミコン音源を再現しよう編 ファミコン音源の仕組みと再現方法を調べてみる。

(12)07/09/01 コンパイラ作ってみるかも編−4 VBで無理やりLL(1)構文解析器を作ってみる後編。
(12)07/07/01 コンパイラ作ってみるかも編−3 VBで無理やりLL(1)構文解析器を作ってみる前編。
(12)06/04/15 コンパイラ作ってみるかも編−2 VBで無理やり正規表現のマッチングをしてみる。
(12)05/08/28 VBでOOP・STL風味編−3 Binderやら既定プロパティでトリッキーなことをしてみる。

(11)05/06/20 VBでOOP・STL風味編−2 汎用ソートでクラスもソートしてみる。
(11)05/05/19 VBでOOP・STL風味編−1 VBで汎用ソート関数を作ってみる。
(11)05/03/11 VBでOpenGL編−2 VBでOpenGLを試してみる。

(10)04/09/05 乱数+Rnd関数解析編 Rnd関数って何やってるのか調べて見る。
(10)04/07/20 2度目の自作編 新しいPCを作ってみる。
(10)04/06/15 VBでOpenGL編−1 VBでOpenGLを試してみる。

(9)04/05/28 多角形の交差判定編−2 点の多角形内外判定について考えてみる。
(9)04/05/18 多角形の交差判定編−1 多角形の交差条件と、辺の交差条件について考えてみる。
(9)04/05/06 最適なアルゴリズムの苦悩編 テーブルアートのための最適な手法を考えてみる。
(9)04/03/31 CodecをつかったMP3のデコード・再生編−3 ようやくデコード、再生してみる。

(8)04/02/29 CodecをつかったMP3のデコード・再生編−2 MP3のフレームヘッダを解析してみる。
(8)03/12/05 文字のアウトライン取得・操作編 文字の輪郭をいじってみる。
(8)03/11/25 IEのコンテキストメニュー拡張編 IEでの右クリックを便利にしてみる。

(7)03/11/03 ファイルのCRC編−その3 最終的な実装を考えてみる。
(7)03/10/20 ファイルのCRC編−その2 割り算をビット演算+テーブルに置き換えてみる。
(7)03/09/28 コンパイラ作ってみるかも編−1 コンパイラ作りに必要なものを挙げて見る。
(7)03/08/20 ファイルのCRC編−その1 CRCの概要を見てみる。

(6)03/06/29 ベジェ曲線の長さ編 ベジェ曲線の長さを計算してみる。
(6)03/06/14 立体視できる3次元物体編 OpenGL使ってステレオグラムを作ってみる。
(6)03/04/02 CodecをつかったMP3のデコード・再生編−1 ACMを使ってMP3のデコード・再生をしてみる。
(6)03/03/14 簡易OSを作ろう編−3 フロッピーのブートセクタを解析してみる。

(5)02/11/30 簡易OSを作ろう編−2 FAT12及びFAT16の構造を調べてみる。
(5)02/06/25 簡易OSを作ろう編−1 FDDをFATでなく直接論理セクタで読み書きする。
(5)02/03/29 実験終了編 大学でのCPU製作実験が終了。
(5)02/01/15 ホイール+フック+アドイン編 VBでホイールを扱うアドインを作ってみる。

(4)01/10/10 オセロ思考編 オセロの思考プログラムを作成してみる。
(4)01/07/10 どんどん新天地編 大学での課題を書き連ねただけ。
(4)01/04/25 さらに新天地編 大学での課題を書き連ねただけ。同上。
(4)01/01/08 初めての自作パソコン編 安くなったAthlonでGHzマシンをつくって見る。
(4)01/01/06 FPUでSin、Cos編 Cランタイムでなく直接FPUからsin、cosの値を取ってみる。
(4)00/11/12 テクスチャ付3角形−基本編 DIBSectionでの自力描画で3角形を描いて見る。
(4)00/10/30 数式解析編 VBで文字列の数式を逆ポーランド記法に変換する。
(4)00/10/05 アップグレード編 CPUを500MHzに、45GBのHDDを買ってみた。

(3)00/08/24 2倍拡大編 DIBをアセンブラ使って2倍に拡大してみる。
(3)00/08/20 STGと加算半透明編 MMX使ったアセンブラで加算・減算半透明。
(3)00/07/16 クロックアップ編 K-6 Uを350MHz→400MHzに初めてのクロックアップ体験。
(3)00/06/21 さらなる新天地?編 TeXやらSQLやらAccessに手を出してみる。
(3)00/05/26 新天地キツイね編 PerlやらJavaやらVBへの希望やらどうでもいい話。
(3)00/05/12 クオータニオン編 クオータニオンがよくわからんので行列演算だけで任意ベクトル中心の軸回転に挑戦。
(3)00/04/26 自己技術診断編 自分の今の技術を再確認してみる。
(3)00/04/16 第2種情報処理技術者試験編 現基本情報技術者試験を受けてみた。
(3)00/04/03 CD再生編 MCI使ってCDを再生してみる。
(3)00/03/06 フォントからBMP機能追加編 ↓のソフトをさらに機能追加してみる。
(3)00/03/05 フォントからBMP+周波数編 文字を並べたようなBMPを作るソフト(ミニミニソフトのその33に公開中)の話と、アセンブラでCPUの動作周波数を求めてみる。

(2)00/02/13 フーリエ展開編 Wavファイルのデータを適当にフーリエ展開して失敗。
(2)00/02/11 音の作成編 waveOut系命令で好きな波形の音を出してみる。
(2)00/02/04 MMXを使おう編 MMXが使えるかどうかを判定するアセンブラコード。
(2)00/01/23 ミニデモ作りたいな編 デモと呼ぶには恥ずかしいプログラムを作ってみる。
(2)00/01/14 MMX16Bitブレンド編 インラインアセンブラでMMX使って半透明描画16bitDIB編。
(2)00/01/13 MMXでブレンド編 インラインアセンブラでMMX使って半透明描画。
(2)00/01/12 MMXでスプライト編 インラインアセンブラでMMX使ってスプライト描画。
(2)00/01/09 簡易RLE圧縮編訂正版 ゲームのリプレイデータをRLEで圧縮してみる。訂正版。
(2)00/01/06 簡易RLE圧縮編 ゲームのリプレイデータをRLEで圧縮してみる。
(2)99/12/22 リプレイ+Rnd関数編 VBのRnd関数を使ってるゲームでリプレイ機能を実装。
(2)99/12/14 リモートホスト+α編 Perlでgetaddrbyhostを使ってみる。
(2)99/11/20 VBでCGI編 VBでコンソールアプリ作ればCGI作れるか?でも失敗。
(2)99/10/30 新しい言語編 JavaとPerlをちゃんとやり始めてみる。
(2)99/10/08 DirectX for VB編−その1 DirectX7で追加されたDirectX for VBを見てみる。

(1)99/09/14 2つの返り値編 急に関数の返り値を2つにしたくなってみる。
(1)99/09/09 ファイルの日付編 ファイルの日付をVBで変更するのはめんどいかも。
(1)99/08/20 midiStream編 midiStreamを使った演奏に失敗してみる。
(1)99/08/11 D3DRM(再)編 とりあえず簡単なD3DRMのプログラムを動かしてみる。
(1)99/08/09 D3DIM+RM編 D3DIM再度挑戦してみるがよくわからず。RMもわからず。
(1)99/08/03 キー名取得(+HP更新ネタ) 押されたキーを番号だけでなく名前も取得してみる。
(1)99/07/30 αブレンド−DrawPrimitive編 D3DIM挑戦してみるがよくわからず。
(1)99/07/27 MIDファイル解析編 MIDファイルの概要を解析してみる。
(1)99/07/20 ブレンド編の補記 半透明描画を24bitDIBでも行ってみる。
(1)99/07/16 テーブル利用αブレンド編 8bitDIBで半透明描画をしてみる。
(1)99/07/13 アセンブラ挑戦中級者編 x86系アセンブラ初挑戦でスプライト描画してみる。
(1)99/07/11 アセンブラ挑戦初心者編 CASLでアセンブラに初挑戦してみる。


ジャンル別記事一覧(括弧内はバックナンバーのページ番号。Nは最新)
上半分には日付順のリストがあります。
 

DIBで自力描画系
 
(4)00/11/12 テクスチャ付3角形−基本編 DIBSectionでの自力描画で3角形を描いて見る。
(3)00/08/24 2倍拡大編 DIBをアセンブラ使って2倍に拡大してみる。
(3)00/08/20 STGと加算半透明編 MMX使ったアセンブラで加算・減算半透明。
(2)00/01/14 MMX16Bitブレンド編 インラインアセンブラでMMX使って半透明描画16bitDIB編。
(2)00/01/13 MMXでブレンド編 インラインアセンブラでMMX使って半透明描画。
(2)00/01/12 MMXでスプライト編 インラインアセンブラでMMX使ってスプライト描画。
(1)99/07/20 ブレンド編の補記 半透明描画を24bitDIBでも行ってみる。
(1)99/07/16 テーブル利用αブレンド編 8bitDIBで半透明描画をしてみる。
(1)99/07/13 アセンブラ挑戦中級者編 x86系アセンブラ初挑戦でスプライト描画してみる。
(1)99/07/11 アセンブラ挑戦初心者編 CASLでアセンブラに初挑戦してみる。

DirectX、OpenGL他その他のグラフィック系
 
(11)05/03/11 VBでOpenGL編−2 VBでOpenGLを試してみる。
(10)04/06/15 VBでOpenGL編−1 VBでOpenGLを試してみる。
(8)03/12/05 文字のアウトライン取得・操作編 文字の輪郭をいじってみる。
(6)03/06/14 立体視できる3次元物体編 OpenGL使ってステレオグラムを作ってみる。
(3)00/03/06 フォントからBMP機能追加編 ↓のソフトをさらに機能追加してみる。
(3)00/03/05 フォントからBMP+周波数編 文字を並べたようなBMPを作るソフト(ミニミニソフトのその33に公開中)の話と、アセンブラでCPUの動作周波数を求めてみる。
(2)00/01/23 ミニデモ作りたいな編 デモと呼ぶには恥ずかしいプログラムを作ってみる。
(1)99/08/11 D3DRM(再)編 とりあえず簡単なD3DRMのプログラムを動かしてみる。
(1)99/08/09 D3DIM+RM編 D3DIM再度挑戦してみるがよくわからず。RMもわからず。
(1)99/07/30 αブレンド−DrawPrimitive編 D3DIM挑戦してみるがよくわからず。

MidiやWave等の音系
 
(13)07/11/16 ファミコン音源を再現しよう編 ファミコン音源の仕組みと再現方法を調べてみる。
(9)04/03/31 CodecをつかったMP3のデコード・再生編−3 ようやくデコード、再生してみる。
(8)04/02/29 CodecをつかったMP3のデコード・再生編−2 MP3のフレームヘッダを解析してみる。
(6)03/04/02 CodecをつかったMP3のデコード・再生編−1 ACMを使ってMP3のデコード・再生をしてみる。
(3)00/04/03 CD再生編 MCI使ってCDを再生してみる。
(2)00/02/13 フーリエ展開編 Wavファイルのデータを適当にフーリエ展開して失敗。
(2)00/02/11 音の作成編 waveOut系命令で好きな波形の音を出してみる。
(1)99/08/20 midiStream編 midiStreamを使った演奏に失敗してみる。
(1)99/07/27 MIDファイル解析編 MIDファイルの概要を解析してみる。

数学・アルゴリズム系
 
(15)2012/05/10 麻雀得点計算アルゴリズム編−2 役の判定と最終的な得点計算までやってみる。
(15)2010/12/30 麻雀得点計算アルゴリズム編−1 麻雀の得点計算をしてみる。ここでは上がり形の列挙まで。
(14)08/11/20 コンパイラ作ってみるかも編−6 構文解析前の下準備。
(13)08/06/15 コンパイラ作ってみるかも編−5 flexで字句解析してみる。
(12)07/09/01 コンパイラ作ってみるかも編−4 VBで無理やりLL(1)構文解析器を作ってみる後編。
(12)07/07/01 コンパイラ作ってみるかも編−3 VBで無理やりLL(1)構文解析器を作ってみる前編。
(12)06/04/15 コンパイラ作ってみるかも編−2 VBで無理やり正規表現のマッチングをしてみる。
(7)03/09/28 コンパイラ作ってみるかも編−1 コンパイラ作りに必要なものを挙げて見る。
(12)05/08/28 VBでOOP・STL風味編−3 Binderやら既定プロパティでトリッキーなことをしてみる。
(11)05/06/20 VBでOOP・STL風味編−2 汎用ソートでクラスもソートしてみる。
(11)05/05/19 VBでOOP・STL風味編−1 VBで汎用ソート関数を作ってみる。
(10)04/09/05 乱数+Rnd関数解析編 Rnd関数って何やってるのか調べて見る。
(9)04/05/28 多角形の交差判定編−2 点の多角形内外判定について考えてみる。
(9)04/05/18 多角形の交差判定編−1 多角形の交差条件と、辺の交差条件について考えてみる。
(9)04/05/06 最適なアルゴリズムの苦悩編 テーブルアートのための最適な手法を考えてみる。
(7)03/11/03 ファイルのCRC編−その3 最終的な実装を考えてみる。
(7)03/10/20 ファイルのCRC編−その2 割り算をビット演算+テーブルに置き換えてみる。
(7)03/08/20 ファイルのCRC編−その1 CRCの概要を見てみる。
(6)03/06/29 ベジェ曲線の長さ編 ベジェ曲線の長さを計算してみる。
(4)00/10/30 数式解析編 VBで文字列の数式を逆ポーランド記法に変換する。
(3)00/05/12 クオータニオン編 クオータニオンがよくわからんので行列演算だけで任意ベクトル中心の軸回転に挑戦。
(2)00/01/09 簡易RLE圧縮編訂正版 ゲームのリプレイデータをRLEで圧縮してみる。訂正版。
(2)00/01/06 簡易RLE圧縮編 ゲームのリプレイデータをRLEで圧縮してみる。

その他プログラム・システム系
 
(14)09/12/22 デバッグ系APIでアプリ動作を操作してみる編−2 COM呼び出しやDLL呼び出しをブレークして引数をいじってみる。
(14)09/10/24 デバッグ系APIでアプリ動作を操作してみる編−1 Windowsでアプリに自分のプログラムからブレークポイント張ったりしてみる。
(13)08/03/15 Visual C++のマングリング規則編 Visual C++のマングリング規則を調べてみる。
(8)03/11/25 IEのコンテキストメニュー拡張編 IEでの右クリックを便利にしてみる。
(6)03/03/14 簡易OSを作ろう編−3 フロッピーのブートセクタを解析してみる。
(5)02/11/30 簡易OSを作ろう編−2 FAT12及びFAT16の構造を調べてみる。
(5)02/06/25 簡易OSを作ろう編−1 FDDをFATでなく直接論理セクタで読み書きする。
(5)02/01/15 ホイール+フック+アドイン編 VBでホイールを扱うアドインを作ってみる。
(4)01/01/06 FPUでSin、Cos編 Cランタイムでなく直接FPUからsin、cosの値を取ってみる。
(2)00/02/04 MMXを使おう編 MMXが使えるかどうかを判定するアセンブラコード。
(2)99/12/22 リプレイ+Rnd関数編 VBのRnd関数を使ってるゲームでリプレイ機能を実装。
(2)99/11/20 VBでCGI編 VBでコンソールアプリ作ればCGI作れるか?でも失敗。
(1)99/09/14 2つの返り値編 急に関数の返り値を2つにしたくなってみる。
(1)99/09/09 ファイルの日付編 ファイルの日付をVBで変更するのはめんどいかも。
(1)99/08/03 キー名取得(+HP更新ネタ) 押されたキーを番号だけでなく名前も取得してみる。

ハードウェア系
 
(10)04/07/20 2度目の自作編 新しいPCを作ってみる。
(4)01/01/08 初めての自作パソコン編 安くなったAthlonでGHzマシンをつくって見る。
(4)00/10/05 アップグレード編 CPUを500MHzに、45GBのHDDを買ってみた。
(3)00/07/16 クロックアップ編 K-6 Uを350MHz→400MHzに初めてのクロックアップ体験。
(2)99/10/08 DirectX for VB編−その1 DirectX7で追加されたDirectX for VBを見てみる。

大学課題やバイトなど雑談系
 
(5)02/03/29 実験終了編 大学でのCPU製作実験が終了。
(4)01/10/10 オセロ思考編 オセロの思考プログラムを作成してみる。
(4)01/07/10 どんどん新天地編 大学での課題を書き連ねただけ。
(4)01/04/25 さらに新天地編 大学での課題を書き連ねただけ。同上。
(3)00/06/21 さらなる新天地?編 TeXやらSQLやらAccessに手を出してみる。
(3)00/05/26 新天地キツイね編 PerlやらJavaやらVBへの希望やらどうでもいい話。
(3)00/04/26 自己技術診断編 自分の今の技術を再確認してみる。
(3)00/04/16 第2種情報処理技術者試験編 現基本情報技術者試験を受けてみた。
(2)99/12/14 リモートホスト+α編 Perlでgetaddrbyhostを使ってみる。
(2)99/10/30 新しい言語編 JavaとPerlをちゃんとやり始めてみる。


今後扱う(かも知れない)ネタ予定
今後扱うかも知れないしやらないかもしれないネタです。
急かすとそこを優先的にやるかもしれない(^^;

<<以下多分やるだろう物>>
それなりに材料もそろっててほぼ確実に扱うだろう物。

◆コンパイラ作ってみるかも編の5以降
プログラム実験部屋にあるように簡単なコンパイラができたので、プログラムとしてはできてる。
順序としては、VBで正規表現、VBでLL(1)パーザを扱った後(いずれもプログラム自体は作成済み)、VC+flex+bisonでのコンパイラの作り方を大雑把に。

◆Javaのバイトコードクラスファイルについて
上のコンパイラの関係でJavaのクラスファイルの動作について色々調べたので、その結果をまとめてみる。

◆Perlin Noiseによるテクスチャ生成
Perlin Noiseについて。


<<以下まだ何にも準備してないけどやりたい物>>
色々プログラム試したり資料探したりしないといけないんで手間がかかりそうなもの。

◆GPUの変則利用
GPUで変なことをしてみる。今はネタが2個ほど思いついてるけど実装してみないと成功するかわかんないな。

◆簡易OSを作ろう編の4以降
FATとブートの手順の解析で終わっているので、簡単な物を作りたいな。

◆Windowsの実行ファイルとDLL呼び出しの仕組み
Windowsのローダって何やってるのよ、ってのを調べてみたいなと。
最初は.comファイル→.exeファイル→DLL呼び出しとステップアップ。
.comの際は256byte Fire Effectにチャレンジしたりもしてみたい。


トップページへ戻る