如何在rasterline 9个精灵

问题描述 投票:4回答:2

是否有可能有一个rasterline超过8个精灵一个真正的Commodore 64(未在模拟器上)?精灵并不需要是不同的。

c64 commodore
2个回答
5
投票

是的,它有可能在中断使用汇编。中断将被对准的视频芯片的光栅。第一子画面已经由视频渲染芯片后(使用NOP等待必要的时间),其位置和形状进一步改变到右边。然后直到精灵被渲染,因为鸟巢光栅需要“看到”它有它恢复到原来的地方中断再次等待。

使用这种技术,你可以在一个栅格线超过8个精灵。该技术类似于showing sprites in the border为对于左/右边界精灵的情况。除了更改寄存器使屏幕更小的宽度,你需要改变精灵的x位置。


8
投票

简短的回答:是的。龙回答:是的,但也有一些注意事项:

VICII(视频芯片)读取3个字节每rasterfor每个最大8硬件子画面子画面的数据,并且将缓冲的数据是指在下一个光栅显示。

如果您在下面的栅格显示硬件精灵在给定的栅格中的缓冲区将是空的下一栅格第二次,所以你会在精灵透明条纹结束。

另外,精灵数据读取发生在周围的下一个当前光栅/启动结束,所以你几乎仅限于复制精灵#0(因为它的数据被取出第一),甚则CRT束是如此远的,你不得不删除sideborder到能看到重复的精灵可见屏幕的右侧。

© www.soinside.com 2019 - 2024. All rights reserved.