10得票2回答
如何在Commodore 64中改变内核SCNKEY例程行为

我正在尝试使用Commodore 64的内核例程实现游戏控制。下面的代码可以工作,但有一个例外。每个按键都被计为单个输入,例如:如果您一直按住按钮,则没有效果。您必须松开并再次按下才能进行移动。如何更改此行为?简单地说,我想重复按键操作,只要按键保持按下状态即可。 GETIN = ...

9得票3回答
Commodore 64 BASIC中的多行函数

所以,我想在Commodore 64 BASIC中编写更大的函数。到目前为止,从其他来源(例如各种C64维基和C64本身的用户手册)中所看到的是,函数定义只能有一行。 也就是说,我似乎找不到BASIC中类似于括号/其他语言用于分隔代码块的构造。 有没有人知道如何在BASIC中编写多行代码块?...

9得票2回答
我能通过一些16位的魔法将这个转化为一个循环吗?

我现在开始学习6502汇编语言,但是在处理需要处理超过8位数字的循环时遇到了问题。 具体来说,我想要循环一些内存位置。用伪代码表示,我的目标是这样的: // Address is a pointer to memory int* address = 0x44AD; ...

9得票2回答
C64汇编渲染精灵

我已经使用ca65汇编器和ld65链接器为Commodore 64编写了一个短小的程序。该程序应该在显示屏中心附近呈现一个实心正方形精灵,但我并没有看到任何渲染。 以下是我的汇编代码: .segment "CODE" ; set sprite pointer index ...

8得票8回答
从6502汇编中获取随机数

我正尝试使用JSR $E09A在Commodore 64 (C64)上生成一系列随机数,并从$63和$64中检索数字。(根据我看到的所有文档,这与在BASIC中使用RND(0)时相同。但是不能迭代。以下内容将在单独执行时起作用,并放置不同的数字在$63和$64中。 . C000 A5 00...

8得票2回答
在Commodore 64上使用汇编语言编写磁盘文件

我正在尝试学习如何使用内核例程编写磁盘文件,遵循这个Codebase64教程的步骤。 下面是我用Acme交叉汇编器编写的程序。它无法打开文件,并显示错误消息:"FILE NOT OPENED"。 ; Definitions SETNAM = $FFBD SETFLS = $FFBA OPE...

7得票2回答
C64上去除侧边框的示例

我知道在C64中使用汇编可以去掉顶部和底部边框,并且我已经找到了相关的示例代码。但是我找不到任何去掉侧边框的示例代码(这是由1001 Crew发明的)。 有人知道任何相关的示例吗?

7得票1回答
在C64/Assembly中改变文本颜色但不使用颜色存储

我有下面这段代码,它能够正常运行。它会清屏,将前12个字符的颜色存储到颜色内存中,并在屏幕上打印出一段文本。 jsr $e544 ldx #$00 lda #3 loopclr: sta $d800,x inx ...