6502

    1热度

    2回答

    我有一个号码1f存储在地址00,我有另一个号码1e存储在地址01。现在我想把1f分成1f00和1e分成001e,然后把它们加起来得到1f1e。我该怎么做呢?我知道指令asl和lsr处理这个问题,但我是一个6502初学者,所以我真的很感激有人可以告诉我它是如何有效地完成(最少的周期)。

    6热度

    1回答

    我打算在我的新C64项目中使用多色字符模式下的软件精灵。我的想法是使用叠加'子弹'精灵数据来平铺数据。 我想我可以在地址'TILESET'的地图集数据,地址'SPRITE'的地图数据。我可以结合这两个准备子弹字符与动态计算的背景和存储地址'SUPERIMPOSED' 我写了下面的代码和循环次数来检查它是否可行。我认为这不是。循环吃了219个周期。近四条光栅线。而且我没有在此循环之前包含其他必要的计

    -2热度

    1回答

    像标题说的那样如何创建汇编语言?我是这个编程的新手。我尝试过学习Ruby,Python,Java,c等,但由于目前我没有电脑,因此我只能使用手机。我用这个问题一遍又一遍地搜索了网页,我还没有找到答案!我知道,因为我对所有这些都非常陌生,而且从汇编语言开始,我经历了一段漫长的挫折之路,但我是一个有点老派的人,我个人认为从底层开始就像6502一样,但是我很困惑,我不明白什么是真正意义的,所以我想我是否

    1热度

    2回答

    我目前工作的一个NES(6502)汇编的比赛,但我不明白如何使一个精灵move.Heres如何,我认为它应该工作: (loop) LDA $200 ;will load into the A register the content of address $200,wich contain the Y postion of my sprite INA ;Increment the A regi

    1热度

    2回答

    想要确保我不必回去并重做大块代码......我将每个操作码都作为实现Runnable的枚举中的值。有没有更有效的方法,我应该这样做,还是我在写轨道上准确地运行测试套件? package com.codeblox.nes.cpu; public class CPU { private byte x, y, ac, pcl, pch; private short pc;

    -1热度

    1回答

    我试图理解DTA(定义数据)的东西。不幸的是,我列举了这样的问题: DTA b(0) 我真的找不到它的意思和做什么。以上网站上的例子对我来说还不清楚。有没有更好的地方来了解关于XASM和dta的更多信息? 我会很感激任何帮助。

    3热度

    2回答

    我正在扫描互联网和旧C64书籍的问题而没有找到答案,所以最后我只是在这里发布它。我喜欢C64编码的美好时代,虽然我目前没有在这个平台上编写游戏,但我想知道当时如何克服一些硬件限制。 在所有的现代游戏编程的书籍和教程,找到正确的方向,推出敌人的子弹朝玩家使用花车,或多或少像这样的伪代码矢量数学方式: bullet_velocity = (player.position - bullet.positi

    1热度

    1回答

    我试图理解这种寻址方式的汇编6502 例如,我们在程序这样的指令表示: 我们知道,'文字“”标签在2000美元以下的字节是20,低的字节是00 在累加器中我们有30号。 现在的第一个问题是:当我输入STA $80. 时发生了什么这是否意味着我们存储累加器的整个地址是0080? 现在让我们说,我们把80美元以下的数字和低于81美元的数字20. Y是零。 现在为什么当我使用这个: sta ($80),

    3热度

    1回答

    我正在CA65中工作一个6502项目,并且我无法理解某些指令。 我想要做的就是定义一个段,就好像它在另一部分内存中一样,这样所有代码的寻址就好像它在编译期间已经在那段内存中一样,但它会加载主程序并且需要在加载后移动到位...这是这些旧机器的一个非常基本的模型,但是我无法使segment命令中的DEFINE指令正常工作。 所以我叫CFG文件创建为外部的位置MYMEM一个MEMORY定义在程序实际负载

    0热度

    2回答

    我正在创建一个简单的程序,允许用户键入输入,然后在用户输入某个键时退出该程序。不过,我不确定该去哪里使用我目前的代码: OBJ $8000 KYBD EQU $C000 STROBE EQU $C010 COUT EQU $FDED HOME EQU $FC58 START JSR HOME LOOP LDA KYBD