Vic 20 使用汇编器滚动

如何解决Vic 20 使用汇编器滚动

我正在尝试在 Vic 20 上的 6502 汇编器中滚动以工作。以下是使用 CBM PRG Studio 构建的扩展 Vic(例如 16k)。

我对 Vic 的理解与编写静态游戏一样多,但我无法滚动工作。

两个优秀的滚动示例是:-

https://www.youtube.com/watch?v=CgCHzrjT3uE

或多向

https://www.youtube.com/watch?v=gEzOomjmzU4

我注意到它们似乎都是我所谓的单色(我可能错了)——这是一个线索吗?

我已经试验过,在定时器/光栅 IRQ 下运行,将值放入 9001 美元,类似于:-

lda $9001
and #$f0
ora MY_SCROLL_AMOUNT
sta $9001

因此,如果 MY_SCROLL_AMOUNT 每帧增加 0-7,那么我会得到“某种”滚动效果,但屏幕是“弹跳”而不是滚动(预计调整垂直偏移 $9001),但这看起来没什么就像上面链接中的滚动条是如何工作的一样。

我读到将字符数据设置为 1000 美元,这样您就可以获得 512 个可供编辑的字符,如果我理解正确,可以显示 512 个字符的屏幕,每个字符(或图块)构成位图的一部分,然后动态显示(在使用双屏技术的 IRQ 上)将数据绘制到字符映射内存中,但是:-

  1. 如何在一个字节值 (0-ff) 的字符/平铺单元格中显示代码字符,例如 531?

  2. 如果字符映射内存使用 $1000 到 $1fff,两个屏幕会去哪里?

问候,

G

解决方法

AFAIK 你只能在 VC20 上滚动两个像素。向上/向下移动屏幕,当您滚动一个字符时,然后将屏幕移回原始位置,并将屏幕内容向上/向下移动一行。这样你就可以获得滚动效果。 当然同样适用于左/右。

只能显示0-ff的字符,没有字符531。

至于人物滚动,这是一种完全不同的技术,只对背景滚动效果有用,但不能用于关卡数据滚动,因为它会变慢。

最好去模拟器论坛看看。我怀疑 stackoverflow 是解决此类问题的好资源。 :)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?