Hello everybody, it's been a while since my last post!
It's been a lot of changes in the O-Nes-sama emulator, pretty exciting.
The reason for this post is to ask details about fineX and fineY.
Right now i have a predictive algorithm for the zero hit calculation. It doesn't "render" or process each pixel from the BG, neither compares it with the sprite zero pixels.
Right now the algorithm "works". it surprisingly passes all the zero hit tests, but it fail to trigger like in Total recall just after you press start, Maniac Mansion hangs at "twenty years ago today...", and Double Dragon at the second level, and many others.
Right now i want to re-implement the zero hit algorithm, what i'm planning to do is to predict what scanlines the sprite zero will be and then try to "render" pixel-accurately the BG pixels so i could compare the sprite zero pixels with it.
So if you guys could solve my doubts i will be very grateful!
1) When rendering has started, oams can't move right? if you try to change the position it will corrupt the oams right?
2) If i understand correctly fineX is used to know what pixel to pick from current tile. fineY is the line of current tile.
Lets say fineX is 4, and we are at tick 1 of a given scanline. the first pixel that will pick is number 4 then 5, 6, 7 and then 01234567 from next tile right?
What if i change fineX as soon as possible? will the shift registers could be empty some time? Talking about ticks how soon can you change fineX?
Thanks in advance!
It's been a lot of changes in the O-Nes-sama emulator, pretty exciting.
The reason for this post is to ask details about fineX and fineY.
Right now i have a predictive algorithm for the zero hit calculation. It doesn't "render" or process each pixel from the BG, neither compares it with the sprite zero pixels.
Right now the algorithm "works". it surprisingly passes all the zero hit tests, but it fail to trigger like in Total recall just after you press start, Maniac Mansion hangs at "twenty years ago today...", and Double Dragon at the second level, and many others.
Right now i want to re-implement the zero hit algorithm, what i'm planning to do is to predict what scanlines the sprite zero will be and then try to "render" pixel-accurately the BG pixels so i could compare the sprite zero pixels with it.
So if you guys could solve my doubts i will be very grateful!
1) When rendering has started, oams can't move right? if you try to change the position it will corrupt the oams right?
2) If i understand correctly fineX is used to know what pixel to pick from current tile. fineY is the line of current tile.
Lets say fineX is 4, and we are at tick 1 of a given scanline. the first pixel that will pick is number 4 then 5, 6, 7 and then 01234567 from next tile right?
What if i change fineX as soon as possible? will the shift registers could be empty some time? Talking about ticks how soon can you change fineX?
Thanks in advance!