作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经成功地模拟了任天堂娱乐系统的(稍微交替的)6502 核心,现在我在 PPU 模拟上有点卡住了。
在各种文档中,PPU 有 0x4000 (16KB) 字节的可用内存。其中只有 2KB 是内部 RAM,而其余部分在墨盒上(或类似的东西)。我不明白的是,PPU 使用了模式表、名称表、属性表、背景调色板和 Sprite 调色板(在我的脑海中)。所有这些东西都存放在哪里?我知道一个 CHR 内存条的大小是 8KB,所以即使 ROM 有多个图形内存条,PPU 怎么知道在哪个内存条中,要找到这些表/调色板中的哪一个?而有些游戏甚至没有CHR内存,所有的东西都存储在PRG内存中。我怎样才能找出所有图形的存储位置以进行仿真?
编辑:我已经添加了我自己的解释作为答案,因为我现在对 NES 的内部工作有了更多的经验。
最佳答案
自从我问这个问题后,我学到了很多关于 NES PPU 的新东西,所以我将自己回答这个问题。
首先,PPU 的内存映射如下所示:
$0000 - $0FFF Pattern table 0
$1000 - $1FFF Pattern table 1
$2000 - $23BF Nametable 0
$23C0 - $23FF Attribute table 0
$2400 - $27BF Nametable 1
$27C0 - $27FF Attribute table 1
$2800 - $2BBF Nametable 2
$2BC0 - $2BFF Attribute table 2
$2C00 - $2FBF Nametable 3
$2FC0 - $2FFF Attribute table 3
$3000 - $3EFF [0x2000 - 0x2EFF] mirror
$3F00 - $3F09 Background palette
$3F10 - $3F19 Sprite palette
$3F20 - $3FFF Palette mirror
LDA #$20
STA $2006
LDA #$00
STA $2006
关于graphics - 所有这些图形数据都存储在 NES 卡带上的哪个位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748892/
我一直在使用 OpenShift(Tomcat 7 (JBoss EWS 2.0) 卡带,带有 WAR 文件)。我的项目在本地主机上完美运行,这给我带来了不便......但是当我使用 Websocke
我是一名优秀的程序员,十分优秀!