make´Â Ç¥ÁØ djgpp ¹èÆ÷º»ÀÇ ÀϺÎÀ̸ç, v2gnu/mak*b.zip(*¿¡´Â ÃֽйöÀüÀÇ
¹øÈ£°¡ µé¾î°©´Ï´Ù) ÆÄÀÏ¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù. À̰ÍÀº
http://www.delorie.com/djgpp/¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
djgpp¸¦ Á¤¸» Á¤È®È÷ ¼³Ä¡Çϼ̽À´Ï±î? djgppÀÇ readme.1st ÆÄÀÏÀÇ Áö½Ã »çÇ×À»
Á¡°ËÇØ º¸°í, ƯÈ÷ DJGPP ȯ°æ º¯¼ö°¡ ¼³Á¤µÇ¾î ÀÖÀ¸¸ç djgpp\bin µð·ºÅ丮°¡
path¿¡ Æ÷ÇÔµð¾î ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ.
GNU make ÇÁ·Î±×·¥À» »ç¿ëÇϰí ÀÖ´ÂÁö È®ÀÎÇϽʽÿÀ. BorlandÀÇ make¿Í °°Àº
´Ù¸¥ ¹öÀüÀ» »ç¿ëÇϰí ÀÖ´Â °ÍÀº ¾Æ´Õ´Ï±î? ÀǽÉÀÌ °£´Ù¸é "make -v"¸¦
½ÇÇà½ÃÄÑ GNUÀÇ ÀúÀÛ±Ç ¸Þ½ÃÁö°¡ Ç¥½ÃµÇ´Â °ÍÀ» È®ÀÎÇϽʽÿÀ.
À©µµ¿ìÁî 95ÀÇ À©µµ¿ìÁî Ž»ö±â¿¡¼ make¸¦ ½ÇÇà½ÃŰ¸é ¾ÈµË´Ï´Ù! DOS ¹Ú½º¸¦
¶ç¿ì°í Allegro µð·ºÅ丮·Î ¿Å±ä ÈÄ ¸í·É ÇÁ·ÒÇÁÆ®¿¡ "make"¶ó°í
ÀÔ·ÂÇϽʽÿÀ.
½Ã½ºÅÛÀÇ ½Ã°£°ú ³¯Â¥°¡ Á¤È®ÇÏ°Ô ¸ÂÃçÁ® ÀÖ½À´Ï±î?
Alternatively you may have downloaded a fresh file made by someone in a
more eastern timezone. In the latter case you can either wait a few
hours, temporarily set your clock forward, or use a utility such as
"touch" to change the timestamp of the files.
¿À·ù ¸Þ½ÃÁö°¡ Á¦½ÃÇÏ´Â °Í°ú °°ÀÌ, ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÒ ¸Þ¸ð¸®¸¦ ´õ ¸¹ÀÌ
È®º¸ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. go32-v2 ÇÁ·Î±×·¥Àº ÇöÀç »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸®ÀÇ ¾çÀ»
º¸¿©ÁÙ °ÍÀÔ´Ï´Ù. DOS¿¡¼ ½ÇÇà½Ã۰í ÀÖ´Ù¸é swapfile·Î »ç¿ëÇÒ ¼ö ÀÖµµ·Ï
µð½ºÅ©ÀÇ ºó °ø°£À» ´õ È®º¸Çϵµ·Ï ÇϽʽÿÀ. À©µµ¿ìÁî 95¸¦ »ç¿ëÇϰí ÀÖ´Ù¸é
DOS ¼¼¼ÇÀÇ µî·ÏÁ¤º¸¿¡¼ DPMI ¸Þ¸ð¸® ÇѰ踦 65535±îÁö ´Ã·Á ÁֽʽÿÀ(Ç®´Ù¿î
¸®½ºÆ®¿¡´Â 16384±îÁö¹Û¿¡ ³ª¿ÍÀÖÁö ¾ÊÀ¸¹Ç·Î À̰ÍÀ» ¼ÕÀ¸·Î ÀÔ·ÂÇÏ¿©¾ß ÇÒ
°ÍÀÔ´Ï´Ù).
¸Þ½ÃÁö°¡ Á¦½ÃÇÏ´Â ¹Ù´ë·Î, »õ·Î¿î ¹öÀüÀÇ gcc¿Í ±¸¹öÀüÀÇ libcÀÇ
Ãæµ¹ÀÔ´Ï´Ù. gcc*b.zip ÆÄÀÏ¿¡ Æ÷ÇÔµÈ readme.DJGPP¸¦ Àо½Ê½Ã¿À
(¼öÁ¤ »çÇ×Àº ÆÄÀÏ ¸Ç ³¡¿¡ ºÙ½À´Ï´Ù).
C:\TEMP\ccdaaaaa(.text+0x9):x.c: undefined reference to `allegro_init'
C:\TEMP\ccdaaaaa(.text+0xe):x.c: undefined reference to `install_keyboard'
¹®¼µéÀ» ÀоÁö ¾Ê¾Ò±º¿ä. ±×·¸Áö ¾Ê¾Æ¿ä? :-) ÇÁ·Î±×·¥À» ¶óÀ̺귯¸®
ÆÄÀÏÀÎ liballeg.a¿Í ¸µÅ©½ÃÄÑ¾ß ÇÕ´Ï´Ù. ¸ÕÀú ¸ðµç °ÍÀÌ ¿Ã¹Ù¸£°Ô ¼³Ä¡µÈ
°ÍÀ» È®ÀÎÇϽʽÿÀ(make¸¦ ½ÇÇà½ÃŰ¸é ¾Ë ¼ö ÀÖ½À´Ï´Ù). ±×¸®°í ³ª¼ ¸í·É¾î
ÇÁ·ÒÇÁÆ®³ª makefileÀ» ÀÌ¿ëÇÏ¿© ÄÄÆÄÀÏÇϰí ÀÖ´Ù¸é -lalleg¸¦ gcc ¸í·É¾îÇà
µÚ¿¡ Ãß°¡ÇϽʽÿÀ. Rhide¸¦ ÀÌ¿ëÇÑ´Ù¸é Option/Libraries ¸Þ´º¿¡¼
'alleg'¸¦ ù¹øÂ° ºñ¾îÀÖ´Â Çʵ忡 ÀÔ·ÂÇÏ½Ã°í ¿·¿¡ ÀÖ´Â »óÀÚ°¡ üũµÇ¾î
ÀÖµµ·Ï ÇϽʽÿÀ.
¾Æ´Ï¿À. Á˼ÛÇÕ´Ï´Ù. liballeg.a´Â ¾à 450k Á¤µµÀÌÁö¸¸ grabber, »ç¿îµå
¼³Á¤°ú °°Àº ¸¹Àº À¯Æ¿¸®Æ¼µµ ÇÊ¿äÇÒ °ÍÀÔ´Ï´Ù. ±×¸®°í ¿¹Á¦ ÇÁ·Î±×·¥µéÀº
¾î¶²°¡¿ä? ¸ðµÎ ÄÄÆÄÀÏµÈ ¹öÀüÀ» Æ÷ÇÔ½ÃŲ´Ù¸é ¹ÙÀ̳ʸ® ¹èÆ÷º»Àº ¾Æ¸¶ 7¸Þ°¡
ÀÌ»óÀÌ µÉ °ÍÀÔ´Ï´Ù: ½Ç¿ëÀûÀ¸·Î ³Ê¹«³ªµµ Å®´Ï´Ù! ´õ¿í ½É°¢ÇÑ °ÍÀº ´ç½Å
½º½º·Î ºôµåÇÏÁö ¸øÇÒ ÀÌÀ¯°¡ ¾ø´Ù´Â °ÍÀÔ´Ï´Ù. ÄÄÆÄÀÏ·¯´Â Á¤ÇØÁø °á°ú¸¸ÀÌ
³ª¿À´Â °ÍÀÔ´Ï´Ù: ƯÁ¤ ÀÔ·Â ÆÄÀϰú ¸í·É¾î¸¦ ÁÖ¸é Ç×»ó °°Àº °á°ú°¡
³ª¿É´Ï´Ù. Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â´Ù¸é À߸øµÈ ÀÔ·Â ÆÄÀÏÀ» ³Ö¾ú°Å³ª(¿¹¸¦
µé¾î AllegroÀÇ º¹»çº»ÀÌ ¾îÂîµÈ ÀÏÀÎÁö ¼Õ»óµÇ¾î Àִٰųª), À߸øµÈ ¸í·ÉÀ»
ÀÔ·ÂÇÏ¿´°Å³ª ("make"¸¦ ÀÔ·ÂÇϱ⸸ ÇÏ¸é µÇ±â ¶§¹®¿¡ À̰ÍÀÌ ½ÇÁ¦·Î ¿øÀÎÀÌ
µÇ±â´Â ¾î·Æ½À´Ï´Ù), ÄÄÆÄÀÏ·¯°¡ ¼Õ»óµÇ¾ú°Å³ª, ±×·¯´Ï±î djgpp¸¦ Á¦´ë·Î
¼³Ä¡ÇÏÁö ¸øÇÏ¿´°Å³ª ÇÏ¿´À» °ÍÀÔ´Ï´Ù. ´Ù¸¥ »ç¶÷¿¡°Ô Allegro¸¦ ´ë½Å
ÄÄÆÄÀÏÇÏ°Ô ÇÏ¿© ¹®Á¦¸¦ Ä«ÆäÆ® ¾Æ·¡¿¡ ¾µ¾î ³ÖÁö¸¸ ÇÏÁö ¸¶½Ã°í, Á÷Á¢ ¹®Á¦¸¦
ã¾Æ ÇØ°áÇØ º¸½Ê½Ã¿À...
GNU µµ±¸µéÀº ¿À·ù ¸Þ½ÃÁö¸¦ ¿À·ù ½ºÆ®¸²ÀÎ stderr¿¡ ¾¹´Ï´Ù. ºÒÇàÇϰԵµ
command.comÀº À̰ÍÀ» ¸®´ÙÀÌ·ºÆ®ÇÏÁö ¸øÇÕ´Ï´Ù¸¸, ´ÙÇàÈ÷µµ DJ´Â Çö¸íÇϰÔ
À̰ÍÀ» ÇØ°áÇϰí ÀÖ½À´Ï´Ù. redir ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© Ãâ·Â ¸Þ½ÃÁö¸¦
°¥¹«¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. "redir -eo make > logfile.txt"¿Í °°ÀÌ Çϸé
µË´Ï´Ù.
¾îµð±îÁö µ¿ÀÛÇÒ °ÍÀΰ¡´Â »óȲ¿¡ µû¶ó ´Ù¸¨´Ï´Ù. ¾î¶² »ç¶÷µéÀº ¹®Á¦°¡
ÀÖ´Ù°í Çϴµ¥, ¶Ç ´Ù¸¥ »ç¶÷µéÀº Àß µ¿ÀÛÇÑ´Ù°í ÇÕ´Ï´Ù. Àú´Â NT¸¦ »ç¿ëÇÒ
¼ö ¾øÀ¸¹Ç·Î Á¦°¡ ±×°Í¿¡ ´ëÇØ ÇÒ ¼ö ÀÖ´Â ÀÏÀº ¾øÀ¸¸ç, ¼ÖÁ÷È÷ ¸»Çϸé Å©°Ô
°ü½ÉÀÌ ÀÖÁö´Â ¾Ê½À´Ï´Ù. À©µµ¿ìÁî ¹öÀüÀÇ ÇÁ·Î±×·¥À» ¸¸µé·Á¸é AllegroÀÇ
À©µµ¿ìÁî ¹öÀüÀ» »ç¿ëÇϽðí, DOS ÇÁ·Î±×·¥À» ¸¸µé·Á¸é DOS¸¦ »ç¿ëÇϽʽÿÀ!
±×·¸½À´Ï´Ù. ÇÏÁö¸¸ ¸î°¡Áö °æ°í°¡ ÀÖ½À´Ï´Ù. EMM386ÀÇ OpenDOS ¹öÀüÀ»
»ç¿ëÇϰí ÀÖ´Ù¸é DPMI ±¸ÇöÀ» ±ÝÁö½ÃÄÑ¾ß ÇÕ´Ï´Ù (config.sys ÆÄÀÏÀÇ
EMM386.EXEÀÇ DEVICE Çà¿¡¼ DPMI=OFF¸¦ ³ÖÀ¸½Ê½Ã¿À). ¶ÇÇÑ PIC=OFF Ç÷¡±×°¡
¼³Á¤µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÏ¿©¾ß Çϴµ¥, À̰ÍÀº µðÆúÆ® ¼³Á¤À̹ǷΠƯº°È÷ ±×°ÍÀ»
Çã¿ëÇÏÁö ¾Ê¾Ò¾ú´Ù¸é ¹®Á¦°¡ µÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
ÀúÀÇ ºñµð¿À Ä«µåÀÇ ¸Þ¸ð¸®´Â 2¸Þ°¡ÀÔ´Ï´Ù.
ÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ ÇѰè´Â VGA Çϵå¿þ¾î¿¡ ÀÇÇØ °áÁ¤µÇ´Â °ÍÀÌÁö Allegro¿¡
ÀÇÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. 256k ÀÌ»óÀÇ ºñµð¿À ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ·Á¸é SVGA ¸ðµå¸¦
ÀÌ¿ëÇÏ¿©¾ß ÇÕ´Ï´Ù. À̰ÍÀº ´õ ³ôÀº ÇØ»óµµ·Î ÀüȯÇϰųª, ÀúÇØ»óµµ SVGA
¸ðµå¸¦ Áö¿øÇÏ´Â SciTech Display Doctor¸¦ ±¸ÇÏ¿©¾ß ÇÑ´Ù´Â ¸»ÀÔ´Ï´Ù.
¾î¶² »ç¶÷¿¡°Ô´Â °¡´ÉÇÏÁö¸¸ ´Ù¸¥ »ç¶÷¿¡°Ô´Â ±×·¸Áö ¾Ê½À´Ï´Ù. ¹®Á¦´Â
Creative Labs°¡ SB-Live Ä«µåÀÇ ½ºÆåÀ» °ø°³ÇÏ´Â °ÍÀ» °ÅºÎÇÏ¿´±â ¶§¹®¿¡
µå¶óÀ̹ö¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø´Ù´Â °ÍÀÔ´Ï´Ù. Á¦Á¶»ç¿¡ Ç×ÀÇÇϰųª ´õ Çö¸íÇÑ
Á¦Á¶»ç·ÎºÎÅÍ ´Ù¸¥ Ä«µå¸¦ ±¸ÀÔÇϽʽÿÀ.
À̰ÍÀº ¾Æ¸¶µµ À½·®À» ¸Å¿ì ³·°Ô ¼³Á¤ÇÏ¿´±â ¶§¹®ÀÏ °ÍÀÔ´Ï´Ù: setup
ÇÁ·Î±×·¥¿¡¼ À½·®À» ¹Ù²Ù¾î º¸½Ê½Ã¿À. ¶ÇÇÑ À©µµ¿ìÁî »ç¿îµå Ç÷¹À̾
Çѹø¿¡ ÇϳªÀÇ »ùÇÃÀ» Ç÷¹ÀÌÇÏ´Â °Í°ú´Â ´Þ¸®, Allegro¿¡¼´Â ¸î°³ÀÇ
»ç¿îµå¸¦ ÇϳªÀÇ Ãâ·Â ¹öÆÛ·Î ¹Í½ÌÇÏ¿© Ãâ·ÂÇϹǷΠ°¢°¢ÀÇ »ç¿îµå´Â Àüü
Ãâ·Â À½·®ÀÇ ÀÛÀº ºñÀ²À» Â÷ÁöÇϱ⠶§¹®À̱⵵ ÇÕ´Ï´Ù. À̰ÍÀº ´ÙÁß Ãâ·Â
ä³ÎÀ» Áö¿ø¹Þ´Â´ë ´ëÇÑ ´ë°¡ÀÏ »ÓÀÔ´Ï´Ù. À̰ÍÀÌ ¸¶À½¿¡ µéÁö ¾Ê´Â´Ù¸é
setup ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ä³ÎÀÇ °³¼ö¸¦ Á¶Á¤ÇϽʽÿÀ: ä³ÎÀÇ °³¼ö´Â 64
ÀÌÇÏÀÇ 2ÀÇ °ÅµìÁ¦°öÀÌ µÉ ¼ö ÀÖÀ¸¸ç, ÀÌ °ªÀ» ÀÛ°Ô ÇÒ ¼ö·Ï »ç¿îµå´Â ´õ
Ä¿Áú °ÍÀÔ´Ï´Ù. ¶Ç´Â set_volume_per_voice()¸¦ »ç¿ëÇϽʽÿÀ. ¹®¼¿¡¼
¼³¸íµÇ¾î ÀÖ½À´Ï´Ù. ÀÌ ÇÔ¼ö´Â Allegro µðÁöÅÐ »ç¿îµå Ãâ·ÂÀÇ Àüü
À½·®À» Á¶Á¤ÇÏ°Ô ÇÕ´Ï´Ù.
FreeBE/AF µå¶óÀ̹ö (http://www.talula.demon.co.uk/freebe/)
¸¦ »ç¿ëÇϰųª »ó¿ë ÇÁ·Î±×·¥ÀÎ SciTech Display Doctor
(http://www.scitechsoft.com/)
¸¦ »ç¿ëÇÏ¿© º¸½Ê½Ã¿À. ±×·¡µµ ¹®Á¦°¡ ÇØ°áµÇÁö ¾Ê´Â´Ù¸é Allegro ¸ÞÀϸµ ¸®½ºÆ®¿¡
afinfo¿Í vesainfo¸¦ ½ÇÇà½ÃÄ×À» ¶§ÀÇ È¸é°ú ÇÔ²² ¹®Á¦ÀÇ ¼³¸íÀ» °Ô½ÃÇϽʽÿÀ.
VBE/AF ÀÎÅÍÆäÀ̽º´Â ºñµð¿À µå¶óÀ̹ö¿¡ ÀÌ¹Ì µ¿Àû ¿¬°áÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù:
http://www.talula.demon.co.uk/freebe/¿¡¼ FreeBE/AF ÇÁ·ÎÁ§Æ®¸¦
º¸½Ê½Ã¿À. »ç¿îµå, VESA, ¸ðµå-X ·çƾ°ú °°ÀÌ º¸´Ù ÀϹÝÀûÀÎ °Í¿¡ ´ëÇØ¼´Â
±×°ÍµéÀÇ µå¶óÀ̹ö°¡ ¶óÀ̺귯¸® ÄÚ¾îÀÇ ¼ö¸¹Àº º¸Á¶ ÇÔ¼ö(helper function)¸¦
ÀÌ¿ëÇϰí Àֱ⠶§¹®¿¡ µ¿Àû ¿¬°áÀ» »ç¿ëÇÏ´Â °ÍÀÌ ¸Å¿ì ¾î·Æ½À´Ï´Ù. djgppÀÇ
DXE Çü½ÄÀº µ¿Àû ¿¬°áÀ» Áö¿øÇϴµ¥ ÃæºÐÇÒ Á¤µµ·Ï À¯¿¬Çϸç, Àú´Â Allegro¸¦
´Ù¸¥ µ¿Àû ¿¬°á ÆÐŰÁö¿¡ Á¾¼ÓµÇµµ·Ï ¸¸µé°í ½ÍÁö´Â ¾Ê½À´Ï´Ù.
¿À·ù°¡ ³ª¿É´Ï´Ù!
±Û½ê¿ä. ȯ°æ º¯¼öÀÇ Å©±â¸¦ ´Ã·Á¾ß ÇÒ °ÍÀÔ´Ï´Ù :-) DOS »óÀÚ¿¡¼
(½Ã½ºÅÛ ¸Þ´º¸¦ Ŭ¸¯Çϰí "µî·ÏÁ¤º¸"¸¦ ¼±ÅÃÇÏ¿©) ¼¼ÆÃÀ» º¯°æ½ÃŰ°Å³ª,
config.sys ÆÄÀÏ¿¡¼ ¼¼ÆÃÀ» º¯°æ½ÃŰ¸é µË´Ï´Ù ("shell=c:\command.com
/e:8192"°ú °°ÀÌ Ãß°¡ÇÕ´Ï´Ù).
grabber´Â datedit.c¿¡ Æ÷ÇÔµÈ ÄÚµå¿Í ¸µÅ©µÇ¾î¾ß ÇÕ´Ï´Ù. ÇÏÁö¸¸ ¼ÕÀ¸·Î
Á÷Á¢ À̰ÍÀ» ÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù: ±×³É "make"¸¦ ½ÇÇà½ÃŰ¸é ¸ðµç °ÍÀ»
ºôµåÇØ ÁÝ´Ï´Ù.
386 instruction' ¶Ç´Â `Error: no such instruction `maskmovq %mm3,
%mm1''°ú °°Àº ¿¡·¯¸¦ ³»¸ç make°¡ ½ÇÆÐÇÕ´Ï´Ù.
GNU binutilÀÇ ¹öÀüÀ» ¾÷µ¥ÀÌÆ®ÇÏ¿©¾ß ÇÕ´Ï´Ù. ÃÖÇÏ ¾î¶² ¹öÀüÀÌ ÇÊ¿äÇÑÁö
readme.txt¿¡¼ ã¾Æ º¸½Ê½Ã¿À.
<¾Æ¹«À̸§>ÀÌ readme.txt¿¡ ÀÖ´Â Áö¿ø Ç÷§Æû ÁßÀÇ Çϳª°¡ ¾Æ´Ï¶ó¸é
¾ÈµË´Ï´Ù. ¸¸¾à <¾Æ¹«À̸§>ÀÌ º¼·£µå C¿Í °°Àº 16ºñÆ® DOS ÄÄÆÄÀÏ·¯¶ó¸é
À̰ÍÀ¸·Î ÄÄÆÄÀÏÇÏ·Á´Â »ý°¢Àº Àؾî¹ö¸®´Â °ÍÀÌ ÁÁ½À´Ï´Ù :-)
WIP´Â "°³¹ßÁß(work in progress)"À» ÀǹÌÇÏ´Â ¾àÀÚÀ̸ç, Ãֽаø½Ä ¹èÆ÷
¹öÀüº¸´Ù ³ªÁß¿¡ º¯°æµÈ °ÍÀ» ÀǹÌÇÕ´Ï´Ù. AllegroÀÇ WIP ¹öÀüÀº Allegro
À¥»çÀÌÆ®(http://alleg.sourceforge.net/)¿¡¼ ÆÐÄ¡ÀÇ
ÇüÅ·Π±¸ÇÒ ¼ö ÀÖÀ¸¸ç, ÃÖÁ¾ ¹èÆ÷ ¹öÀüÀ¸·Î Å×½ºÆ®µÈ °Í Á¤µµ´Â ¾Æ´ÏÁö¸¸
±×·¡µµ º¸ÅëÀº »ó´çÈ÷ ¾ÈÁ¤ÀûÀÔ´Ï´Ù.
patch.exe¸¦ °¡Áö°í ÀÖ½À´Ï±î? ±×·¸Áö ¾Ê´Ù¸é djgpp¸¦ ´Ù¿î·ÎµåÇÑ °÷¿¡¼
patch.exe¸¦ °¡Á®¿À½Ê½Ã¿À: ÀÌ µµ±¸´Â djgpp ÄÄÆÄÀÏ·¯ ¹èÆ÷ÆÇÀÇ Ç¥ÁØ ±¸¼ºÀÇ
ÀϺÎÀÔ´Ï´Ù. patch ÇÁ·Î±×·¥À» °¡Áö°í ÀÖÁö¸¸ Àß µ¿ÀÛÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â
¾÷µ¥ÀÌÆ®ÇÏ·Á´Â Allegro ¹öÀüÀÌ ¼öÁ¤µÇÁö ¾ÊÀº »óÅ·ΠÃÖÁ¾ÀûÀ¸·Î ¼³Ä¡µÇ¾î
Àִ°¡ È®ÀÎÇϽʽÿÀ (À̰ÍÀº º¸Åë WIP°¡ ¸¸µé¾îÁö±â ÀüÀÇ Ãֽаø½Ä ¹èÆ÷
¹öÀüÀÌ µÉ °ÍÀÌÁö¸¸, È®½ÇÈ÷ Çϱâ À§ÇØ WIP¿¡ Æ÷ÇÔµÈ ÅØ½ºÆ® ÆÄÀÏÀ»
Á¡°ËÇϽʽÿÀ).
ÀÌ ÆÄÀÏÀº WIP ¹öÀü°ú´Â º°µµ·Î ¹èÆ÷µË´Ï´Ù. ´ÙÀ½¿¡¼ ´Ù¿î·ÎµåÇϽʽÿÀ:
http://alleg.sourceforge.net/wip.html. (alldata.zip)
µÎ¹øÂ° À̹ÌÁö¸¦ Ç¥½ÃÇϸé ù¹øÂ° À̹ÌÁöÀÇ ÆÈ·¹Æ®°¡ ¾û¸ÁÀÌ µË´Ï´Ù.
À̰ÍÀº ´ÜÁö ºñµð¿À Çϵå¿þ¾î°¡ µ¿ÀÛÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù: ÇÑ ½ÃÁ¡¿¡¼´Â ÇϳªÀÇ
ÆÈ·¹Æ®¸¸À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À̹ÌÁö¸¦ ÇϳªÀÇ µ¿ÀÏÇÑ ÆÈ·¹Æ®¸¦ »ç¿ëÇϵµ·Ï
º¯È¯Çϰųª, Æ®·çÄ÷¯ ±×·¡ÇÈ ¸ðµå·Î ÀüȯÇϽʽÿÀ.
Allegro.cc ȨÆäÀÌÁö(http://www.allegro.cc/)¿¡¼
FixPal³ª Smacker °°Àº À¯Æ¿¸®Æ¼¸¦ ã¾Æ º¸½Ê½Ã¿À.
±×·¹À̽ºÄÉÀÏ ÆÈ·¹Æ®¸¦ ¸¸µì´Ï±î?
VGA Çϵå¿þ¾î´Â °¢ »ö»ó ¿ä¼Ò´ç 6ºñÆ®¸¸À» »ç¿ëÇϹǷÎ, ÆÈ·¹Æ®ÀÇ Àû»ö, ³ì»ö,
û»öÀÇ °ª Àº 0¿¡¼ 63±îÁö¸¸ °¡´ÉÇϸç 255±îÁö´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ±×·¯¹Ç·Î
2^18 = 262144 »ö»óÀ» »ç¿ëÇϰųª 64°³ÀÇ ±×·¹ÀÌ ´Ü°è¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ°Í ÀÌ»óÀÇ »ö»óÀ» ÀÌ¿ëÇÏ·Á¸é VESA ÇÔ¼ö 0x4F08À» ÀÌ¿ëÇÏ¿© 8ºñÆ® DAC¸¦
¼±ÅÃÇϵµ·Ï ÇÒ ¼ö ÀÖÁö¸¸, Allegro´Â À̰ÍÀ» Á÷Á¢ÀûÀ¸·Î Áö¿øÇÏÁö ¾ÊÀ¸¸ç, Àú´Â
¼·Î ´Ù¸¥ Çϵå¿þ¾î¿¡ ´ëÇÏ¿© ¾ó¸¶³ª ½Å·ÚÇÒ ¼ö ÀÖ´ÂÁö ¸ð¸£°Ú½À´Ï´Ù.
256»ö ¸ðµå¸¦ ÀÌ¿ëÇÏ´Â °æ¿ì VGA Ä«´À´Â 0¹ø »ö»óÀ» Ç¥½Ã ¿µ¿ªÀÇ °æ°è¿¡
Ç¥½ÃÇÕ´Ï´Ù ( Æ®·çÄ÷¯ ¸ðµå¿¡¼´Â °ËÀº»öÀÔ´Ï´Ù). 0¹ø »öÀ» °ËÀº»öÀÌ µÇµµ·Ï
ÆÈ·¹Æ®¸¦ º¯°æÇϸé ÀÌ»óÇÑ »öÀÇ Å׵θ®´Â ¾ø¾îÁú °ÍÀÔ´Ï´Ù.
¸Å¿ì ¾î·Æ½À´Ï´Ù :-) ÆÈ·¹Æ®¸¦ ¹Ù²Ù´Â °Í°ú °°Àº ½¬¿î Æ®¸¯Àº ¾øÀ¸¹Ç·Î,
À̹ÌÁö¸¦ ´õ ¹à°Ô Çϰųª ¾îµÎ¿î ÇüÅ·Π´Ù½Ã ±×¸®´Â °ÍÀ» ¹Ýº¹ÇÏ¿©¾ß ÇÕ´Ï´Ù.
°ËÀº»öÀÇ Åõ°ú¼º Á÷»ç°¢ÇüÀ» ½ºÅ©¸°¿¡ µ¤¾î ±×·Á¼ ¾îµÓ°Ô Çϰųª
draw_lit_sprit()¸¦ ÀÌ¿ëÇÏ¿© ½ºÅ©¸°¿¡ º¹»çµÉ ¶§ À½¿µÀ» ÁÙ ¼öµµ ÀÖÁö¸¸,
ÀÌ·¯ÇÑ µ¿ÀÛÀº ¸¹Àº °è»ê°ú ¸®¼Ò½º°¡ ÇÊ¿äÇϹǷΠºü¸¥ PC¿¡¼¸¸ °¡´ÉÇÒ
°ÍÀÔ´Ï´Ù!
¾î¶² Àϵµ ÀϾÁö ¾Ê½À´Ï´Ù. ¹«¾ùÀÌ À߸øµÈ °ÍÀϱî¿ä?
fade_in()°ú fade_out()Àº 8ºñÆ® ÆÈ·¹Æ® ¸ðµå¿¡¼¸¸ µ¿ÀÛÇÕ´Ï´Ù. ºñÆ®¸ÊÀÇ
¹à±â¸¦ º¯È½ÃŰ´Â ÇѰ¡Áö ¹æ¹ýÀº ¸ðµç Çȼ¿À» »ç¿ëÇÏ´Â ·çÇÁ¿¡¼ °¢ Á¡À»
º¯È½ÃŰ´Â °ÍÀ̰í, ´Ù¸¥ ÇѰ¡Áö ¹æ¹ýÀº ½ºÅ©¸°¿¡ ¸¹Àº ¹ÝÅõ¸í °ËÀº »ç°¢ÇüÀ»
±×¸®´Â °ÍÀÔ´Ï´Ù. ±×·¸Áö¸¸ ÀÌµé ¹æ¹ýÀº µ¿ÀÛÀÌ ºü¸£Áö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
exxfade.c ¿¹Á¦´Â µÎ °³ÀÇ ºñÆ®¸ÊÀÌ ¿À¹ö·¦µÇ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù. À̰ÍÀ»
º¯Çü½ÃÄÑ °ËÀº ½ºÅ©¸°À¸·ÎºÎÅÍ ¶Ç´Â °ËÀº ½ºÅ©¸°ÀÌ µÇµµ·Ï º¯ÇÏ°Ô ÇÒ ¼ö ÀÖÀ»
°ÍÀÔ´Ï´Ù. ¾ÕÀÇ Áú¹®À» Âü°íÇϽʽÿÀ.
Allegro ȨÆäÀÌÁö(http://www.talula.demon.co.uk/allegro/)¿¡¼
DTA³ª Smacker¿Í °°Àº À¯Æ¿¸®Æ¼¸¦ ã¾Æ º¸½Ê½Ã¿À.
¹®¼¿¡ ³ª¿À´Â "¹àÀº ÇÎÅ©"ÀÇ Àǹ̸¦ ¸ð¸£°Ú½À´Ï´Ù...
´ç½ÅÀÌ ÁÖ·Î ÀÌ¿ëÇÏ´Â ÆäÀÎÆ® ÇÁ·Î±×·¥¿¡¼ RGB Á¶Á¤ µµ±¸¸¦ ÀÌ¿ëÇÏ¿© Àû»ö°ú
û»öÀ» ÃÖ´ë°ªÀ¸·Î Çϰí(º¸ÅëÀº 255ÀÌÁö¸¸ »ç¿ëÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¿¡ µû¶ó ´Ù¸¦
¼ö ÀÖ½À´Ï´Ù) ³ì»öÀ» 0À¸·Î ¼³Á¤ÇϽʽÿÀ. ÀÌ °á°úÀÇ »ö»óÀÌ ¹Ù·Î ¸¶¹ýÀÇ
"ÇÎÅ©"ÀÔ´Ï´Ù. ¶Ç ¾î¶² »ç¶÷µéÀº À̰ÍÀ» ¸¶Á¨Å¸(magenta)¶ó°í ÇÕ´Ï´Ù.
²ÀÁöÁ¡ À§Ä¡´Â °íÁ¤ ¼Ò¼öÁ¡ Çü½ÄÀ¸·Î ÀúÀåµÈ´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ. ±×·¯¹Ç·Î
itofix() ¸ÅÅ©·Î¸¦ »ç¿ëÇϰųª ÁÂÇ¥¸¦ 16ºñÆ® ¿ÞÂÊÀ¸·Î ½ÃÇÁÆ®ÇÏ¿©¾ß ÇÕ´Ï´Ù.
ȸÀüÀÇ °¢µµ´Â °íÁ¤ ¼Ò¼öÁ¡ Çü½ÄÀ¸·Î ÀúÀåµÈ´Ù´Â °ÍÀ» ¸í½ÉÇϽʽÿÀ.
±×·¯¹Ç·Î itofix() ¸ÅÅ©·Î¸¦ ÀÌ¿ëÇϰųª ÁÂÇ¥¸¦ 16ºñÆ® ¿ÞÂÊÀ¸·Î
½ÃÇÁÆ®ÇÏ¿©¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, rotate_sprite(bmp, spr, x, y, itofix(32))
¿Í °°ÀÌ ÇÏ¸é ±×·¡ÇÈÀ» 45µµ ȸÀü½Ãų °ÍÀÔ´Ï´Ù.
¾Æ¸¶µµ ´ç½ÅÀº ºñÆ®¸Ê Æ÷ÀÎÅ͸¦ °¡Áö°í ´ÙÀ̾ó·Î±× ±¸Á¶Ã¼¸¦ ÃʱâÈÇÏ·Á Çϰí
ÀÖÀ» °ÍÀÔ´Ï´Ù. ´ÙÀ̾ó·Î±×´Â ÄÄÆÄÀÏ ½Ã°£¿¡ »ý¼ºµÇÁö¸¸, ºñÆ®¸ÊÀº ½ÇÇà
½Ã°£¿¡¸¸ ¸¸µé¾îÁö¹Ç·Î ÄÄÆÄÀÏ·¯´Â ±×°ÍÀÌ ¾îµð¿¡ À§Ä¡ÇÏ°Ô µÉÁö¸¦ ¾ËÁö ¸øÇϱâ
¶§¹®¿¡ À̰ÍÀº µ¿ÀÛÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ´ÙÀ̾ó·Î±× ±¸Á¶Ã¼¸¦ NULL Æ÷ÀÎÅ͸¦
°¡Áö°í ¿Ï¼º½ÃŰ°í³ª¼, ºñÆ®¸ÊÀ» ¸Þ¸ð¸®·Î ÀоîµéÀÎ ÈÄ¿¡ ½ÇÁ¦ ºñÆ®¸Ê
Æ÷ÀÎÅ͸¦ dp Çʵ忡 ÃʱâÈ ÄÚµå ºÎºÐ¿¡¼ ³ÖÀ¸½Ê½Ã¿À.
±×°ÍÀº ¹«¾ùÀ» ÇÏ·Á´Â°¡¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù. ¿ÏÀü ºÒÅõ¸íÇÑ À̹ÌÁö¸¦
»ç¿ëÇÑ´Ù¸é RLE ½ºÇÁ¶óÀÌÆ®¸¦ »ç¿ëÇÏ¿© ¾òÀ» ¼ö ÀÖ´Â À̵æÀº ¾øÀ¸¸ç, ÀϹÝ
ºñÆ®¸ÊÀ» blit() ÇÔ¼ö¿Í ÇÔ²² »ç¿ëÇÏ´Â °ÍÀÌ ¾Æ¸¶µµ ´õ ºü¸¦ °ÍÀÔ´Ï´Ù.
¸¶½ºÅ© ¿µ¿ªÀ» °¡Áö°í ÀÖ´Â ±×·¡ÇÈÀ̶ó¸é RLE ½ºÇÁ¶óÀÌÆ®°¡ °ÅÀÇ Ç×»ó Å©±âµµ
ÀÛ°í draw_sprite() ÇÔ¼öº¸´Ù ºü¸¦ °ÍÀÔ´Ï´Ù. ÄÄÆÄÀÏ ½ºÇÁ¶óÀÌÆ®´Â ÀϹÝÀûÀ¸·Î
¸¶½ºÅ© À̹ÌÁöÀÇ °æ¿ì¿¡ À§ÀÇ µÎ°¡Áöº¸´Ù »ó´çÈ÷ ºü¸£°Ô µ¿ÀÛÇϸç, ºÒÅõ¸í
Å©·¡ÇÈÀÇ °æ¿ì¿¡µµ Á¶±Ý ºü¸¨´Ï´Ù. ÇÏÁö¸¸ À̰ÍÀº ¿©·¯°¡Áö º¯¼ö°¡ ÀÖ½À´Ï´Ù.
ÄÄÆÄÀÏ ½ºÇÁ¶óÀÌÆ®´Â ±¸Çü PCÀÇ ¸ðµå-X¿¡¼ÀÇ ÀÛÀº ½ºÇÁ¶óÀÌÆ®¿¡ ´ëÇÏ¿© °¡Àå
Àß µ¿ÀÛÇϸç, ÆæÆ¼¾öÀÇ SVGA ¸ðµå¿¡¼´Â blit()º¸´Ù ¾à°£ ´À¸± ¼ö ÀÖ½À´Ï´Ù
(Å« »çÀÌÁîÀÇ ÄÄÆÄÀÏ ½ºÇÁ¶óÀÌÆ®´Â ij½ÃÀÇ ¼º´É¿¡ ¸Å¿ì ³ª»Ú°Ô ÀÛ¿ëÇÕ´Ï´Ù).
°ÔÀÓ ·ÎÁ÷ÀÌ Á¤ÇØÁø Á¤±Ô ¼Óµµ·Î °»½ÅµÇµµ·Ï ÇÏ¿©¾ß ÇÏÁö¸¸, ÄÄÇ»ÅͰ¡ ¼Óµµ¸¦
À¯ÁöÇϱ⿡ ³Ê¹« ´À¸° °æ¿ì¿¡´Â ½ºÅ©¸°À» ´Ù½Ã ±×¸®´Â °ÍÀ» À̵û±Ý °Ç´õ ¶Ùµµ·Ï
ÇϽʽÿÀ.À̰ÍÀº ŸÀÌ¸Ó Çڵ鷯¸¦ ¼³Ä¡Çϰí À̰Ϳ¡ ÀÇÇØ Àü¿ª º¯¼ö°¡ °ÔÀÓ ·ÎÁ÷
¼Óµµ¿¡ ¸ÂÃç Áõ°¡Çϵµ·Ï ÇÏ¸é °¡´ÉÇÕ´Ï´Ù. ¿¹¸¦ µé¸é:
volatile int speed_counter = 0;
void increment_speed_counter()
{
speed_counter++;
}
END_OF_FUNCTION(increment_speed_counter);
void play_the_game()
{
LOCK_VARIABLE(speed_counter);
LOCK_FUNCTION(increment_speed_counter);
install_int_ex(increment_speed_counter, BPS_TO_TIMER(60));
while (!game_over) {
while (speed_counter > 0) {
update_game_logic();
speed_counter--;
}
update_display();
}
}
save_bitmap()À» È£ÃâÇÏ´Â Äڵ带 ¾îµò°¡¿¡ Ãß°¡ÇϽʽÿÀ. save_bitmap()
¹®¼¿¡ ³ª¿À´Â ÀϹÝÀûÀÎ »ç¿ë ¹æ¹ý°ú ¿¹Á¦ Äڵ带 Âü°íÇϽʽÿÀ.
srand(time(NULL))À» ÇÁ·Î±×·¥ÀÇ ½ÃÀÛ ºÎºÐ¿¡¼ È£ÃâÇϰí, rand()%limit¸¦
»ç¿ëÇÏ¿© 0¿¡¼ limit-1 »çÀÌÀÇ ·£´ý ¼ýÀÚ¸¦ ¾ò½À´Ï´Ù.
Àú´Â »ç¿îµå, ¼öÇÐ °è»ê, ȤÀº GUI ·çƾÀº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù...
±×·² Çʿ䰡 ¾ø½À´Ï´Ù. ¸µÄ¿°¡ ¶óÀ̺귯¸®¿¡¼ ½ÇÁ¦·Î »ç¿ëµÇ´Â ºÎºÐ¸¸À»
Æ÷ÇÔ½Ãų °ÍÀ̹ǷΠȣÃâµÇÁö ¾Ê´Â °ÍÀº, ¸»ÇÏÀÚ¸é ÅØ½ºÃÄ ¸ÅÇÎÀ̳ª FLIC Àç»ý
ÇÔ¼ö¿Í °°Àº °ÍÀ» È£ÃâÇÏÁö ¾Ê´Â´Ù¸é, ±×°ÍµéÀº ½ÇÇà ÆÄÀÏ¿¡ Æ÷ÇÔµÇÁö
¾Ê½À´Ï´Ù. À̰ÍÀÌ ¿Ïº®ÇÏ°Ô µ¿ÀÛÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. AllegroÀÇ ÄÚµåÀÇ ¸¹Àº
ºÎºÐÀÌ ÇÔ¼ö Æ÷ÀÎÅÍÀÇ Å×À̺íÀ» ÀÌ¿ëÇϰí ÀÖÀ¸¹Ç·Î ºÒÇÊ¿äÇÑ ·çƾÀÌ ¸µÅ©µÉ
¼öµµ ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î ´ëºÎºÐÀÇ ±×·¡ÇÈ ÇÔ¼öµéÀº ¸ðµç ½ÇÇà ÆÄÀÏ¿¡ Æ÷ÇÔµÉ
°ÍÀÌÁö¸¸, ÀÌ·¯ÇÑ °ÍÀ» ÃÖ¼ÒÈ Çϵµ·Ï µµ·ÂÇÏ¿© ¿Ô½À´Ï´Ù. allegro.txt¿¡¼
±×·¡ÇȰú »ç¿îµå µå¶óÀ̹öÀÇ ÀϺθ¦ Á¦°ÅÇÏ´Â º¸´Ù Á¤È®ÇÑ ¹æ¹ý¿¡ ´ëÇÑ Á¤º¸¸¦
ÀÐ¾î º¸½Ê½Ã¿À.
¾ø½À´Ï´Ù. Àú´Â ÀÌ·¯ÇÑ Á¾·ùÀÇ Çϵå¿þ¾î Áö¿øÀº Allegro°¡ ¾Æ´Ñ ´õ¿í ÀûÀýÇÑ
3D APIÀÇ ÀϺηΠÇÏ´Â °ÍÀÌ °¡Àå È¿°úÀûÀ̶ó°í »ý°¢Çϸç, ¾ÕÀ¸·Î·Î º¯ÇÔ ¾øÀ»
°ÍÀÔ´Ï´Ù. À̰ÍÀ» À§ÇÑ ÀÛ¾÷À» ¿øÇÑ´Ù¸é ÀúÀÇ ¼Ò°ßÀ¸·Î´Â MESA ¶óÀ̺귯¸®
(OpenGLÀÇ °ø°³ ±¸Çö) °¡ ½Ã¹ßÁ¡ÀÌ µÉ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
JGMOD ÆÐŰÁö¿Í °°Àº ¸î°³ÀÇ ¾ÆÁÖ ÁÁÀº °ÍµéÀÌ ÀÌ¹Ì Á¸ÀçÇÕ´Ï´Ù. Allegro.cc
À¥»çÀÌÆ®(http://www.allegro.cc/)ÀÇ ¿Àµð¿À ¶óÀ̺귯¸® È®Àå ¼½¼ÇÀ»
Âü°íÇϽʽÿÀ. ÀÌµé ¶óÀ̺귯¸®¸¦ Allegro¿¡ Æ÷ÇÔ½ÃŰ´Â Á¦¾ÈÀº Çã¿ëÇÏÁö
¾Ê½À´Ï´Ù. ÀÌ ÁÖÁ¦¿¡ ´ëÇÑ Åä·ÐÀº ÀÌ¹Ì ¸ÞÀϸµ ¸®½ºÆ®¿¡¼ Á¾°áµÇ¾úÀ¸¸ç,
Àú´Â ±×°Ç¿¡ ÁöÃĹö·È½À´Ï´Ù.
±×°ÍÀº ¸Å¿ì ¸¹Àº ÀÛ¾÷À» ÇÊ¿ä·Î ÇÒ °ÍÀ̰í, Àú´Â Á÷Á¢ ÇÒ ½Ã°£ÀÌ ¾ø½À´Ï´Ù.
³×Æ®¿öÅ©»ó¿¡¼ °³¹ßµÇ°í Àְųª µ¹¾Æ´Ù´Ï´Â ³×Æ®¿öÅ· ÆÐŰÁö°¡ ¸î°³
ÀÖ½À´Ï´Ù¸¸, ÀúÀÇ ÀÇÁ¯À¸·Î´Â ÀÌ·¯ÇÑ Á¾·ùÀÇ ÄÚ´À´Â AllegroÀÇ ÀϺΰ¡ ¾Æ´Ñ
¿ÜºÎ ¶óÀ̺귯¸®ÀÎ °æ¿ì¿¡ ´õ À¯¿ëÇÑ °Í °°½À´Ï´Ù.
Unisys¿¡¼ GIF Çü½Ä¿¡ »ç¿ëµÇ´Â LZW ¾ÐÃà ¾Ë°í¸®µëÀÇ Æ¯Ç㸦 °®°í ÀÖ½À´Ï´Ù.
Àú´Â AllegroÀÇ ¸ðµç ºÎºÐÀÌ ¾Æ¹«·± Á¦ÇÑ ¾øÀÌ ÀÚÀ¯·Ó°Ô »ç¿ëµÇ¾îÁö±â¸¦
¹Ù¶ó¹Ç·Î, Àú´Â ·Î¾âƼÀÇ ÁöºÒÀ̳ª ¶óÀ̼¾½º¿¡ ±¸¼ÓµÇ´Â ÄÚµå´Â Æ÷ÇÔ½Ãų
¼ö ¾ø½À´Ï´Ù.
±×·² ¼öµµ ÀÖ½À´Ï´Ù. ¹®Á¦¸¦ ¹ß»ý½ÃŰ´Â ºÎºÐÀ» °¡Àå ÀÛ°Ô Ãà¼Ò½ÃÄÑ ºÐ¸®µÈ
ÄÚµå·Î ¸¸µé¾î Áֽøé Á¦°¡ Á¡°ËÇØ º¸°Ú½À´Ï´Ù. Àú¿¡°Ô 10ÇàÀÇ ÇÁ·Î±×·¥À»
º¸³»¸é ±×°ÍÀ» °íÄ¥ °ÍÀ̰í, 100ÇàÀ̶ó¸é ¾Æ¸¶ °íÄ¥ ¼öµµ ÀÖÀ» °ÍÀÔ´Ï´Ù.
1000¶óÀÎÀ̶ó¸é ¾îÂîÇÒ ¼ö°¡ ¾ø½À´Ï´Ù :-)
¹°·ÐÀÔ´Ï´Ù. readme.txtÀÇ giftware ±ÔÁ¤À» Âü°íÇϽʽÿÀ. Àú´Â Allegro¸¦
°¡Áö°í ´ç½ÅÀÌ ¹«¾ùÀ» ÇÏ´øÁö ½Å°æ¾²Áö ¾ÊÀ¸¸ç, »ó¾÷¿ëÀ¸·Î »ç¿ëÇÏ´Â °Í¿¡µµ
¾Æ¹«·± ¹®Á¦°¡ ¾ø½À´Ï´Ù.
±×°ÍÀÌ ³¡³ª¸é ÀÔ´Ï´Ù! ¾à°£ÀÇ °Ý·Á´Â ¾ðÁ¦³ª ȯ¿µÀÌÁö¸¸, Àú´Â ¾î¶°ÇÑ ¿Ï¼º
ÀÏÀÚµµ Á¤ÇÏÁö ¾Ê½À´Ï´Ù :-) ÀÛ¾÷ÀÌ ³¡³ª¸é °ð ¹Ù·Î °ø°³µÉ °ÍÀÔ´Ï´Ù.
grabber¿¡¼ GRX³ª BIOS Çü½ÄÀÇ .fnt ÆÄÀÏÀ» Á÷Á¢ °¡Á®¿Ã ¼ö ÀÖÀ¸¸ç, ÆäÀÎÆ®
ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© ÆùÆ®¸¦ .pcx ¿µ»ó¿¡ ±×·Áµµ µË´Ï´Ù.
http://www.talula.demon.co.uk/ttf2pcx/¿¡¼ À©µµ¿ìÁî
Æ®·çŸÀÔÆùÆ®¸¦ .pcx Çü½ÄÀ¸·Î º¯È¯ÇÏ´Â À¯Æ¿¸®Æ¼¸¦ ã¾Æ º¸½Ê½Ã¿À.
Allegro ȨÆäÀÌÁö(http://alleg.sourceforge.net/)ÀÇ
¸µÅ©¸¦ ã¾Æ º¸½Ê½Ã¿À. Gravis ÆÐÄ¡(.pat Çü½Ä)À̳ª SoundFont 2.0(.sf2)
ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖÁö¸¸, ÈÄÀÚÀÇ °ÍÀº pat2dat À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÏ¿©
patches.dat ÆÄÀÏ·Î º¯È¯ÇÏ¿©¾ß ÇÕ´Ï´Ù.
makertf º¯È¯ À¯Æ¿¸®Æ¼ (ftp://ftp.coast.net/Coast/win3/winhelp/mkrtf104.zip)
¿Í À©µµ¿ìÁî µµ¿ò¸» ÄÄÆÄÀÏ·¯ (ftp://ftp.microsoft.com/Softlib/MSLFILES/HC505.EXE)¸¦
´Ù¿î·ÎµåÇÏ¿©¾ß ÇÕ´Ï´Ù. Àӽà µð·ºÅ丮¸¦ ¸¸µé°í allegro/docs µð·ºÅ丮¿¡¼
allegro.txi ÆÄÀÏÀ» º¹»çÇÑ ÈÄ¿¡ "makertf --no-warn allegro.txi -o allegro.rtf
-J allegro.hpj" ¸í·ÉÀ» ½ÇÇà½Ã۰í "hcp allegro.hpj"¿Í °°ÀÌ ÇÏ¸é µË´Ï´Ù.
µÎ¹øÂ° ¸í·ÉÀº ¸¹Àº °æ°í¸¦ Ç¥½ÃÇÒ °ÍÀÌÁö¸¸ ¹«½ÃÇÏ¿©µµ µË´Ï´Ù.
allegro.rtf ÆÄÀÏÀº ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ¿öµå¿¡¼ ÀÐ¾î¼ ÇÁ¸°Æ®ÇÏ¸é µÇ´Âµ¥,
¸ÕÀú ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ¿© ¸ñÂ÷¿Í À妽º Çʵ带 ¼öÁ¤ÇÏ¿© Á¤È®ÇÑ µ¥ÀÌÅÍ·Î
ä¿öÁöµµ·Ï ÇÏ¿©¾ß ÇÕ´Ï´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î´Â TeX ÆÐŰÁö¸¦ ¼³Ä¡Çϰí tex°ú
dvips ÇÁ·Î±×·¥À¸·Î allegro.txt¸¦ Æ÷½ºÆ®½ºÅ©¸³Æ® Çü½ÄÀ¸·Î º¯È¯ÇÒ ¼öµµ
ÀÖ½À´Ï´Ù.
Allegro.cc ȨÆäÀÌÁö http://www.allegro.cc/¿¡¼
ã¾Æ º¸½Ê½Ã¿À. ¿©±â¿¡ Ãß°¡ÇÏ°í ½ÍÀº °ÍÀÌ ÀÖ´Ù¸é URLÀ» °Ô½ÃÇÏ¿© ÁֽʽÿÀ!
ÄÚµù ½À°üÀԴϱî?
PIÀÇ °ªÀÌ º¯°æµÇ¾î¾ßÇÒ Çʿ䰡 ÀÖÀ» °æ¿ì, ÇÁ·Î±×·¥ÀÇ À¯Áöº¸¼ö¸¦
´Ü¼øÈÇÕ´Ï´Ù. ¶ÇÇÑ À̰ÍÀº PI¿¡ ´Ù¸¥ °ªÀ» ÀÌ¿ëÇÏ´Â ´Ù¸¥ ÄÄÆÄÀÏ·¯·Î
Æ÷ÆÃÇϱ⠽±°Ô ¸¸µé °ÍÀÔ´Ï´Ù.
¸¹Àº ±×·¡ÇÈ Ä«µåµéÀº ¹ö±×¸¦ °®°í ÀÖÀ¸¸ç, VESA ±¸ÇöÀÌ ¿ÏÀüÇÏÁö ¾Ê°í, ¶Ç
vsync() ÇÔ¼ö°¡ ±¸ÇöµÇ¾î ÀÖÁö ¾ÊÀº °æ¿ìµµ Á¾Á¾ ÀÖ½À´Ï´Ù. ±ô¹ÚÀÓ ¾øÀÌ
±×¸®±â ¿¹Á¦·Î¼, ÀÚ½ÅÀ» ±×¸®±â À§ÇØ ¿©·¯ °¡Áö ¹æ¹ýÀ» »ç¿ëÇÏ´Â µ¥¸ð
°ÔÀÓÀÇ Äڵ带 º¸½Ê½Ã¿À.
"while (!key[KEY_ENTER]);"°¡ µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù.
ÃÖÀûȸ¦ ÇÏÁö ¾ÊÀº »óÅ·ΠÄڵ尡 µ¿ÀÛÇÑ´Ù¸é, ±×°ÍÀº ÄÄÆÄÀÏ·¯ÀÇ À߸øÀÏ ¼ö
ÀÖ½À´Ï´Ù! ÄÄÆÄÀÏ·¯°¡ ¸»À» Àß µè°Ô Çϱâ À§ÇØ ´ÙÀ½°ú °°ÀÌ ½ÃµµÇÒ ¼ö
ÀÖ½À´Ï´Ù:
while (!key[KEY_ENTER])
yield_timeslice();
±×·¸Áö¸¸ ÀÌ °æ¿ì, readkey()¸¦ ´ë½Å »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀ» °ÍÀÔ´Ï´Ù.
¶Ç´Â ÄÄÆÄÀÏ·¯ÀÇ ¹öÀüÀ» ¹Ù²Ù´Â °ÍÀ» °í·ÁÇÏ¿© º¸½Ê½Ã¿À.
http://alleg.sourceforge.net/maillist.html¸¦ º¸½Ê½Ã¿À.