Основная теория Эмуляции NES - я застреваю

Заранее, я приношу извинения за открытый endedness и общую слабую слабость этого вопроса, потому что, чтобы быть честным мое знание темы очень неоднородно и мне трудно даже описать мою проблему. Я действительно не хотел отправлять, но я полностью и крайне застреваю.

Я запустил эмулятор NES. Это интерпретировало (так никакой динамический recomp).

Банкомат это может загрузить и отобразить шумные игры (картопостроитель 0 шумных игр) и выполнить право кода init туда, где я должен иметь дело с прерываниями и PPU. Это - то, где я застреваю.

Вот вывод в качестве примера от моего банкомата страуса эму. Выполнение начинается в 8 000, и я поразил бесконечный цикл в 800a, где я понятия не имею, как прогрессировать оттуда.

8002: LDA #$10    ; read immediate value to set PPU control registers 
8004: STA $2000   ; store value 
8007: LDX #$FF    ; load immediate value into X register 
8009: TXS         ; store X register into stack 
800a: LDA $2002   ; read PPU flags into accumulator (set N flag based on bit 7) 
800d: BPL         ; test N flag, branch to 800a if not positive, (N is set) 
800a: LDA $2002
800d: BPL
800a: LDA $2002
800d: BPL
800a: LDA $2002
800d: BPL
etc, etc etc (inf loop)

Таким образом, мой вопрос, может кто-то объяснять основы 1 повторения посредством рендеринга PPU для меня, включая вещи как количество цикла, прерывания и т.д. (т.е. потяните одни целые 240 экранов строки развертки и перейдите на следующее).

6
задан Dominic Bou-Samra 8 July 2010 в 09:49
поделиться

1 ответ

Существуют эмуляторы. Вы искали ответ в их источниках? обычно они написаны для повышения производительности и не очень удобочитаемы, но вы можете найти лакомый кусочек, который поможет вам начать работу. ожидает ли код выполнения прерывания и выполнили ли вы это прерывание? Может быть, прерывание изменяет адрес возврата и позволяет программе продолжить работу? опрашивает ли бесконечный цикл бит в регистре? или это безусловная ветвь по отношению к себе?

1
ответ дан 17 December 2019 в 22:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: