Signetics 2650 & 2636 编程/分数
外观
$1FC3 | 7 | 6 | 5 | 4 | 3 | 2 | 1 格式 |
0 位置 |
---|---|---|---|---|---|---|---|---|
0 | 两个两位数 | 顶部 | ||||||
1 | 一个四位数 | 底部 |
可以编程四个分数数字显示在屏幕的顶部或底部。它们可以排列成一组四个数字,或者两组两位数字。显示的数字以 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 中的一些工具可以更快地进行实验。
我们可以进行更改的一种方法是实时直接编辑 PVI 中的值。从 工具 菜单中,打开 PVI 监视器。顶部面板允许您更改 PVI 中的寄存器。将 SCORELT 从 98 更改为 2A,显示的分数将从 9876 更改为 2 76。请注意十六进制数字 A 如何显示为空白。现在将 SCORECTRL 从 03 更改为 00,看看分数如何移动到屏幕顶部并显示为两个两位数。
还可以更改汇编器创建的机器代码。首先,我们应该重新运行我们的程序:文件 > 重置为游戏,这应该将屏幕恢复到其原始状态。
参考上面的代码片段,看看放入 scoreformat 寄存器的值 $03 如何出现在地址 $0010 处的机器代码中。从 工具 菜单中打开 内存编辑器,然后单击包含 $0010 处 03 的框。这将打开一个对话框,可以在其中更改此字节。将其设置为 0。请注意,模拟器屏幕没有改变。这是因为我们只更改了程序,我们仍然需要执行它,我们通过 文件 > 重置为游戏 再次执行它。现在分数数字应该显示为 98 76,位于屏幕顶部。