Zepper wrote:
- Sorry, but the things have ended up
here. If you write $FF and read back $E3 on hardware, it's ok about an emulator take such behavior. Pretty pointless to extend such discussion.
(I know it's not nice to write in languages other than english because not everyone will understand, but I feel like Zepper isn't fully understanding what I'm saying, so if you excuse me I'll try it in portuguese)
Zepper, eu não disse que essa informação está errada, mas sim que ela é relevante somente à emulação. O wiki é utilizado tanto por programadores de emulador, como você, e programadores de NES, como eu. Ao colocar uma informação que é relevante apenas à emulação, eu acho importante que isso seja explicado, senão pessoas que estão estudando sobre programação de NES podem ficar confusas, achando que precisam fazer algo que de fato não precisam.
Particularmente, eu acho a forma como está agora no wiki legal, pois ela explica bem que esse é um meio de simular o comportamento do hardware, e inclusive diz que você pode mascarar os bits tanto na hora de escrever quanto na hora de ler, já que o resultado final é o mesmo.
O que eu queria que você entendesse é que essa não é a forma como o NES trabalha, ele não mascara bit nenhum. Quando esse byte é escrito na OAM, esses bits simplesmente se perdem, não são armazenados em lugar nenhum. Então quando você lê, eles retornam como 0. A forma mais óbvia de simular isso num emulador é mascarando os bits com um AND, mas o fato é que isso é apenas uma "imitação" do comportamento verdadeiro, então eu acho importante que isso seja explicado.