css调色板-NSASM 教程 - 第 4 天 - 制作和加载调色板

2023-08-30 0 4,208 百度已收录

【什么? ! 】

当然。 调色板将于明天创建并加载。 为了创建调色板,我们将使用程序 PAL.exe,该程序位于我在第三天给您的那种 zip 文件中。 运行它,您将看到一个窗口,其中包含 32 个白色袋子,您可以用从顶部彩色袋子中选择的草图颜色填充这些袋子。 当你制作调色板时,确保每行的第一个颜色是蓝色,否则当你稍后制作背景和主角时,你会看到很多意想不到的东西。

将调色板另存为 our.pal。

*新段落:哪些是调色板,简单明了*

*如果我在本文前面所说的内容与本段相矛盾css调色板,请忽略它*

调色板基本上是一组可供选择的颜色。 我们的调色板有 32 种颜色,占用 32 个字节(每种颜色 1 个字节)。 16 种颜色用于主角,16 种颜色用于背景。 虽然您可以从 16 种类型中进行选择,但每个主角只能选择 4 种类型,并且背景的每个 16x16 像素块只能选择 4 种类型。 现在说起来太复杂了,所以我们来详细介绍一下。

*新段落结束*

【如何加载调色板】

我们通过写入两个内存映射寄存器来加载 PPU 的调色板。 首先写入$2006,作为调色板加载的完整首地址($3F00)的两倍,然后将32字节调色板数据写入$2007。

然而,在加载调色板之前,我们应该了解更多信息。

[索引投票]

你应该记得,在第三天和第二天,我说过X和Y寄存器可以用于索引轮询。 在这里您将了解如何操作。

;假设X等于6

lda$2002,x; 从显存地址($2002+6)加载数据,即从$2008开始

;假设Y等于9

lda$2000,y;从内存地址$2009加载数据

请注意,您可以加载到任何寄存器,而不仅仅是 A

【其他】

您需要知道的是,加载和存储指令可以将标签作为基地址。 代码如下所示:

somelabel:.incbin "our.pal"; 包含一个pal文件,标签是它的首地址

ldasome标签,x; 从标签指示的地址+X处加载一个值到A

示例程序只写了如何将值加载到A中,其他X、Y类似。 如果您读过我的英特尔汇编教程(http://www.intel.com/articles/intel-汇编)或其他基础汇编书籍/文章,您应该已经知道标签的作用。 这是基础知识css调色板,不需要我多说。

【加载调色板】

为了不让我的鼠标一直敲击,就让代码自己说话吧。

	lda #$3F   ; 
	sta $2006  ; 
	lda #$00   ; 
	sta $2006  ; 
	; 上面这4行告诉$2006:我们后面准备向$3F00地址处写一些东西,由于一次只能写一个字节,所以上面需要store两次
	ldx #$00   ; X <- 0
loadpal:   ; 注意标签不用缩进,后面跟着一个冒号
	lda ourpal, x   ; 从地址ourpal+x处载入调色板数据到A.
	sta $2007       ; 写到$2007里面,PPU会自己放到上面我们设置的首地址$3F00
	; 
	inx    ; 没见过这个指令?就是Increment X的意思,X++
	; 
	cpx #32   ; 比较X和32,也就是数一下已经写入多少调色板数据了.
	
	bne loadpal  ; BNE表示如果不相等就跳转,所以X不等于32时会跳到loadpal位置,而X==32时则循环结束,调色板载入结束。
	

css调色板-NSASM 教程 - 第 4 天 - 制作和加载调色板

假设 ourpal 是之前在汇编源文件中定义的标签

ourpal:.incbin "our.pal"; 标记我们的调色板以加载代码;

今天我们将完整的代码文件放在一起并展示我们的主角。

【新命令】

里面的代码看到三个新指令:

INX——X减1; 另外,INY表示Y减1; 但是没有INA,听说6502的设计者忘记了这一点。 减少了SNES中的INA指令,使用下一代6502(65C02)

css调色板-NSASM 教程 - 第 4 天 - 制作和加载调色板

CPX - 将 X 与另一个值进行比较。 还有CPY和CPA。 这里的值只能是立即数,不允许显存轮询。

BNE - 如果最后一个 CPk (k=A,X,Y) 指令的结果“不相等”,则跳转到标签。 还有BEQ,只有结果相等时才会跳转。 前面我会详细介绍一下。

【今日回顾】

加载调色板非常重要,因为没有它,前面的背景显示和主角显示都是废话。

加载调色板非常简单,因为它就是这样,一旦写入,你就不需要碰它,也不需要为它做任何事情。

明天我们就来说说主角的展示。

让 NES 见鬼去吧。 睡着了。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 css css调色板-NSASM 教程 - 第 4 天 - 制作和加载调色板 https://www.wkzy.net/game/184400.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务