问题标签 [6510]

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.

0 投票
1 回答
82 浏览

assembly - PET CBM C64 MOS6510 组装 在屏幕上打印出带有计算屏幕地址的字母?

我是 C64 汇编程序编程的新手,我对保存和加载内存区域的过程有疑问。我担心以下问题:

将字母 A 放在屏幕的左上角

有了这个,我可以使用 x 寄存器作为计数器,并且可以比较我使用循环的频率。

但现在我有一个 16 位计算(屏幕起始地址加上 xxx)并将结果存储在一个内存地址中,如 4000 美元和 4001 美元。如何使用这个值作为新的屏幕地址,在屏幕的计算区域上打印出字母 a?

0 投票
1 回答
67 浏览

assembly - 6502 通过 TXA 和 TAX 使用 CMP BNE 循环

刚刚学习了存储数据的整个过程,我是低级编程的新手,所以请温柔。但是为什么这个简单的代码不起作用,到目前为止,它只是用我的简单预设测试数字#08 填充 1000 美元地址的 00 字节,我想通过这样的循环,我会在调试器中看到前 8 个字节,每个字节都包含 08在 1000 美元的地址,但不。我认为使用 TXA(将 x 转移到累加器)和 TAX(将累加器转移到 X)会这样做,因为 CMP 和 BNE 只能从累加器中工作,但不会。非常令人沮丧。任何帮助都会得到巨大的感激和微笑......

0 投票
1 回答
142 浏览

assembly - 6510/6502 C64 键盘输入打印到屏幕并存储在内存中问题

通过查看我的 c64 参考书的屏幕显示部分,我在下面输入的字符可以正确打印到屏幕上,但是当稍后从记忆中再次调用时,它们不是。:(

基本上,如果输入“A”,我会得到黑色铁锹符号,“S”作为心形符号返回,“X”作为梅花符号返回。我必须声明当我以用户身份输入时不会发生这种情况,并看到我的文本打印到屏幕上——效果很好。只有当我以用户身份按 RETURN 时才会出错,并且我认为存储在 $1000,x 的字符(每次按键后都会发生 inx)在分配区域的下方显示为符号,然后是 @ 符号组成我能看到的其余部分是其余字节中的空格。

请原谅凌乱/过度新设计的代码,我学习汇编不到一周左右 - 只有 BASIC 作为基础。

我运行了调试器,当在程序中输入“ASX”时,通过调试器的内存位置看起来像这样......

41 53 58 00 00 00 00 00 00 00 00 00 00 00 00 00 ♠♥♣@@@@@@@@@@@@@

0 投票
2 回答
146 浏览

6502 - 6510 使用 CBM Studio 组装 - 带有分支错误的页面边界

当我运行我的程序时,我遇到了错误页面边界。在适用于 Windows 10 的 CBM prg studio 应用程序的任何帮助中,它都没有解释我如何增加这个边界,或者我需要做什么来避免这些错误。

它发生在基于标签 E1cycle 和 E2cycle 内的第 110 行和第 127 行的同一条指令上......

此外,正如您在上面看到的,我收到了这些奇怪的(200 字节)和(-275 字节)无效的分支错误——这是代码部分......

我需要用非常简单的术语向我解释这一点,因为我仍在学习,并且有时发现行话有点难以理解。谢谢!

0 投票
1 回答
138 浏览

assembly - C64 程序集 - 6502/6510 - 一个接一个地显示一系列三个位图,然后进入字符模式

我在这里有一个相当大的问题,我发现仅用几本参考书、互联网和你的真正难以回答。

  1. 我只想显示一个位图。等待几秒钟。
  2. 把它从记忆中抹去。
  3. 显示另一个位图。再等等。
  4. 从记忆中抹去那个。
  5. 显示最终位图。等最后一次。
  6. 而且,你已经猜到了,把它从记忆中抹去。
  7. 然后进入标准字符模式。 &继续运行我的代码 - 从屏幕空白开始,然后进入询问用户一些文本输入等......

粗体我遇到了真正的麻烦!

这是我用来运行显示位图部分的代码,它只是进入一个无限循环......

到目前为止,我已经尝试重复代码,认为它可以覆盖所有内容,但 *=$1FFE 似乎无法按时间顺序工作,对于每个文件,我都会收到内存覆盖错误,并且它始终默认为显示我用 incbin 函数调用的最后一个位图。有没有办法在每个位图帧之间重置所有内容(但只是变黑)?还是我只是错误地加载了这些图像?

然后进入字符模式也将是棘手的,因为即使使用一个位图我也找不到这样做的方法。也许这整个代码结构是错误的方式,idk...

或者这仅仅是c64无法做到的事情?我不愿意去这里,因为我确信我以前在游戏介绍中看到过位图循环——只是真的挠头想知道怎么做。

再次感谢伙计们,很抱歉在这里缺乏理解,我一般是编程新手,但认为我走在正确的轨道上。我希望很多人可以从您的回答中学习,因为这确实是我认为没有任何信息的东西。

你爱准将的朋友,

詹姆斯(Smokeyparkin)

0 投票
1 回答
120 浏览

assembly - C64 Assembly - 循环通过位图作为我的游戏的图形介绍

汇编:CBM prg Studio

这是我之前的帖子,我觉得我已经取得了一些进展,但仍然非常卡住。 我之前的帖子在几个阶段前就这个问题请求帮助......从乐于助人的社区成员Emir Akayd提交的答案中,我选择了选项 1。

目前我只是使用 TEST JUMPER 来尝试每个图像,并希望在每个加载的图像和初始化到我的游戏之间移动到一个计时器。

我认为这里的解决方案现在对更高级的程序员来说应该是显而易见的。我认为我必须在不那么明显的加载屏幕 Ram 部分或稍后在标签“设置”下的代码中做一些愚蠢的事情,我的评论应该解释一切。

对任何建议都很满意,非常感谢您的关注!

0 投票
1 回答
50 浏览

assembly - 我想我已经解决了光栅中断文本/位图模式,但我有这个奇怪的文本错误

汇编:CBM prg Studio。

大家好,圣诞快乐,节日快乐 :) 我的中断中的文本输出是怎么回事?我必须在这里遗漏一些明显的东西,但请看一下附图......

它应该说:

“进入第一个候选人的范围……”

*位图显示

“开始我的 Y/N?”

看看所附的图像,自己看看。

下面是代码。感谢您抽出时间来看看,这让我困惑了一整晚!

:) 詹姆斯点击这里查看图片