aboutsummaryrefslogtreecommitdiffstats
path: root/slosh.layout
diff options
context:
space:
mode:
authoruser <user@clank>2026-09-24 23:08:54 +0200
committeruser <user@clank>2026-09-24 23:08:54 +0200
commitbe1a8f74e48d4ed2ae3a0b78a7137b4bc41a2969 (patch)
tree25477cc16331b6e919deab918eecfcc4edebc0cb /slosh.layout
parentusr: sort, cmp, strings, du, time (diff)
downloadgbos-master.tar.gz
gbos-master.tar.xz
gbos-master.zip
usr: ntpdate + date - the Game Boy knows what day it isHEADmaster
An MBC5 cart has no RTC, so SNTP is the only route to a wall clock. ntpdate does one 48-byte UDP exchange on port 123 and hands the stamp to the kernel; SYS_SETTIME keeps it with the tick it arrived at, and SYS_GETTIME adds the elapsed ticks back, so date(1) is just formatting. /# ntpdate ntpdate: clock set from pool.ntp.org /# date Sep 24 21:01:23 UTC 2026 (host said 21:01:26) The clock does not survive a power cycle - which is exactly what /rc is for: `ntpdate` there and the machine boots knowing the time. All of it is bounded subtraction, no long division or shifts: SDCC pulls those from sm83.lib, whose modules link into the $A000 RAM window. The month tables are string literals for the same family of reason - an initialized array goes to _INITIALIZED at $A000 and the image overflows its bank ("buffer too small" out of makebin), which is how this first failed to link.
Diffstat (limited to 'slosh.layout')
-rw-r--r--slosh.layout8
1 files changed, 8 insertions, 0 deletions
diff --git a/slosh.layout b/slosh.layout
new file mode 100644
index 0000000..b00c43c
--- /dev/null
+++ b/slosh.layout
@@ -0,0 +1,8 @@
+// What this project needs open, written by `save-workspace`.
+// Checked by `slosh --check`; opened by `open-workspace`.
+layout {
+ tab name="gbos" split="cols" {
+ pane weight=1000 cwd="."
+ pane weight=1000 cwd="." command="tig" suspended=true focus=true
+ }
+}