¡¡MSX¤Ë¤Ï¼¡¤Ë¼¨¤¹¤è¤¦¤Ê3·ÏÅý¤Î²»À¼½ÐÎϵ¡Ç½¤¬Â¸ºß¤·¤Þ¤¹¡£¤¿¤À¤·¡¢£¤ÏMSX¤Ëɸ½àŪ¤ËÉÕ°¤¹¤ë¤â¤Î¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢Ëܽñ¤Ç¤Ï°·¤¤¤Þ¤»¤ó¡£¤³¤³¤Ç¤Ï¤½¤ì°Ê³°¤Î¡¤È¢¤Îµ¡Ç½¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£
¡PSG¤Ë¤è¤ë²»À¼½ÐÎÏ(3¥Á¥ã¥ó¥Í¥ë, 8¥ª¥¯¥¿¡¼¥Ö)
¢1¥Ó¥Ã¥ÈI/O¥Ý¡¼¥È¤Ë¤è¤ë²»À¼½ÐÎÏ
£MSX-AUDIO¤Ë¤è¤ë²»À¼½ÐÎÏ (FM²»¸»)¡Ä¡Ä¡Ä¡ÄËܽñ¤Ç¤ÏÀâÌÀ¤·¤Ê¤¤¡£
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¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë)¡£¤³¤Î¤¿¤á²»Äø¤ä¥ê¥º¥à¤Î¤Õ¤é¤Ä¤¤¬¤Þ¤Ã¤¿¤¯¤Ê¤¤¡£
¡¡¾å¤Î¥Ö¥í¥Ã¥¯¥À¥¤¥¢¥°¥é¥à¤Ç¤Ï¾Êά¤·¤Þ¤·¤¿¤¬¡¢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¤Ë¼¨¤·¤Þ¤¹¡£
²»Ì¾¡À¥ª¥¯¥¿¡¼¥Ö | 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 |
ɽ5.1¡¡¥È¡¼¥ó¼þÇÈ¿ô¤ÎÀßÄê(²»³¬¥Ç¡¼¥¿)
¡ü ¥Î¥¤¥º¼þÇÈ¿ô¤ÎÀßÄê(R6)
¡¡Çúȯ²»¤äÇȤβ»¤Ê¤É¤Î¹çÀ®¤Ë¤«¤«¤»¤Ê¤¤¤Î¤¬¥Î¥¤¥º²»¤Ç¤¹¡£PSG¤Ï¡¢¥Î¥¤¥º¥¸¥§¥Í¥ì¡¼¥¿¤Ë¤è¤Ã¤ÆȯÀ¸¤µ¤»¤¿¥Î¥¤¥º¤òA¡ÁC¤Î³Æ¥Á¥ã¥ó¥Í¥ë¤Ë½ÐÎϤǤ¤Þ¤¹¡£¥Î¥¤¥º¥¸¥§¥Í¥ì¡¼¥¿¤Ï1¤Ä¤·¤«Â¸ºß¤·¤Ê¤¤¤¿¤á¡¢³Æ¥Á¥ã¥ó¥Í¥ë¶¦Ä̤ËƱ°ì¤Î¥Î¥¤¥º¤¬½ÐÎϤµ¤ì¤Þ¤¹¡£¥Î¥¤¥º¤ÏÊ¿¶Ñ¼þÇÈ¿ô¤òÊѤ¨¤ë¤³¤È¤Ë¤è¤Ã¤ÆÍÍ¡¹¤Ê¸ú²Ì¤ò½Ð¤¹¤³¤È¤¬²Äǽ¤Ç¤¢¤ê¡¢R6¥ì¥¸¥¹¥¿¤¬¤½¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£¤³¤Î¥ì¥¸¥¹¥¿¤Î²¼°Ì5¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿(NP)¤Ç´ð½à¼þÇÈ¿ô(fc/16)¤òʬ¼þ¤·¡¢¥Î¥¤¥º¤ÎÊ¿¶Ñ¼þÇÈ¿ô(fn)¤ò·èÄꤷ¤Þ¤¹¡£
¡¡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¤È¤Ê¤ê¤Þ¤¹¡£
¡¡R7¤Î¾å°Ì2¥Ó¥Ã¥È¤Ï²»À¼½ÐÎϤȤϴط¸¤¢¤ê¤Þ¤»¤ó¡£¤³¤ì¤ÏPSG¤¬»ý¤Ä2ËܤÎI/O¥Ý¡¼¥È¤Î¥Ç¡¼¥¿Êý¸þ¤ò·èÄꤹ¤ë¤â¤Î¤Ç¡¢Âбþ¤¹¤ë¥Ó¥Ã¥È¤¬0¤Î»þ¤ËÆþÎϥ⡼¥É¡¢1¤Î»þ¤Ë½ÐÎϥ⡼¥É¤¬ÀßÄꤵ¤ì¤Þ¤¹¡£MSX¤Ç¤Ï¥Ý¡¼¥ÈA¤òÆþÎÏ¡¢¥Ý¡¼¥ÈB¤ò½ÐÎϤȤ·¤Æ»ÈÍѤ·¤Æ¤¤¤Þ¤¹¤«¤é¡¢¤Ä¤Í¤Ë¥Ó¥Ã¥È6=¡È0¡É¡¢¥Ó¥Ã¥È7=¡È1¡É¤ÈÀßÄꤷ¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¡ü ²»À¼¤ÎÀßÄê(R8¡ÁR10)
¡¡R8¡ÁR10¤Ï³Æ¥Á¥ã¥ó¥Í¥ë¤Î²»Î̤ò»ØÄꤹ¤ë¥ì¥¸¥¹¥¿¤Ç¤¹¡£4¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿(0¡Á15)¤Ç²»Î̤ò¸ÇÄêŪ¤Ë»ØÄꤹ¤ëÊýË¡¤È¥¨¥ó¥Ù¥í¡¼¥×¤òÍѤ¤¤Æ¥Ó¥Ö¥é¡¼¥È¤ä¸º¿ê²»¤Ê¤É¤Î¸ú²Ì²»¤òȯÀ¸¤µ¤»¤ëÊýË¡¤Î2Ä̤꤬Áª¤Ù¤Þ¤¹¤¬¡¢¤½¤ÎÁªÂò¤â¤³¤Î¥ì¥¸¥¹¥¿¤Ç¹Ô¤¤¤Þ¤¹¡£
¡¡¤Ê¤ª¡¢¤³¤ì¤é¤Î¥ì¥¸¥¹¥¿¤Î¥Ó¥Ã¥È4¤¬¡È0¡É¤Î¾ì¹ç¡¢¥¨¥ó¥Ù¥í¡¼¥×¤Ï»ÈÍѤµ¤ì¤º¡¢¥ì¥¸¥¹¥¿¤Î²¼°Ì4¥Ó¥Ã¥È¤ÎÃÍL(0¡Á15)¤Ë¤è¤Ã¤Æ²»Î̤¬»ØÄꤵ¤ì¤Þ¤¹¡£¤Þ¤¿¡¢¥Ó¥Ã¥È4¤¬¡È1¡É¤Î¾ì¹ç¤Ï¥¨¥ó¥Ù¥í¡¼¥×¿®¹æ¤Ë¤è¤Ã¤Æ²»Î̤¬ÊѲ½¤·¡¢L¤ÎÃͤÏ̵»ë¤µ¤ì¤Þ¤¹¡£
¡ü ¥¨¥ó¥Ù¥í¡¼¥×¼þ´ü¤ÎÀßÄê(R11, R12)
¡¡R11, R12¤Ï¥¨¥ó¥Ù¥í¡¼¥×¤Î¼þ´ü¤ò16¥Ó¥Ã¥È¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ»ØÄꤷ¤Þ¤¹¡£¥Ç¡¼¥¿¤Î¾å°Ì8¥Ó¥Ã¥È¤òR12¤Ç¡¢²¼°Ì8¥Ó¥Ã¥È¤òR11¤ÇÀßÄꤷ¤Þ¤¹¡£
¡¡¤Ê¤ª¡¢¥¨¥ó¥Ù¥í¡¼¥×¤Î¼þ´üT¤È16¥Ó¥Ã¥È¥Ç¡¼¥¿EP¤Î´Ö¤Ë¤Ï¡¢¼¡¤Î¤è¤¦¤Ê´Ø·¸¤¬¤¢¤ê¤Þ¤¹¡£
T=(256*EP)/fc
=(256*EP)/1.7897725 [MHz]
=143.03493*EP [¦Ìs]
¡ü ¥¨¥ó¥Ù¥í¡¼¥×¥Ñ¥¿¡¼¥ó¤ÎÀßÄê(R13)
¡¡R13¤Ï¡¢²¼°Ì4¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ¿Þ5.8¤Î¤è¤¦¤Ë¥¨¥ó¥Ù¥í¡¼¥×¥Ñ¥¿¡¼¥ó¤òÀßÄꤷ¤Þ¤¹¡£Æ±¿Þ¤Ë¼¨¤·¤¿T¤Î´Ö³Ö¤¬R11¤ÈR12¤Ç»ØÄꤵ¤ì¤¿¥¨¥ó¥Ù¥í¡¼¥×¼þ´ü¤ËÁêÅö¤·¤Þ¤¹¡£
¡ü I/O¥Ý¡¼¥È (R14, R15)
¡¡R14¤ÈR15¤Ï8¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿¤ò¥Ñ¥é¥ì¥ë¤ÇÆþ½ÐÎϤ¹¤ë¥Ý¡¼¥È¤Ç¤¹¡£MSX¤Ç¤Ï¤³¤³¤òÈÆÍÑÆþ½ÐÎϵ¡¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤È¤·¤Æ»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£¾Ü¤·¤¯¤Ï5¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
1.2¡¡PSG¤Î¥¢¥¯¥»¥¹
¡¡¥Þ¥·¥ó¸ì¥×¥í¥°¥é¥àÃ椫¤éPSG¤ò¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Ë½Ò¤Ù¤ë¤è¤¦¤Ê¤¤¤¯¤Ä¤«¤ÎBIOS¥ë¡¼¥Á¥ó¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡ü GICINI (0090H/MAIN)¡Ä¡Ä¡Ä¡Ä¡ÄPSG¤Î½é´ü²½
ÆþÎÏ:---
½ÐÎÏ:---
µ¡Ç½:PSG¤Î¥ì¥¸¥¹¥¿¤ò½é´ü²½¤·¡¢¤µ¤é¤ËBASIC¤ÎPLAYʸ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤Îºî¶ÈÎΰè¤Î½é´üÀßÄê¤ò¹Ô¤¦¡£¤³¤Î»þPSG¤Î³Æ¥ì¥¸¥¹¥¿¤Ï¿Þ5.9¤Î¤è¤¦¤ÊÃͤËÀßÄꤵ¤ì¤ë¡£
¡ü 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
½ÐÎÏ:---
µ¡Ç½:¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥¿¥¹¥¯¤È¤·¤Æ¡¢²»³Ú¤¬Î®¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤òȽÄꤷ¡¢¤â¤·Î®¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¥¥å¡¼¤ËÀßÄꤵ¤ì¤¿²»³Ú¤ò±éÁÕ¤¹¤ë¡£
¥ê¥¹¥È5.1¡¡Ã±²»¤ÎȯÀ¸
;=========================================================== ; ; 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¤·¤Æ²»¤ò½Ð¤¹¤È¤¤¤¦Ã±½ã¤Ê¤â¤Î¤Ç¤¹¡£
1.4¡¡1¥Ó¥Ã¥È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤Î¥¢¥¯¥»¥¹
¡¡¤³¤Î1¥Ó¥Ã¥È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤ò¥¢¥¯¥»¥¹¤¹¤ë¤¿¤á¤Ë¡¢¼¡¤Ë¼¨¤¹BIOS¥ë¡¼¥Á¥ó¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¡ü CHGSND (0135H/MAIN)
ÆþÎÏ:A¢«ON/OFF»ØÄê(0=OFF, 0°Ê³°=ON)
½ÐÎÏ:---
µ¡Ç½:A¥ì¥¸¥¹¥¿¤Ë0¤òÆþ¤ì¤Æ¤³¤Î¥ë¡¼¥Á¥ó¤ò¥³¡¼¥ë¤¹¤ë¤È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤Î¥Ó¥Ã¥È¤òOFF¤Ë¤·¡¢0°Ê³°¤ÎÃͤòÆþ¤ì¤Æ¥³¡¼¥ë¤¹¤ë¤È¥µ¥¦¥ó¥É¥Ý¡¼¥È¤Î¥Ó¥Ã¥È¤òON¤Ë¤¹¤ë¡£
¥ê¥¹¥È5.2¡¡¥«¥»¥Ã¥È¥Æ¡¼¥×¤ÎºÆÀ¸
;=================================================== ; ; 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