问题标签 [c64]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - Xcode 中的 C64 开发?
使用 Vice C64 仿真器,我有一个名为“petcat”的工具,它可以将 BASIC(ascii 文本)转换为 .prg 文件,以便在 Vice 中运行。Previsouly 我已经能够在 TextMate 中进行开发并在那里设置一个按键“捆绑”来对宠物猫进行 shell 调用,传入 $FILENAME 类型变量,这样就可以创建 .prg 文件。
是否可以在 Xcode 中执行此操作?
basic - 为什么打印一个真正的布尔表达式输出-1?
在 Commodore 64 BASIC V2 中,打印一个真正的布尔表达式输出 -1:
为什么是 -1 而不是 1?
basic - 如何在 Commodore 64 basic 中分隔字符串?
我在 Commodore 64 中初始化了一块“.”板。
我想将单词随机放入板上,单词的每个字母都是“。” 在棋盘上(就像一个单词搜索游戏)。如果单词不适合,则可以放置下一个单词。我想将单词垂直和水平放置。这是我到目前为止所拥有的:(这使得点板为 10x10)
关于分离一个单词(我有硬编码的单词)并将它们垂直和水平放置在屏幕上的任何想法?
现在我需要将单词放在网格中
有任何想法吗?
game-center - 将 C64 模拟器与 Game Center 集成?
如果我有一个 C64、Mame、Spectrum 等的开源模拟器,是否有可能破解代码并将其与某种 Game Center 功能合并,在模拟器中实现在线多人游戏?
我不是要代码或任何东西,我只是有一个启动模拟器的图像,一个游戏中心窗口说它正在寻找玩家,然后开始一个 2 人游戏。这是可行的,还是不可能像这样将模拟器与 GC 集成?
assembly - 为什么我的 Commodore 64 模拟器上的字符被 0x40 偏移?
清除屏幕后,我有一些 6502 代码可以将字符串打印到屏幕内存。不幸的是,如果我打印一个字符串,例如“HELLO WORLD”,它会出现乱码。我发现这是因为大写字符从 0x01 开始,而不是我从这里的 PETSCII 代码中想到的 0x41 。
我可以通过从我的字符串中减去 0x40 来解决这个问题,但是除了字母之外的所有内容都不正确,例如空格。我只是不确定为什么字符生成器将 0x01 变成字符“A”而不是 0x41。它将 0x41 变成了一个倒黑桃符号(就像一副纸牌上一样),它上面的所有东西似乎都是边框字符和奇怪的符号。
环顾了一会后,我在 PETSCII 的维基百科页面上找到了这句话,这似乎说明了我要解决的问题,但我不知道如何解决它,也无法在任何地方找到任何信息......
实际的字符生成器 ROM 使用了一组不同的赋值。例如,要通过直接戳屏幕内存在屏幕上显示字符“@ABC”,可以戳十进制值 0、1、2 和 3,而不是 64、65、66 和 67。
我在 Mac OS X 上的 VICE x64 模拟器上运行,并且正在使用 64tass 的 OS X 端口进行组装。
这是不减去 0x40 的汇编代码:
这是输出的屏幕截图
感谢评论里的每一个人!
帮助他人的旁注
您可以通过使用 PLOT 设置光标位置来设置 CHROUT 将输出到哪一行和哪一列
assembly - 用于精灵运动的窦性功能的替代品
研究一些 C64 介绍的想法。我使用下面的代码和一个正弦表根据预先生成的正弦表移动精灵。
子程序
窦表
但我需要一些不同的东西。在循环路径中移动 x 和 y 方向的精灵。我还可以使用哪些其他功能?
c64 - 如何在引号内但在 commodore 64 basic v.2.0 中打印引号
我正在写一个小小的爱好 c64 文字冒险,我已经停在一个非常具体的时刻。也就是说,我不知道如何引用引号内的任何内容。
如何在 Commodore 64 basic v.2.0. 中做到这一点?
assembly - 如何在 6502 asm 中将 16 位数字除以 2?
我想将一个 16 位数除以二。我对该问题的解决方案如下
所有PHA/PLA
的诡计都是因为我的printDecimal
宏从 A 读取 MSB,从 X 读取 LSB。
当我在网上查看替代方案时,我发现 4 指令替代我简陋的除法例程。但我不明白。
这是如何工作的?
assembly - 使用 xa65 汇编器创建 Commodore 64 .prg
我正在尝试学习 6510 汇编,因为我正在运行 Debian xa65 是我想要使用的汇编程序。
到目前为止,我已经编写了一段代码,如下所示:
现在,第一个 .byte 部分应该在加载后“自动启动”程序。这是我从教程中找到的,据我所知,它只会运行 SYS 4096 使 CPU 开始执行地址为 $1000 的代码
其余代码应该只是开始闪烁 C64 的外边界和内边界并永远重复。
组装时,我只需运行以下命令:
然后我尝试将 test.prg 加载到 VICE 中进行测试。使用 LOAD "TEST.PRG",8,1: 并且即使文件加载它也不会自动启动,如果我键入 RUN: 并且如果我键入 LIST: 则不会发生任何事情:-唯一的结果是著名的 READY。光标像往常一样愉快地闪烁。
我试图删除自动启动的东西,只组装从 *=$1000 开始的代码,但我得到了相同的结果。尝试从 SYS 4096 开始也会导致 READY,仅此而已。
我确定我没有正确使用 xa 汇编程序,但我不知道如何为 C64 创建合适的 PRG 文件以供使用。我究竟做错了什么?
assembly - 在 C64 上移除侧边框的示例
我知道可以使用汇编删除 C64 中的顶部和底部边框,并且我已经找到了示例代码。但我找不到任何删除侧边框的示例代码(由 1001 Crew 发明。)
有人知道这方面的例子吗?