编写SNES游戏

作为布鲁克林日落公园的​​一名中学生,我天真地感觉到我在视频游戏开发方面有前途。 经过多年的NES / SNES马拉松比赛,我惊叹于Dreamcast。 经过短暂的视频游戏开发之后,我宣誓就职,现在致力于制作软件,为客户和客户提供最大的价值。 在现代软件开发的日常工作中,我与过去三十年来迅速发展的一门艺术的根源失去了联系。 从组装的视频游戏到现代的开放源代码工具,景观已成为技术趋势和无穷选择的潮流。 无休止地监测技术爆炸所引起的疲劳是本文的动机。 这是对基础知识的回归。

开发人员工作站

我正在使用已安装开发人员工具的OSX。

安装npm-开个玩笑。

WLA DX —理光5A22芯片编译器

 酿造安装cmake 
git clone git@github.com:vhelin / wla-dx.git
cmake -G“ Unix Makefiles”。
使
进行安装
  wla-65816#snes汇编器 

Snes 9x模拟器

我的最爱-http://www.snes9x.com/downloads.php

你好世界—绿屏

将Header.inc和Snes_Init.asm文件复制到计算机上的文件夹中。 将以下内容复制到与前两个目录相同的目录中的helloworld.asm中。

  ;  SNES初始化教程代码 
; 此代码在公共领域。

.include“ Header.inc”
.include“ Snes_Init.asm”

; 需要满足“ Header.inc”中的中断定义。
VBlank:
RTI

.bank 0
.section“ MainCode”

开始:
; 初始化SNES。
Snes_Init

; 将背景色设置为绿色。
9月#$ 20; 将A寄存器设置为8位。
lda #%10000000; 通过关闭屏幕强制VBlank。
sta $ 2100
lda #%11100000; 加载绿色的低字节。
sta $ 2122
lda #%00000000; 加载绿色的高字节。
sta $ 2122
lda #%00001111; 结束VBlank,将亮度设置为15(100%)。
sta $ 2100

; 永远循环。
永远:
永远的jmp

。结束

编译中

  wla-65816 -v helloworld.asm#吐出helloworld.o目标文件 

连结中

创建一个helloworld.link文件,其中包含

  [对象] 
helloworld.o

创建ROM

  wlalink -v helloworld.link helloworld.smc#吐出helloworld.smc 

运行ROM

双击helloworld.smc或将其拖到您的Snes9x仿真器上将启动ROM。 加载后,您将看到自制的SNES绿屏栩栩如生。 不错的工作。

https://github.com/jurgiles/snes-dev

资源资源

超级NES编程/初始化教程-Wikibooks,开放世界的开放书籍
在本教程中,我们将介绍如何初始化超级任天堂以及将背景更改为美丽的绿色阴影。 en.wikibooks.org