We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
fullsnes: Difference between revisions
From SnesLab
(→Errata: note about reverb) |
(→Errata: PHP behavior dubious) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
=== Errata === | === Errata === | ||
* With regards to the [[break flag]], this sentence is dubious: "PHP opcodes always write "1" into the bit" | |||
* The [[Color Math]] register at 2130h is missing an "S" - the full name is CGSWSEL not CGWSEL. | |||
* In https://problemkaputt.de/fullsnes.htm#snesapumaincpucommunicationport, fullsnes only mentions storing the entrypoint to 2142h and does not mention whether the entrypoint is a word or byte (the other places in this section where the bracket notation omits "Byte" or "Word" it is a single byte being stored). The Official Super Nintendo development manual is clear that the program start address for the uploaded SPC700 driver is stored to both PORT 2 and 3 (as part of step 11 on page D-2). | |||
* In https://problemkaputt.de/fullsnes.htm#snescartridgecicnotes, the formula for the [[Polynomial Counter]] is missing an inversion in the second term. | * In https://problemkaputt.de/fullsnes.htm#snescartridgecicnotes, the formula for the [[Polynomial Counter]] is missing an inversion in the second term. | ||
* In https://problemkaputt.de/fullsnes.htm#snesapuspc700ioports, it could be clearer that bits 0-3 of TnOUT are reset to 0 automatically by hardware after reading - it is not the programmer's responsibility to zero them after reading. [1] | * In https://problemkaputt.de/fullsnes.htm#snespputimersandstatus, the [[Interlace Odd/Even Flag]] should use the term "field" instead of "frame" as an interlaced field is half of a frame | ||
* In https://problemkaputt.de/fullsnes.htm#snesapudspvolumeregisters, MVOL should stand for "main volume," not "master volume" because MVOL does not control the echo volume, and "Main Volume" is how the official docs expand "MVOL." [2] | * In https://problemkaputt.de/fullsnes.htm#snesapuspc700ioports, it could be clearer that bits 0-3 of TnOUT are reset to 0 automatically by hardware after reading - it is not the programmer's responsibility to zero them after reading. <sup>[1]</sup> | ||
* In https://problemkaputt.de/fullsnes.htm#snesapudspvolumeregisters, MVOL should stand for "main volume," not "master volume" because MVOL does not control the echo volume, and "Main Volume" is how the official docs expand "MVOL." <sup>[2]</sup> | |||
* In https://problemkaputt.de/fullsnes.htm#snesapublockdiagram, the word "Reverb" is used (the only place this word is used in fullsnes) but should probably say "Echo" instead like the rest of the times this feature is mentioned, as they have slightly different musical meanings. | * In https://problemkaputt.de/fullsnes.htm#snesapublockdiagram, the word "Reverb" is used (the only place this word is used in fullsnes) but should probably say "Echo" instead like the rest of the times this feature is mentioned, as they have slightly different musical meanings. | ||
* In https://problemkaputt.de/fullsnes.htm#snesapudspechoregisters, "bit" should be plural in several places when describing the ESA buffer entry bytes | * In https://problemkaputt.de/fullsnes.htm#snesapudspechoregisters, "bit" should be plural in several places when describing the ESA buffer entry bytes | ||
* In https://problemkaputt.de/fullsnes.htm#snescartridgeromimageinterleave, the worst case scenario can much worse than triple-interleaved or double-mis-de-interleaved - in fact ten interleavings of a normal 320Kbyte file is the identity operation, so in this particular case the worst is quintuple-interleaved. | * In https://problemkaputt.de/fullsnes.htm#snescartridgeromimageinterleave, the worst case scenario can much worse than triple-interleaved or double-mis-de-interleaved - in fact ten interleavings of a normal 320Kbyte file is the identity operation, so in this particular case the worst is quintuple-interleaved. | ||
* "Game Boy" is spelled several times as one word | * "Game Boy" is spelled several times as one word | ||
* In the https://problemkaputt.de/fullsnes.htm#snesapumaincpucommunicationport notes there is a typo: "injumping" | |||
* In https://problemkaputt.de/fullsnes.htm#snesapuspc700ioports under "SPC700 Waitstates on Internal Cycles" the note at the bottom has typo: "cylces" | |||
* In the IPL Boot ROM Disassembly, both the zerofill and transfer loops have a typo where "loop" is spelled with one "o" | |||
* The four communication ports between the [[APU]] and the [[5A22]] are prefixed CPUIO (cpu input/output) on the 5A22 side but APUI0 (apu eye zero) on the APU side | |||
=== External Links === | === External Links === | ||
Line 15: | Line 23: | ||
=== References === | === References === | ||
# [https://archive.org/details/SNESDevManual/book1/page/n164 Page 3-5-2 of Book I] of the official Super Nintendo development manual: "When CN is read, the 4-bit up counter alone is cleared through IC internal timing" | |||
# [https://archive.org/details/SNESDevManual/book1/page/n175 page 3-7-9 of Book I] lbid | |||
[[Category:SNES Hardware]] | |||
[[Category:Documents]] |
Latest revision as of 00:22, 22 July 2024
Fullsnes is a large hardware reference for the SNES created by nocash with several ascii art illustrations.
Errata
- With regards to the break flag, this sentence is dubious: "PHP opcodes always write "1" into the bit"
- The Color Math register at 2130h is missing an "S" - the full name is CGSWSEL not CGWSEL.
- In https://problemkaputt.de/fullsnes.htm#snesapumaincpucommunicationport, fullsnes only mentions storing the entrypoint to 2142h and does not mention whether the entrypoint is a word or byte (the other places in this section where the bracket notation omits "Byte" or "Word" it is a single byte being stored). The Official Super Nintendo development manual is clear that the program start address for the uploaded SPC700 driver is stored to both PORT 2 and 3 (as part of step 11 on page D-2).
- In https://problemkaputt.de/fullsnes.htm#snescartridgecicnotes, the formula for the Polynomial Counter is missing an inversion in the second term.
- In https://problemkaputt.de/fullsnes.htm#snespputimersandstatus, the Interlace Odd/Even Flag should use the term "field" instead of "frame" as an interlaced field is half of a frame
- In https://problemkaputt.de/fullsnes.htm#snesapuspc700ioports, it could be clearer that bits 0-3 of TnOUT are reset to 0 automatically by hardware after reading - it is not the programmer's responsibility to zero them after reading. [1]
- In https://problemkaputt.de/fullsnes.htm#snesapudspvolumeregisters, MVOL should stand for "main volume," not "master volume" because MVOL does not control the echo volume, and "Main Volume" is how the official docs expand "MVOL." [2]
- In https://problemkaputt.de/fullsnes.htm#snesapublockdiagram, the word "Reverb" is used (the only place this word is used in fullsnes) but should probably say "Echo" instead like the rest of the times this feature is mentioned, as they have slightly different musical meanings.
- In https://problemkaputt.de/fullsnes.htm#snesapudspechoregisters, "bit" should be plural in several places when describing the ESA buffer entry bytes
- In https://problemkaputt.de/fullsnes.htm#snescartridgeromimageinterleave, the worst case scenario can much worse than triple-interleaved or double-mis-de-interleaved - in fact ten interleavings of a normal 320Kbyte file is the identity operation, so in this particular case the worst is quintuple-interleaved.
- "Game Boy" is spelled several times as one word
- In the https://problemkaputt.de/fullsnes.htm#snesapumaincpucommunicationport notes there is a typo: "injumping"
- In https://problemkaputt.de/fullsnes.htm#snesapuspc700ioports under "SPC700 Waitstates on Internal Cycles" the note at the bottom has typo: "cylces"
- In the IPL Boot ROM Disassembly, both the zerofill and transfer loops have a typo where "loop" is spelled with one "o"
- The four communication ports between the APU and the 5A22 are prefixed CPUIO (cpu input/output) on the 5A22 side but APUI0 (apu eye zero) on the APU side
External Links
References
- Page 3-5-2 of Book I of the official Super Nintendo development manual: "When CN is read, the 4-bit up counter alone is cleared through IC internal timing"
- page 3-7-9 of Book I lbid