diff options
Diffstat (limited to 'basics/sprite.s')
| -rw-r--r-- | basics/sprite.s | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/basics/sprite.s b/basics/sprite.s index 27beb91..569ba28 100644 --- a/basics/sprite.s +++ b/basics/sprite.s @@ -95,13 +95,18 @@ ;; main idea is to leave the hardware in a known state and then jump into the ;; main game subroutine. .proc reset - ;; We first instruct the NES to disable everything. That is, we don't want - ;; any pesky interrupt to make us jump into the `nmi` section, for example, - ;; before we have configured everything. - - ;; Ignore IRQs and disable decimal mode (the NES 6502 chip, for copyright - ;; issues or legal reasons against MOS that I don't fully know nor care, - ;; does not have decimal mode anyway, but it's considered good practice). + ;; We first instruct the NES/Famicom to disable everything. That is, we + ;; don't want any pesky interrupt to make us jump into the `nmi` section, + ;; for example, before we have configured everything. + + ;; Ignore IRQs and disable decimal mode. The CPU for the NES/Famicom was + ;; developed by Ricoh and it is a modified MOS 6502 processor which, besides + ;; adding the APU, also removed the decimal mode from the original MOS 6502 + ;; processor. The latter was done for obscure reasons (e.g. copyright + ;; shenanigans). You can read more about the processor's specifics here: + ;; https://www.nesdev.org/wiki/CPU. All of that being said, it's considered + ;; good practice to disable decimal mode anyways, and games like Super Mario + ;; Bros. followed this practice as well. sei cld |
