红白机 编译6502汇编生成NES文件的通用Makefile
6502汇编生成NES的通用Makefile
#依赖sudo apt install cc65
#DIR_INC = ./include
DIR_SRC = .
DIR_OBJ = .
DIR_BIN = .#(1)Makefile中的 符号 $@, $^, $< 的意思:
# $@ 表示目标文件
# $^ 表示所有的依赖文件
# $< 表示第一个依赖文件
# $? 表示比目标还要新的依赖文件列表
#
#(2)wildcard、notdir、patsubst的意思:
#
# wildcard : 扩展通配符
# notdir : 去除路径
# patsubst :替换通配符
# basename: 仅主文件名(不含扩展名)SRC = $(wildcard ${DIR_SRC}/*.a65)
OBJ = $(patsubst %.a65,${DIR_OBJ}/%.o,$(notdir ${SRC}))
#主文件名
TARGET = $(basename $(OBJ)).nes #BIN_TARGET = ${DIR_BIN}/${TARGET}
BIN_TARGET = ${TARGET}CA = ca65
CL = cl65
#CFLAGS = -g -Wall -I${DIR_INC}
CFLAGS = -g
CONFIG = --target nesrun:${BIN_TARGET}mono /home/yanxiang/Mesen-master/bin/x64/Release/Mesen.exe ${BIN_TARGET}${BIN_TARGET}:${OBJ}$(CL) $(CFLAGS) $(CONFIG) $(OBJ) -o $@${DIR_OBJ}/%.o:${DIR_SRC}/%.a65$(CA) $(CFLAGS) $< -o $@.PHONY:cleanclean:-rm -rf $(OBJ)
6502 C生成NES的通用Makefile
#依赖sudo apt install cc65
#依赖 如下文件 (https://happysoul.github.io/nes/nesdoug/)
# crt0.s nrom_32k_vert.cfg
#LIB/newlib.h
#LIB/neslib.s
#LIB/nesdoug.h
#LIB/nesdoug.sDIR_INC = ./LIB
DIR_SRC = .
DIR_OBJ = .
DIR_BIN = .#(1)Makefile中的 符号 $@, $^, $< 的意思:
# $@ 表示目标文件
# $^ 表示所有的依赖文件
# $< 表示第一个依赖文件
# $? 表示比目标还要新的依赖文件列表
#
#(2)wildcard、notdir、patsubst的意思:
#
# wildcard : 扩展通配符
# notdir : 去除路径
# patsubst :替换通配符
# basename: 仅主文件名(不含扩展名)#代表全部的C文件(包含相对路径)
SRC = $(wildcard ${DIR_SRC}/*.c)
#把$(notdir ${SRC})中的.c代换为.s
ASM = $(patsubst %.c,%.s,$(notdir ${SRC}))
#把$(notdir ${SRC})中的.c代换为.o
OBJ = $(patsubst %.c,%.o,$(notdir ${SRC}))#主文件名
TARGET = $(basename $(OBJ)).nes #BIN_TARGET = ${DIR_BIN}/${TARGET}
BIN_TARGET = ${TARGET}CC = cc65
CA = ca65
CL = cl65
#CFLAGS = -g -Wall -I${DIR_INC}
CFLAGS = -g -I $(DIR_INC)
CONFIG = -t nes
LIBS = nes.lib
CFG= -C nrom_32k_vert.cfgrun:${BIN_TARGET}mono /home/yanxiang/Mesen/Mesen.exe ${BIN_TARGET}${BIN_TARGET}:${OBJ}$(CL) $(CFG) $(CFLAGS) $(CONFIG) crt0.o $< $(LIBS) -o $@${OBJ}:${ASM}$(CA) $(CFLAGS) $< -o $@$(CA) $(CFLAGS) crt0.s -o crt0.o${ASM}:${SRC}$(CC) $(CFLAGS) $(CONFIG) $< -o $@.PHONY:cleanclean:-rm -rf $(OBJ) $(BIN_TARGET) $(ASM)
红白机 编译6502汇编生成NES文件的通用Makefile相关推荐
- 计算机丢失fc64,FC红白机64合1
软件简介 Soft Introduction FC红白机64合1 64in1.nes 01Islander冒险岛1 02Grading沙罗曼蛇1 03Star Soldier星际战士 04Goonie ...
- 编译VirtualNES虚拟红白机
VirtualNES虚拟红白机 MD建档时间:2016/2/17 6:39 PM CSDN发布:http://blog.csdn.net/winsenjiansbomber/article/detai ...
- 【历史上的今天】10 月 18 日:Internet Explorer 7 正式发布;全球首家网络银行开业;“美版红白机” NES 诞生
整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 10 月 18 日,在 100 年前的今天,英国 BBC 广播电视台成立:BBC 是世界上最大的新闻 ...
- VirtualNES虚拟红白机
VirtualNES虚拟红白机 -MD建档时间:2016/2/17 6:39 PM -CSDN发布:http://blog.csdn.net/winsenjiansbomber/article/det ...
- 还记得当年陪你度过整个夏日的红白机吗?
一转眼,暑假就要过去了,小编看着周围那些忙忙碌碌准备开学的小朋友们,不由想起自己的童年. 那个时候,最开心的就是暑假可以玩游戏机,也就是现在人们口中的FC红白机.虽然在现在看来都是像素级的游戏画面,但 ...
- 深度强化学习之:PPO训练红白机1942
本篇是深度强化学习动手系列文章,自MyEncyclopedia公众号文章深度强化学习之:DQN训练超级玛丽闯关发布后收到不少关注和反馈,这一期,让我们实现目前主流深度强化学习算法PPO来打另一个红白机 ...
- 红白机原理(零)前言
今天来聊聊 FC 游戏机,FC 的意思就是 Family Computer,虽然如今渐渐落寞被淘汰,但在当年的确是风靡全球,不负 Family Computer 这名字. FC 大家应该基本知道吧,e ...
- 简单介绍红白机的发声系统以及其它音源 MMC
红白机的音源 Yamato Ryou 2013-08-23 14:52:26 本文将简单介绍红白机的发声系统以及其它音源 MMC, 红白机下称 FC, 其中的伪声音处理器称作 APU. 我才不告诉你称 ...
- 使用c++模拟红白机——概论篇(一)
任天堂的红白机系列的游戏应该是大家的童年了,红白机,又称FC,随着计算机技术的不断发展,现在市场上基本已经淘汰了红白机系列的硬件设备了.我偶尔的一个突发奇想,想要在体验一下红白机游戏的乐趣,于是乎我想 ...
最新文章
- 机器学习入门(21)— 感受野概念
- Exchange 2010 运维技巧一
- 讲个笑话,李彦宏可能会被选为两院院士
- 数据库---练习题(45道)
- 一不小心就掉大啦《数组使用注意》
- GitHub学习一-本地电脑与GitHub绑定
- 基于redis集群实现的分布式锁,可用于秒杀,定时器。
- 如何将数据渲染到页面上?
- fckeditor for java_FCKeditor最新版本2.4.1 for java 教程
- DEVC++下载与环境配置,手把手教程
- php 发送curl跨域请求,php跨域传输(curl)
- 印象笔记 还回快捷_搭配这9款实用的第三方工具,小白也可以玩转印象笔记
- 【MAC】手动下载安装docker
- sklearn之线性回归实现—阿里云天池二手车交易价格预测赛
- 7天java_7天学完Java基础之0/7
- Untiy AVpro
- Eclipse 官方网站
- MIT 线性代数 Linear Algebra 26:复矩阵,傅里叶矩阵, 快速傅里叶变换 FFT
- Git 开发分支合并到develop分支用法
- 假如,我来做一款产品?