aboutsummaryrefslogtreecommitdiff
path: root/basics
Commit message (Collapse)AuthorAgeFilesLines
* shared: Add utilities for clearing screensMiquel Sabaté Solà2025-03-071-0/+3
| | | | | | | | | | | | | These are quite mindless, but they are rather useful on simple examples in which we don't care about performance and we just want to show something on the screen. For now this didn't matter much, but on real hardware I was able to reproduce the same glitches as with emulators which randomized memory on both the CPU memory and on the PPU. Hence, just allow some examples to manually reset these regions and avoid silly graphical glitches. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Ensure background/sprite tiles are spread properlyMiquel Sabaté Solà2025-02-041-1/+1
| | | | | | | | At least on the MMC3 chip, it's important to have background tiles on the first pattern table and then sprite tiles on the second pattern table. This avoids a hardware bug on scanline IRQs. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* scroll: Implement a roulette-like gameMiquel Sabaté Solà2025-02-041-13/+4
| | | | Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Don't leave segments emptyMiquel Sabaté Solà2025-02-042-0/+20
| | | | | | Otherwise we will get a warning from nasm. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Use custom configurations everywhereMiquel Sabaté Solà2025-02-044-23/+33
| | | | | | | Moreover, I have introduced a linker configuration for MMC1 as well, so to properly implement the `basics/persist.s` example. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Vastly improve the documentationMiquel Sabaté Solà2025-02-043-56/+159
| | | | | | This includes more clear explanations, images, etc. Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Add a way to safely read from controllersMiquel Sabaté Solà2025-02-042-1/+6
| | | | | | | | | First of all, move some reading utilities into the new `shared` directory, so controllers can be read by more than one example. Second, even if we keep the example on `basics/input.s` simple, let's provide a safe alternative for the other examples. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* basics: Add a flickering exampleMiquel Sabaté Solà2025-02-041-1/+280
| | | | | | | Add an example on how to flicker sprites so to not surpass the scanline limit for them. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* Move assets into a global directoryMiquel Sabaté Solà2025-02-044-2/+2
| | | | Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* basics: Add an example on CHR-RAMMiquel Sabaté Solà2025-02-043-0/+304
| | | | | | Moreover, add a simple fix to the CI. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* space: Improve comments and documentationMiquel Sabaté Solà2025-02-041-2/+4
| | | | Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* Make READMEs more clear for absolute beginnersMiquel Sabaté Solà2025-02-041-1/+8
| | | | | | Hopefully the path is now more clear. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* space: Simplify the code and its goalsMiquel Sabaté Solà2025-02-041-6/+7
| | | | | | | | | Originally this was supposed to be a sort of mini game, but that would have probably made it too complex for newcomers. Thus, let's just keep it to subpixel movement and shooting bullets, which is already a big step from the `basics/sprite.s` example. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* basics: Add an example on UNROMMiquel Sabaté Solà2025-02-043-0/+176
| | | | Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* basics: Improve documentationMiquel Sabaté Solà2025-02-043-9/+23
| | | | | | | Add more comments to `sprite.s` and `persist.s` so they can be read by a newcomer, and also introduce a README for this directory. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* basics: Add an example on persisting dataMiquel Sabaté Solà2025-02-042-3/+165
| | | | Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* Lay out a proper structure for the projectMiquel Sabaté Solà2025-02-044-0/+771
Let's divide things by topic instead of a broad "examples" directory. This will allow for simple files to co-exist together with full-blown projects. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>