5: 2007-11-23 (金) 19:41:16 |
現: 2024-01-06 (土) 22:39:11 |
| p[i] = 0x6; | | p[i] = 0x6; |
| } | | } |
| + | |
| io_out8(0x03c4, 0x0102); //00000001 | | io_out8(0x03c4, 0x0102); //00000001 |
| for ( i = 0; i <= 512*1; i=i++) | | for ( i = 0; i <= 512*1; i=i++) |
| p[i] = 0x6; | | p[i] = 0x6; |
| } | | } |
| + | |
| io_out8(0x03c4, 0x0202); //00000010 | | io_out8(0x03c4, 0x0202); //00000010 |
| for ( i = 0; i <= 512*1; i=i++) | | for ( i = 0; i <= 512*1; i=i++) |
| p[i] = 0x6; | | p[i] = 0x6; |
| } | | } |
| + | |
| io_out8(0x03c4, 0x0302); //00000011 | | io_out8(0x03c4, 0x0302); //00000011 |
| for ( i = 0; i <= 512*1; i=i++) | | for ( i = 0; i <= 512*1; i=i++) |
| io_out8(0x03ce, 0x0700); //色番号7をセット | | io_out8(0x03ce, 0x0700); //色番号7をセット |
| io_out8(0x03ce, 0xff08); //描画データのマスク | | io_out8(0x03ce, 0xff08); //描画データのマスク |
| + | |
| for ( i = 0; i <= 512*2; i++){ | | for ( i = 0; i <= 512*2; i++){ |
| p[i] = 0x6; | | p[i] = 0x6; |
| io_out8(0x03ce, 0x05); //書き込みモードを0に | | io_out8(0x03ce, 0x05); //書き込みモードを0に |
| io_out8(0x03cf, 0x00); | | io_out8(0x03cf, 0x00); |
| + | |
| io_out8(0x03ce, 0x01); //全プレーンをenableに | | io_out8(0x03ce, 0x01); //全プレーンをenableに |
| io_out8(0x03cf, 0x03); | | io_out8(0x03cf, 0x03); |
| + | |
| io_out8(0x03ce, 0x00); //色番号7をセット | | io_out8(0x03ce, 0x00); //色番号7をセット |
| io_out8(0x03cf, 0x07); | | io_out8(0x03cf, 0x07); |
| + | |
| io_out8(0x03ce, 0x08); //描画データのマスク | | io_out8(0x03ce, 0x08); //描画データのマスク |
| io_out8(0x03cf, 0xff); | | io_out8(0x03cf, 0xff); |
| + | |
| for ( i = 0; i <= 512*2; i++){ | | for ( i = 0; i <= 512*2; i++){ |
| p[i] = 0x6; | | p[i] = 0x6; |
| int xx0,xx1; | | int xx0,xx1; |
| unsigned char maskx; | | unsigned char maskx; |
| + | |
| io_out8(0x03ce, 0x00);io_out8(0x03cf, c); //色番号をセット | | io_out8(0x03ce, 0x00);io_out8(0x03cf, c); //色番号をセット |
| + | |
| //x(横)の始点と終点を8で丸める | | //x(横)の始点と終点を8で丸める |
| if ( x0 % 8 == 0 ) | | if ( x0 % 8 == 0 ) |
| xx0 = x0 - ( x0 % 8); | | xx0 = x0 - ( x0 % 8); |
| } | | } |
| + | |
| if ( x1 % 8 == 0 ) | | if ( x1 % 8 == 0 ) |
| { | | { |
| xx1 = x1 + ( x1 % 8) - 8; | | xx1 = x1 + ( x1 % 8) - 8; |
| } | | } |
| + | |
| for ( i = y0; i <= y1; i++) | | for ( i = y0; i <= y1; i++) |
| { | | { |
| maskx = 0xFF; | | maskx = 0xFF; |
| maskx = maskx >> (x0 % 8 ); | | maskx = maskx >> (x0 % 8 ); |
| + | |
| io_out8(0x03ce, 0x08); //描画データのマスク | | io_out8(0x03ce, 0x08); //描画データのマスク |
| io_out8(0x03cf, maskx); //描画データのマスク | | io_out8(0x03cf, maskx); //描画データのマスク |
| maskx = 0xFF; | | maskx = 0xFF; |
| maskx = maskx << (8 - (x1 % 8)); | | maskx = maskx << (8 - (x1 % 8)); |
| + | |
| io_out8(0x03ce, 0x08); //描画データのマスク | | io_out8(0x03ce, 0x08); //描画データのマスク |
| io_out8(0x03cf, maskx); //描画データのマスク | | io_out8(0x03cf, maskx); //描画データのマスク |
| } | | } |
| + | |
| //頭でもお尻でもなければ・・・ | | //頭でもお尻でもなければ・・・ |
| if ( i2 != xx0 && i2 != xx1 ) | | if ( i2 != xx0 && i2 != xx1 ) |
| io_out8(0x03cf, 0xff); //マスクなし | | io_out8(0x03cf, 0xff); //マスクなし |
| } | | } |
| + | |
| vram[ ( i * xsize / 8 ) + (i2 / 8) ] = 0xff; | | vram[ ( i * xsize / 8 ) + (i2 / 8) ] = 0xff; |
| + | |
| } | | } |
| + | |
| } | | } |
| + | |
| return; | | return; |
| } | | } |
| マスクって、覆ったところ(0の部分)って、元の色じゃなくて新たに黒で塗られちゃうの!??? | | マスクって、覆ったところ(0の部分)って、元の色じゃなくて新たに黒で塗られちゃうの!??? |
| えーーーーーー!!! ダメじゃん!!! | | えーーーーーー!!! ダメじゃん!!! |
| + | |
| + | **俺はハンパでナンパな男なんだよ! (ヴオォォォォ!!) [#la742295] |
| + | |
| + | うーーん。8の倍数でないx座標だとどうしてもこうなってしまう・・・ |
| + | #ref(q2.jpg) |
| + | もともとある色を崩さずに書き込む方法ってないのかなぁ・・・ |
| + | (OSASKのフォント描写の方法がヒントのようだがいまだにラッチがなんなのかよくわからない・・・) |
| + | |
| + | 「ラッチに背景色を読み込んでおいて・・・」とある。 |
| + | |
| + | このラッチという場所に色のデータを読み込ませる・・・(この場合は背景の緑色) |
| + | |
| + | ラッチに色を読み込ませるにはリードすればいい??? |
| + | |
| + | え? じゃ、たとえば、 aaa = 0xa0001; とか、そういう意味???? |
| + | |
| + | ・・・やっぱ違うよなぁ・・・・ |
| + | |
| + | |
| + | io_out8(0x03ce, 0x08); //描画データのマスク |
| + | io_out8(0x03cf, 0xff); //マスクなし |
| + | |
| + | //psetmodeに・・・ |
| + | io_out8(0x03ce, 0x03); |
| + | io_out8(0x03cf, 0x00); |
| + | |
| + | tmp = vram[( i * xsize / 8 ) + (i2 / 8) ] ; //読み込んでラッチに・・・? |
| + | vram[ ( i * xsize / 8 ) + (i2 / 8) ] = maskx; |
| + | |
| + | |
| + | **あっれぇ? ちょっとまてよ!?? [#eb2e4716] |
| + | |
| + | ・・・こゆことか!? こーゆーこーとーかーーーーぁ!! |
| + | |
| + | *わかったあぁぁぁぁ!!!!!!!!!!! [#z831b124] |