NESããã°ã©ãã³ã°äºå§ã
ãã¡ãã³ã³æ¦å£«ã«ãªãã¹ãããã¡ãã³ã³ï¼NESï¼ã®ããã°ã©ãã³ã°ãå§ãããã¨ãããããæ
å ±åéã¨ç°å¢è¨å®ããããã®ã§è¦ãæ¸ãã
ã¾ãä¸éãèªãã ã®ã以ä¸ã®ï¼ãµã¤ãã
- ギコ猫でもわかるファミコンプログラミング
- NES研究室 - from id:cojiãã
ã§ãæ¼ ç¶ã¨ãã®ä»çµã¿ãããã£ã¦ãããã¹ãã©ã¤ããèæ¯ã¨ãã¬ããã使ã£ã¦ãåãã¹ãã©ã¤ãã§ãè²ãå¤ãã¦è¡¨ç¤ºããã¨è²·ã£ã¦ä»çµã¿ã¯ä»¥åã©ããã§èªãã ãã¨ããã£ãããZ80ã®ã¢ã»ã³ãã©ã¯ææ¸ãããã¨ãããã®ã§ããªãã¨ããªãäºæãã¨ããã§ãここã«6502ã®å½ä»¤ã»ãããæ¸ããã¦ããããã©ãVirtualNESã®èª¬æã«ãããæªå
¬éå½ä»¤ããªããã®ãåå¨ããäºæããã£ã¦ããããå«ã¾ãã¦ãããããããªããã¾ãã¾ã ä»å¾ãããã調ã¹ã¦ãããã
ç¶ãã¦ç°å¢æ´åããã¦ã³ãã¼ããããã®ã¯ä»¥ä¸ã
- cc65 - ã³ã³ãã¤ã©
- NESASM - ãã¡ããã³ã³ãã¤ã©
- VirtualNES - VMï¼ãããã¯ã¨ãã¥ã¬ã¼ã¿ï¼
- YY-CHR - ã¿ã¤ã«ã¨ãã£ã¿
ã³ã³ãã¤ã©ã¯ãギコ猫でもわかるファミコンプログラミングã¯NESASMãNES研究室ã¯cc65ã使ã£ã¦ãã¦ãã©ã£ã¡ãããã®ãããããããªãã£ãã®ã§ãã¨ããããNES研究室のサンプルãã³ã³ãã¤ã«ãã¦ã¿ããã¨ã«ãã¦ãcc65ã®ç°å¢ãä½ãããã¦ã³ãã¼ãããã¹ããã¡ã¤ã«ã¯ã©ãããããã¹ãã®OSåãã®ãã¡ã¤ã«ï¼cc65-win32-2.11.0-1.zipï¼ã¨ãã¿ã¼ã²ããå¥ã®ãã¡ã¤ã«ï¼cc65-nes-2.11.0-1.zipï¼ãå¿
è¦ã¨ããæããªã®ã§ããããããã¦ã³ãã¼ããã¦åããã£ã¬ã¯ããªï¼c:\cc65ã¨ãã«ããï¼ã«æ¾ãè¾¼ãã ããªããVBScriptã§æ¸ãããã¤ã³ã¹ãã¼ã©ãã¤ãã¦ããããä½ã¨ãªãä¸å®ã ã£ãã®ã§ãèªåã§cc65-win32-2.11.0-1.zipã®binãã£ã¬ã¯ããªã®å ´æãç°å¢å¤æ°PATHã«è¿½å ããã
ã§ããµã³ãã«ã¯makefileãã¤ãã¦ãããã©ãWindowsç°å¢ã«makeãå
¥ã£ã¦ãªãã£ãã®ã§ãCygwinã§è¿½å ãã¦ãNES研究室のサンプルãã³ã³ãã¤ã«ãç´ãã¦ã¿ãã¨ãããç¡äºã³ã³ãã¤ã«ã§ãããincludeã¨ãã¯ç°å¢å¤æ°ã«ã¯è¨å®ãã¦ããªããã©ãã¢ã»ã³ãã©ã ãã ããé¢ä¿ãªããã
ç¶ãã¦ãYY-CHRã§ããµã³ãã«å
ã®character.chrãéãã¦ã¿ãã¨ãæ°åã²ãããªã«ã¿ã«ããå
¥ã£ã¦ãããããããè±æ°åã¯ASCIIã®ã³ã¼ãã¨åãä½ç½®ã«ãªãããã«ç½®ããã¦ãããã ãªãã ããããµã³ãã«ã®ã½ã¼ã¹ã³ã¼ãï¼sample1.asmï¼ã§ä»¥ä¸ã®ããã«æåãæå®ã§ããããã ã
; 表示æåå string: .byte "HELLO, WORLD!"
ãªã®ã§ããããæ¸ãæããã°æåãå¤æ´ã§ãããã ãã§ãå¤ãã¦ã¿ãã
; 表示æåå string: .byte "Takaaki Mizuno"
åæã«ãæååã®ãµã¤ãºãè¨å®ãã¦ããé¨åããã£ãã®ã§ãããæ¸ãæããã
ldy #$0e ; 14æå表示
ã§ãã³ã³ãã¤ã«ãããæ£ããåä½ããããããªæãã§ç¬¬ï¼æ¥ç®çµäºã