Skip to content

Commit 234e01a

Browse files
committed
implement suggestions and fix discussions
1 parent 7f8d01e commit 234e01a

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/part2/serial-link.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ Idle time is used to read received data, configure the port if needed, and load
3939

4040
Before we can transfer any data, we need to configure the *clock source* of both Game Boys.
4141
To synchronise the two devices, one Game Boy must provide the clock signal that both will use.
42-
Setting bit 0 of the **Serial Control** register (`SC`) enables the Game Boy's *internal* serial clock, and makes it the clock provider.
42+
Setting bit 0 of the [Serial Control register](https://gbdev.io/pandocs/Serial_Data_Transfer_(Link_Cable).html#ff02--sc-serial-transfer-control) (`rSC` as it's defined in hardware.inc)
43+
enables the Game Boy's *internal* serial clock, and makes it the clock provider.
4344
The other Game Boy must have its clock source set to *external* (`SC` bit 0 cleared).
4445
The externally clocked Game Boy will receive the clock signal via the link cable.
4546

@@ -355,6 +356,9 @@ Finally, implement the checksum:
355356
The checksum implemented here has been kept very simple for this tutorial.
356357
It's probably worth looking into better solutions for real-world projects.
357358

359+
Check Ben Eater's lessons on [Reliable Data Transmission](https://www.youtube.com/watch?v=eq5YpKHXJDM),
360+
[Error Detection: Parity Checking](https://www.youtube.com/watch?v=MgkhrBSjhag), [Checksums and Hamming Distance](https://www.youtube.com/watch?v=ppU41c15Xho),
361+
[How Do CRCs Work?](https://www.youtube.com/watch?v=izG7qT0EpBw) to explore further this topic.
358362
:::
359363

360364

@@ -424,7 +428,7 @@ Copy this code (it needs to be exact) to `main.asm`, just above the `"Header"` s
424428
A proper and complete explanation of this is beyond the scope of this lesson.
425429
You can continue the lesson understanding that:
426430
- This is the serial interrupt handler. It gets called automatically after each serial transfer.
427-
- The relevant stuff is in `SioPortEnd` but it's necessary to jump through some hoops to call it.
431+
- The significant implementation is in `SioPortEnd` but it's necessary to jump through some hoops to call it.
428432

429433
A detailed and rather dense explanation is included for completeness.
430434

0 commit comments

Comments
 (0)