aboutsummaryrefslogtreecommitdiffstats
path: root/sl0ppty.layout.kdl
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 /sl0ppty.layout.kdl
parentusr: sort, cmp, strings, du, time (diff)
downloadgbos-be1a8f74e48d4ed2ae3a0b78a7137b4bc41a2969.tar.gz
gbos-be1a8f74e48d4ed2ae3a0b78a7137b4bc41a2969.tar.xz
gbos-be1a8f74e48d4ed2ae3a0b78a7137b4bc41a2969.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 'sl0ppty.layout.kdl')
-rw-r--r--sl0ppty.layout.kdl15
1 files changed, 15 insertions, 0 deletions
diff --git a/sl0ppty.layout.kdl b/sl0ppty.layout.kdl
new file mode 100644
index 0000000..f767add
--- /dev/null
+++ b/sl0ppty.layout.kdl
@@ -0,0 +1,15 @@
+// What this project needs open, written by `save-workspace`.
+// Checked by `sl0ppty --check`; opened by `open-workspace`.
+layout {
+ tab name="gbos" split="cols" {
+ pane weight=2600 split="rows" {
+ pane weight=1000 cwd="." command="omp -c" purpose="agent:main" suspended=true focus=true
+ pane weight=410 cwd="." purpose="shell:gbos"
+ }
+ pane weight=2200 split="rows" {
+ pane weight=3000 cwd="." command="~/dev/gbc/build/sl0pboy --kitty 3 --kitty-b64 --sock /tmp/sl0pboy.sock gbos.gb" purpose="service:emu" suspended=true
+ pane weight=1000 cwd="." command="make" purpose="task:build" suspended=true
+ pane weight=800 cwd="." command="sudo tools/gbhub --daemon" purpose="service:gbhub" suspended=true
+ }
+ }
+}