Talk:Fixed cycle delay: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (reply markup)
(Re2: No requirements)
Line 2: Line 2:
Shouldn't there be a "no requirements" entry for ''every'' example? Isn't that the natural maximum byte size / endpoint for each of these? - [[User:Rainwarrior|Rainwarrior]] ([[User talk:Rainwarrior|talk]]) 20:14, 16 March 2016 (MDT)
Shouldn't there be a "no requirements" entry for ''every'' example? Isn't that the natural maximum byte size / endpoint for each of these? - [[User:Rainwarrior|Rainwarrior]] ([[User talk:Rainwarrior|talk]]) 20:14, 16 March 2016 (MDT)
: It is not possible to do 3-cycle delay without any requirements. The best you can get is <code>JMP *+3</code> which requires relocations, but does not have any execution-time side-effects. --[[User:Bisqwit|Bisqwit]] ([[User talk:Bisqwit|talk]]) 15:02, 17 March 2016 (MDT)
: It is not possible to do 3-cycle delay without any requirements. The best you can get is <code>JMP *+3</code> which requires relocations, but does not have any execution-time side-effects. --[[User:Bisqwit|Bisqwit]] ([[User talk:Bisqwit|talk]]) 15:02, 17 March 2016 (MDT)
: Additionally, in the larger delays, "no requirements" would involve a long sequence of "NOP"s followed by a "JMP" if the cycle count is odd. To reduce the size of the page, I omitted these for larger delays.


== Page size problematic? Maybe the wiki sin't the best place for exhaustive permutations... ==
== Page size problematic? Maybe the wiki sin't the best place for exhaustive permutations... ==

Revision as of 21:04, 17 March 2016

No requirements missing from most examples?

Shouldn't there be a "no requirements" entry for every example? Isn't that the natural maximum byte size / endpoint for each of these? - Rainwarrior (talk) 20:14, 16 March 2016 (MDT)

It is not possible to do 3-cycle delay without any requirements. The best you can get is JMP *+3 which requires relocations, but does not have any execution-time side-effects. --Bisqwit (talk) 15:02, 17 March 2016 (MDT)
Additionally, in the larger delays, "no requirements" would involve a long sequence of "NOP"s followed by a "JMP" if the cycle count is odd. To reduce the size of the page, I omitted these for larger delays.

Page size problematic? Maybe the wiki sin't the best place for exhaustive permutations...

I'm noticing the wiki has some serious problems trying to diff some of the history on this page. I noticed this edit with the comment "Further tweak code to prefer repeated sequences, because reducing the page size helps fend off MediaWiki crashing". Given the explosive nature of permutations here, maybe it would be better to just implement this as a javascript tool on a webpage, and link it from here? (Would also be nice because you could just dial in constraints, etc.) - Rainwarrior (talk) 21:02, 16 March 2016 (MDT)

I'd recommend splitting them by 2-19, 20-100, 100-200, etc. --Tepples (talk) 09:40, 17 March 2016 (MDT)

Formalizing random writes

"it is difficult to formalize the rules under which one could write to such random addresses."

A write to a random address in a 256-byte page is fine if all addresses in the page are decoded to nothing, to a read-only memory, to a read-only port without side effects, or to memory that will be overwritten later. Most NES mappers decode $4100-$41FF to nothing. In addition, many games use $0200-$02FF, $0300-$03FF, or $0700-$07FF to hold a display list rebuilt from scratch every frame; if the delay occurs before the next rebuild of the display list, there is no conflict. --Tepples (talk) 09:43, 17 March 2016 (MDT)