aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Move macros globallyMiquel Sabaté Solà2025-02-041-22/+22
| | | | | | | | | | | | | | | It's a pity that cl65 allows macros to be written inside of scopes while their usage is only possible from the global scope. Hence, by allowing programmers to write macros inside of scopes, it feels like 'cc65' is actually lying to programmers. 'nasm' double downs on this by simply refusing to assemble such a case, which is the sensible thing to do if it's not allowed anyways. Long story short, macro statements have to be written in the global scope and so this commit moves the READ_CONTROLLER one from the `space` example globally. 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-049-44/+100
| | | | | | | 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>
* Clean up the Makefile outputMiquel Sabaté Solà2025-02-043-32/+30
| | | | | | | | This also involves moving the target for the `space` example to the general Makefile. The Makefile is not as clear as I'd like, but at least it's not a mess (yet). Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
* Vastly improve the documentationMiquel Sabaté Solà2025-02-0410-83/+184
| | | | | | 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-044-104/+74
| | | | | | | | | 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-044-4/+435
| | | | | | | 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-049-189/+3
| | | | Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* basics: Add an example on CHR-RAMMiquel Sabaté Solà2025-02-047-9/+321
| | | | | | Moreover, add a simple fix to the CI. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* scroll: Start with the scrolling examplesMiquel Sabaté Solà2025-02-0412-14/+471
| | | | | | | This is still work in progress but at least there's some basic structure to it. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* space: Improve comments and documentationMiquel Sabaté Solà2025-02-044-6/+22
| | | | Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* Make READMEs more clear for absolute beginnersMiquel Sabaté Solà2025-02-042-2/+11
| | | | | | 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-048-152/+335
| | | | | | | | | 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-046-1/+256
| | | | 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-043-3/+166
| | | | Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* Lay out a proper structure for the projectMiquel Sabaté Solà2025-02-0423-39/+847
| | | | | | | | 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>
* Add a sprite exampleMiquel Sabaté Solà2025-02-048-104/+654
| | | | | | | This is way better documented. Moreover, the `input.s` example has been further simplified. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
* Initial commitMiquel Sabaté Solà2025-02-049-0/+978
Add the basic structure and the first example: managing controller input. Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>