環境
- Windows 10 Home (64bit)
手順
アセンブラの用意
cc65、nesasmも試してみたけどasm6が作りやすいかと。
[Tools - Nesdev wiki]
(https://wiki.nesdev.com/w/index.php/Tools)
からasm6.zip
をダウンロード。
例)C:\etc\asm6
に配置。
サンプルソースの作成
例)C:\Projects\nes
に作成。
test1.asm
; asm6 test1.asm test1.nes
PRG_COUNT = 1
; iNES header
.db "NES", $1a
.db PRG_COUNT ; PRG-ROM
.db $01 ; CHR-ROM
.db $00 ; mapper / mirroring
.dsb 9, $00
.base $10000 - (PRG_COUNT * $4000)
Reset:
sei
ldx #$ff
txs
lda #%00000001
sta $4015
lda #%10111111
sta $4000
lda #$00
sta $4001
lda #%11010101
sta $4002
lda #$00
sta $4003
-
jmp -
.org $fffa
.dw 0 ; NMI
.dw Reset
.dw 0 ; IRQ
.incbin "tiles.chr"
ビルド
dev.bat
@echo off
path C:\etc\asm6;%path%
cmd
のようなバッチファイルを用意すると便利。
C:\Projects\nes>fsutil file createNew tiles.chr 8192
ファイル C:\Projects\nes\tiles.chr が作成されました
C:\Projects\nes>asm6 test1.asm test1.nes
pass 1..
test1.nes written (24592 bytes).
NESエミュレータで実行
何でもいいが取り敢えず
[nesterJ - NES Emulator for Win32]
(http://www.dcn.ne.jp/~otim2/nesterj/dl.html)
からnj051b_ja.zip
をダウンロード。
test1.nes
を実行する。
[FaithJS]
(http://sairoutine.github.io/faithjs/public/)
というWebブラウザ版NESエミュレータもある。
参考リンク
- [ASM6 templates - nesdev.com]
(https://forums.nesdev.com/viewtopic.php?t=6160) - [ファミコンはいいぞ - Qiita]
(https://qiita.com/jumdtw/items/1f78f5327fb14b8e3d8c) - [NES研究室]
(http://hp.vector.co.jp/authors/VA042397/nes/index.html)