議論/VESA対応


Top / 議論 / VESA対応

MonaでVESA対応をするためのページです。

※ひげぽんはVGAの基本すら知りません。これから勉強します。

ユーザーモードからjpeg描画(nikq氏コードをそのままコンパイル!!) 1024 * 768 24bpp

userjpeg.png

ユーザーモードからの描画(VRAM取得・fillRect・putPixel)

fromuser.png

JPEG乗っけてみました。 by nikq

monahorn.jpg
nikq1.png

色がずれてるのは多分デコーダのバグだと思います

Vesa Console by Gaku

bitblt実装しました。

VesaInfoDetail* vesaDetail = new VesaInfoDetail;
memcpy(vesaDetail, (VesaInfoDetail*)0x830, sizeof(VesaInfoDetail));
 
/* 800 * 600 16bpp */
int xResolution  = vesaDetail->xResolution;
int yResolution  = vesaDetail->yResolution;
int bitsPerPixel = vesaDetail->bitsPerPixel;
 
/* vram */
byte* realVram    = (byte*)(vesaDetail->physBasePtr);
byte* virtualVram = new byte[xResolution * yResolution * bitsPerPixel / 8];
 
/* create Screen */
Screen* realScreen    = new Screen(xResolution, yResolution, bitsPerPixel, realVram);
Screen* virtualScreen = new Screen(xResolution, yResolution, bitsPerPixel, virtualVram);
 
for (;;) {
    for (int y = 0; y < yResolution; y++) {
 
        /* draw line */
        memset(virtualVram, y % 0xFE, xResolution* bitsPerPixel / 8);
 
        /* BitBlt */
        Screen::bitblt16(realScreen, 0, y, 800, 1, virtualScreen, 0, 0, NULL);
    }
 
    /* fill virtual vram */
    memset(virtualVram, 0x12, xResolution * yResolution * bitsPerPixel / 8);
 
    /* regtangle */
    for (int x = 0, y = 0; y < yResolution; x += 50, y += 50) {
 
        /* BitBlt */
        Screen::bitblt16(realScreen, x, y, 50, 50, virtualScreen, 50, 50, NULL);
    }
 
}
bitblt.png
800_600.png

困っています。どなたかご教授ください

リアルモード時にやっておくことひげぽん

暫定API(未実装)

誰かへの問いかけ

  1. 切り替えるモードは何がいいか?
  2. カーネル側でサポートすべきところは何か?(ひげぽんしかできない部分)

コメント・突っ込み

コメントはありません。 コメント/議論/VESA対応?

お名前:

状況

vesainfo.gif

MENU

now: 2

リンク


最新の20件
2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 6531, today: 1, yesterday: 0

添付ファイル: fileuserjpeg.png 791件 [詳細] filevesainfo.gif 715件 [詳細] filenikq1.png 729件 [詳細] filemona.zip 428件 [詳細] filefromuser.png 746件 [詳細] filebitblt.png 711件 [詳細] file800_600.png 719件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:02 (3829d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.046 sec.