跳转到内容

Signetics 2650 & 2636 编程/分数

50% developed
来自维基教科书,开放的书籍,开放的世界

教程 - 分数

[编辑 | 编辑源代码]
$1FC3 7 6 5 4 3 2 1
格式
0
位置
0 两个两位数 顶部
1 一个四位数 底部
参见:2636 PVI

可以编程四个分数数字显示在屏幕的顶部或底部。它们可以排列成一组四个数字,或者两组两位数字。显示的数字以 BCD(二进制编码的十进制数)编程。如果任何半字节被设置为大于或等于 $A,则相应的数字将留空。

教程代码

[编辑 | 编辑源代码]

此教程的代码可以在 教程代码 - 分数 中找到。一旦它被组装并运行,你应该看到一个像这里显示的屏幕。

这是设置分数的程序的一部分

000F  0403    :        lodi,r0 $03
0011  CC1FC3  :        stra,r0 scoreformat  
0014  0498    :        lodi,r0 $98
0016  CC1FC8  :        stra,r0 score12
0019  0476    :        lodi,r0 $76
001B  CC1FC9  :        stra,r0 score34   

scoreformat 中的两个位都被设置为 1,因此分数数字显示为屏幕底部的单个四字符块。更改此方法的一种方法是编辑汇编语言文件并进行汇编。使用 WinArcadia 中的一些工具可以更快地进行实验。

WinArcadia 工具

[编辑 | 编辑源代码]
参见:WinArcadia入门

我们可以进行更改的一种方法是实时直接编辑 PVI 中的值。从 工具 菜单中,打开 PVI 监视器。顶部面板允许您更改 PVI 中的寄存器。将 SCORELT 从 98 更改为 2A,显示的分数将从 9876 更改为 2 76。请注意十六进制数字 A 如何显示为空白。现在将 SCORECTRL 从 03 更改为 00,看看分数如何移动到屏幕顶部并显示为两个两位数。

 

还可以更改汇编器创建的机器代码。首先,我们应该重新运行我们的程序:文件 > 重置为游戏,这应该将屏幕恢复到其原始状态。

参考上面的代码片段,看看放入 scoreformat 寄存器的值 $03 如何出现在地址 $0010 处的机器代码中。从 工具 菜单中打开 内存编辑器,然后单击包含 $0010 处 03 的框。这将打开一个对话框,可以在其中更改此字节。将其设置为 0。请注意,模拟器屏幕没有改变。这是因为我们只更改了程序,我们仍然需要执行它,我们通过 文件 > 重置为游戏 再次执行它。现在分数数字应该显示为 98 76,位于屏幕顶部。



华夏公益教科书