//%Âè1ÈÇÂè15ºþ P.264-274 //!!!1¾Ï¡¡PSG¤È²»À¼½ÐÎÏ ¡¡MSX¤Ë¤Ï¼¡¤Ë¼¨¤¹¤è¤¦¤Ê3·ÏÅý¤Î²»À¼½ÐÎϵ¡Ç½¤¬Â¸ºß¤·¤Þ¤¹¡£¤¿¤À¤·¡¢­£¤ÏMSX¤Ëɸ½àŪ¤ËÉÕ°¤¹¤ë¤â¤Î¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢Ëܽñ¤Ç¤Ï°·¤¤¤Þ¤»¤ó¡£¤³¤³¤Ç¤Ï¤½¤ì°Ê³°¤Î­¡¤È­¢¤Îµ¡Ç½¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£ ­¡PSG¤Ë¤è¤ë²»À¼½ÐÎÏ(3¥Á¥ã¥ó¥Í¥ë, 8¥ª¥¯¥¿¡¼¥Ö) ­¢1¥Ó¥Ã¥ÈI/O¥Ý¡¼¥È¤Ë¤è¤ë²»À¼½ÐÎÏ ­£MSX-AUDIO¤Ë¤è¤ë²»À¼½ÐÎÏ (FM²»¸»)¡Ä¡Ä¡Ä¡ÄËܽñ¤Ç¤ÏÀâÌÀ¤·¤Ê¤¤¡£ ,{c H},{BGCOLOR:dddddd|BOLD|CENTER} ,{c NH},{BGNOCOL|NORMAL} ,{c C},{CENTER} ,{c L},{LEFT} !!1.1¡¡PSG¤Îµ¡Ç½ ¡¡MSX¤Î²»³Ú±éÁÕµ¡Ç½¤ª¤è¤ÓBEEP²»¤ÎȯÀ¸¤Ë¤Ï¡¢AY-3-8910ÁêÅö¤ÎLSI¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ÎLSI¤ÏPSG(Programmable Sound Generator)¤È¤â¸Æ¤Ð¤ì¡¢¤½¤Î̾¤¬¼¨¤¹¤È¤ª¤ê¡¢¥×¥í¥°¥é¥à¤Ë¤è¤êÊ£»¨¤Ê²»³Ú¤ä¤µ¤Þ¤¶¤Þ¤Ê¸ú²Ì²»¤òȯÀ¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤½¤ÎÆÃħ¤ò¤Þ¤È¤á¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¡¦3¥Á¥ã¥ó¥Í¥ë¤Î¥È¡¼¥óȯÀ¸´ï¤ò»ý¤Á¡¢³Æ¥Á¥ã¥ó¥Í¥ë¤Ë¤ÏÆÈΩ¤Ë¡¢4096¼ï¤Î²»³¬(8¥ª¥¯¥¿¡¼¥Ö¤ËÁêÅö)¤È16Ãʳ¬¤Î²»Î̤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ ¡¦¥¨¥ó¥Ù¥í¡¼¥×¥Ñ¥¿¡¼¥ó¤Ë¤è¤Ã¤Æ¡¢¥Ô¥¢¥Î¤ä¥ª¥ë¥¬¥ó¤Î¤è¤¦¤Ê²»¿§¤â½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£¤¿¤À¤·¡¢¥¨¥ó¥Ù¥í¡¼¥×ȯÀ¸´ï¤¬¤Ò¤È¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¤¿¤á¡¢²»¿§¤òÊѤ¨¤é¤ì¤ë¤Î¤Ï´ðËÜŪ¤Ë1¥Á¥ã¥ó¥Í¥ë¤À¤±¤Ç¤¢¤ë¡£ ¡¦Æ⢤¹¤ë¥Î¥¤¥ºÈ¯À¸´ï¤Ë¤è¤Ã¤Æ¡¢É÷¤Î²»¤äÇȤβ»¤Î¤è¤¦¤Ê¸ú²Ì²»¤âÍưפËÆÀ¤é¤ì¤ë¡£¤¿¤À¤·¡¢¥Î¥¤¥ºÈ¯À¸´ï¤¬¤Ò¤È¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¤¿¤á¡¢¥Î¥¤¥º¤Ç½ÐÎϤǤ­¤ë¤Î¤Ï´ðËÜŪ¤Ë1¥Á¥ã¥ó¥Í¥ë¤À¤±¤Ç¤¢¤ë¡£ ¡¦ÆþÎÏ¥¯¥í¥Ã¥¯fc¤òʬ¼þ¤¹¤ë¤³¤È¤Ç¡¢¥È¡¼¥ó¤ä¥¨¥ó¥Ù¥í¡¼¥×¤ò¤Ï¤¸¤á¤È¤¹¤ëɬÍפʤ¹¤Ù¤Æ¤Î¼þÇÈ¿ô¤òÆÀ¤Æ¤¤¤ë(¤Ê¤ªMSX¤Ç¤Ï¡¢fc=1.7897725MHz¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë)¡£¤³¤Î¤¿¤á²»Äø¤ä¥ê¥º¥à¤Î¤Õ¤é¤Ä¤­¤¬¤Þ¤Ã¤¿¤¯¤Ê¤¤¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.1.svg,,size:730x290}} '''¿Þ5.1¡¡PSG¤Î¥Ö¥í¥Ã¥¯¥À¥¤¥¢¥°¥é¥à''' {{div_end}} ¡¡¾å¤Î¥Ö¥í¥Ã¥¯¥À¥¤¥¢¥°¥é¥à¤Ç¤Ï¾Êά¤·¤Þ¤·¤¿¤¬¡¢PSG¤Ï²»À¼È¯À¸¤Îµ¡Ç½¤È¤Ï¤Þ¤Ã¤¿¤¯Ê̤Ë2¤Ä¤ÎÆþ½ÐÎϥݡ¼¥È¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£MSX¤Ç¤Ï¤³¤ì¤òÈÆÍÑÆþ½ÐÎϥݡ¼¥È¤È¤·¤Æ¡¢¥¸¥ç¥¤¥¹¥Æ¥£¥Ã¥¯¡¢¥¿¥Ã¥Á¥Ñ¥Ã¥É¡¢¥Ñ¥É¥ë¡¢¥Þ¥¦¥¹¤Ê¤É¤ÎÆþ½ÐÎÏÁõÃ֤ȤÎÀܳ¤Ë¤âÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£¤Ê¤ª¡¢¤³¤ì¤é¤ÎÈÆÍÑÆþ½ÐÎϥݡ¼¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢5¾Ï¤ÇÀâÌÀ¤¹¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£ '''¡ü PSG¤Î¥ì¥¸¥¹¥¿''' ¡¡PSG¤¬²»À¼½ÐÎϤκî¶È¤ò¤¹¤Ù¤Æ¼Â¹Ô¤·¤Æ¤¯¤ì¤ë¤Î¤Ç¡¢CPU¤Î»Å»ö¤Ïñ¤Ë²»¤¬ÊѲ½¤¹¤ë»þÅÀ¤ÇPSG¤Ë¤½¤ì¤ò¶µ¤¨¤ë¤³¤È¤À¤±¤È¤Ê¤ê¤Þ¤·¤¿¡£¤³¤ì¤Ï¿Þ5.2¤Ë¼¨¤·¤¿¤è¤¦¤ÊPSGÆâÉô¤Î16¸Ä¤Î8¥Ó¥Ã¥È¥ì¥¸¥¹¥¿¤ËÃͤò½ñ¤­¹þ¤à¤³¤È¤Ë¤è¤Ã¤Æ¹Ô¤¤¤Þ¤¹¡£ ¡¡°Ê²¼¤Ë¡¢¤³¤ì¤é¤Î¥ì¥¸¥¹¥¿¤ÎÌò³ä¤È¤½¤Î»ÈÍÑË¡¤òÀâÌÀ¤·¤Þ¤¹¡£ '''¡ü ¥È¡¼¥ó¼þÇÈ¿ô¤ÎÀßÄê(R0¡ÁR5)''' ¡¡A, B, C³Æ¥Á¥ã¥ó¥Í¥ë¤Î¥È¡¼¥ó¼þÇÈ¿ô¤ÏR0¡ÁR5¤Ë¤è¤Ã¤ÆÀßÄꤷ¤Þ¤¹¡£¤Þ¤ºPSGÆâ¤ÇÆþÎÏ¥¯¥í¥Ã¥¯(fc=1.7897725MHz)¤ò16ʬ¼þ¤·¡¢¤½¤ì¤ò´ð½à¼þÇÈ¿ô¤È¤·¤Þ¤¹¡£¤Þ¤¿³Æ¥Á¥ã¥ó¥Í¥ë¤Ï¡¢¤³¤Î´ð½à¼þÇÈ¿ô¤ò¤½¤ì¤¾¤ì¤Ë³ä¤êÅö¤Æ¤é¤ì¤¿12¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿¤Çʬ¼þ¤·¤ÆºÇ½ªÅª¤Ê²»Äø¤òÆÀ¤Þ¤¹¡£12¥Ó¥Ã¥È¤Îʬ¼þ¥Ç¡¼¥¿(TP)¤ÈȯÀ¸¤¹¤ë²»¤Î¼þÇÈ¿ô(ft)¤Ë¤Ï¼¡¤Î¤è¤¦¤Ê´Ø·¸¤¬¤¢¤ê¤Þ¤¹¡£ '''ft=fc/(16*TP)''' '''¡¡=0.11186078125/TP [MHz]''' '''¡¡=111860.78125/TP [Hz]''' ¡¡12¥Ó¥Ã¥È¤Îʬ¼þ¥Ç¡¼¥¿TP¤Ï¡¢³Æ¥Á¥ã¥ó¥Í¥ë¤´¤È¤Ë¾å°Ì4¥Ó¥Ã¥È¤ÎÁÆÄ´À°ÃÍCT¤È²¼°Ì8¥Ó¥Ã¥È¤ÎÈùÄ´À°ÃÍFT¤Ë¤è¤Ã¤Æ¡¢¿Þ5.3¤Î¤è¤¦¤Ë»ØÄꤵ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢²»³¬¤òºî¤ë¤¿¤á¤Î¥ì¥¸¥¹¥¿¤ÎÀßÄê¤òɽ5.1¤Ë¼¨¤·¤Þ¤¹¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.2.svg,,size:550x560}} '''¿Þ5.2¡¡PSG¤Î¥ì¥¸¥¹¥¿¹½À®''' {{div_end}} {{div_begin style='text-align:center;'}} {{svg ¿Þ5.3.svg,,size:680x200}} '''¿Þ5.3¡¡²»Äø¤ÎÀßÄê''' {{div_end}} ,{t},{CENTER} ,{c},{C|NH|SIZE:120},{C|NH|SIZE:60},{C|NH|SIZE:60},{C|NH|SIZE:60},{C|NH|SIZE:60},{C|NH|SIZE:60},{C|NH|SIZE:60},{C|NH|SIZE:60},{C|NH|SIZE:60} ,²»Ì¾¡À¥ª¥¯¥¿¡¼¥Ö,1,2,3,4,5,6,7,8 ,C ,D5D,6AF,357,1AC,D6,6B,35,1B ,C#,C9C,64E,327,194,CA,65,32,19 ,D ,BE7,5F4,2FA,17D,BE,5F,30,18 ,D#,B3C,59E,2CF,168,B4,5A,2D,16 ,E ,A9B,54E,2A7,153,AA,55,2A,15 ,F ,A02,501,281,140,A0,50,28,14 ,F#,973,4BA,25D,12E,97,4C,26,13 ,G ,8EB,476,23B,11D,8F,47,24,12 ,G#,86B,436,21B,10D,87,43,22,11 ,A ,7F2,3F9,1FD,FE ,7F,40,20,10 ,A#,780,3C0,1E0,F0 ,78,3C,1E,F ,B ,714,38A,1C5,E3 ,71,39,1C,E {{div_begin style='text-align:center;'}} '''ɽ5.1¡¡¥È¡¼¥ó¼þÇÈ¿ô¤ÎÀßÄê(²»³¬¥Ç¡¼¥¿)''' {{div_end}} '''¡ü ¥Î¥¤¥º¼þÇÈ¿ô¤ÎÀßÄê(R6)''' ¡¡Çúȯ²»¤äÇȤβ»¤Ê¤É¤Î¹çÀ®¤Ë¤«¤«¤»¤Ê¤¤¤Î¤¬¥Î¥¤¥º²»¤Ç¤¹¡£PSG¤Ï¡¢¥Î¥¤¥º¥¸¥§¥Í¥ì¡¼¥¿¤Ë¤è¤Ã¤ÆȯÀ¸¤µ¤»¤¿¥Î¥¤¥º¤òA¡ÁC¤Î³Æ¥Á¥ã¥ó¥Í¥ë¤Ë½ÐÎϤǤ­¤Þ¤¹¡£¥Î¥¤¥º¥¸¥§¥Í¥ì¡¼¥¿¤Ï1¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¤¿¤á¡¢³Æ¥Á¥ã¥ó¥Í¥ë¶¦Ä̤ËƱ°ì¤Î¥Î¥¤¥º¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥Î¥¤¥º¤ÏÊ¿¶Ñ¼þÇÈ¿ô¤òÊѤ¨¤ë¤³¤È¤Ë¤è¤Ã¤ÆÍÍ¡¹¤Ê¸ú²Ì¤ò½Ð¤¹¤³¤È¤¬²Äǽ¤Ç¤¢¤ê¡¢R6¥ì¥¸¥¹¥¿¤¬¤½¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£¤³¤Î¥ì¥¸¥¹¥¿¤Î²¼°Ì5¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿(NP)¤Ç´ð½à¼þÇÈ¿ô(fc/16)¤òʬ¼þ¤·¡¢¥Î¥¤¥º¤ÎÊ¿¶Ñ¼þÇÈ¿ô(fn)¤ò·èÄꤷ¤Þ¤¹¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.4.svg,,size:380x80}} '''¿Þ5.4¡¡¥Î¥¤¥º¼þÇÈ¿ô¤ÎÀßÄê''' {{div_end}} ¡¡NP¤Èfn¤Î´Ö¤Ë¤Ï¼¡¤Î¤è¤¦¤Ê´Ø·¸¤¬¤¢¤ê¤Þ¤¹¡£ '''fn=fc/(16*NP)''' '''¡¡=0.11186078125/NP [MHz]''' '''¡¡=111860.78125/NP [Hz]''' NP¤Ï1¡Á31¤ÎÃͤò¤È¤ê¤Þ¤¹¤«¤é¡¢¥Î¥¤¥º¤ÎÊ¿¶Ñ¼þÇÈ¿ô¤Ï3.6kHz¡Á111.9kHz¤ÎÈϰϤÇÀßÄê¤Ç¤­¤Þ¤¹¡£ '''¡ü ²»¤Î¥ß¥­¥·¥ó¥°(R7)''' ¡¡R7¤Ï³Æ¥Á¥ã¥ó¥Í¥ë¤´¤È¤Ë¡¢¥È¡¼¥ó¥¸¥§¥Í¥ì¡¼¥¿¤È¥Î¥¤¥º¥¸¥§¥Í¥ì¡¼¥¿¤Î½ÐÎϤòÁªÂò¤¹¤ë¤¿¤á¤Î¥ì¥¸¥¹¥¿¤Ç¡¢¥Î¥¤¥º¤È¥È¡¼¥ó¤Îξ¼Ô¤òº®¹ç¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£¿Þ5.5¤Ë¼¨¤·¤¿¤è¤¦¤Ë¡¢R7¤Î²¼°Ì3¥Ó¥Ã¥È(B0¡ÁB2)¤Ï¥È¡¼¥ó½ÐÎÏ¡¢¼¡¤Î3¥Ó¥Ã¥È(B3¡ÁB5)¤Ï¥Î¥¤¥º½ÐÎϤÎÀ©¸æ¤ò¹Ô¤¤¤Þ¤¹¡£¤É¤Á¤é¤âÂбþ¤¹¤ë¥Ó¥Ã¥È¤¬0¤Î»þ¤Ë½ÐÎÏON¡¢1¤Î»þ¤ËOFF¤È¤Ê¤ê¤Þ¤¹¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.5.svg,,size:600x230}} '''¿Þ5.5¡¡³Æ¥Á¥ã¥ó¥Í¥ë¤Î½ÐÎÏÁªÂò''' {{div_end}} ¡¡R7¤Î¾å°Ì2¥Ó¥Ã¥È¤Ï²»À¼½ÐÎϤȤϴط¸¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤ÏPSG¤¬»ý¤Ä2ËܤÎI/O¥Ý¡¼¥È¤Î¥Ç¡¼¥¿Êý¸þ¤ò·èÄꤹ¤ë¤â¤Î¤Ç¡¢Âбþ¤¹¤ë¥Ó¥Ã¥È¤¬0¤Î»þ¤ËÆþÎϥ⡼¥É¡¢1¤Î»þ¤Ë½ÐÎϥ⡼¥É¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£MSX¤Ç¤Ï¥Ý¡¼¥ÈA¤òÆþÎÏ¡¢¥Ý¡¼¥ÈB¤ò½ÐÎϤȤ·¤Æ»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤«¤é¡¢¤Ä¤Í¤Ë¥Ó¥Ã¥È6=¡È0¡É¡¢¥Ó¥Ã¥È7=¡È1¡É¤ÈÀßÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ '''¡ü ²»À¼¤ÎÀßÄê(R8¡ÁR10)''' ¡¡R8¡ÁR10¤Ï³Æ¥Á¥ã¥ó¥Í¥ë¤Î²»Î̤ò»ØÄꤹ¤ë¥ì¥¸¥¹¥¿¤Ç¤¹¡£4¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿(0¡Á15)¤Ç²»Î̤ò¸ÇÄêŪ¤Ë»ØÄꤹ¤ëÊýË¡¤È¥¨¥ó¥Ù¥í¡¼¥×¤òÍѤ¤¤Æ¥Ó¥Ö¥é¡¼¥È¤ä¸º¿ê²»¤Ê¤É¤Î¸ú²Ì²»¤òȯÀ¸¤µ¤»¤ëÊýË¡¤Î2Ä̤꤬Áª¤Ù¤Þ¤¹¤¬¡¢¤½¤ÎÁªÂò¤â¤³¤Î¥ì¥¸¥¹¥¿¤Ç¹Ô¤¤¤Þ¤¹¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.6.svg,,size:440x170}} '''¿Þ5.6¡¡²»Î̤ÎÀßÄê''' {{div_end}} ¡¡¤Ê¤ª¡¢¤³¤ì¤é¤Î¥ì¥¸¥¹¥¿¤Î¥Ó¥Ã¥È4¤¬¡È0¡É¤Î¾ì¹ç¡¢¥¨¥ó¥Ù¥í¡¼¥×¤Ï»ÈÍѤµ¤ì¤º¡¢¥ì¥¸¥¹¥¿¤Î²¼°Ì4¥Ó¥Ã¥È¤ÎÃÍL(0¡Á15)¤Ë¤è¤Ã¤Æ²»Î̤¬»ØÄꤵ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥Ó¥Ã¥È4¤¬¡È1¡É¤Î¾ì¹ç¤Ï¥¨¥ó¥Ù¥í¡¼¥×¿®¹æ¤Ë¤è¤Ã¤Æ²»Î̤¬ÊѲ½¤·¡¢L¤ÎÃͤÏ̵»ë¤µ¤ì¤Þ¤¹¡£ '''¡ü ¥¨¥ó¥Ù¥í¡¼¥×¼þ´ü¤ÎÀßÄê(R11, R12)''' ¡¡R11, R12¤Ï¥¨¥ó¥Ù¥í¡¼¥×¤Î¼þ´ü¤ò16¥Ó¥Ã¥È¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£¥Ç¡¼¥¿¤Î¾å°Ì8¥Ó¥Ã¥È¤òR12¤Ç¡¢²¼°Ì8¥Ó¥Ã¥È¤òR11¤ÇÀßÄꤷ¤Þ¤¹¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.7.svg,,size:680x200}} '''¿Þ5.7¡¡¥¨¥ó¥Ù¥í¡¼¥×¼þÇÈ¿ô¤ÎÀßÄê''' {{div_end}} ¡¡¤Ê¤ª¡¢¥¨¥ó¥Ù¥í¡¼¥×¤Î¼þ´üT¤È16¥Ó¥Ã¥È¥Ç¡¼¥¿EP¤Î´Ö¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê´Ø·¸¤¬¤¢¤ê¤Þ¤¹¡£ '''T=(256*EP)/fc''' '''=(256*EP)/1.7897725 [MHz]''' '''=143.03493*EP [¦Ìs]''' '''¡ü ¥¨¥ó¥Ù¥í¡¼¥×¥Ñ¥¿¡¼¥ó¤ÎÀßÄê(R13)''' ¡¡R13¤Ï¡¢²¼°Ì4¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ¿Þ5.8¤Î¤è¤¦¤Ë¥¨¥ó¥Ù¥í¡¼¥×¥Ñ¥¿¡¼¥ó¤òÀßÄꤷ¤Þ¤¹¡£Æ±¿Þ¤Ë¼¨¤·¤¿T¤Î´Ö³Ö¤¬R11¤ÈR12¤Ç»ØÄꤵ¤ì¤¿¥¨¥ó¥Ù¥í¡¼¥×¼þ´ü¤ËÁêÅö¤·¤Þ¤¹¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.8.svg,,size:500x450}} '''¿Þ5.8¡¡¥¨¥ó¥Ù¥í¡¼¥×¤ÎÇÈ·Á¤ÎÀßÄê''' {{div_end}} '''¡ü I/O¥Ý¡¼¥È (R14, R15)''' ¡¡R14¤ÈR15¤Ï8¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿¤ò¥Ñ¥é¥ì¥ë¤ÇÆþ½ÐÎϤ¹¤ë¥Ý¡¼¥È¤Ç¤¹¡£MSX¤Ç¤Ï¤³¤³¤òÈÆÍÑÆþ½ÐÎϵ¡¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤È¤·¤Æ»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£¾Ü¤·¤¯¤Ï5¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ !!1.2¡¡PSG¤Î¥¢¥¯¥»¥¹ ¡¡¥Þ¥·¥ó¸ì¥×¥í¥°¥é¥àÃ椫¤éPSG¤ò¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Ë½Ò¤Ù¤ë¤è¤¦¤Ê¤¤¤¯¤Ä¤«¤ÎBIOS¥ë¡¼¥Á¥ó¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ '''¡ü GICINI (0090H/MAIN)¡Ä¡Ä¡Ä¡Ä¡ÄPSG¤Î½é´ü²½''' '''ÆþÎÏ''':--- '''½ÐÎÏ''':--- '''µ¡Ç½''':PSG¤Î¥ì¥¸¥¹¥¿¤ò½é´ü²½¤·¡¢¤µ¤é¤ËBASIC¤ÎPLAYʸ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Îºî¶ÈÎΰè¤Î½é´üÀßÄê¤ò¹Ô¤¦¡£¤³¤Î»þPSG¤Î³Æ¥ì¥¸¥¹¥¿¤Ï¿Þ5.9¤Î¤è¤¦¤ÊÃͤËÀßÄꤵ¤ì¤ë¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.9.svg,,size:490x550}} '''¿Þ5.9¡¡PSG¥ì¥¸¥¹¥¿¤Î½é´üÃÍ''' {{div_end}} '''¡ü WRTPSG (0093H/MAIN)¡Ä¡Ä¡Ä¡Ä¡ÄPSG¥ì¥¸¥¹¥¿¤Ø¤Î¥Ç¡¼¥¿¤Î½ñ¤­¹þ¤ß''' '''ÆþÎÏ''':A¢«PSG¤Î¥ì¥¸¥¹¥¿ÈÖ¹æ ¡¡¡¡¡¡E¢«½ñ¤­¹þ¤à¥Ç¡¼¥¿ '''½ÐÎÏ''':--- '''µ¡Ç½''':A¥ì¥¸¥¹¥¿¤Ç»ØÄꤷ¤¿ÈÖ¹æ¤ÎPSG¥ì¥¸¥¹¥¿¤Ë¡¢E¥ì¥¸¥¹¥¿¤ÎÆâÍƤò½ñ¤­¹þ¤à¡£ '''¡ü RDPSG (0096H/MAIN)¡Ä¡Ä¡Ä¡Ä¡ÄPSG¤Î¥ì¥¸¥¹¥¿¤Î¥Ç¡¼¥¿¤ÎÆɤ߽Ф·''' '''ÆþÎÏ''':A¢«PSG¤Î¥ì¥¸¥¹¥¿ÈÖ¹æ '''½ÐÎÏ''':A¢«»ØÄꤷ¤¿¥ì¥¸¥¹¥¿¤ÎÆâÍÆ '''µ¡Ç½''':A¥ì¥¸¥¹¥¿¤Ç»ØÄꤷ¤¿ÈÖ¹æ¤ÎPSG¥ì¥¸¥¹¥¿¤ÎÆâÍƤòÆɤ߽Ф·¡¢¤½¤ÎÃͤòA¥ì¥¸¥¹¥¿¤Ë³ÊǼ¤¹¤ë¡£ '''¡ü STRTMS (0099H/MAIN)¡Ä¡Ä¡Ä¡Ä¡Ä²»³Ú±éÁդγ«»Ï''' '''ÆþÎÏ''':(QUEUE)¢«Ãæ´Ö¸À¸ì¤ËÊÑ´¹¤µ¤ì¤¿MML '''½ÐÎÏ''':--- '''µ¡Ç½''':¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¿¥¹¥¯¤È¤·¤Æ¡¢²»³Ú¤¬Î®¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤òȽÄꤷ¡¢¤â¤·Î®¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¥­¥å¡¼¤ËÀßÄꤵ¤ì¤¿²»³Ú¤ò±éÁÕ¤¹¤ë¡£ {{div_begin style='text-align:right;'}} '''¥ê¥¹¥È5.1¡¡Ã±²»¤ÎȯÀ¸''' {{div_end}} ;=========================================================== ; ; List 5.1 440 Hz tone ; ;=========================================================== ; WRTPSG EQU 0093H ORG 0B000H ;-------- program start -------- LD A,7 ;Select Channel LD E,00111110B ;Channel A tone := On CALL WRTPSG LD A,8 ;Set Volume LD E,10 CALL WRTPSG LD A,0 ;Set Fine Tune Channel A LD E,0FEH ;Data 0FEH CALL WRTPSG LD A,1 ;Set Coarse Tune Channel A LD E,0 CALL WRTPSG RET END !!1.3¡¡1¥Ó¥Ã¥È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤Ë¤è¤ë²»À¼È¯À¸µ¡Ç½ ¡¡MSX¤Ë¤Ï¡¢PSG¤Î¤Û¤«¤Ë¤â¤¦¤Ò¤È¤Ä²»¸»¤¬Â¸ºß¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï1¥Ó¥Ã¥È¤ÎI/O¥Ý¡¼¥È¤Î½ÐÎϤò¥½¥Õ¥È¤Ç·«¤êÊÖ¤·ON/OFF¤·¤Æ²»¤ò½Ð¤¹¤È¤¤¤¦Ã±½ã¤Ê¤â¤Î¤Ç¤¹¡£ {{div_begin style='text-align:center;'}} {{svg ¿Þ5.10.svg,,size:530x260}} '''¿Þ5.10¡¡1¥Ó¥Ã¥È¥µ¥¦¥ó¥É¥Ý¡¼¥È''' {{div_end}} !!1.4¡¡1¥Ó¥Ã¥È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤Î¥¢¥¯¥»¥¹ ¡¡¤³¤Î1¥Ó¥Ã¥È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤ò¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¡¢¼¡¤Ë¼¨¤¹BIOS¥ë¡¼¥Á¥ó¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ '''¡ü CHGSND (0135H/MAIN)''' '''ÆþÎÏ''':A¢«ON/OFF»ØÄê(0=OFF, 0°Ê³°=ON) '''½ÐÎÏ''':--- '''µ¡Ç½''':A¥ì¥¸¥¹¥¿¤Ë0¤òÆþ¤ì¤Æ¤³¤Î¥ë¡¼¥Á¥ó¤ò¥³¡¼¥ë¤¹¤ë¤È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤Î¥Ó¥Ã¥È¤òOFF¤Ë¤·¡¢0°Ê³°¤ÎÃͤòÆþ¤ì¤Æ¥³¡¼¥ë¤¹¤ë¤È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤Î¥Ó¥Ã¥È¤òON¤Ë¤¹¤ë¡£ {{div_begin style='text-align:right;'}} '''¥ê¥¹¥È5.2¡¡¥«¥»¥Ã¥È¥Æ¡¼¥×¤ÎºÆÀ¸''' {{div_end}} ;=================================================== ; ; List 5.2 Read from cassette tape ; ; Set music tape into tape-recorder ; and run this program. ; Then your MSX will replay it. ; ;=================================================== ; CHGSNG EQU 0135H STMOTR EQU 00F3H RDPSG EQU 0096H BREAKX EQU 00B7H ORG 0B000H ;----- program start ----- 1¥Ó¥Ã¥È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤òÍøÍѤ·¤Æ¥Æ¡¼¥×¤Î²»À¼¤òºÆÀ¸¤¹¤ë START: LD A,1 ;motor on CALL STMOTR LBL01: LD A,14 ;register 14 CALL RDPSG ;read PSG AND 80H ;check CSAR CALL CHGSNG ;change SOUND PORT CALL BREAKX ;check Ctrl-STOP JR NC,LBL01 XOR A ;stop cassette motor CALL STMOTR RET END