ポテンシャル

アバター
へろりくしょん
記事: 92
登録日時: 14年前
住所: 福岡

ポテンシャル

投稿記事 by へろりくしょん » 14年前

つい先ほどネットをウロウロしてたら、ゲームボーイアドバンスのサンプルソースを見つけました。 これです。

CODE:

// 型情報 
typedef unsigned char u8; 
typedef unsigned short u16; 

// 制御レジスタ情報 
#define VRAMTOP (u16*)0x6000000  // VRAM frame buffer top address 
#define register(p) *((u16*) p)  // I/O register handling macro 

#define LCD_CTRL  0x04000000   // LCD control 
#define LCD_BG2EN 0x0400     // Enable BG2 
#define LCD_MODE3 3        // Video mode 3 
#define RGB(r, g, b) (((b) << 10) + ((g) << 5) + (r)) 

// ブートケーブルからも実行できるようにするおまじない 
int __gba_multiboot = 0;     // マルチブート指定 

// メインプログラム 
int main(void) 
{ 
 u8 x, y; 
 u16* vram = VRAMTOP;      // Use VRAM as a frame buffer 

 // 画面モードの初期化 
 register(LCD_CTRL) = LCD_BG2EN | LCD_MODE3; // Mode3, BG2 表示 

 // 赤青緑のカラーパターン描画 
 for (x=0; x<80; x++) { 
  for (y=0; y<160; y++) { 
   vram[y*240+x] = RGB(31, 0, 0);   // put Red dot 
   vram[y*240+x+80] = RGB(0, 31, 0);  // put Green dot 
   vram[y*240+x+160] = RGB(0, 0, 31); // put Blue dot 
  } 
 } 

 // 無限ループ 
 while (1) { 
  ; 
 } 
}
とても低レベルです。 組み込み屋さんには申し訳ありませんが、メモリの絶対アドレスを直で叩くなんてやりたくありませんね。

どうでもいい話ですが、C 言語の前身に B 言語があります。
B 言語があって、C 言語ですよ。 ちょっと卑猥ですね。

どうでもいい話ですが、C 言語の書き手をシーゲンガーと呼ぶと、ちょっと強そうな感じしませんか?

多分、レイバーのような土木作業用ロボット ALGO を発展させて、ゲンガープロトタイプ・ビーゲンガーが作られて、量産モデルのシーゲンガーが作られたんだと思います。

で、やっぱりシーゲンガー99が最終モデルですか?

もう何言ってるんでしょうね。 私。

アバター
バグ
記事: 130
登録日時: 14年前

Re: ポテンシャル

投稿記事 by バグ » 14年前

となると、Java使いはジャバーですか…なんか悪役っぽいw

シーゲンガー99の次は、シーゲンガー++(ダブルプラス)にモデルチェンジですね。

たかぎ
記事: 328
登録日時: 14年前

Re: ポテンシャル

投稿記事 by たかぎ » 14年前

> シーゲンガー99の次は

シーゲンガー1Xでしょう。

アバター
へろりくしょん
記事: 92
登録日時: 14年前
住所: 福岡

Re: ポテンシャル

投稿記事 by へろりくしょん » 14年前

>バグさん

>となると、Java使いはジャバーですか…なんか悪役っぽいw

ということは、Perl 使いはパーラーですね。
勤務地はパチンコ屋さんでしょうか。
もはや何と戦えばいいのか謎ですね。


>たかぎさん

>シーゲンガー1Xでしょう。

グーグル先生に聞いてみました。 いつの間にかこんな規格が出来上がっていたのですね。

たかぎ
記事: 328
登録日時: 14年前

Re: ポテンシャル

投稿記事 by たかぎ » 14年前

> いつの間にかこんな規格が出来上がっていたのですね。

まだ出来上がっていません。
だから、1Xなのです。もし、2013年に出来上がれば、C13になるはずです。