lea/4_color
¤ÎÊÔ½¸
http://hrb.osask.jp/wiki/?lea/4_color
[
¥ê¥í¡¼¥É
|
º¹Ê¬
|
ñ¸ì¸¡º÷
|
°ìÍ÷
] [
ÊÔ½¸
|
¥Ð¥Ã¥¯¥¢¥Ã¥×
|
źÉÕ
]
-- ¿÷·Á¤È¤¹¤ë¥Ú¡¼¥¸ --
A
Akkie
Athlon64X2
Clover
DAsoran
Falcon
FormatRule
FrontPage
Genesis
Help
I
InterWikiName
InterWikiSandBox
InterWiki¥Æ¥¯¥Ë¥«¥ë
Jormungand
K
Kebo
Kor_Lee_Hee_Rak
Leaf
Linux
Linux/wako_memo
MOIZ99
MW
MenuBar
OSC
PG_MANA
ReadersOS
RecentDeleted
SKYDASH
SandBox
Sero
Sigle
Source
Triangle_Ld.
Zxcvbnm
advance
advance/CPU
advance/FDC
advance/FPU
advance/NotHariMain
advance/QEMUVGA
advance/RTC
advance/blike
advance/cpu_reset
advance/driver
advance/driver/01
advance/driver/02
advance/families
advance/filesystem
advance/fwrite
advance/hddboot
advance/he86
advance/hints
advance/ipl
advance/kernel
advance/keycode
advance/osselect
advance/smaller1
advance/startup
advnace/smaller2
anzy
aotatsu
banbi-
bluedwarf
bo
bugs
challengers
cybozulabsyouth11
deskmanta
esb02b
faq
faq/advance
faq/asm
faq/c00-03
faq/c04-07
faq/c08-15
faq/c16-23
faq/c24-31
faq/make
faq/others
faq/qemu
guide
guide03
guide05
guide07
hikarupsp
imp_log/0000
imp_log/0001
imp_log/0002
imp_log/0003
impressions
index
k
killer_elf
kota
lea
lea/10_memory
lea/4_color
lea/idea
lea/terms
links
logs
logs/osa_hrb/comments0000
logs/osa_hrb/rumors0000
masa
members
message
mistakes
moge32
moppoi5168
notice
osdevjp
populars
prog_index
projects
q_and_a
q_and_a_2
qa_log/0000
qa_log/0001
qa_log/0002
qa_log/0003
qa_log/0004
qa_log/0005
qa_log/0006
qa_log/0007
qa_log/0008
qa_log/0009
quark
rankings
rule
sakamoto
sasaki
spc09
spcc_30min_os
tatsu
tools
tools/bim2hrb
tools/bin2obj
tools/cc1
tools/edimg
tools/gas2nask
tools/makefont
tools/nask
tools/obj2bim
tools/sjisconv
uchan
uho
updates
violations
wako
white
win64-bit
x
ytakano
¥Ø¥ë¥×
¥ê¥Ã¥¯¥¹
¼ÁÌ䤷¤Þ¤¹
À°·Á¥ë¡¼¥ë
ËܤÏÇã¤Ã¤¿¤¾¡ª»ý¤Ã¤Æ¤ë¤¾¡ª
Îý½¬ÍÑ¥Ú¡¼¥¸
#contents **¿§ ***º£¤Î¼ÂÁõ -¡Ö4ÆüÌܡ׽ªÎ»¤·¤¿¤¢¤¿¤ê¤È²¾Äê¡£ ***º£Æü¤ÎÎÁÍý ¤È¤ê¤¢¤¨¤º256¿§»È¤¨¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤ë¤ó¤À¤·¡¢ºÇÂç¸Â»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤«¡£~ °ì¡¹COL8_848484¤È¤«½ñ¤¯¤Î¤â¤¤¤¤¤±¤É¡¢¤³¤ÎÄê¿ô̾¤â¤¢¤Þ¤ê³Ð¤¨¤ä¤¹¤¯¤Ê¤¤¤è¤Ê¤¡¡¦¡¦¡¦~ ¤è¤·¡¢RGB´Ø¿ô¤ß¤¿¤¤¤ÊÅÛ¤âºî¤Ã¤Á¤ã¤¨¡ª~ ***ÌäÂê¤Ï1678Ëü¿§¤ÎÆâ¤É¤ì¤ò»È¤¦¤«¡£ ¤È¸À¤¦¤³¤È¤ÇRGB´Ø¿ô¤òºî¤ê¤¿¤¤¤ï¤±¤Ç¤¹¤¬¡¢¤³¤³¤Ç°ì¤ÄÌäÂ꤬ȯÀ¸¤¹¤ë¤ï¤±¤Ç¤¹¡£~ 8bit¥«¥é¡¼¤Ê²èÌ̤κÇÂçÆ±»þȯ¸÷¿§¤Î¿ô¤Ï256¿§¡£¤½¤ì¤ËÈæ¤Ù24bit¤Çɽ¸½¤Ç¤¤ë¿§¤Î¿ô¤Ï16777216¿§¡£6.6ËüÇܶᤤº¹¤¬¤¢¤ë¤ï¤±¤Ç¤¹¡£~ ¤µ¤Æ¤É¤¦¤¹¤Ã¤«¡£~ ~ ¤ä¤Ï¤ê1678Ëü¿§¤ÎÆâ¤ÎËØ¤É¤ò¼Î¤Æ¤ë¤·¤«¤Ê¤¤¤ï¤±¤Ç¡¢Î㤨¤ÐVESA¤Î16bit¥â¡¼¥É¤Ç¤Ï~ ÀÖ¤¬5bit¡¢ÎФ¬6bit¡¢ÀĤ¬5bitÅù¤È¤Ê¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤¹¡£~ ¤³¤¦¤¤¤¦¾å¼ê¤¤»ÅÍͤò¼«Ê¬¤Çºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£~ ¤³¤³¤Ç3¼ïÎà¤ÎÊýË¡¤¬»×¤¤É⤫¤Ó¤Þ¤¹¡£~ -ñ½ã¤Ë¡¢ÀÖ¤¬3bit¡¢ÎФ¬3bit¡¢ÀĤ¬2bitÅù¤È¤·¤Æ³ä¤ê¿¶¤ë¡Ê¤¿¤À¤·¤³¤Î¾ì¹ç¡¢ÀĤÎɽ¸½Ç½ÎϤ¬¶Ëü¤ËÎô¤ë¡£¡Ë -À֤ζ¯¤µ¤ò6Ãʳ¬¡¢ÎФζ¯¤µ¤ò7Ãʳ¬¡¢ÀĤζ¯¤µ¤ò6Ãʳ¬Åù¤È¤·¤Æ¡¢256¿§¤Î¥Ñ¥ì¥Ã¥È¤ò¤Ê¤ë¤Ù¤¯Í¸úÍøÍѤ¹¤ë(¤¿¤À¤··×»»¤¬½Å¤½¤¦¡£) -½é´ü¥Ñ¥ì¥Ã¥È¤Ë¤ÏºÇÄã¸Â¤À¤±Â·¤¨¤Æ¤ª¤¤¤Æ¡¢É¬Íפ˱þ¤¸¤Æ¸å¤«¤éÄɲ乤ë(ÌÀ¤é¤«¤Ë¼ÂÁõ¤¬ÌÌÅݤ½¤¦) ¤µ¤Æ¤É¤ì¤ò¼ÂÁõ¤·¤¿¤â¤Î¤«¡£~ ~ ¥Ñ¥ì¥Ã¥È¤Î½é´ü²½¤Ï1ÅÙ¤·¤«¸Æ¤Ð¤Ê¤¤¤Î¤Ç¡¢Á´ÂÎŪ¤Ê®Å٤Ϥ¢¤Þ¤êÊѤï¤é¤Ê¤¤¤Ï¤º¤Ç¤¹¡£~ ÌäÂê¤Ï24bit¢ª8bit¤ÎÊÑ´¹ºî¶È¡£ÍÍ¡¹¤Ê¥×¥í¥°¥é¥à¤ÎÍÍ¡¹¤Ê°ÌÃÖ¤«¤é¸Æ¤Ð¤ì¤ë»ö¤Ë¤Ê¤ëͽÄê¤Ê¤Î¤Ç¡¢~ ¤³¤ÎÊÑ´¹ºî¶È¤Ï¤Ê¤ë¤Ù¤¯Â®¤¯¼Â¹Ô½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¤¿¤¤¤â¤Î¤Ç¤¹¡£~ 24bit¢ª8bitÍѤÎÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¼êºî¶È¤Çºî¤ë¤Î¤âÌÌÅݤǤ¹¤·¡£~ ~ ºÇ½é¤ÎÊýË¡¤À¤È¥Ó¥Ã¥È±é»»¤È¥·¥Õ¥È±é»»¤Ç´Êñ¤Ëºî¤ì¤½¤¦¤Ç¤¹¤¬¡¢Æó¤ÄÌܤÎÊýË¡¤À¤ÈÎɤ¯¤Æ¿§¤Î¶¯¤µ¤ÎÈϰϤò³Îǧ¤·¤Ê¤¬¤é¤Î»Åʬ¤±ºî¶È¡¢~ ŬÅö¤Ë¼ÂÁõ¤¹¤ë¤È³ä¤ê»»¤¬´é¤ò½Ð¤·¤Þ¤¹¡£~ »°¤ÄÌܤÎÊýË¡¤Ï½ÀÆðÀ¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢24bit¢ª8bit¤ÎÊÑ´¹ºî¶È¤ò¹Í¤¨¤ë¤ÈºÇ°¤Ç¡¢¤Ä¤Þ¤ê°ì¡¹¸¡º÷¤«¤±¤ë¤Î¤ÇÃÙ¤¯¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£~ [[æÀþ:³ä¤ê»»¤Ã¤Æ¤É¤Î¤¯¤é¤¤ÃÙ¤¤¤Î¡©>#div]]~ ~ ¤·¤«¤·¼Â¤ÏÀÖÍѤÎÊÑ´¹¥Æ¡¼¥Ö¥ë¡¢ÎÐÍѤÎÊÑ´¹¥Æ¡¼¥Ö¥ë¡¢ÀÄÍѤÎÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¤½¤ì¤¾¤ìºî¤Ã¤Æ¤ª¤¤¤Æ~ char RGB(unsigned char r,unsigned char g,unsigned char b){ return table_r[r]+table_g[g]+table_b[b]; } ¤È¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¡¢ÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÂ礤µ¤Ï16MiB¤Ç¤Ï¤Ê¤¯768Byte¤À¤Ã¤¿¤ê¤·¤Þ¤¹¡£~ ¤¿¤Àº£²ó¤Ï¡¢ÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤Ë¤â¡¢¤Á¤ç¤Ã¤ÈÄê¿ôËä¤á¹þ¤ß¤ÇÊݸ¤¹¤ë¤Ë¤Ï½Å¤¤¤·½ñ¤¯¤ÎÌÌÅݤÀ¤·~ ¥á¥â¥ê´ÉÍý¤ò»Ï¤á¤ëÁ°¤Ë¥á¥â¥ê¤Î¹¥¤¾¡¼ê¤Ê°ÌÃÖ¤ò¤¤¤¸¤¯¤ë¤ï¤±¤Ë¤â¹Ô¤«¤Ê¤¤¤Î¤ÇÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï»È¤ï¤Ê¤¤Êý¸þ¤Ç¿Ê¤á¤¿¤¤¤È»×¤¤¤Þ¤¹¡£~ ~ :MiB|ñ°Ì¡£1MiB=1024KiB=1048576Byte¡£»ä¤¬¤³¤Ã¤Á¤Îñ°Ì¤¬¹¥¤¤ÊÍýͳ¤Ï¥á¥â¥ê´ÉÍý¤ÎKiB¤ÎÀâÌÀ¤ò»²¾È¤Î»ö¡£ ***¼ÂÁõ1:bitñ°Ì¤Ç³ä¤êÅö¤Æ ¤Þ¤º»ÅÍͤÀ¤±Àè¤ËŬÅö¤Ë·è¤á¤Æ¤·¤Þ¤ª¤¦¤«~ ~ ¿§¤Ï8bit¤Ç¡¢ÀÖ:²¼°Ì3bit¡¢ÀÄ:¾å°Ì2bit¡¢ÎÐ:¤½¤Î¾3bit¡ÊºÇ½é¤Ë¹Í¤¨¤¿ÊýË¡¡£¡Ë~ ¤Ä¤Þ¤ê2¿Ê¿ô¤Ç¹Ô¤¯¤È¥Õ¥£¡¼¥ë¥É¤Ïbbgggrrr¤Ë¤Ê¤ë¡£~ ~ ¤µ¤Æ¡¢init_palette´Ø¿ôÆâ¤ÇÁ´ÉôÄê¿ô½ñ¤¯¤Î¤ÏÌÌÅݤ¯¤µ¤¤¤Î¤Ç¡¢8bit¢ª24bit¤ÎÊÑ´¹´Ø¿ô¤ò½ñ¤¤¤Æ¤·¤Þ¤ª¤¦¡£~ // ²¿¤â¹Í¤¨¤º¤ËŬÅö¤Ëºî¤Ã¤Æ¤ß¤¿ÅÛ // °ú¿ô¤Î·Á¼°:bbgggrrr¡¢Ìá¤êÃͤηÁ¼°:00000000bbbbbbbbggggggggrrrrrrrr int RGB8ToRGB24(unsigned char color){ int r,g,b; r=(color&0x07)<<5; g=(color&0x38)<<2; b=color&0xc0; return (b<<16)+(g<<8)+r; } ¤³¤ì¤Ç¾å¼ê¤¯¤¤¤¯¤«¤Á¤ç¤Ã¤È¹Í¤¨¤Æ¤ß¤è¤¦¡£RGB8ToRGB24(0xff)¤ÏÇò¤Ë¤Ê¤ë¡©~ Åú¤¨¤Ï¡Ö¤Ê¤é¤Ê¤¤¡×¤Ê¤ó¤À¡£Ê̤˳¥¿§¤Ã¤Æ°ÕÌ£¤¸¤ã¤Ê¤¤¤è¡©¾¯¤·²«¿§¤Ã¤Ý¤¤Çò¤Ë¤Ê¤ë¡£~ ¤Ê¤¼¤Ê¤éRGB8ToRGB24(0xff)¤Ï0xc0e0e0¤Ë¤Ê¤ë¤«¤é¡£~ ¤½¤ì¤¸¤ã¤³¤ó¤Ê¤Î¤Ï¤É¤¦¤À¤í¤¦¡©~ int RGB8ToRGB24(unsigned char color){ int r,g,b; r=(color&0x07)<<5; g=(color&0x38)<<2; b=color&0xc0; return ((b<<16)+(g<<8)+r)|0x3f1f1f; } º£Å٤Ϥɤ¦¤À¤í¤¦¡©RGB8ToRGB24(0xff)¤Ï³Î¤«¤ËÇò(0xffffff)¤Ë¤Ê¤ë¤ß¤¿¤¤¤À¡£~ ¤Ç¤âRGB8ToRGB24(0x00)¤¬¹õ¤Ë¤Ê¤é¤Ê¤¤¡£¤½¤³¤Ç»×¤¤¤Ä¤¤¤¿¤Î¤¬¤³¤ì¡£~ int RGB8ToRGB24(unsigned char color){ int r,g,b; r=(color&0x07)*73>>1; // 73=01001001(b) g=(color&0x38)*73>>4; b=(color&0xc0)*85>>6; // 85=01010101(b) return (b<<16)+(g<<8)+r; } ¤³¤ì¤Ï¤É¤¦¤¤¤¦»ÅÁȤߤÀ¤í¤¦¡©¤Þ¤º°ìÈÖ¾å¤Î¹Ô¤«¤é¹Í¤¨¤Æ¤ß¤è¤¦¡£~ color=bbgggrrr¤À¤«¤é¡¢R=color&0x07¤È¤¹¤ë¤ÈR=00000rrr~ r¤Ð¤Ã¤«¤ê¤¸¤ãʬ¤«¤ê¤Ë¤¯¤¤¤«¤é¡¢²¾¤ËR=00000abc¤È¤·¤Æ¤ª¤¯¤È~ 00000abc *01001001¢«73¤Î2¿Ê¿ôɽµ --------- abcabcabc¢«¥ì¥¸¥¹¥¿¤Ï32bit¤À¤«¤é9bitʬ¤Ï;͵¤ÇÆþ¤ë ¤È¤Ê¤ë¡£¤½¤·¤Æ¾å°Ì8bit¤¬É¬ÍפÀ¤«¤é±¦¤Ë°ì¤Ä¥·¥Õ¥È¤·¤Æ~ (color&0x07)*73>>1=abcabcab~ ¤Ê¤ë¤Û¤É¡¢¤³¤Î·ë²Ì¤ÏÎɤµ¤½¤¦¤À¡£abc=000¤Ê¤éÅú¤¨¤â00000000¤Ë¤Ê¤ë¤·¡¢abc=111¤Ê¤éÅú¤¨¤â11111111¤Ë¤Ê¤ë¡£~ ¤·¤«¤â³Ý¤±»»¤ò»È¤Ã¤Æ¤ë¤«¤éÂçÂÎÆ±¤¸³ä¹ç¤Ç¿ôÃͤ¬Â礤¯¤Ê¤ë¤ï¤±¤À¡£~ ¤¹¤ë¤È3ÈÖÌܤμ°¤Ï¤É¤¦¤À¤í¤¦¡©~ color=bbgggrrr¤À¤«¤é¡¢B=color&0xc0¤È¤¹¤ë¤ÈB=bb000000~ b¤Ð¤Ã¤«¤ê¤¸¤ãʬ¤«¤ê¤Ë¤¯¤¤¤«¤é²¾¤ËB=xy000000¤È¤¹¤ë¤È~ xy000000 * 01010101¢«85¤Î2¿Ê¿ôɽµ -------------- xyxyxyxy000000 ¤½¤ì¤Ç¡¢¾å°Ì8bit¤¬É¬ÍפÀ¤«¤é±¦¤Ë6bit¥·¥Õ¥È¤·¤Æ~ (color&0xc0)*85>>6=xyxyxyxy~ ¤Ê¤ë¤Û¤É¡£~ ~ ¤µ¤Æ¡¢init_palette¤òRGB8ToRGB24¤ò»È¤¦¤è¤¦¤Ë½ñ¤´¹¤¨¤è¤¦¡£~ void init_palette(void){ unsigned char table_rgb[256 * 3]; // ½é´üÃͤ¬¤Ê¤¤¤«¤éstatic¤Ë¤¹¤ë°ÕÌ£¤¬¤Ê¤¤ int i,c; for(i=0;i<256;i++){ c=RGB8ToRGB24(i); table_rgb[i*3 ]= c &0xff; table_rgb[i*3+1]=(c>>8 )&0xff; table_rgb[i*3+2]=(c>>16)&0xff; } set_palette(0, 255, table_rgb); return; } ¤Ê¤ó¤«Á°¤è¤ê¤¹¤Ã¤¤ê¤·¤¿¤è¤¦¤Ê¡¦¡¦¡¦¡£~ ~ ¤µ¤ÆËÜÂê¤ÎRGB´Ø¿ô¤òºî¤í¤¦¤«¡£~ // Ìá¤êÃͤηÁ¼°:bbgggrrr char RGB(unsigned char r,unsigned char g,unsigned char b){ return (b&0xc0)+((g>>2)&0x38)+((r>>5)&0x07); } ¡¦¡¦¡¦Í½Á۰ʾå¤Ë´Êñ¤Ë½ñ¤±¤Æ¤·¤Þ¤Ã¤¿¡£~ ¤³¤Î¤¯¤é¤¤¤ÎÆâÍÆ¤Èµ½ÒÎ̤ʤé¤ï¤¶¤ï¤¶¡Ö´Ø¿ô¤È¤·¤Æ¡×¸ºß¤µ¤»¤Æ¤ª¤«¤Ê¤¯¤Æ¤â¤¤¤¤¤«¤Ê¡£~ //24bit¥«¥é¡¼¤òÉÁ²èÍÑ¥«¥é¡¼¤ËÊÑ´¹¤¹¤ë¥Þ¥¯¥í #define RGB(r,g,b) (((b)&0xc0)+(((g)>>2)&0x38)+(((r)>>5)&0x07)) ~ --¼Â¤Ï¥·¥Õ¥È±é»»¤Ï¥Ó¥Ã¥È±é»»¤è¤ê±é»»½ç°Ì¤¬¹â¤¤¤Î¤Ç¡¢²¼¤Ç¤âÌäÂê¤Ê¤¤¡£»ä¤ÏÆÉ¤ß¤Ë¤¯¤¤¤È´¶¤¸¤ë¤¬¡£~ #define RGB(r,g,b) (((b)&0xc0)+((g)>>2&0x38)+((r)>>5&0x07)) ***¼ÂÁõ2:bitñ°Ì¤Ç¤Ï¤Ê¤¤³ä¤êÅö¤ÆÊýË¡¤Ë¤Ä¤¤¤Æ ¤Þ¤¿»ÅÍͤòÀè¤Ë·è¤á¤Æ¤·¤Þ¤ª¤¦¡£~ ~ ¿§¤Ï0¡Á251¤Ç¡¢ÀÖ:¿§¤ò6¤Ç³ä¤Ã¤¿Í¾¤ê¡¢ÎÐ:¿§¤ò6¤Ç³ä¤Ã¤¿ÅÛ¤ò7¤Ç³ä¤Ã¤¿Í¾¤ê¡¢ÀÄ:¿§¤ò42¤Ç³ä¤Ã¤¿ÅÛ¤ò6¤Ç³ä¤Ã¤¿Í¾¤ê¡Ê2ÈÖÌܤÎÊýË¡¡£)~ ~ ¤µ¤Æ8bit¢ª24bit¤ÎÊÑ´¹´Ø¿ô¤ò½ñ¤¤¤Æ¤·¤Þ¤ª¤¦¡£~ // ²¿¤â¹Í¤¨¤º¤ËŬÅö¤Ëºî¤Ã¤Æ¤ß¤¿ÅÛ // Ìá¤êÃͤηÁ¼°:00000000bbbbbbbbggggggggrrrrrrrr int RGB8ToRGB24(unsigned char color){ int r,g,b; r=color%6; g=color/6%7; b=color/42%6; return (b<<16)+(g<<8)+r; } :±é»»µ¹æ¡Ö%¡×|¾ê;»»¡£³ä¤Ã¤¿Í¾¤ê¤òµá¤á¤ë¡£±é»»½ç°Ì¤Ï*¤ä/¤ÈƱ¤¸¡£ ¤ª¤Ã¤È¤³¤ì¤¸¤ãÂÌÌܤÀ¡£Î㤨¤Ðr¤Ï0¡Á255¤ÎÃͤò¤È¤ëɬÍפ¬¤¢¤ë¤Î¤Ë¡¢0¡Á5¤ÎÃͤ·¤«¤È¤Ã¤Æ¤Ê¤¤¡£~ 255¤Ç³Ý¤±¤Æ5¤Ç³ä¤Ã¤Æ¤ª¤³¤¦¡£¤¤¤ä¡¢51¤ò³Ý¤±¤ì¤Ð¤¤¤¤¤Î¤«¡£~ g¤Ï¤É¤¦¤·¤è¤¦¡£255¤Ç³Ý¤±¤Æ6¤Ç³ä¤Ã¤¿¤é42.5ÇܤÀ¡£255¤Ç³Ý¤±¤Æ3¤Ç³ä¤Ã¤Æ(¤Ä¤Þ¤ê85¤ò³Ý¤±¤Æ)¡¢¹¹¤Ë2¤Ç³ä¤ì¤Ð¤¤¤¤¤Î¤«¤Ê¡£~ int RGB8ToRGB24(unsigned char color){ int r,g,b; r=color%6*51; g=color/6%7*85>>1; b=color/42%6*51; return (b<<16)+(g<<8)+r; } ¤¢¡¢color¤¬252¤È¤«¤Î»þ¾å¼ê¤¯Æ°¤«¤Ê¤¤¤«¤é¤ª¤«¤·¤ÊÃͤ¬Í褿»þ¤ÏÃÆ¤«¤Ê¤¤ã¡£~ int RGB8ToRGB24(unsigned char color){ if(color>251) return -1; // ¸ºß¤·¤Ê¤¤¿§ÈÖ¹æ int r,g,b; r=color%6*51; g=color/6%7*85>>1; b=color/42%6*51; return (b<<16)+(g<<8)+r; } ¤¦¤ó¡¢¤³¤ì¤Ç¾å¼ê¤¯Æ°¤¤½¤¦¤À¡£~ ~ ¤µ¤Æ¡¢RGB´Ø¿ô¤òºî¤ë¤«¡£¤³¤ó¤Ê´¶¤¸¤«¤Ê¡©~ char RGB(unsigned char r,unsigned char g,unsigned char b){ return (r/43)+(g/37)*6+(b/43)*42; // 0<=x<=255¢ª0<=x/43<6,0<=x/37<7 } 43¤È37¤Ï¡¢¤½¤ì¤¾¤ì255/6¤È255/7¤òÀÚ¤ê¾å¤²¤¿¿ôÃͤǤ¹¡£¤Ê¤Î¤Ç255°Ê²¼¤ÎÀµ¤ÎÀ°¿ô¤ò¤³¤¤¤Ä¤é¤Ç³ä¤Ã¤¿»þ¤Ë0¡Á6¼å¡¢0¡Á7¼å¤Ë¤Ê¤Ã¤¿¤ó¤Ç¤¹¡£~ ***¼ÂÁõ3:²ÄÊѥѥì¥Ã¥È ¤ä¤Ã¤Ñ¤ê¡¢¤»¤Ã¤«¤¯Æ°Åª¤Ë¥Ñ¥ì¥Ã¥È¤òÏ®¤ì¤ë¤ó¤À¤«¤éÅÓÃæ¤«¤é¿§¤òÄɲäǤ¤Æ¤â¤¤¤¤¤¸¤ã¤Ê¤¤¤«¡£~ ¤³¤ì¤Ç¹¥¤¤Ê¿§¤ò(ºÇÂçÆ±»þȯ¸÷¿§¤¬256¿§¤Ë¼ý¤Þ¤ëÈϰϤÇ)»È¤¨¤ë¤è¤¦¤Ë½ÐÍè¤ë¤Ë°ã¤¤¤Ê¤¤¡£~ ~ ¿§¤òÄɲä¹¤ë´Ø¿ô¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¤¤¤¤«¤Ê¤¡¡©~ void set_palette1(int num,unsigned char r,unsigned char g,unsigned char b){ int eflags; eflags = io_load_eflags(); io_cli(); io_out8(0x03c8,num); io_out8(0x03c9,r/4); io_out8(0x03c9,g/4); io_out8(0x03c9,b/4); io_store_eflags(eflags); return; } ¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤È¤½¤Î¥Ñ¥ì¥Ã¥È¤ËÆþ¤Ã¤Æ¤ë¿§¤Î¿ô¤òµ²±¤¹¤ëÊÑ¿ô¤Ï¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ë¤·¤Æ¤ª¤³¤¦¡£~ ¤¢¤È¤Ç²¿Å٤⥢¥¯¥»¥¹¤·¤¿¤¤¤«¤é¤Í~ int colorpalette_num; // ɸ½à¥«¥é¡¼¥Ñ¥ì¥Ã¥È char table_rgb[256 * 3] = { 0x00,0x00,0x00, // ¹õ 0xff,0xff,0xff, // Çò }; void init_palette(void){ colorpalette_num=2; set_palette(0,1,table_rgb); return; } ¤µ¤Æ8bit¢ª24bit¤ÎÊÑ´¹ºî¶È¤ÏÍפé¤Ê¤¤¤·¡¢RGB´Ø¿ô¤òºî¤Ã¤Æ¤·¤Þ¤ª¤¦¡£~ ¥¹¥±¥ë¥È¥ó¤Ï¤³¤ó¤Ê´¶¤¸¤«¤Ê¤¡¡©~ int RGB(unsigned char r,unsigned char g,unsigned char b){ for(i=0;i<colorpalette_num;i++){// »÷¤¿¿§¤Î¸¡º÷ /* Í׵ᤵ¤ì¤¿¿§¤¬¤É¤Î°Ì´û¸¤Î¿§¤È»÷¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë */ if(/* Ʊ°ì¤Î¿§¤Ê¤é */){ return /* ¤½¤Î¿§¤òÊÖ¤¹ */; }else if(/* º£¤Þ¤Ç¤ËÄ´¤Ù¤¿¤É¤Î¿§¤è¤ê»÷¤Æ¤¤¤ë¤Ê¤é */){ /* ¤½¤Î¿§¤Î¿§ÈÖ¹æ¤È¸µ¤Î¿§¤È¤Îµ÷Î¥¤È¤òµÏ¿ */ } } if(colorpalette_num==256){ // ¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤Ë¤³¤ì°Ê¾åÄɲäǤ¤Ê¤¤¤È¤ return /* µÏ¿¤·¤Æ¤ª¤¤¤¿¡¢ºÇ¤â¶á¤¤¿§¤òÊÖ¤¹ */; }else{ // ¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤ËÄɲäǤ¤ë¤È¤ /* set_palette1¤ÇÍ׵ᤵ¤ì¤¿¿§¤òÄɲä·¤Æ */ /* ¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤Ë¡¢Äɲ䵤줿¿§¤òµÏ¿¤·¤Æ */ colorpalette_num++; // Êݸ¤·¤Æ¤¤¤ë¿§¤ÎÁí¿ô¤¬Áý¤¨¤¿»ö¤òµÏ¿¤·¤Æ return colorpalette_num-1; // ¿·¤¿¤ËÄɲä·¤¿¿§¤Î¿§ÈÖ¹æ¤òÊÖ¤¹ } } ¤¦¡Á¤ó¡¦¡¦¡¦¡¢¡Ö2¤Ä¤Î¿§¤¬¤É¤Î°Ì»÷¤Æ¤¤¤ë¤«¡×¤ò¤É¤¦¤ä¤Ã¤ÆÉ½¸½¤·¤è¤¦¡¦¡¦¡¦¡£~ º£²ó¤Ï¡¢¿§¤ÎÃÍÆ±»Î¤ò°ú¤»»¤·¤Æ¡¢ÀäÂÐÃͤdzç¤Ã¤Æ¡¢Á´Éô¤·¤Æ¡¢¤½¤ÎÃͤ¬0¤«¤é¤É¤Î°ÌÎ¥¤ì¤Æ¤ë¤«¤Çɽ¸½¤¹¤ë¤È¤¤¤¦ÊýË¡¤Ç¹Ô¤¤¿¤¤¤È»×¤¤¤Þ¤¹¡£~ Íפ¹¤ë¤Ëabs(table_rgb[i*3]-r)+abs(table_rgb[i*3+1]-g)+abs(table_rgb[i*3+2]-b)¤ß¤¿¤¤¤ÊÅÛ¤òµá¤á¤Æ¡¢~ 0¤Ê¤éƱ¤¸¿§¡¢0¤Ë¶á¤±¤ì¤Ð»÷¤Æ¤ë¿§¡¢¤È¤¤¤¦Ìõ¤Ç¤¹¡£~ :ÀäÂÐÃÍ|Éé¤ÎÃͤòÀµ¤ÎÃͤˡ¢Àµ¤ÎÃͤϤ½¤Î¤Þ¤Þ¤ËÊÖ¤¹´Ø¿ô¤Î̾Á°¡£abs(3)=3,abs(-5)=5 ±¿¤Î¤¤¤¤»ö¤Ë¡¢abs´Ø¿ô¤Ïɸ½à¥é¥¤¥Ö¥é¥ê¤ËÍѰդµ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£~ int abs(int n); ¤µ¤Æ¼ÂÁõ¡£¤³¤ó¤Ê´¶¤¸¤«¤Ê¡©~ int RGB(unsigned char r,unsigned char g,unsigned char b){ int i; int howfar,mostnear=256; // ¤É¤Î°Ì´û¸¤Î¿§¤È»÷¤Æ¤¤¤ë¤«¤òµ²±¤·¤Æ¤ª¤¯¤¿¤á¤ÎÊÑ¿ô int nearcolor=-1; // ºÇ¤â¶á¤¤¿§¤Î¿§ÈÖ¹æ // ²¼°Ì2bit¤ÏÉÁ²è¤¹¤ë¤È¤¤ËÈ¿±Ç¤µ¤ì¤Ê¤¤¤¿¤á¡¢2bitʬ±¦¥·¥Õ¥È¤·¤Æ¤ª¤¯¡£ r>>=2; g>>=2; b>>=2; for(i=0;i<colorpalette_num;i++){// »÷¤¿¿§¤Î¸¡º÷ howfar=abs((table_rgb[i*3 ]>>2)-r)+ abs((table_rgb[i*3+1]>>2)-g)+ abs((table_rgb[i*3+2]>>2)-b); if(howfar==0){// Ʊ¤¸¿§¤¬¸«¤Ä¤«¤Ã¤¿¤é return i; // ¤½¤Î¿§¤òÊÖ¤¹ }else if(mostnear>howfar){// º£¤Þ¤Ç¤ËÄ´¤Ù¤¿¤É¤Î¿§¤è¤ê»÷¤Æ¤¤¤ë¤Ê¤é // ¤½¤Î¿§¤Î¿§ÈÖ¹æ¤È¸µ¤Î¿§¤È¤Îµ÷Î¥¤È¤òµÏ¿ nearcolor=i; mostnear=howfar; } } if(colorpalette_num==256){ // ¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤Ë¤³¤ì°Ê¾åÄɲäǤ¤Ê¤¤¤È¤ return nearcolor; // µÏ¿¤·¤Æ¤ª¤¤¤¿¡¢ºÇ¤â¶á¤¤¿§¤òÊÖ¤¹ }else{ // ¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤ËÄɲäǤ¤ë¤È¤ set_palette1(colorpalette_num,r<<2,g<<2,b<<2); // set_palette1¤ÇÍ׵ᤵ¤ì¤¿¿§¤òÄɲä·¤Æ /* ¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤Ë¡¢Äɲ䵤줿¿§¤òµÏ¿¤·¤Æ */ table_rgb[colorpalette_num*3 ]=r<<2; table_rgb[colorpalette_num*3+1]=g<<2; table_rgb[colorpalette_num*3+2]=b<<2; colorpalette_num++; // Êݸ¤·¤Æ¤¤¤ë¿§¤ÎÁí¿ô¤¬Áý¤¨¤¿»ö¤òµÏ¿¤·¤Æ return colorpalette_num-1; // ¿·¤¿¤ËÄɲä·¤¿¿§¤Î¿§ÈÖ¹æ¤òÊÖ¤¹ } } ͽÁÛÄ̤ê¤È¤¤¤¦¤«¤Ê¤ó¤È¸À¤¦¤«¡¢ÊªÀ¨¤¯Ä¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£~ ***ºÇ¸å¤Ë¤ä¤ë»ö ³Îǧ¤â½ÅÍפÀ¤Í~ (HariMainÆâÉô) boxfill8(vram,xsize,RGB(0x00,0x84,0x84), 0 ,0 ,xsize- 1,ysize-29); boxfill8(vram,xsize,RGB(0xc6,0xc6,0xc6), 0 ,ysize-28,xsize- 1,ysize-28); boxfill8(vram,xsize,RGB(0xff,0xff,0xff), 0 ,ysize-27,xsize- 1,ysize-27); boxfill8(vram,xsize,RGB(0xc6,0xc6,0xc6), 0 ,ysize-26,xsize- 1,ysize- 1); boxfill8(vram,xsize,RGB(0xff,0xff,0xff), 3 ,ysize-24,59 ,ysize-24); boxfill8(vram,xsize,RGB(0xff,0xff,0xff), 2 ,ysize-24, 2 ,ysize- 4); boxfill8(vram,xsize,RGB(0x84,0x84,0x84), 3 ,ysize- 4,59 ,ysize- 4); boxfill8(vram,xsize,RGB(0x84,0x84,0x84),59 ,ysize-23,59 ,ysize- 5); boxfill8(vram,xsize,RGB(0x00,0x00,0x00), 2 ,ysize- 3,59 ,ysize- 3); boxfill8(vram,xsize,RGB(0x00,0x00,0x00),60 ,ysize-24,60 ,ysize- 3); boxfill8(vram,xsize,RGB(0x84,0x84,0x84),xsize-47,ysize-24,xsize- 4,ysize-24); boxfill8(vram,xsize,RGB(0x84,0x84,0x84),xsize-47,ysize-23,xsize-47,ysize- 4); boxfill8(vram,xsize,RGB(0xff,0xff,0xff),xsize-47,ysize- 3,xsize- 4,ysize- 3); boxfill8(vram,xsize,RGB(0xff,0xff,0xff),xsize- 3,ysize-24,xsize- 3,ysize- 3); ˺¤ì¤Ê¤¤¤¦¤Á¤ËRGB´Ø¿ô¤È¤«¤ÎÀë¸À¤â½ñ¤¤¤Æ¤ª¤³¤¦¡£~ ***¿§¤òº®¤¼¤ÆÉ½¸½¤·¤Æ¤ß¤ë ¥³¥á¥ó¥È¤ÇK¤µ¤ó¤¬¡Ö¿§¤òº®¤¼¤ëÊýË¡¤âÀâÌÀ¤·¤Æ¡×¤È¸À¤Ã¤Æ¤ë¤è¤¦¤Ë¸«¤¨¤Æ¤·¤Þ¤Ã¤¿¡£~ ŬÅö¤Ë¼ÂÁõ¤·¤¿¤é¾å¼ê¤¯Æ°¤¤¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤½¤Î¥½¡¼¥¹¤ò¤È¤ê¤¢¤¨¤º¸ø³«¡£~ (¼ç¤Ë¼ÂÁõ3¤ËÄɲÃ) // c1¡¢c2¤Ïº®¤¼¤ëÆó¤Ä¤Î¿§¡£pattern¤Ï¿§¤ò¤É¤ÎÈæÎ¨¤Çº®¤¼¤ë¤«¤Ë´Ø¤¹¤ë°ú¿ô¤Ç¡¢ // 0¤Ê¤éc1¤Î¤ß¡¢4¤Ê¤éc2¤Î¤ß¡¢¤½¤ÎÃæ´Ö¤ÏÎ㤨¤Ð1¤Ê¤éc1¤¬Â¿¤á¤È¤Ê¤ë¡£ void boxfill8_2color(unsigned char *vram, int xsize, unsigned char c1,unsigned char c2,int pattern, int x0, int y0, int x1, int y1) { int x, y; unsigned char k[2],table[4]={3,1,0,2}; if(pattern>4) pattern=4; if(pattern<0) pattern=0; if(c1==c2||pattern==0){ // Ʊ¤¸¿§¤¬Í褿¤éº®¤¼¤ëɬÍפ¬Ìµ¤¤¤Î¤Ç¤â¤Ã¤Èñ½ã¤Ê´Ø¿ô¤Ë½èÍý¤òÅϤ¹¡£ // ¤³¤³¤ÇÅϤ¹¿§¤¬c1¤Ê¤Î¤Ç¡¢¤Ä¤¤¤Ç¤Ë¥Ñ¥¿¡¼¥ó¤¬0¤À¤Ã¤¿»þ¤Ë¤Ä¤¤¤Æ¤âȽÄê¡£ boxfill8(vram,xsize,c1,x0,y0,x1,y1); return; }else if(pattern==4){ // ¥Ñ¥¿¡¼¥ó¤¬4¤Î»þ¡£ boxfill8(vram,xsize,c2,x0,y0,x1,y1); return; } k[0]=c1; k[1]=c2; for (y = y0; y <= y1; y++){ for (x = x0; x <= x1; x++) // ¤³¤Î¾¯¤·Ê£»¨¤½¤¦¤Ê·×»»¼°¤Ï¡¢x-x0¤Èy-y0¤Î¶ö´ñ¤Çtable¤Î¤É¤ÎÃͤò»È¤¦¤«¤ò·è¤á¤Æ¡¢¤½¤ì¤Ë4¤è¤ê¤Ï¾®¤µ¤¤Ãͤò¤·¤Æ¡¢ // 2bit±¦¥·¥Õ¥È¤·¤Æ¤¤¤ë¡£4¤è¤ê¾®¤µ¤¤Ãͤò¤·¤¿»þÅÀ¤Ç4°Ê¾å¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤Ð1¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð0¤¬k¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë»È¤ï¤ì¤ë¡£ vram[y * xsize + x] = k[(table[((x-x0)&1)+(((y-y0)&1)<<1)]+pattern)>>2]; } return; } »È¤¦»þ¤Ï¤³¤ó¤Ê´¶¤¸ boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2, 0 ,0 ,xsize- 1,ysize-29); boxfill8_2color(vram,xsize,RGB(0xc8,0xc8,0xc8),RGB(0xc0,0xc0,0xc0),2, 0 ,ysize-28,xsize- 1,ysize-28); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0, 0 ,ysize-27,xsize- 1,ysize-27); boxfill8_2color(vram,xsize,RGB(0xc8,0xc8,0xc8),RGB(0xc4,0xc4,0xc4),2, 0 ,ysize-26,xsize- 1,ysize- 1); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0, 3 ,ysize-24,59 ,ysize-24); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0, 2 ,ysize-24, 2 ,ysize- 4); boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2, 3 ,ysize- 4,59 ,ysize- 4); boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2,59 ,ysize-23,59 ,ysize- 5); boxfill8_2color(vram,xsize,RGB(0x00,0x00,0x00),RGB(0x00,0x00,0x00),0, 2 ,ysize- 3,59 ,ysize- 3); boxfill8_2color(vram,xsize,RGB(0x00,0x00,0x00),RGB(0x00,0x00,0x00),0,60 ,ysize-24,60 ,ysize- 3); boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2,xsize-47,ysize-24,xsize- 4,ysize-24); boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2,xsize-47,ysize-23,xsize-47,ysize- 4); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0,xsize-47,ysize- 3,xsize- 4,ysize- 3); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0,xsize- 3,ysize-24,xsize- 3,ysize- 3); Ť¤¤Î¤ÇÊ̤δؿô¤òÄɲᣠvoid boxfill8_color(unsigned char *vram, int xsize,unsigned char r,unsigned char g,unsigned char b, int x0, int y0, int x1, int y1) { int cu=((r+3)&0xfc)+(((g+3)&0xfc)<<8)+(((b+3)&0xfc)<<16); int cd=(r&0xfc)+((g&0xfc)<<8)+((b&0xfc)<<16); if(cu==cd){ // ÊäÀµ¤¹¤ëɬÍפ¬Ìµ¤¤ boxfill8(vram,xsize,RGB(r,g,b),x0,y0,x1,y1); }else{ if(r>=0xfd) r=0xfc; if(g>=0xfd) g=0xfc; if(b>=0xfd) b=0xfc; boxfill8_2color(vram,xsize,RGB(r,g,b),RGB(r+((r&2)<<1),g+((g&2)<<1),b+((b&2)<<1)),2,x0,y0,x1,y1); } return; } ¤³¤ì¤Ç¤¤¤¯¤é¤«¸«¤ä¤¹¤¯¤Ê¤Ã¤¿¤«¤Ê¡£ boxfill8_color(vram,xsize,0x00,0x84,0x84, 0 ,0 ,xsize- 1,ysize-29); boxfill8_color(vram,xsize,0xc6,0xc6,0xc6, 0 ,ysize-28,xsize- 1,ysize-28); boxfill8_color(vram,xsize,0xff,0xff,0xff, 0 ,ysize-27,xsize- 1,ysize-27); boxfill8_color(vram,xsize,0xc6,0xc6,0xc6, 0 ,ysize-26,xsize- 1,ysize- 1); boxfill8_color(vram,xsize,0xff,0xff,0xff, 3 ,ysize-24,59 ,ysize-24); boxfill8_color(vram,xsize,0xff,0xff,0xff, 2 ,ysize-24, 2 ,ysize- 4); boxfill8_color(vram,xsize,0x84,0x84,0x84, 3 ,ysize- 4,59 ,ysize- 4); boxfill8_color(vram,xsize,0x84,0x84,0x84,59 ,ysize-23,59 ,ysize- 5); boxfill8_color(vram,xsize,0x00,0x00,0x00, 2 ,ysize- 3,59 ,ysize- 3); boxfill8_color(vram,xsize,0x00,0x00,0x00,60 ,ysize-24,60 ,ysize- 3); boxfill8_color(vram,xsize,0x84,0x84,0x84,xsize-47,ysize-24,xsize- 4,ysize-24); boxfill8_color(vram,xsize,0x84,0x84,0x84,xsize-47,ysize-23,xsize-47,ysize- 4); boxfill8_color(vram,xsize,0xff,0xff,0xff,xsize-47,ysize- 3,xsize- 4,ysize- 3); boxfill8_color(vram,xsize,0xff,0xff,0xff,xsize- 3,ysize-24,xsize- 3,ysize- 3); ***Ãí°Õ»ö¹à(·ü°Æ»ö¹à) ¡¼ÂÁõ3¤Ç¡¢¡ÖƱ¤¸¿§¤¬¤Ê¤¯¤Æ¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤âËþ¥¿¥ó¤À¤è¡×¤È¤¤¤¦»þ¤Ë²¿¤â¹Í¤¨¤º¤ËºÇ¤â¶á¤¤¿§¤òÊÖ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢~ Î㤨¤Ð¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤¬Ï³¤ì¤Ê¤¯ÀĤäÀÄÎС¢¤½¤ì¤ËÎФÇËþ¥¿¥ó¤À¡¡¤È¤¤¤¦»þ¤Ë¤ÏÀÖ¤òÍ׵ᤷ¤Æ¤â¹õ¤¬¤¢¤ì¤Ð¹õ¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤ÐÀĤ«ÎФ¬¤ª¤½¤é¤¯Ê֤äƤ¤Þ¤¹¡£~ ´û¸¤Î¿§¤ËÎɤ¯»÷¤Æ¤¤¤ë¿§¤¬¤Ê¤¤»þ¤Ï¡¢1¿§Íפé¤Ê¤¤¿§¤òõ¤·¤Æ¤½¤ì¤òÃÖ´¹¤¹¤ë¤Î¤¬¤¤¤¤¤Î¤Ç¤¹¤¬¡¢~ ¿§¤Îõ¤·Êý¤Ë¤Ï»ä¤¬»×¤¤¤Ä¤¯¸Â¤ê¤Ç¤Ï2¼ïÎढ¤Ã¤Æ¡¢~ -º£¸½ºßºÇ¤â»È¤ï¤ì¤Æ¤¤¤Ê¤¤¿§¤ò¤Ê¤ó¤È¤«¸À¤¤Åö¤Æ¤ëÊýË¡ -¿§¤ÎÌ©ÅÙ¤¬Ç»¤¤¾ì½ê¤Î¿§¤òõ¤·¤Æ¡¢¤½¤Î¿§¤ò¸À¤¤Åö¤Æ¤ëÊýË¡(Íפ¹¤ë¤Ë¤½¤Î¿§¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤â¤è¤¯»÷¤¿¿§¤Ç¥«¥Ð¡¼¤Ç¤¤ë¤è¤¦¤Ê¾ì½ê¤òõ¤¹¡£) ¤È¤¤¤¦ÊýË¡¤Ê¤Î¤Ç¤¹¤¬¡¢¤É¤Á¤é¤Ë¤·¤Æ¤â¤Á¤ç¤Ã¤ÈŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¢¡Ö³§¤µ¤ó¤Ø¤Î½ÉÂê¡×¤È¤¤¤¦¤³¤È¤Ç¤¤¤¤¤Ç¤·¤ç¤¦¤«¡©~ ¤Þ¤¿¡¢ºÇ¤â»÷¤Æ¤¤¤ë¿§¤È¤É¤Î¤¯¤é¤¤»÷¤Æ¤¤¤Ê¤«¤Ã¤¿¤éÃÖ´¹¤·¤Ë¹Ô¤¯¤«¡¢¤½¤ÎïçÃͤòÀßÄꤹ¤ë¤Î¤âÆñ¤·¤¤¤È»×¤¦¤Î¤Ç¤¹¤¬¡¦¡¦¡¦¡£~ ~ ¢Â¿Ê¬¤³¤ì¤ÏºÇÎɤÎÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£É¬¤º¥í¥¸¥Ã¥¯¥ì¥Ù¥ë¤Ç¤â¤Ã¤È¤¤¤¤¤â¤Î¤¬¤¢¤ë¤Ï¤º¤Ç¤¹¡£~ »ä¤Ïº£¤Î¤È¤³¤í»×¤¤¤Ä¤¤Þ¤»¤ó¤¬¡¢³§¤µ¤ó¤â¤¢¤ì¤³¤ì¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£~ ¤Ç¤¤ì¤Ð¤½¤ÎÊýË¡¤ò¥³¡¼¥É¤Ëµ¯¤³¤¹¤Ê¤ê¾¿Í¤ËÀâÌÀ¤Ç¤¤ëÄøÅ٤˾ܤ·¤¯³°Éô»ÅÍͤò»æ¤Ë½ñ¤½Ð¤¹¤Ê¤ê¤·¤Æ¤¯¤À¤µ¤¤¡£~ »ä¤Ï¤½¤ÎÊýË¡¤ò¸«¤Æ¤ß¤¿¤¤¤Ç¤¹¡£~ ~ £°ì±þ³Îǧ¤Ï¤·¤Æ¤ë¤Î¤Ç¤¹¤¬¡¢¤¢¤Þ¤êƬ¤Î¤è¤¯¤Ê¤¤»ä¤¬½ñ¤¤¤¿¥³¡¼¥É¤Ë¥Ð¥°¤¬¤Ê¤¤¤È¤Ï¹Í¤¨¤é¤ì¤Þ¤»¤ó¡£~ ¥³¡¼¥É¤ò¥³¥Ô¥Ú¤¹¤ëÁ°¤Ë¡Ö²¿¤¬¤·¤¿¤¯¤Æ¡¢¤É¤¦¤¹¤ì¤Ð¼ÂÁõ¤Ç¤¤½¤¦¤«¡×¤òÍý²ò¤·¤Æ¡¢°ì±þ¥³¡¼¥É¤òÌܤÇÄɤäƤߤƤ¯¤À¤µ¤¤¡£~ ~ ***´Ê°×Åêɼ(º£²ó¤Î¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤Î´ÉÍý¤Ë´Ø¤¹¤ëµ»ö¤Ë¤Ä¤¤¤Æ¡£) ¤É¤ÎÄøÅÙÌò¤ËΩ¤Ã¤¿¡© #vote(Á´¤¯¡£[1],¤Û¤ó¤Î¤ï¤º¤«¤Ë¡£¤¢¤Þ¤ê¡£[1],¤ä¤ä¡¢¾¯¤·¡£[1],¤Þ¤¡¤Þ¤¡¡¢³ä¤È¡£[2],¤«¤Ê¤ê¡¢¤È¤Æ¤â[1],Èó¾ï¤Ë¡¢À¨¤¯[1]) ÀâÌÀ¤ÏŬÀÚ¡© #vote(ÀâÌÀ²á¾ê[0],¤ä¤ä²á¾ê[0],ŬÀÚ[1],¤ä¤äÉÔŬÀÚ[0],ʬ¤«¤ê¤Ë¤¯¤¤[0],Á´¤¯Ê¬¤«¤é¤Ê¤¤[0]) ¥½¡¼¥¹¥³¡¼¥ÉÃæ¤Î¥³¥á¥ó¥È¤Ï¡© #vote(¿¤¹¤®¤ë,¤ä¤ä¿¤¤,¤ä¤ä¿¤¤¤¬Å¬ÀÚ,ŬÀÚ¤ÇŬÎÌ,¤ä¤ä¾¯¤Ê¤¤¤¬Å¬ÀÚ,¤ä¤ä¾¯¤Ê¤¤,¾¯¤Ê¤¹¤®¤ë) &aname(div); ***æÀþ:³ä¤ê»»¤Ã¤Æ¤É¤Î¤¯¤é¤¤ÃÙ¤¤¤Î¡© ¤È¤³¤í¤Ç³ä¤ê»»¤ÏÃÙ¤¤¤ÈÎɤ¯Ê¹¤¤Þ¤¹¤¬¡¢¼ÂºÝ¤É¤ì¤¯¤é¤¤ÃÙ¤¤¤Î¤«¤È¸À¤¦¤È~ http://kmkz.jp/mtm/mag/code/asm.html ~ ¤¢¤¿¤ê¤Ë¸Å¤¤»ñÎÁ¤¬ºÜ¤Ã¤Æ¤ë¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤â8bitƱ»Î¤ÎÉ乿¤Ê¤·À°¿ô½ü»»¤Ç¤µ¤¨17clock¤«¤é¤«¤«¤ë¤è¤¦¤Ç¤¹¡£~ ¤½¤ì¤ËÈæ¤Ù¤ë¤ÈAND¡¢OR¡¢SHL¡¢SHR¤¢¤¿¤ê¤Ï1clock¤Ç¼Â¹Ô¤Ç¤¤ë¤è¤¦¤Ç¤¹¡£~ :clock|CPUÆâ¤Ç¤Î»þ´Ö¤Îñ°Ì¤Î°ì¼ï¡£¤Ä¤Þ¤ê¤³¤Î»þ´Ö¤¬Ã»¤±¤ì¤Ðû¤¤¤Û¤É¡¢Â®¤¯¼Â¹Ô¤Ç¤¤ë¤È¤¤¤¦¤ï¤±¤Ç¤¢¤ë¡£~ 1clock¤¬²¿Éäˤʤ뤫¤ÏCPU¤Îưºî¼þÇÈ¿ô¡ÊMHz¤È¤«GHz¤È¤«¤Çɽ¤¹Åۡˤ˰͸¤¹¤ë¡£ :SHL¡¢SHR|¤½¤ì¤¾¤ìº¸ÏÀÍý¥·¥Õ¥È¡¢±¦ÏÀÍý¥·¥Õ¥È¡£É乿¤Ê¤·À°¿ô·¿¤ËÂФ·¤Æ<<¤ä>>¤ò¼Â¹Ô¤¹¤ë¡£~ Éä¹ç¤¢¤êÀ°¿ô·¿¤À¤ÈSAR¡¢SAL¤Ë¤Ê¤ê¡¢¤³¤¤¤Ä¤é¤Ï»»½Ñ¥·¥Õ¥È¤È¸À¤¦¡£ Pentium4¤Î¾ì¹ç¤ÏIntelËܲȤ«¤é¡ÖIA-32 ¥¤¥ó¥Æ¥ëR ¥¢¡¼¥¥Æ¥¯¥Á¥ã¡¼ºÇŬ²½¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Þ¥Ë¥å¥¢¥ë¡×¡ÖAP-485 ¥¤¥ó¥Æ¥ëR ¥×¥í¥»¥Ã¥µ¡¼¤Î¼±ÊÌ¤È CPUID Ì¿Îá¡×¤ò~ Íî¤È¤·¤Æ¤¤Æ¡¢Á°¼Ô¤Î¡ÖÉÕÏ¿C¡×ɽC-8¤È¸å¼Ô¤Î¡ÖCPUIDÌ¿Îá¤Î½ÐÎÏ¡×ɽ4¤ò»²¾È¤¹¤ë¤È¡¢¤É¤ÎCPU¤Ç¤É¤ÎÌ¿Î᤬ÃÙ¤¤¤Î¤«°ìÉô³Îǧ¤Ç¤¤Þ¤¹¡£´·¤ì¤Ê¤¤¤ÈÆñ¤·¤¤¤Ç¤¹¤¬¡£~ »ñÎÁÈÖ¹æ¤Ï¤½¤ì¤¾¤ì¡¢248966-013JA¡¢241618-029JA¡Ê¸å¼Ô¤Ï¤³¤ÎÈÖ¹æ¤Ç¥°¥°¤ë¤ÈPDF¤Ø¤¹¤°Èô¤Ù¤Þ¤¹¡£Á°¼Ô¤â¥¢¥É¥ì¥¹¤òftp¤«¤éhttp¤ËÊѤ¨¤ì¤Ð¤¤¤±¤Þ¤·¤¿¡£¡Ë~ ~ ¤Á¤Ê¤ß¤Ë¡¢Äê¿ô½ü»»¤Î¾ì¹ç¤Ï³ä¤ê»»¤ò³Ý¤±»»¤ËÊÑ´¹¤¹¤ëÊýË¡¤ò»È¤¨¤Ð¤½¤ì¤À¤±¤Ç¿ô½½¥¯¥í¥Ã¥¯É⤤¤¿¤ê¤·¤Þ¤¹¡£~ (¸Å¤¤É½¤ÎÃͤò»È¤¦¤È¡¢À°¿ô½ü»»(46clock)¤¬À°¿ôÄê¿ô¾è»»(9clock)+¦Á(2¡Á3clock)¤Ë¤Ê¤Ã¤¿¤ê¤È¤«)~ ¤³¤Î·×»»ÊýË¡¤Ï¾¯¤·ÀâÌÀ¤·¤Ë¤¯¤¤¤Î¤Ç¤¹¤¬¡£¡ÖÀ°¿ô½ü»» ¹â®²½¡×¤¢¤¿¤ê¤Ç¥°¥°¤ì¤Ð½Ð¤Æ¤¯¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£~ ½ñÀÒ¤À¤È¡Ö¥Ï¥Ã¥«¡¼¤Î¤¿¤Î¤·¤ß - ËÜʪ¤Î¥×¥í¥°¥é¥Þ¤Ï¤¤¤«¤Ë¤·¤ÆÌäÂê¤ò²ò¤¯¤«¡×¤È¤«¤¬¾Ü¤·¤¤¤Ç¤¹¡£ **¤³¤Î¥Ú¡¼¥¸¤ÎÍúÎò -2008ǯ8·î23Æü - ½Ð¸½ -2008ǯ8·î24Æü - lea¥×¥í¥¸¥§¥¯¥È¤Î¥µ¥Ö¥Ú¡¼¥¸(¸½ºß¤Î¥Ú¡¼¥¸)¤Ë°Üư -2008ǯ8·î25Æü - 2¿§¤òº®¤¼¤ëÊýË¡¤Ë¤Ä¤¤¤ÆÄɵ(bolfill8²þ¤ÈǤò¼ÂÁõ) ***¥³¥á¥ó¥È -Source¤µ¤ó¤¬25ÆüÌÜ¤Þ¤ÇÆÉ¤ó¤À¤«¤É¤¦¤«Ê¬¤«¤é¤Ê¤¤¤Î¤Çǰ¤Î¤¿¤á¤Ë½ñ¤¤Þ¤¹¤¬¡¢¿§¤Î°·¤¤¤Ë¤Ä¤¤¤Æ¤Ï¡¢25ÆüÌܤǰì±þ°ì¤ÄÄ󰯤·¤Æ¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ëµó¤¬¤Ã¤Æ¤¤¤ë¤Î¤Ï¤¤¤º¤ì¤âËͤΰƤȤϰ㤦¤Î¤ÇÌÌÇò¤¤¤È»×¤¤¤Þ¤¹¡£Ëܽñ¤Ç¤ÎÊýË¡¤ÈÁȤ߹ç¤ï¤»¤é¤ì¤¿¤é¤â¤Ã¤ÈÌÌÇò¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ -- [[K]] SIZE(10){2008-08-24 (Æü) 21:07:02} -¼Â¤Ï¤½¤Î·ï¤Ê¤Î¤Ç¤¹¤¬¡¢¸åȾ¤Ïή¤·ÆÉ¤ß¤·¤Ä¤ÄƬ¤ËÆþ¤ì¤Æ¤Ê¤«¤Ã¤¿¤Î¤Ç»ä¤âºòÆüµ¤¤¬ÉÕ¤¤¤¿¤ó¤Ç¤¹(¤ä¤±¤Ë¥°¥é¥Õ¥£¥«¥ë¤Êcolor1¤ò¸«¤Æ)¡£¼ÂÁõ2¤È¤Ï¡Ö´û¸¤Î¥Ñ¥ì¥Ã¥È¤ò¼Î¤Æ¤ë¤«Êݼ餹¤ë¤«¡×¤È»È¤¨¤ë¿§¤Î¿ô¤¬¼ç¤Ë°ã¤Ã¤Æ¤Þ¤¹¤Í¡£ -- [[Source]] SIZE(10){2008-08-24 (Æü) 21:42:31} -color1¤Ç¤Ï¥Ñ¥ì¥Ã¥È¤Ø¤Î¹©ÉפϤۤȤó¤É¤Ê¤¯¤Æ¡Ö¿§¤ò¤Þ¤¼¤ë¡×¤È¤¤¤¦ÊýË¡¤Ç¹©Éפ·¤Æ¤¤¤Þ¤¹¡£¤â¤·¤³¤ì¤òSource¤µ¤ó¤ÎÊýË¡¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¦¤È¤¹¤ë¤È¡¢¤è¤¯»È¤¦¿§¤Ë¶á¤¤¿§¤ò½¸¤á¤Æ¤½¤ì¤é¤òº®¤¼¤ë¤³¤È¤Ç¡¢¤è¤êɽ¸½ÎϤò¹â¤á¤é¤ì¤½¤¦¤Ç¤¹¡£ËܤÎÊýË¡¤Ç¤Ï¤½¤¦¤¤¤¦¹©Éפò¤·¤Ê¤¤¤ÇÅù´Ö³Ö¡Ê¡©¡Ë¤Ë¿§¤òÍѰդ·¤Æ¤¤¤ë¤Î¤Ç¡¢¿§¤òº®¤¼¤ë·×»»¤òÂçÉý¤Ë´Êñ²½¡¦¹â®²½¤Ç¤¤Æ¤¤¤Þ¤¹¡£ -- [[K]] SIZE(10){2008-08-25 (·î) 01:02:19} -¤½¤ì¤Ïcolor2¤Ø¤Î¹©ÉפǤϡ¦¡¦¡¦¡©2x2¥Ô¥¯¥»¥ë¤ò1ñ°Ì¤È¤·¤¿¾ì¹ç¤Ë2¿§¤òº®¿§¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¾¯¤·½ñ¤¤¤Æ¤ß¤Þ¤¹¡£ -- [[Source]] SIZE(10){2008-08-25 (·î) 08:36:44} -¤¹¤ß¤Þ¤»¤ó¤½¤¦¤Ç¤¹¡£½ñ¤´Ö°ã¤¨¤Þ¤·¤¿¡£color2¤Î¤³¤È¤Ç¤¹¡£ -- [[K]] SIZE(10){2008-08-25 (·î) 14:25:11} #comment
¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÊѹ¹¤·¤Ê¤¤
#contents **¿§ ***º£¤Î¼ÂÁõ -¡Ö4ÆüÌܡ׽ªÎ»¤·¤¿¤¢¤¿¤ê¤È²¾Äê¡£ ***º£Æü¤ÎÎÁÍý ¤È¤ê¤¢¤¨¤º256¿§»È¤¨¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤ë¤ó¤À¤·¡¢ºÇÂç¸Â»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤«¡£~ °ì¡¹COL8_848484¤È¤«½ñ¤¯¤Î¤â¤¤¤¤¤±¤É¡¢¤³¤ÎÄê¿ô̾¤â¤¢¤Þ¤ê³Ð¤¨¤ä¤¹¤¯¤Ê¤¤¤è¤Ê¤¡¡¦¡¦¡¦~ ¤è¤·¡¢RGB´Ø¿ô¤ß¤¿¤¤¤ÊÅÛ¤âºî¤Ã¤Á¤ã¤¨¡ª~ ***ÌäÂê¤Ï1678Ëü¿§¤ÎÆâ¤É¤ì¤ò»È¤¦¤«¡£ ¤È¸À¤¦¤³¤È¤ÇRGB´Ø¿ô¤òºî¤ê¤¿¤¤¤ï¤±¤Ç¤¹¤¬¡¢¤³¤³¤Ç°ì¤ÄÌäÂ꤬ȯÀ¸¤¹¤ë¤ï¤±¤Ç¤¹¡£~ 8bit¥«¥é¡¼¤Ê²èÌ̤κÇÂçÆ±»þȯ¸÷¿§¤Î¿ô¤Ï256¿§¡£¤½¤ì¤ËÈæ¤Ù24bit¤Çɽ¸½¤Ç¤¤ë¿§¤Î¿ô¤Ï16777216¿§¡£6.6ËüÇܶᤤº¹¤¬¤¢¤ë¤ï¤±¤Ç¤¹¡£~ ¤µ¤Æ¤É¤¦¤¹¤Ã¤«¡£~ ~ ¤ä¤Ï¤ê1678Ëü¿§¤ÎÆâ¤ÎËØ¤É¤ò¼Î¤Æ¤ë¤·¤«¤Ê¤¤¤ï¤±¤Ç¡¢Î㤨¤ÐVESA¤Î16bit¥â¡¼¥É¤Ç¤Ï~ ÀÖ¤¬5bit¡¢ÎФ¬6bit¡¢ÀĤ¬5bitÅù¤È¤Ê¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤¹¡£~ ¤³¤¦¤¤¤¦¾å¼ê¤¤»ÅÍͤò¼«Ê¬¤Çºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£~ ¤³¤³¤Ç3¼ïÎà¤ÎÊýË¡¤¬»×¤¤É⤫¤Ó¤Þ¤¹¡£~ -ñ½ã¤Ë¡¢ÀÖ¤¬3bit¡¢ÎФ¬3bit¡¢ÀĤ¬2bitÅù¤È¤·¤Æ³ä¤ê¿¶¤ë¡Ê¤¿¤À¤·¤³¤Î¾ì¹ç¡¢ÀĤÎɽ¸½Ç½ÎϤ¬¶Ëü¤ËÎô¤ë¡£¡Ë -À֤ζ¯¤µ¤ò6Ãʳ¬¡¢ÎФζ¯¤µ¤ò7Ãʳ¬¡¢ÀĤζ¯¤µ¤ò6Ãʳ¬Åù¤È¤·¤Æ¡¢256¿§¤Î¥Ñ¥ì¥Ã¥È¤ò¤Ê¤ë¤Ù¤¯Í¸úÍøÍѤ¹¤ë(¤¿¤À¤··×»»¤¬½Å¤½¤¦¡£) -½é´ü¥Ñ¥ì¥Ã¥È¤Ë¤ÏºÇÄã¸Â¤À¤±Â·¤¨¤Æ¤ª¤¤¤Æ¡¢É¬Íפ˱þ¤¸¤Æ¸å¤«¤éÄɲ乤ë(ÌÀ¤é¤«¤Ë¼ÂÁõ¤¬ÌÌÅݤ½¤¦) ¤µ¤Æ¤É¤ì¤ò¼ÂÁõ¤·¤¿¤â¤Î¤«¡£~ ~ ¥Ñ¥ì¥Ã¥È¤Î½é´ü²½¤Ï1ÅÙ¤·¤«¸Æ¤Ð¤Ê¤¤¤Î¤Ç¡¢Á´ÂÎŪ¤Ê®Å٤Ϥ¢¤Þ¤êÊѤï¤é¤Ê¤¤¤Ï¤º¤Ç¤¹¡£~ ÌäÂê¤Ï24bit¢ª8bit¤ÎÊÑ´¹ºî¶È¡£ÍÍ¡¹¤Ê¥×¥í¥°¥é¥à¤ÎÍÍ¡¹¤Ê°ÌÃÖ¤«¤é¸Æ¤Ð¤ì¤ë»ö¤Ë¤Ê¤ëͽÄê¤Ê¤Î¤Ç¡¢~ ¤³¤ÎÊÑ´¹ºî¶È¤Ï¤Ê¤ë¤Ù¤¯Â®¤¯¼Â¹Ô½ÐÍè¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¤¿¤¤¤â¤Î¤Ç¤¹¡£~ 24bit¢ª8bitÍѤÎÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¼êºî¶È¤Çºî¤ë¤Î¤âÌÌÅݤǤ¹¤·¡£~ ~ ºÇ½é¤ÎÊýË¡¤À¤È¥Ó¥Ã¥È±é»»¤È¥·¥Õ¥È±é»»¤Ç´Êñ¤Ëºî¤ì¤½¤¦¤Ç¤¹¤¬¡¢Æó¤ÄÌܤÎÊýË¡¤À¤ÈÎɤ¯¤Æ¿§¤Î¶¯¤µ¤ÎÈϰϤò³Îǧ¤·¤Ê¤¬¤é¤Î»Åʬ¤±ºî¶È¡¢~ ŬÅö¤Ë¼ÂÁõ¤¹¤ë¤È³ä¤ê»»¤¬´é¤ò½Ð¤·¤Þ¤¹¡£~ »°¤ÄÌܤÎÊýË¡¤Ï½ÀÆðÀ¤Ï¤¢¤ê¤Þ¤¹¤¬¡¢24bit¢ª8bit¤ÎÊÑ´¹ºî¶È¤ò¹Í¤¨¤ë¤ÈºÇ°¤Ç¡¢¤Ä¤Þ¤ê°ì¡¹¸¡º÷¤«¤±¤ë¤Î¤ÇÃÙ¤¯¤Ê¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£~ [[æÀþ:³ä¤ê»»¤Ã¤Æ¤É¤Î¤¯¤é¤¤ÃÙ¤¤¤Î¡©>#div]]~ ~ ¤·¤«¤·¼Â¤ÏÀÖÍѤÎÊÑ´¹¥Æ¡¼¥Ö¥ë¡¢ÎÐÍѤÎÊÑ´¹¥Æ¡¼¥Ö¥ë¡¢ÀÄÍѤÎÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò¤½¤ì¤¾¤ìºî¤Ã¤Æ¤ª¤¤¤Æ~ char RGB(unsigned char r,unsigned char g,unsigned char b){ return table_r[r]+table_g[g]+table_b[b]; } ¤È¤¹¤ì¤Ð¤¤¤¤¤Î¤Ç¡¢ÊÑ´¹¥Æ¡¼¥Ö¥ë¤ÎÂ礤µ¤Ï16MiB¤Ç¤Ï¤Ê¤¯768Byte¤À¤Ã¤¿¤ê¤·¤Þ¤¹¡£~ ¤¿¤Àº£²ó¤Ï¡¢ÊÑ´¹¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤Ë¤â¡¢¤Á¤ç¤Ã¤ÈÄê¿ôËä¤á¹þ¤ß¤ÇÊݸ¤¹¤ë¤Ë¤Ï½Å¤¤¤·½ñ¤¯¤ÎÌÌÅݤÀ¤·~ ¥á¥â¥ê´ÉÍý¤ò»Ï¤á¤ëÁ°¤Ë¥á¥â¥ê¤Î¹¥¤¾¡¼ê¤Ê°ÌÃÖ¤ò¤¤¤¸¤¯¤ë¤ï¤±¤Ë¤â¹Ô¤«¤Ê¤¤¤Î¤ÇÊÑ´¹¥Æ¡¼¥Ö¥ë¤Ï»È¤ï¤Ê¤¤Êý¸þ¤Ç¿Ê¤á¤¿¤¤¤È»×¤¤¤Þ¤¹¡£~ ~ :MiB|ñ°Ì¡£1MiB=1024KiB=1048576Byte¡£»ä¤¬¤³¤Ã¤Á¤Îñ°Ì¤¬¹¥¤¤ÊÍýͳ¤Ï¥á¥â¥ê´ÉÍý¤ÎKiB¤ÎÀâÌÀ¤ò»²¾È¤Î»ö¡£ ***¼ÂÁõ1:bitñ°Ì¤Ç³ä¤êÅö¤Æ ¤Þ¤º»ÅÍͤÀ¤±Àè¤ËŬÅö¤Ë·è¤á¤Æ¤·¤Þ¤ª¤¦¤«~ ~ ¿§¤Ï8bit¤Ç¡¢ÀÖ:²¼°Ì3bit¡¢ÀÄ:¾å°Ì2bit¡¢ÎÐ:¤½¤Î¾3bit¡ÊºÇ½é¤Ë¹Í¤¨¤¿ÊýË¡¡£¡Ë~ ¤Ä¤Þ¤ê2¿Ê¿ô¤Ç¹Ô¤¯¤È¥Õ¥£¡¼¥ë¥É¤Ïbbgggrrr¤Ë¤Ê¤ë¡£~ ~ ¤µ¤Æ¡¢init_palette´Ø¿ôÆâ¤ÇÁ´ÉôÄê¿ô½ñ¤¯¤Î¤ÏÌÌÅݤ¯¤µ¤¤¤Î¤Ç¡¢8bit¢ª24bit¤ÎÊÑ´¹´Ø¿ô¤ò½ñ¤¤¤Æ¤·¤Þ¤ª¤¦¡£~ // ²¿¤â¹Í¤¨¤º¤ËŬÅö¤Ëºî¤Ã¤Æ¤ß¤¿ÅÛ // °ú¿ô¤Î·Á¼°:bbgggrrr¡¢Ìá¤êÃͤηÁ¼°:00000000bbbbbbbbggggggggrrrrrrrr int RGB8ToRGB24(unsigned char color){ int r,g,b; r=(color&0x07)<<5; g=(color&0x38)<<2; b=color&0xc0; return (b<<16)+(g<<8)+r; } ¤³¤ì¤Ç¾å¼ê¤¯¤¤¤¯¤«¤Á¤ç¤Ã¤È¹Í¤¨¤Æ¤ß¤è¤¦¡£RGB8ToRGB24(0xff)¤ÏÇò¤Ë¤Ê¤ë¡©~ Åú¤¨¤Ï¡Ö¤Ê¤é¤Ê¤¤¡×¤Ê¤ó¤À¡£Ê̤˳¥¿§¤Ã¤Æ°ÕÌ£¤¸¤ã¤Ê¤¤¤è¡©¾¯¤·²«¿§¤Ã¤Ý¤¤Çò¤Ë¤Ê¤ë¡£~ ¤Ê¤¼¤Ê¤éRGB8ToRGB24(0xff)¤Ï0xc0e0e0¤Ë¤Ê¤ë¤«¤é¡£~ ¤½¤ì¤¸¤ã¤³¤ó¤Ê¤Î¤Ï¤É¤¦¤À¤í¤¦¡©~ int RGB8ToRGB24(unsigned char color){ int r,g,b; r=(color&0x07)<<5; g=(color&0x38)<<2; b=color&0xc0; return ((b<<16)+(g<<8)+r)|0x3f1f1f; } º£Å٤Ϥɤ¦¤À¤í¤¦¡©RGB8ToRGB24(0xff)¤Ï³Î¤«¤ËÇò(0xffffff)¤Ë¤Ê¤ë¤ß¤¿¤¤¤À¡£~ ¤Ç¤âRGB8ToRGB24(0x00)¤¬¹õ¤Ë¤Ê¤é¤Ê¤¤¡£¤½¤³¤Ç»×¤¤¤Ä¤¤¤¿¤Î¤¬¤³¤ì¡£~ int RGB8ToRGB24(unsigned char color){ int r,g,b; r=(color&0x07)*73>>1; // 73=01001001(b) g=(color&0x38)*73>>4; b=(color&0xc0)*85>>6; // 85=01010101(b) return (b<<16)+(g<<8)+r; } ¤³¤ì¤Ï¤É¤¦¤¤¤¦»ÅÁȤߤÀ¤í¤¦¡©¤Þ¤º°ìÈÖ¾å¤Î¹Ô¤«¤é¹Í¤¨¤Æ¤ß¤è¤¦¡£~ color=bbgggrrr¤À¤«¤é¡¢R=color&0x07¤È¤¹¤ë¤ÈR=00000rrr~ r¤Ð¤Ã¤«¤ê¤¸¤ãʬ¤«¤ê¤Ë¤¯¤¤¤«¤é¡¢²¾¤ËR=00000abc¤È¤·¤Æ¤ª¤¯¤È~ 00000abc *01001001¢«73¤Î2¿Ê¿ôɽµ --------- abcabcabc¢«¥ì¥¸¥¹¥¿¤Ï32bit¤À¤«¤é9bitʬ¤Ï;͵¤ÇÆþ¤ë ¤È¤Ê¤ë¡£¤½¤·¤Æ¾å°Ì8bit¤¬É¬ÍפÀ¤«¤é±¦¤Ë°ì¤Ä¥·¥Õ¥È¤·¤Æ~ (color&0x07)*73>>1=abcabcab~ ¤Ê¤ë¤Û¤É¡¢¤³¤Î·ë²Ì¤ÏÎɤµ¤½¤¦¤À¡£abc=000¤Ê¤éÅú¤¨¤â00000000¤Ë¤Ê¤ë¤·¡¢abc=111¤Ê¤éÅú¤¨¤â11111111¤Ë¤Ê¤ë¡£~ ¤·¤«¤â³Ý¤±»»¤ò»È¤Ã¤Æ¤ë¤«¤éÂçÂÎÆ±¤¸³ä¹ç¤Ç¿ôÃͤ¬Â礤¯¤Ê¤ë¤ï¤±¤À¡£~ ¤¹¤ë¤È3ÈÖÌܤμ°¤Ï¤É¤¦¤À¤í¤¦¡©~ color=bbgggrrr¤À¤«¤é¡¢B=color&0xc0¤È¤¹¤ë¤ÈB=bb000000~ b¤Ð¤Ã¤«¤ê¤¸¤ãʬ¤«¤ê¤Ë¤¯¤¤¤«¤é²¾¤ËB=xy000000¤È¤¹¤ë¤È~ xy000000 * 01010101¢«85¤Î2¿Ê¿ôɽµ -------------- xyxyxyxy000000 ¤½¤ì¤Ç¡¢¾å°Ì8bit¤¬É¬ÍפÀ¤«¤é±¦¤Ë6bit¥·¥Õ¥È¤·¤Æ~ (color&0xc0)*85>>6=xyxyxyxy~ ¤Ê¤ë¤Û¤É¡£~ ~ ¤µ¤Æ¡¢init_palette¤òRGB8ToRGB24¤ò»È¤¦¤è¤¦¤Ë½ñ¤´¹¤¨¤è¤¦¡£~ void init_palette(void){ unsigned char table_rgb[256 * 3]; // ½é´üÃͤ¬¤Ê¤¤¤«¤éstatic¤Ë¤¹¤ë°ÕÌ£¤¬¤Ê¤¤ int i,c; for(i=0;i<256;i++){ c=RGB8ToRGB24(i); table_rgb[i*3 ]= c &0xff; table_rgb[i*3+1]=(c>>8 )&0xff; table_rgb[i*3+2]=(c>>16)&0xff; } set_palette(0, 255, table_rgb); return; } ¤Ê¤ó¤«Á°¤è¤ê¤¹¤Ã¤¤ê¤·¤¿¤è¤¦¤Ê¡¦¡¦¡¦¡£~ ~ ¤µ¤ÆËÜÂê¤ÎRGB´Ø¿ô¤òºî¤í¤¦¤«¡£~ // Ìá¤êÃͤηÁ¼°:bbgggrrr char RGB(unsigned char r,unsigned char g,unsigned char b){ return (b&0xc0)+((g>>2)&0x38)+((r>>5)&0x07); } ¡¦¡¦¡¦Í½Á۰ʾå¤Ë´Êñ¤Ë½ñ¤±¤Æ¤·¤Þ¤Ã¤¿¡£~ ¤³¤Î¤¯¤é¤¤¤ÎÆâÍÆ¤Èµ½ÒÎ̤ʤé¤ï¤¶¤ï¤¶¡Ö´Ø¿ô¤È¤·¤Æ¡×¸ºß¤µ¤»¤Æ¤ª¤«¤Ê¤¯¤Æ¤â¤¤¤¤¤«¤Ê¡£~ //24bit¥«¥é¡¼¤òÉÁ²èÍÑ¥«¥é¡¼¤ËÊÑ´¹¤¹¤ë¥Þ¥¯¥í #define RGB(r,g,b) (((b)&0xc0)+(((g)>>2)&0x38)+(((r)>>5)&0x07)) ~ --¼Â¤Ï¥·¥Õ¥È±é»»¤Ï¥Ó¥Ã¥È±é»»¤è¤ê±é»»½ç°Ì¤¬¹â¤¤¤Î¤Ç¡¢²¼¤Ç¤âÌäÂê¤Ê¤¤¡£»ä¤ÏÆÉ¤ß¤Ë¤¯¤¤¤È´¶¤¸¤ë¤¬¡£~ #define RGB(r,g,b) (((b)&0xc0)+((g)>>2&0x38)+((r)>>5&0x07)) ***¼ÂÁõ2:bitñ°Ì¤Ç¤Ï¤Ê¤¤³ä¤êÅö¤ÆÊýË¡¤Ë¤Ä¤¤¤Æ ¤Þ¤¿»ÅÍͤòÀè¤Ë·è¤á¤Æ¤·¤Þ¤ª¤¦¡£~ ~ ¿§¤Ï0¡Á251¤Ç¡¢ÀÖ:¿§¤ò6¤Ç³ä¤Ã¤¿Í¾¤ê¡¢ÎÐ:¿§¤ò6¤Ç³ä¤Ã¤¿ÅÛ¤ò7¤Ç³ä¤Ã¤¿Í¾¤ê¡¢ÀÄ:¿§¤ò42¤Ç³ä¤Ã¤¿ÅÛ¤ò6¤Ç³ä¤Ã¤¿Í¾¤ê¡Ê2ÈÖÌܤÎÊýË¡¡£)~ ~ ¤µ¤Æ8bit¢ª24bit¤ÎÊÑ´¹´Ø¿ô¤ò½ñ¤¤¤Æ¤·¤Þ¤ª¤¦¡£~ // ²¿¤â¹Í¤¨¤º¤ËŬÅö¤Ëºî¤Ã¤Æ¤ß¤¿ÅÛ // Ìá¤êÃͤηÁ¼°:00000000bbbbbbbbggggggggrrrrrrrr int RGB8ToRGB24(unsigned char color){ int r,g,b; r=color%6; g=color/6%7; b=color/42%6; return (b<<16)+(g<<8)+r; } :±é»»µ¹æ¡Ö%¡×|¾ê;»»¡£³ä¤Ã¤¿Í¾¤ê¤òµá¤á¤ë¡£±é»»½ç°Ì¤Ï*¤ä/¤ÈƱ¤¸¡£ ¤ª¤Ã¤È¤³¤ì¤¸¤ãÂÌÌܤÀ¡£Î㤨¤Ðr¤Ï0¡Á255¤ÎÃͤò¤È¤ëɬÍפ¬¤¢¤ë¤Î¤Ë¡¢0¡Á5¤ÎÃͤ·¤«¤È¤Ã¤Æ¤Ê¤¤¡£~ 255¤Ç³Ý¤±¤Æ5¤Ç³ä¤Ã¤Æ¤ª¤³¤¦¡£¤¤¤ä¡¢51¤ò³Ý¤±¤ì¤Ð¤¤¤¤¤Î¤«¡£~ g¤Ï¤É¤¦¤·¤è¤¦¡£255¤Ç³Ý¤±¤Æ6¤Ç³ä¤Ã¤¿¤é42.5ÇܤÀ¡£255¤Ç³Ý¤±¤Æ3¤Ç³ä¤Ã¤Æ(¤Ä¤Þ¤ê85¤ò³Ý¤±¤Æ)¡¢¹¹¤Ë2¤Ç³ä¤ì¤Ð¤¤¤¤¤Î¤«¤Ê¡£~ int RGB8ToRGB24(unsigned char color){ int r,g,b; r=color%6*51; g=color/6%7*85>>1; b=color/42%6*51; return (b<<16)+(g<<8)+r; } ¤¢¡¢color¤¬252¤È¤«¤Î»þ¾å¼ê¤¯Æ°¤«¤Ê¤¤¤«¤é¤ª¤«¤·¤ÊÃͤ¬Í褿»þ¤ÏÃÆ¤«¤Ê¤¤ã¡£~ int RGB8ToRGB24(unsigned char color){ if(color>251) return -1; // ¸ºß¤·¤Ê¤¤¿§ÈÖ¹æ int r,g,b; r=color%6*51; g=color/6%7*85>>1; b=color/42%6*51; return (b<<16)+(g<<8)+r; } ¤¦¤ó¡¢¤³¤ì¤Ç¾å¼ê¤¯Æ°¤¤½¤¦¤À¡£~ ~ ¤µ¤Æ¡¢RGB´Ø¿ô¤òºî¤ë¤«¡£¤³¤ó¤Ê´¶¤¸¤«¤Ê¡©~ char RGB(unsigned char r,unsigned char g,unsigned char b){ return (r/43)+(g/37)*6+(b/43)*42; // 0<=x<=255¢ª0<=x/43<6,0<=x/37<7 } 43¤È37¤Ï¡¢¤½¤ì¤¾¤ì255/6¤È255/7¤òÀÚ¤ê¾å¤²¤¿¿ôÃͤǤ¹¡£¤Ê¤Î¤Ç255°Ê²¼¤ÎÀµ¤ÎÀ°¿ô¤ò¤³¤¤¤Ä¤é¤Ç³ä¤Ã¤¿»þ¤Ë0¡Á6¼å¡¢0¡Á7¼å¤Ë¤Ê¤Ã¤¿¤ó¤Ç¤¹¡£~ ***¼ÂÁõ3:²ÄÊѥѥì¥Ã¥È ¤ä¤Ã¤Ñ¤ê¡¢¤»¤Ã¤«¤¯Æ°Åª¤Ë¥Ñ¥ì¥Ã¥È¤òÏ®¤ì¤ë¤ó¤À¤«¤éÅÓÃæ¤«¤é¿§¤òÄɲäǤ¤Æ¤â¤¤¤¤¤¸¤ã¤Ê¤¤¤«¡£~ ¤³¤ì¤Ç¹¥¤¤Ê¿§¤ò(ºÇÂçÆ±»þȯ¸÷¿§¤¬256¿§¤Ë¼ý¤Þ¤ëÈϰϤÇ)»È¤¨¤ë¤è¤¦¤Ë½ÐÍè¤ë¤Ë°ã¤¤¤Ê¤¤¡£~ ~ ¿§¤òÄɲä¹¤ë´Ø¿ô¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¤¤¤¤«¤Ê¤¡¡©~ void set_palette1(int num,unsigned char r,unsigned char g,unsigned char b){ int eflags; eflags = io_load_eflags(); io_cli(); io_out8(0x03c8,num); io_out8(0x03c9,r/4); io_out8(0x03c9,g/4); io_out8(0x03c9,b/4); io_store_eflags(eflags); return; } ¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤È¤½¤Î¥Ñ¥ì¥Ã¥È¤ËÆþ¤Ã¤Æ¤ë¿§¤Î¿ô¤òµ²±¤¹¤ëÊÑ¿ô¤Ï¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ë¤·¤Æ¤ª¤³¤¦¡£~ ¤¢¤È¤Ç²¿Å٤⥢¥¯¥»¥¹¤·¤¿¤¤¤«¤é¤Í~ int colorpalette_num; // ɸ½à¥«¥é¡¼¥Ñ¥ì¥Ã¥È char table_rgb[256 * 3] = { 0x00,0x00,0x00, // ¹õ 0xff,0xff,0xff, // Çò }; void init_palette(void){ colorpalette_num=2; set_palette(0,1,table_rgb); return; } ¤µ¤Æ8bit¢ª24bit¤ÎÊÑ´¹ºî¶È¤ÏÍפé¤Ê¤¤¤·¡¢RGB´Ø¿ô¤òºî¤Ã¤Æ¤·¤Þ¤ª¤¦¡£~ ¥¹¥±¥ë¥È¥ó¤Ï¤³¤ó¤Ê´¶¤¸¤«¤Ê¤¡¡©~ int RGB(unsigned char r,unsigned char g,unsigned char b){ for(i=0;i<colorpalette_num;i++){// »÷¤¿¿§¤Î¸¡º÷ /* Í׵ᤵ¤ì¤¿¿§¤¬¤É¤Î°Ì´û¸¤Î¿§¤È»÷¤Æ¤¤¤ë¤«¤òÄ´¤Ù¤ë */ if(/* Ʊ°ì¤Î¿§¤Ê¤é */){ return /* ¤½¤Î¿§¤òÊÖ¤¹ */; }else if(/* º£¤Þ¤Ç¤ËÄ´¤Ù¤¿¤É¤Î¿§¤è¤ê»÷¤Æ¤¤¤ë¤Ê¤é */){ /* ¤½¤Î¿§¤Î¿§ÈÖ¹æ¤È¸µ¤Î¿§¤È¤Îµ÷Î¥¤È¤òµÏ¿ */ } } if(colorpalette_num==256){ // ¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤Ë¤³¤ì°Ê¾åÄɲäǤ¤Ê¤¤¤È¤ return /* µÏ¿¤·¤Æ¤ª¤¤¤¿¡¢ºÇ¤â¶á¤¤¿§¤òÊÖ¤¹ */; }else{ // ¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤ËÄɲäǤ¤ë¤È¤ /* set_palette1¤ÇÍ׵ᤵ¤ì¤¿¿§¤òÄɲä·¤Æ */ /* ¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤Ë¡¢Äɲ䵤줿¿§¤òµÏ¿¤·¤Æ */ colorpalette_num++; // Êݸ¤·¤Æ¤¤¤ë¿§¤ÎÁí¿ô¤¬Áý¤¨¤¿»ö¤òµÏ¿¤·¤Æ return colorpalette_num-1; // ¿·¤¿¤ËÄɲä·¤¿¿§¤Î¿§ÈÖ¹æ¤òÊÖ¤¹ } } ¤¦¡Á¤ó¡¦¡¦¡¦¡¢¡Ö2¤Ä¤Î¿§¤¬¤É¤Î°Ì»÷¤Æ¤¤¤ë¤«¡×¤ò¤É¤¦¤ä¤Ã¤ÆÉ½¸½¤·¤è¤¦¡¦¡¦¡¦¡£~ º£²ó¤Ï¡¢¿§¤ÎÃÍÆ±»Î¤ò°ú¤»»¤·¤Æ¡¢ÀäÂÐÃͤdzç¤Ã¤Æ¡¢Á´Éô¤·¤Æ¡¢¤½¤ÎÃͤ¬0¤«¤é¤É¤Î°ÌÎ¥¤ì¤Æ¤ë¤«¤Çɽ¸½¤¹¤ë¤È¤¤¤¦ÊýË¡¤Ç¹Ô¤¤¿¤¤¤È»×¤¤¤Þ¤¹¡£~ Íפ¹¤ë¤Ëabs(table_rgb[i*3]-r)+abs(table_rgb[i*3+1]-g)+abs(table_rgb[i*3+2]-b)¤ß¤¿¤¤¤ÊÅÛ¤òµá¤á¤Æ¡¢~ 0¤Ê¤éƱ¤¸¿§¡¢0¤Ë¶á¤±¤ì¤Ð»÷¤Æ¤ë¿§¡¢¤È¤¤¤¦Ìõ¤Ç¤¹¡£~ :ÀäÂÐÃÍ|Éé¤ÎÃͤòÀµ¤ÎÃͤˡ¢Àµ¤ÎÃͤϤ½¤Î¤Þ¤Þ¤ËÊÖ¤¹´Ø¿ô¤Î̾Á°¡£abs(3)=3,abs(-5)=5 ±¿¤Î¤¤¤¤»ö¤Ë¡¢abs´Ø¿ô¤Ïɸ½à¥é¥¤¥Ö¥é¥ê¤ËÍѰդµ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¹¡£~ int abs(int n); ¤µ¤Æ¼ÂÁõ¡£¤³¤ó¤Ê´¶¤¸¤«¤Ê¡©~ int RGB(unsigned char r,unsigned char g,unsigned char b){ int i; int howfar,mostnear=256; // ¤É¤Î°Ì´û¸¤Î¿§¤È»÷¤Æ¤¤¤ë¤«¤òµ²±¤·¤Æ¤ª¤¯¤¿¤á¤ÎÊÑ¿ô int nearcolor=-1; // ºÇ¤â¶á¤¤¿§¤Î¿§ÈÖ¹æ // ²¼°Ì2bit¤ÏÉÁ²è¤¹¤ë¤È¤¤ËÈ¿±Ç¤µ¤ì¤Ê¤¤¤¿¤á¡¢2bitʬ±¦¥·¥Õ¥È¤·¤Æ¤ª¤¯¡£ r>>=2; g>>=2; b>>=2; for(i=0;i<colorpalette_num;i++){// »÷¤¿¿§¤Î¸¡º÷ howfar=abs((table_rgb[i*3 ]>>2)-r)+ abs((table_rgb[i*3+1]>>2)-g)+ abs((table_rgb[i*3+2]>>2)-b); if(howfar==0){// Ʊ¤¸¿§¤¬¸«¤Ä¤«¤Ã¤¿¤é return i; // ¤½¤Î¿§¤òÊÖ¤¹ }else if(mostnear>howfar){// º£¤Þ¤Ç¤ËÄ´¤Ù¤¿¤É¤Î¿§¤è¤ê»÷¤Æ¤¤¤ë¤Ê¤é // ¤½¤Î¿§¤Î¿§ÈÖ¹æ¤È¸µ¤Î¿§¤È¤Îµ÷Î¥¤È¤òµÏ¿ nearcolor=i; mostnear=howfar; } } if(colorpalette_num==256){ // ¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤Ë¤³¤ì°Ê¾åÄɲäǤ¤Ê¤¤¤È¤ return nearcolor; // µÏ¿¤·¤Æ¤ª¤¤¤¿¡¢ºÇ¤â¶á¤¤¿§¤òÊÖ¤¹ }else{ // ¥«¥é¡¼¥Æ¡¼¥Ö¥ë¤ËÄɲäǤ¤ë¤È¤ set_palette1(colorpalette_num,r<<2,g<<2,b<<2); // set_palette1¤ÇÍ׵ᤵ¤ì¤¿¿§¤òÄɲä·¤Æ /* ¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤Ë¡¢Äɲ䵤줿¿§¤òµÏ¿¤·¤Æ */ table_rgb[colorpalette_num*3 ]=r<<2; table_rgb[colorpalette_num*3+1]=g<<2; table_rgb[colorpalette_num*3+2]=b<<2; colorpalette_num++; // Êݸ¤·¤Æ¤¤¤ë¿§¤ÎÁí¿ô¤¬Áý¤¨¤¿»ö¤òµÏ¿¤·¤Æ return colorpalette_num-1; // ¿·¤¿¤ËÄɲä·¤¿¿§¤Î¿§ÈÖ¹æ¤òÊÖ¤¹ } } ͽÁÛÄ̤ê¤È¤¤¤¦¤«¤Ê¤ó¤È¸À¤¦¤«¡¢ÊªÀ¨¤¯Ä¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£~ ***ºÇ¸å¤Ë¤ä¤ë»ö ³Îǧ¤â½ÅÍפÀ¤Í~ (HariMainÆâÉô) boxfill8(vram,xsize,RGB(0x00,0x84,0x84), 0 ,0 ,xsize- 1,ysize-29); boxfill8(vram,xsize,RGB(0xc6,0xc6,0xc6), 0 ,ysize-28,xsize- 1,ysize-28); boxfill8(vram,xsize,RGB(0xff,0xff,0xff), 0 ,ysize-27,xsize- 1,ysize-27); boxfill8(vram,xsize,RGB(0xc6,0xc6,0xc6), 0 ,ysize-26,xsize- 1,ysize- 1); boxfill8(vram,xsize,RGB(0xff,0xff,0xff), 3 ,ysize-24,59 ,ysize-24); boxfill8(vram,xsize,RGB(0xff,0xff,0xff), 2 ,ysize-24, 2 ,ysize- 4); boxfill8(vram,xsize,RGB(0x84,0x84,0x84), 3 ,ysize- 4,59 ,ysize- 4); boxfill8(vram,xsize,RGB(0x84,0x84,0x84),59 ,ysize-23,59 ,ysize- 5); boxfill8(vram,xsize,RGB(0x00,0x00,0x00), 2 ,ysize- 3,59 ,ysize- 3); boxfill8(vram,xsize,RGB(0x00,0x00,0x00),60 ,ysize-24,60 ,ysize- 3); boxfill8(vram,xsize,RGB(0x84,0x84,0x84),xsize-47,ysize-24,xsize- 4,ysize-24); boxfill8(vram,xsize,RGB(0x84,0x84,0x84),xsize-47,ysize-23,xsize-47,ysize- 4); boxfill8(vram,xsize,RGB(0xff,0xff,0xff),xsize-47,ysize- 3,xsize- 4,ysize- 3); boxfill8(vram,xsize,RGB(0xff,0xff,0xff),xsize- 3,ysize-24,xsize- 3,ysize- 3); ˺¤ì¤Ê¤¤¤¦¤Á¤ËRGB´Ø¿ô¤È¤«¤ÎÀë¸À¤â½ñ¤¤¤Æ¤ª¤³¤¦¡£~ ***¿§¤òº®¤¼¤ÆÉ½¸½¤·¤Æ¤ß¤ë ¥³¥á¥ó¥È¤ÇK¤µ¤ó¤¬¡Ö¿§¤òº®¤¼¤ëÊýË¡¤âÀâÌÀ¤·¤Æ¡×¤È¸À¤Ã¤Æ¤ë¤è¤¦¤Ë¸«¤¨¤Æ¤·¤Þ¤Ã¤¿¡£~ ŬÅö¤Ë¼ÂÁõ¤·¤¿¤é¾å¼ê¤¯Æ°¤¤¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¤½¤Î¥½¡¼¥¹¤ò¤È¤ê¤¢¤¨¤º¸ø³«¡£~ (¼ç¤Ë¼ÂÁõ3¤ËÄɲÃ) // c1¡¢c2¤Ïº®¤¼¤ëÆó¤Ä¤Î¿§¡£pattern¤Ï¿§¤ò¤É¤ÎÈæÎ¨¤Çº®¤¼¤ë¤«¤Ë´Ø¤¹¤ë°ú¿ô¤Ç¡¢ // 0¤Ê¤éc1¤Î¤ß¡¢4¤Ê¤éc2¤Î¤ß¡¢¤½¤ÎÃæ´Ö¤ÏÎ㤨¤Ð1¤Ê¤éc1¤¬Â¿¤á¤È¤Ê¤ë¡£ void boxfill8_2color(unsigned char *vram, int xsize, unsigned char c1,unsigned char c2,int pattern, int x0, int y0, int x1, int y1) { int x, y; unsigned char k[2],table[4]={3,1,0,2}; if(pattern>4) pattern=4; if(pattern<0) pattern=0; if(c1==c2||pattern==0){ // Ʊ¤¸¿§¤¬Í褿¤éº®¤¼¤ëɬÍפ¬Ìµ¤¤¤Î¤Ç¤â¤Ã¤Èñ½ã¤Ê´Ø¿ô¤Ë½èÍý¤òÅϤ¹¡£ // ¤³¤³¤ÇÅϤ¹¿§¤¬c1¤Ê¤Î¤Ç¡¢¤Ä¤¤¤Ç¤Ë¥Ñ¥¿¡¼¥ó¤¬0¤À¤Ã¤¿»þ¤Ë¤Ä¤¤¤Æ¤âȽÄê¡£ boxfill8(vram,xsize,c1,x0,y0,x1,y1); return; }else if(pattern==4){ // ¥Ñ¥¿¡¼¥ó¤¬4¤Î»þ¡£ boxfill8(vram,xsize,c2,x0,y0,x1,y1); return; } k[0]=c1; k[1]=c2; for (y = y0; y <= y1; y++){ for (x = x0; x <= x1; x++) // ¤³¤Î¾¯¤·Ê£»¨¤½¤¦¤Ê·×»»¼°¤Ï¡¢x-x0¤Èy-y0¤Î¶ö´ñ¤Çtable¤Î¤É¤ÎÃͤò»È¤¦¤«¤ò·è¤á¤Æ¡¢¤½¤ì¤Ë4¤è¤ê¤Ï¾®¤µ¤¤Ãͤò¤·¤Æ¡¢ // 2bit±¦¥·¥Õ¥È¤·¤Æ¤¤¤ë¡£4¤è¤ê¾®¤µ¤¤Ãͤò¤·¤¿»þÅÀ¤Ç4°Ê¾å¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤Ð1¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð0¤¬k¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ë»È¤ï¤ì¤ë¡£ vram[y * xsize + x] = k[(table[((x-x0)&1)+(((y-y0)&1)<<1)]+pattern)>>2]; } return; } »È¤¦»þ¤Ï¤³¤ó¤Ê´¶¤¸ boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2, 0 ,0 ,xsize- 1,ysize-29); boxfill8_2color(vram,xsize,RGB(0xc8,0xc8,0xc8),RGB(0xc0,0xc0,0xc0),2, 0 ,ysize-28,xsize- 1,ysize-28); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0, 0 ,ysize-27,xsize- 1,ysize-27); boxfill8_2color(vram,xsize,RGB(0xc8,0xc8,0xc8),RGB(0xc4,0xc4,0xc4),2, 0 ,ysize-26,xsize- 1,ysize- 1); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0, 3 ,ysize-24,59 ,ysize-24); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0, 2 ,ysize-24, 2 ,ysize- 4); boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2, 3 ,ysize- 4,59 ,ysize- 4); boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2,59 ,ysize-23,59 ,ysize- 5); boxfill8_2color(vram,xsize,RGB(0x00,0x00,0x00),RGB(0x00,0x00,0x00),0, 2 ,ysize- 3,59 ,ysize- 3); boxfill8_2color(vram,xsize,RGB(0x00,0x00,0x00),RGB(0x00,0x00,0x00),0,60 ,ysize-24,60 ,ysize- 3); boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2,xsize-47,ysize-24,xsize- 4,ysize-24); boxfill8_2color(vram,xsize,RGB(0x00,0x88,0x88),RGB(0x00,0x80,0x80),2,xsize-47,ysize-23,xsize-47,ysize- 4); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0,xsize-47,ysize- 3,xsize- 4,ysize- 3); boxfill8_2color(vram,xsize,RGB(0xff,0xff,0xff),RGB(0xff,0xff,0xff),0,xsize- 3,ysize-24,xsize- 3,ysize- 3); Ť¤¤Î¤ÇÊ̤δؿô¤òÄɲᣠvoid boxfill8_color(unsigned char *vram, int xsize,unsigned char r,unsigned char g,unsigned char b, int x0, int y0, int x1, int y1) { int cu=((r+3)&0xfc)+(((g+3)&0xfc)<<8)+(((b+3)&0xfc)<<16); int cd=(r&0xfc)+((g&0xfc)<<8)+((b&0xfc)<<16); if(cu==cd){ // ÊäÀµ¤¹¤ëɬÍפ¬Ìµ¤¤ boxfill8(vram,xsize,RGB(r,g,b),x0,y0,x1,y1); }else{ if(r>=0xfd) r=0xfc; if(g>=0xfd) g=0xfc; if(b>=0xfd) b=0xfc; boxfill8_2color(vram,xsize,RGB(r,g,b),RGB(r+((r&2)<<1),g+((g&2)<<1),b+((b&2)<<1)),2,x0,y0,x1,y1); } return; } ¤³¤ì¤Ç¤¤¤¯¤é¤«¸«¤ä¤¹¤¯¤Ê¤Ã¤¿¤«¤Ê¡£ boxfill8_color(vram,xsize,0x00,0x84,0x84, 0 ,0 ,xsize- 1,ysize-29); boxfill8_color(vram,xsize,0xc6,0xc6,0xc6, 0 ,ysize-28,xsize- 1,ysize-28); boxfill8_color(vram,xsize,0xff,0xff,0xff, 0 ,ysize-27,xsize- 1,ysize-27); boxfill8_color(vram,xsize,0xc6,0xc6,0xc6, 0 ,ysize-26,xsize- 1,ysize- 1); boxfill8_color(vram,xsize,0xff,0xff,0xff, 3 ,ysize-24,59 ,ysize-24); boxfill8_color(vram,xsize,0xff,0xff,0xff, 2 ,ysize-24, 2 ,ysize- 4); boxfill8_color(vram,xsize,0x84,0x84,0x84, 3 ,ysize- 4,59 ,ysize- 4); boxfill8_color(vram,xsize,0x84,0x84,0x84,59 ,ysize-23,59 ,ysize- 5); boxfill8_color(vram,xsize,0x00,0x00,0x00, 2 ,ysize- 3,59 ,ysize- 3); boxfill8_color(vram,xsize,0x00,0x00,0x00,60 ,ysize-24,60 ,ysize- 3); boxfill8_color(vram,xsize,0x84,0x84,0x84,xsize-47,ysize-24,xsize- 4,ysize-24); boxfill8_color(vram,xsize,0x84,0x84,0x84,xsize-47,ysize-23,xsize-47,ysize- 4); boxfill8_color(vram,xsize,0xff,0xff,0xff,xsize-47,ysize- 3,xsize- 4,ysize- 3); boxfill8_color(vram,xsize,0xff,0xff,0xff,xsize- 3,ysize-24,xsize- 3,ysize- 3); ***Ãí°Õ»ö¹à(·ü°Æ»ö¹à) ¡¼ÂÁõ3¤Ç¡¢¡ÖƱ¤¸¿§¤¬¤Ê¤¯¤Æ¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤âËþ¥¿¥ó¤À¤è¡×¤È¤¤¤¦»þ¤Ë²¿¤â¹Í¤¨¤º¤ËºÇ¤â¶á¤¤¿§¤òÊÖ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢~ Î㤨¤Ð¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤¬Ï³¤ì¤Ê¤¯ÀĤäÀÄÎС¢¤½¤ì¤ËÎФÇËþ¥¿¥ó¤À¡¡¤È¤¤¤¦»þ¤Ë¤ÏÀÖ¤òÍ׵ᤷ¤Æ¤â¹õ¤¬¤¢¤ì¤Ð¹õ¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤ÐÀĤ«ÎФ¬¤ª¤½¤é¤¯Ê֤äƤ¤Þ¤¹¡£~ ´û¸¤Î¿§¤ËÎɤ¯»÷¤Æ¤¤¤ë¿§¤¬¤Ê¤¤»þ¤Ï¡¢1¿§Íפé¤Ê¤¤¿§¤òõ¤·¤Æ¤½¤ì¤òÃÖ´¹¤¹¤ë¤Î¤¬¤¤¤¤¤Î¤Ç¤¹¤¬¡¢~ ¿§¤Îõ¤·Êý¤Ë¤Ï»ä¤¬»×¤¤¤Ä¤¯¸Â¤ê¤Ç¤Ï2¼ïÎढ¤Ã¤Æ¡¢~ -º£¸½ºßºÇ¤â»È¤ï¤ì¤Æ¤¤¤Ê¤¤¿§¤ò¤Ê¤ó¤È¤«¸À¤¤Åö¤Æ¤ëÊýË¡ -¿§¤ÎÌ©ÅÙ¤¬Ç»¤¤¾ì½ê¤Î¿§¤òõ¤·¤Æ¡¢¤½¤Î¿§¤ò¸À¤¤Åö¤Æ¤ëÊýË¡(Íפ¹¤ë¤Ë¤½¤Î¿§¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤â¤è¤¯»÷¤¿¿§¤Ç¥«¥Ð¡¼¤Ç¤¤ë¤è¤¦¤Ê¾ì½ê¤òõ¤¹¡£) ¤È¤¤¤¦ÊýË¡¤Ê¤Î¤Ç¤¹¤¬¡¢¤É¤Á¤é¤Ë¤·¤Æ¤â¤Á¤ç¤Ã¤ÈŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤Ç¡¢¡Ö³§¤µ¤ó¤Ø¤Î½ÉÂê¡×¤È¤¤¤¦¤³¤È¤Ç¤¤¤¤¤Ç¤·¤ç¤¦¤«¡©~ ¤Þ¤¿¡¢ºÇ¤â»÷¤Æ¤¤¤ë¿§¤È¤É¤Î¤¯¤é¤¤»÷¤Æ¤¤¤Ê¤«¤Ã¤¿¤éÃÖ´¹¤·¤Ë¹Ô¤¯¤«¡¢¤½¤ÎïçÃͤòÀßÄꤹ¤ë¤Î¤âÆñ¤·¤¤¤È»×¤¦¤Î¤Ç¤¹¤¬¡¦¡¦¡¦¡£~ ~ ¢Â¿Ê¬¤³¤ì¤ÏºÇÎɤÎÊýË¡¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£É¬¤º¥í¥¸¥Ã¥¯¥ì¥Ù¥ë¤Ç¤â¤Ã¤È¤¤¤¤¤â¤Î¤¬¤¢¤ë¤Ï¤º¤Ç¤¹¡£~ »ä¤Ïº£¤Î¤È¤³¤í»×¤¤¤Ä¤¤Þ¤»¤ó¤¬¡¢³§¤µ¤ó¤â¤¢¤ì¤³¤ì¹Í¤¨¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£~ ¤Ç¤¤ì¤Ð¤½¤ÎÊýË¡¤ò¥³¡¼¥É¤Ëµ¯¤³¤¹¤Ê¤ê¾¿Í¤ËÀâÌÀ¤Ç¤¤ëÄøÅ٤˾ܤ·¤¯³°Éô»ÅÍͤò»æ¤Ë½ñ¤½Ð¤¹¤Ê¤ê¤·¤Æ¤¯¤À¤µ¤¤¡£~ »ä¤Ï¤½¤ÎÊýË¡¤ò¸«¤Æ¤ß¤¿¤¤¤Ç¤¹¡£~ ~ £°ì±þ³Îǧ¤Ï¤·¤Æ¤ë¤Î¤Ç¤¹¤¬¡¢¤¢¤Þ¤êƬ¤Î¤è¤¯¤Ê¤¤»ä¤¬½ñ¤¤¤¿¥³¡¼¥É¤Ë¥Ð¥°¤¬¤Ê¤¤¤È¤Ï¹Í¤¨¤é¤ì¤Þ¤»¤ó¡£~ ¥³¡¼¥É¤ò¥³¥Ô¥Ú¤¹¤ëÁ°¤Ë¡Ö²¿¤¬¤·¤¿¤¯¤Æ¡¢¤É¤¦¤¹¤ì¤Ð¼ÂÁõ¤Ç¤¤½¤¦¤«¡×¤òÍý²ò¤·¤Æ¡¢°ì±þ¥³¡¼¥É¤òÌܤÇÄɤäƤߤƤ¯¤À¤µ¤¤¡£~ ~ ***´Ê°×Åêɼ(º£²ó¤Î¥«¥é¡¼¥Ñ¥ì¥Ã¥È¤Î´ÉÍý¤Ë´Ø¤¹¤ëµ»ö¤Ë¤Ä¤¤¤Æ¡£) ¤É¤ÎÄøÅÙÌò¤ËΩ¤Ã¤¿¡© #vote(Á´¤¯¡£[1],¤Û¤ó¤Î¤ï¤º¤«¤Ë¡£¤¢¤Þ¤ê¡£[1],¤ä¤ä¡¢¾¯¤·¡£[1],¤Þ¤¡¤Þ¤¡¡¢³ä¤È¡£[2],¤«¤Ê¤ê¡¢¤È¤Æ¤â[1],Èó¾ï¤Ë¡¢À¨¤¯[1]) ÀâÌÀ¤ÏŬÀÚ¡© #vote(ÀâÌÀ²á¾ê[0],¤ä¤ä²á¾ê[0],ŬÀÚ[1],¤ä¤äÉÔŬÀÚ[0],ʬ¤«¤ê¤Ë¤¯¤¤[0],Á´¤¯Ê¬¤«¤é¤Ê¤¤[0]) ¥½¡¼¥¹¥³¡¼¥ÉÃæ¤Î¥³¥á¥ó¥È¤Ï¡© #vote(¿¤¹¤®¤ë,¤ä¤ä¿¤¤,¤ä¤ä¿¤¤¤¬Å¬ÀÚ,ŬÀÚ¤ÇŬÎÌ,¤ä¤ä¾¯¤Ê¤¤¤¬Å¬ÀÚ,¤ä¤ä¾¯¤Ê¤¤,¾¯¤Ê¤¹¤®¤ë) &aname(div); ***æÀþ:³ä¤ê»»¤Ã¤Æ¤É¤Î¤¯¤é¤¤ÃÙ¤¤¤Î¡© ¤È¤³¤í¤Ç³ä¤ê»»¤ÏÃÙ¤¤¤ÈÎɤ¯Ê¹¤¤Þ¤¹¤¬¡¢¼ÂºÝ¤É¤ì¤¯¤é¤¤ÃÙ¤¤¤Î¤«¤È¸À¤¦¤È~ http://kmkz.jp/mtm/mag/code/asm.html ~ ¤¢¤¿¤ê¤Ë¸Å¤¤»ñÎÁ¤¬ºÜ¤Ã¤Æ¤ë¤Î¤Ç¤¹¤¬¡¢¤É¤¦¤â8bitƱ»Î¤ÎÉ乿¤Ê¤·À°¿ô½ü»»¤Ç¤µ¤¨17clock¤«¤é¤«¤«¤ë¤è¤¦¤Ç¤¹¡£~ ¤½¤ì¤ËÈæ¤Ù¤ë¤ÈAND¡¢OR¡¢SHL¡¢SHR¤¢¤¿¤ê¤Ï1clock¤Ç¼Â¹Ô¤Ç¤¤ë¤è¤¦¤Ç¤¹¡£~ :clock|CPUÆâ¤Ç¤Î»þ´Ö¤Îñ°Ì¤Î°ì¼ï¡£¤Ä¤Þ¤ê¤³¤Î»þ´Ö¤¬Ã»¤±¤ì¤Ðû¤¤¤Û¤É¡¢Â®¤¯¼Â¹Ô¤Ç¤¤ë¤È¤¤¤¦¤ï¤±¤Ç¤¢¤ë¡£~ 1clock¤¬²¿Éäˤʤ뤫¤ÏCPU¤Îưºî¼þÇÈ¿ô¡ÊMHz¤È¤«GHz¤È¤«¤Çɽ¤¹Åۡˤ˰͸¤¹¤ë¡£ :SHL¡¢SHR|¤½¤ì¤¾¤ìº¸ÏÀÍý¥·¥Õ¥È¡¢±¦ÏÀÍý¥·¥Õ¥È¡£É乿¤Ê¤·À°¿ô·¿¤ËÂФ·¤Æ<<¤ä>>¤ò¼Â¹Ô¤¹¤ë¡£~ Éä¹ç¤¢¤êÀ°¿ô·¿¤À¤ÈSAR¡¢SAL¤Ë¤Ê¤ê¡¢¤³¤¤¤Ä¤é¤Ï»»½Ñ¥·¥Õ¥È¤È¸À¤¦¡£ Pentium4¤Î¾ì¹ç¤ÏIntelËܲȤ«¤é¡ÖIA-32 ¥¤¥ó¥Æ¥ëR ¥¢¡¼¥¥Æ¥¯¥Á¥ã¡¼ºÇŬ²½¥ê¥Õ¥¡¥ì¥ó¥¹¡¦¥Þ¥Ë¥å¥¢¥ë¡×¡ÖAP-485 ¥¤¥ó¥Æ¥ëR ¥×¥í¥»¥Ã¥µ¡¼¤Î¼±ÊÌ¤È CPUID Ì¿Îá¡×¤ò~ Íî¤È¤·¤Æ¤¤Æ¡¢Á°¼Ô¤Î¡ÖÉÕÏ¿C¡×ɽC-8¤È¸å¼Ô¤Î¡ÖCPUIDÌ¿Îá¤Î½ÐÎÏ¡×ɽ4¤ò»²¾È¤¹¤ë¤È¡¢¤É¤ÎCPU¤Ç¤É¤ÎÌ¿Î᤬ÃÙ¤¤¤Î¤«°ìÉô³Îǧ¤Ç¤¤Þ¤¹¡£´·¤ì¤Ê¤¤¤ÈÆñ¤·¤¤¤Ç¤¹¤¬¡£~ »ñÎÁÈÖ¹æ¤Ï¤½¤ì¤¾¤ì¡¢248966-013JA¡¢241618-029JA¡Ê¸å¼Ô¤Ï¤³¤ÎÈÖ¹æ¤Ç¥°¥°¤ë¤ÈPDF¤Ø¤¹¤°Èô¤Ù¤Þ¤¹¡£Á°¼Ô¤â¥¢¥É¥ì¥¹¤òftp¤«¤éhttp¤ËÊѤ¨¤ì¤Ð¤¤¤±¤Þ¤·¤¿¡£¡Ë~ ~ ¤Á¤Ê¤ß¤Ë¡¢Äê¿ô½ü»»¤Î¾ì¹ç¤Ï³ä¤ê»»¤ò³Ý¤±»»¤ËÊÑ´¹¤¹¤ëÊýË¡¤ò»È¤¨¤Ð¤½¤ì¤À¤±¤Ç¿ô½½¥¯¥í¥Ã¥¯É⤤¤¿¤ê¤·¤Þ¤¹¡£~ (¸Å¤¤É½¤ÎÃͤò»È¤¦¤È¡¢À°¿ô½ü»»(46clock)¤¬À°¿ôÄê¿ô¾è»»(9clock)+¦Á(2¡Á3clock)¤Ë¤Ê¤Ã¤¿¤ê¤È¤«)~ ¤³¤Î·×»»ÊýË¡¤Ï¾¯¤·ÀâÌÀ¤·¤Ë¤¯¤¤¤Î¤Ç¤¹¤¬¡£¡ÖÀ°¿ô½ü»» ¹â®²½¡×¤¢¤¿¤ê¤Ç¥°¥°¤ì¤Ð½Ð¤Æ¤¯¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£~ ½ñÀÒ¤À¤È¡Ö¥Ï¥Ã¥«¡¼¤Î¤¿¤Î¤·¤ß - ËÜʪ¤Î¥×¥í¥°¥é¥Þ¤Ï¤¤¤«¤Ë¤·¤ÆÌäÂê¤ò²ò¤¯¤«¡×¤È¤«¤¬¾Ü¤·¤¤¤Ç¤¹¡£ **¤³¤Î¥Ú¡¼¥¸¤ÎÍúÎò -2008ǯ8·î23Æü - ½Ð¸½ -2008ǯ8·î24Æü - lea¥×¥í¥¸¥§¥¯¥È¤Î¥µ¥Ö¥Ú¡¼¥¸(¸½ºß¤Î¥Ú¡¼¥¸)¤Ë°Üư -2008ǯ8·î25Æü - 2¿§¤òº®¤¼¤ëÊýË¡¤Ë¤Ä¤¤¤ÆÄɵ(bolfill8²þ¤ÈǤò¼ÂÁõ) ***¥³¥á¥ó¥È -Source¤µ¤ó¤¬25ÆüÌÜ¤Þ¤ÇÆÉ¤ó¤À¤«¤É¤¦¤«Ê¬¤«¤é¤Ê¤¤¤Î¤Çǰ¤Î¤¿¤á¤Ë½ñ¤¤Þ¤¹¤¬¡¢¿§¤Î°·¤¤¤Ë¤Ä¤¤¤Æ¤Ï¡¢25ÆüÌܤǰì±þ°ì¤ÄÄ󰯤·¤Æ¤¢¤ê¤Þ¤¹¡£¤³¤³¤Ëµó¤¬¤Ã¤Æ¤¤¤ë¤Î¤Ï¤¤¤º¤ì¤âËͤΰƤȤϰ㤦¤Î¤ÇÌÌÇò¤¤¤È»×¤¤¤Þ¤¹¡£Ëܽñ¤Ç¤ÎÊýË¡¤ÈÁȤ߹ç¤ï¤»¤é¤ì¤¿¤é¤â¤Ã¤ÈÌÌÇò¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ -- [[K]] SIZE(10){2008-08-24 (Æü) 21:07:02} -¼Â¤Ï¤½¤Î·ï¤Ê¤Î¤Ç¤¹¤¬¡¢¸åȾ¤Ïή¤·ÆÉ¤ß¤·¤Ä¤ÄƬ¤ËÆþ¤ì¤Æ¤Ê¤«¤Ã¤¿¤Î¤Ç»ä¤âºòÆüµ¤¤¬ÉÕ¤¤¤¿¤ó¤Ç¤¹(¤ä¤±¤Ë¥°¥é¥Õ¥£¥«¥ë¤Êcolor1¤ò¸«¤Æ)¡£¼ÂÁõ2¤È¤Ï¡Ö´û¸¤Î¥Ñ¥ì¥Ã¥È¤ò¼Î¤Æ¤ë¤«Êݼ餹¤ë¤«¡×¤È»È¤¨¤ë¿§¤Î¿ô¤¬¼ç¤Ë°ã¤Ã¤Æ¤Þ¤¹¤Í¡£ -- [[Source]] SIZE(10){2008-08-24 (Æü) 21:42:31} -color1¤Ç¤Ï¥Ñ¥ì¥Ã¥È¤Ø¤Î¹©ÉפϤۤȤó¤É¤Ê¤¯¤Æ¡Ö¿§¤ò¤Þ¤¼¤ë¡×¤È¤¤¤¦ÊýË¡¤Ç¹©Éפ·¤Æ¤¤¤Þ¤¹¡£¤â¤·¤³¤ì¤òSource¤µ¤ó¤ÎÊýË¡¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¦¤È¤¹¤ë¤È¡¢¤è¤¯»È¤¦¿§¤Ë¶á¤¤¿§¤ò½¸¤á¤Æ¤½¤ì¤é¤òº®¤¼¤ë¤³¤È¤Ç¡¢¤è¤êɽ¸½ÎϤò¹â¤á¤é¤ì¤½¤¦¤Ç¤¹¡£ËܤÎÊýË¡¤Ç¤Ï¤½¤¦¤¤¤¦¹©Éפò¤·¤Ê¤¤¤ÇÅù´Ö³Ö¡Ê¡©¡Ë¤Ë¿§¤òÍѰդ·¤Æ¤¤¤ë¤Î¤Ç¡¢¿§¤òº®¤¼¤ë·×»»¤òÂçÉý¤Ë´Êñ²½¡¦¹â®²½¤Ç¤¤Æ¤¤¤Þ¤¹¡£ -- [[K]] SIZE(10){2008-08-25 (·î) 01:02:19} -¤½¤ì¤Ïcolor2¤Ø¤Î¹©ÉפǤϡ¦¡¦¡¦¡©2x2¥Ô¥¯¥»¥ë¤ò1ñ°Ì¤È¤·¤¿¾ì¹ç¤Ë2¿§¤òº®¿§¤¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¾¯¤·½ñ¤¤¤Æ¤ß¤Þ¤¹¡£ -- [[Source]] SIZE(10){2008-08-25 (·î) 08:36:44} -¤¹¤ß¤Þ¤»¤ó¤½¤¦¤Ç¤¹¡£½ñ¤´Ö°ã¤¨¤Þ¤·¤¿¡£color2¤Î¤³¤È¤Ç¤¹¡£ -- [[K]] SIZE(10){2008-08-25 (·î) 14:25:11} #comment
¥Æ¥¥¹¥ÈÀ°·Á¤Î¥ë¡¼¥ë¤òɽ¼¨¤¹¤ë