aboutsummaryrefslogtreecommitdiff
path: root/src/vectors.s
Commit message (Collapse)AuthorAgeFilesLines
* partial: Account for frame dropsMiquel Sabaté Solà2025-05-151-1/+22
| | | | | | | | Define tracing variables when PARTIAL=1, which is only on a development environment. This way we can detect whether we are dropping frames or not. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* reset: Do not zero out RAMMiquel Sabaté Solà2025-05-121-24/+14
| | | | | | | | | | | | | | | | This is usually done so the programmer can forget about initializing in the future, but it not only hides programming mistakes, but we are also resetting memory addresses which are never to be used by this simple game. Hence, just skip resetting RAM altogether. Last but not least, sprite initialization in `reset` code has also been optimized so instead of around 2000 cycles it takes half of that. This is done by only touching the first byte of the four bytes for a sprite in OAM, which is enough for hiding random sprites and the cost of extra `inx` instructions is far cheaper than all the extra `sta` to absolute address with X-index from the old code. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Add the ability to pause the gameMiquel Sabaté Solà2025-04-031-2/+7
| | | | Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* player: First PAL implementationMiquel Sabaté Solà2025-04-021-0/+5
| | | | | | | | | The steps by which a player increases its current velocity to reach the target one has been adapted on PAL, so every five frames it takes an extra step compared to NTSC. This at least brings PAL to grow its values at the same rate as NTSC. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* reset: Read the PPU status before the first waitMiquel Sabaté Solà2025-03-191-0/+1
| | | | | | | That is, stick more closely to what the reference reset implementation does. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Disable the PPU between the title to main screensMiquel Sabaté Solà2025-03-191-1/+3
| | | | | | | During other transitions like game over and such it might also be needed to have something similar, but for now this should cut it. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Add a title and a main screensMiquel Sabaté Solà2025-03-131-0/+27
| | | | | | | | This commit adds the skeleton for having a title and a main screen. For now the title menu doesn't do much, as the selection is simply ignored, but at least it already knows how to cycle between these two states. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Start with a skeleton for the projectMiquel Sabaté Solà2025-03-121-0/+109
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>