Skip to content

Conversation

@Les-Wet
Copy link
Contributor

@Les-Wet Les-Wet commented Jan 23, 2026

As discussed in #149, it could be beneficial to introduce linking multiple assembly files in the Title Screen section of the tutorial. This section of the tutorial is rather sparse, and could help prepare for the complexity of the Serial Link section, which is currently the section which introduces multi-file projects.

This PR adds a section to the Title Screen page which teaches how to make and build multi-file projects. It also slightly rewords the Serial Link section now that the Title Screen has already introduced that topic. Lastly, it removes and corrects the style of the input.asm file in the way that #149 intended to.

Copy link
Contributor

@quinnyo quinnyo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good.
I think the input code is a good, understandable, chunk to separate.
The title lesson is pretty brief, so it seems like a good opportunity to do some 'housekeeping'/refactoring.

And just like that we have ourselves a title screen!

## Organizing Our Code
Our project is getting quite large with all the functionality we're building in! Let's briefly go over how to better organize things. Until now, we have always added new code into the same assembly file (`main.asm`). This file can get pretty large if we're not careful. Instead, RGBDS has a handy feature for making [functions](./functions.md) or other labels visible to external files. As an example, let's take everything we added in our [input](./input.md) lesson, and put it in a separate file named [`input.asm`](https://github.com/gbdev/gb-asm-tutorial/raw/master/unbricked/title-screen/input.asm).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"This file can get pretty large if we're not careful." doesn't explain why the file growing is undesirable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants