真正的Commodore 64(不是模拟器)上的栅格线中是否可以有超过8个精灵? 精灵不需要与众不同。
答案 0 :(得分:8)
简短回答:是的。 答案很长:是的,但有一些警告:
VICII(视频芯片)为每个最大8个硬件精灵中的每一个读取3个字节的精灵数据,并且缓冲的数据将显示在下一个栅格上。
如果在给定的栅格上第二次显示硬件精灵,缓冲区将为下一个栅格为空,那么在下面的栅格中,您将在精灵中找到透明条纹。
精灵数据提取也发生在当前光栅/下一个光栅开始的末尾,所以你几乎只限于复制精灵#0(因为它的数据首先被提取),甚至CRT-光束到目前为止在屏幕右侧,您必须移除侧边框才能看到重复的精灵可见。
答案 1 :(得分:5)
是的,可以在中断中使用汇编。中断将与视频芯片的光栅对齐。在视频芯片渲染第一个精灵之后(使用NOP等待必要的时间),其位置和形状进一步向右变化。然后中断再次等待,直到渲染精灵将其重置为原始位置,因为嵌套栅格需要在那里“看到”它。
使用此技术,您可以在一个栅格线中拥有超过8个精灵。对于左/右边界中的For Sprite,该技术类似于showing sprites in the border。您需要更改精灵的x位置,而不是更改寄存器以使屏幕宽度减小。