relay on 127.0.0.1:41061; both ports pre-set to control $98, command $69
[A] >>> warp on
(C:$ee70) (C:$ee70) 
[B] >>> warp on
(C:$ee5a) (C:$ee5a) 
[A] >>> break 0800
BREAK: 1  C:$0800  (Stop on exec)
(C:$ee70) 
[A] loading under warp ...
[A] #1 (Stop on  exec 0800)  146/$092,  23/$17
.C:0800  4C 6C 0A    JMP $0A6C      - A:FC X:00 Y:02 SP:fe NV-B...C   73244493
(C:$0800) 
[A] >>> del
Deleting all checkpoints
(C:$0800) 
[A] >>> resourceset "WarpMode" "0"
Unknown resource "WarpMode".
(C:$0800) 
[A] >>> resourceset "Warp" "0"
Unknown resource "Warp".
(C:$0800) 
[A] >>> resourceset "WarpModeEnabled" "0"
Unknown resource "WarpModeEnabled".
(C:$0800) 
[B] >>> break 0800
BREAK: 1  C:$0800  (Stop on exec)
(C:$ee5a) 
[B] loading under warp ...
[B] #1 (Stop on  exec 0800)   16/$010,  15/$0f
.C:0800  4C 6C 0A    JMP $0A6C      - A:43 X:00 Y:02 SP:fe .V-B...C   73338605
(C:$0800) 
[B] >>> del
Deleting all checkpoints
(C:$0800) 
[B] >>> resourceset "WarpMode" "0"
Unknown resource "WarpMode".
(C:$0800) 
[B] >>> resourceset "Warp" "0"
Unknown resource "Warp".
(C:$0800) 
[B] >>> resourceset "WarpModeEnabled" "0"
Unknown resource "WarpModeEnabled".
(C:$0800) 
[A] >>> warp off
(C:$c50d) 
[A] >>> warp
Warp mode is off.
(C:$c50d) 
[A] Warp mode is off.
(C:$c50d)
[B] >>> warp off
(C:$0953) 
[B] >>> warp
Warp mode is off.
(C:$0953) 
[B] Warp mode is off.
(C:$0953)
[A] >>> m 91d5 91d5
(C:$c86d) 
[A] >>> m 91d5 91d5
>C:91d5  01                                                   .
(C:$91d6) >C:91d5  01                                                   .
(C:$91d6) 
[A] menu row = 1
[A] >>> m 91d5 91d5
(C:$fd61) >C:91d5 
[A] >>> m 91d5 91d5
 00                                                   .
(C:$91d6) 
[A] >>> m 91d5 91d5
>C:91d5  00                                                   .
(C:$91d6) >C:91d5  00                                                   .
(C:$91d6) 
[A] menu row = 0
[B] >>> m 91d5 91d5
(C:$c502) 
[B] >>> m 91d5 91d5
>C:91d5  01                                                   .
(C:$91d6) >C:91d5  01                                                   .
(C:$91d6) 
[B] menu row = 1
[B] >>> m 91d5 91d5
(C:$0ed4) 
[B] >>> m 91d5 91d5
>C:91d5  00                                                   .
(C:$91d6) 
[B] menu row = 0
[A] >>> m e000 e00f
>C:e000  4c 11 e1 4c  9a e2 4c a9  e0 4c f6 e0  4c cb e3 60   L..L..L..L..L..`
(C:$e010) 
[A] the module is resident: the $E000 jump table matches
[B] >>> m e000 e00f
>C:e000  4c 43 e0 4c  60 e0 4c 75  e0 4c 77 e0  4c 77 e0 60   LC.L`.Lu.Lw.Lw.`
(C:$e010) 
[B] waiting for the module: $E000 = 4C 43 E0 4C 60 E0 4C 75 E0 4C 77 E0 4C 77 E0 60
[B] >>> m e000 e00f
>C:e000  4c 43 e0 4c  60 e0 4c 75  e0 4c 77 e0  4c 77 e0 60   LC.L`.Lu.Lw.Lw.`
(C:$e010) 
[B] waiting for the module: $E000 = 4C 43 E0 4C 60 E0 4C 75 E0 4C 77 E0 4C 77 E0 60
[B] >>> m e000 e00f
>C:e000  4c 43 e0 4c  60 e0 4c 75  e0 4c 77 e0  4c 77 e0 60   LC.L`.Lu.Lw.Lw.`
(C:$e010) 
[B] waiting for the module: $E000 = 4C 43 E0 4C 60 E0 4C 75 E0 4C 77 E0 4C 77 E0 60
[B] >>> m e000 e00f
>C:e000  4c 43 e0 4c  60 e0 4c 75  e0 4c 77 e0  4c 77 e0 60   LC.L`.Lu.Lw.Lw.`
(C:$e010) 
[B] waiting for the module: $E000 = 4C 43 E0 4C 60 E0 4C 75 E0 4C 77 E0 4C 77 E0 60
[B] >>> m e000 e00f
>C:e000  4c 43 e0 4c  60 e0 4c 75  e0 4c 77 e0  4c 77 e0 60   LC.L`.Lu.Lw.Lw.`
(C:$e010) 
[B] waiting for the module: $E000 = 4C 43 E0 4C 60 E0 4C 75 E0 4C 77 E0 4C 77 E0 60
[B] >>> m e000 e00f
>C:e000  4c 43 e0 4c  60 e0 4c 75  e0 4c 77 e0  4c 77 e0 60   LC.L`.Lu.Lw.Lw.`
(C:$e010) 
[B] waiting for the module: $E000 = 4C 43 E0 4C 60 E0 4C 75 E0 4C 77 E0 4C 77 E0 60
[B] >>> m e000 e00f
>C:e000  4c 43 e0 4c  60 e0 4c 75  e0 4c 77 e0  4c 77 e0 60   LC.L`.Lu.Lw.Lw.`
(C:$e010) 
[B] waiting for the module: $E000 = 4C 43 E0 4C 60 E0 4C 75 E0 4C 77 E0 4C 77 E0 60
[B] >>> m e000 e00f
>C:e000  4c 11 e1 4c  9a e2 4c a9  e0 4c f6 e0  4c cb e3 60   L..L..L..L..L..`
(C:$e010) 
[B] the module is resident: the $E000 jump table matches
[A] >>> m de03 de03
>C:de03  00                                                   .
(C:$de04) 
[A] >>> m de02 de02
>C:de02  00                                                   .
(C:$de03) 
[A] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[A] >>> m e056 e056
>C:e056  50                                                   P
(C:$e057) 
[A] >>> m e726 e726
>C:e726  00                                                   .
(C:$e727) 
[A] >>> m e5bf e5bf
>C:e5bf  00                                                   .
(C:$e5c0) 
[A] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[A] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[A] at the A/O prompt, before the preset: control=$00 command=$00 baudIndex=$15 live=$50 adoptSlot=$00 latch=$00 shadow=$00 nmiState=$00
[A]   control $00 = 8N1, external clock, rate bits $0 = unknown baud on a SwiftLink
[A] >>> > de03 98
(C:$c510) 
[relay] connection 1
[A] >>> > de02 69
(C:$c510) 
[A] >>> m de03 de03
>C:de03  98                                                   .
(C:$de04) 
[A] >>> m de02 de02
>C:de02  69                                                   i
(C:$de03) 
[A] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[A] >>> m e056 e056
>C:e056  50                                                   P
(C:$e057) 
[A] >>> m e726 e726
>C:e726  00                                                   .
(C:$e727) 
[A] >>> m e5bf e5bf
>C:e5bf  00                                                   .
(C:$e5c0) 
[A] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[A] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[A] after the preset was written: control=$98 command=$69 baudIndex=$15 live=$50 adoptSlot=$00 latch=$00 shadow=$00 nmiState=$00
[A]   control $98 = 8N2, internal baud generator, rate bits $8 = 2400 baud on a SwiftLink
[B] >>> m de03 de03
>C:de03  00                                                   .
(C:$de04) 
[B] >>> m de02 de02
>C:de02  00                                                   .
(C:$de03) 
[B] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[B] >>> m e056 e056
>C:e056  50                                                   P
(C:$e057) 
[B] >>> m e726 e726
>C:e726  00                                                   .
(C:$e727) 
[B] >>> m e5bf e5bf
>C:e5bf  00                                                   .
(C:$e5c0) 
[B] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[B] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[B] at the A/O prompt, before the preset: control=$00 command=$00 baudIndex=$15 live=$50 adoptSlot=$00 latch=$00 shadow=$00 nmiState=$00
[B]   control $00 = 8N1, external clock, rate bits $0 = unknown baud on a SwiftLink
[B] >>> > de03 98
(C:$c4f6) 
[relay] connection 2
[B] >>> > de02 69
(C:$c4f6) 
[B] >>> m de03 de03
>C:de03  98                                                   .
(C:$de04) 
[B] >>> m de02 de02
>C:de02  69                                                   i
(C:$de03) 
[B] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[B] >>> m e056 e056
>C:e056  50                                                   P
(C:$e057) 
[B] >>> m e726 e726
>C:e726  00                                                   .
(C:$e727) 
[B] >>> m e5bf e5bf
>C:e5bf  00                                                   .
(C:$e5c0) 
[B] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[B] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[B] after the preset was written: control=$98 command=$69 baudIndex=$15 live=$50 adoptSlot=$00 latch=$00 shadow=$00 nmiState=$00
[B]   control $98 = 8N2, internal baud generator, rate bits $8 = 2400 baud on a SwiftLink
[A] >>> screenshot "/home/scott/claude/modemwars/swiftlink/shots/apap9801preset.png" 2
(C:$c699) 
[A] shot /home/scott/claude/modemwars/swiftlink/shots/apap9801preset.png
[A] >>> m e5be e5be
(C:$c4ef) 
[A] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[A] >>> m e5be e5be
(C:$0e0e) 
[A] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[A] >>> m e5be e5be
(C:$0950) 
[A] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[A] >>> m e5be e5be
(C:$fd6f) 
[A] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[A] >>> m e5be e5be
(C:$6637) >C:e5be  09 
[A] link opened after 5 attempt(s), command register = $09
[B] >>> m e5be e5be
(C:$0953) 
[B] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[B] >>> m e5be e5be
(C:$c4f6) 
[B] >>> m e5be e5be
>C:e5be  00                                                   .
(C:$e5bf) 
[B] >>> m e5be e5be
(C:$c8ee) 
[B] >>> m e5be e5be
>C:e5be  09                                                   .
(C:$e5bf) >C:e5be 
[B] link opened after 3 attempt(s), command register = $09
[A] >>> m de03 de03
>C:de03  98                                                   .
(C:$de04) 
[A] >>> m de02 de02
>C:de02  05                                                   .
(C:$de03) 
[A] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[A] >>> m e056 e056
>C:e056  98                                                   .
(C:$e057) 
[A] >>> m e726 e726
>C:e726  98                                                   .
(C:$e727) 
[A] >>> m e5bf e5bf
>C:e5bf  de                                                   .
(C:$e5c0) 
[A] >>> m e5be e5be
>C:e5be  05                                                   .
(C:$e5bf) 
[A] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[A] after the link was opened: control=$98 command=$05 baudIndex=$15 live=$98 adoptSlot=$98 latch=$DE shadow=$05 nmiState=$00
[A]   control $98 = 8N2, internal baud generator, rate bits $8 = 2400 baud on a SwiftLink
[B] >>> m de03 de03
>C:de03  98                                                   .
(C:$de04) 
[B] >>> m de02 de02
>C:de02  09                                                   .
(C:$de03) 
[B] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[B] >>> m e056 e056
>C:e056  98                                                   .
(C:$e057) 
[B] >>> m e726 e726
>C:e726  98                                                   .
(C:$e727) 
[B] >>> m e5bf e5bf
>C:e5bf  de                                                   .
(C:$e5c0) 
[B] >>> m e5be e5be
>C:e5be  09                                                   .
(C:$e5bf) 
[B] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[B] after the link was opened: control=$98 command=$09 baudIndex=$15 live=$98 adoptSlot=$98 latch=$DE shadow=$09 nmiState=$00
[B]   control $98 = 8N2, internal baud generator, rate bits $8 = 2400 baud on a SwiftLink
[A] >>> m e040 e040
>C:e040  02                                                   .
(C:$e041) 
[B] >>> m e040 e040
>C:e040  03                                                   .
(C:$e041) 
  phases: {'A': 2, 'B': 3}
[A] >>> m e040 e040
>C:e040  03                                                   .
(C:$e041) 
[B] >>> m e040 e040
>C:e040  03                                                   .
(C:$e041) 
  phases: {'A': 3, 'B': 3}
both in the packet phase: True ({'A': 3, 'B': 3})
[A] >>> m de03 de03
>C:de03  98                                                   .
(C:$de04) 
[A] >>> m de02 de02
>C:de02  09                                                   .
(C:$de03) 
[A] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[A] >>> m e056 e056
>C:e056  98                                                   .
(C:$e057) 
[A] >>> m e726 e726
>C:e726  98                                                   .
(C:$e727) 
[A] >>> m e5bf e5bf
>C:e5bf  de                                                   .
(C:$e5c0) 
[A] >>> m e5be e5be
>C:e5be  09                                                   .
(C:$e5bf) 
[A] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[A] in the packet phase: control=$98 command=$09 baudIndex=$15 live=$98 adoptSlot=$98 latch=$DE shadow=$09 nmiState=$00
[A]   control $98 = 8N2, internal baud generator, rate bits $8 = 2400 baud on a SwiftLink
[B] >>> m de03 de03
>C:de03  98                                                   .
(C:$de04) 
[B] >>> m de02 de02
>C:de02  05                                                   .
(C:$de03) 
[B] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[B] >>> m e056 e056
>C:e056  98                                                   .
(C:$e057) 
[B] >>> m e726 e726
>C:e726  98                                                   .
(C:$e727) 
[B] >>> m e5bf e5bf
>C:e5bf  de                                                   .
(C:$e5c0) 
[B] >>> m e5be e5be
>C:e5be  05                                                   .
(C:$e5bf) 
[B] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[B] in the packet phase: control=$98 command=$05 baudIndex=$15 live=$98 adoptSlot=$98 latch=$DE shadow=$05 nmiState=$00
[B]   control $98 = 8N2, internal baud generator, rate bits $8 = 2400 baud on a SwiftLink
[A] >>> screenshot "/home/scott/claude/modemwars/swiftlink/shots/apap9802linked.png" 2
(C:$1331) 
[A] shot /home/scott/claude/modemwars/swiftlink/shots/apap9802linked.png
[B] >>> screenshot "/home/scott/claude/modemwars/swiftlink/shots/apap9802linkedB.png" 2
(C:$129c) 
[B] shot /home/scott/claude/modemwars/swiftlink/shots/apap9802linkedB.png
[A] >>> stopwatch
Stopwatch:  275948271
(C:$1244) 
[B] >>> stopwatch
Stopwatch:  188011591
(C:$12f0) 
[A] >>> stopwatch
Stopwatch:  353593761
(C:$12e5) 
[B] >>> stopwatch
Stopwatch:  265349371
(C:$12f5) 

=== window 'adopt $98': 75.20 s wall ===
  [A] 77645490 emulated cycles = 75.92 emulated seconds = 101.0% of real time
  [B] 77337780 emulated cycles = 75.62 emulated seconds = 100.6% of real time
  conn0 -> peer: 677 bytes in 75.20 s = 9.00 bytes/s = 90 bit/s of 8N1 line time; wire: {'bytes': 677, 'zeroRuns8': 0, 'longestZeroRun': 0, 'leadBytes55': 253}
  conn1 -> peer: 675 bytes in 75.20 s = 8.98 bytes/s = 90 bit/s of 8N1 line time; wire: {'bytes': 675, 'zeroRuns8': 0, 'longestZeroRun': 1, 'leadBytes55': 253}
  conn0 per second: min 5.9, max 12.0, seconds carrying nothing: 0 of 74
  conn1 per second: min 8.9, max 9.0, seconds carrying nothing: 0 of 74
[A] >>> m de03 de03
>C:de03  98                                                   .
(C:$de04) 
[A] >>> m de02 de02
>C:de02  09                                                   .
(C:$de03) 
[A] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[A] >>> m e056 e056
>C:e056  98                                                   .
(C:$e057) 
[A] >>> m e726 e726
>C:e726  98                                                   .
(C:$e727) 
[A] >>> m e5bf e5bf
>C:e5bf  de                                                   .
(C:$e5c0) 
[A] >>> m e5be e5be
>C:e5be  09                                                   .
(C:$e5bf) 
[A] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[A] at the end of the window: control=$98 command=$09 baudIndex=$15 live=$98 adoptSlot=$98 latch=$DE shadow=$09 nmiState=$00
[A]   control $98 = 8N2, internal baud generator, rate bits $8 = 2400 baud on a SwiftLink
[B] >>> m de03 de03
>C:de03  98                                                   .
(C:$de04) 
[B] >>> m de02 de02
>C:de02  09                                                   .
(C:$de03) 
[B] >>> m e055 e055
>C:e055  15                                                   .
(C:$e056) 
[B] >>> m e056 e056
>C:e056  98                                                   .
(C:$e057) 
[B] >>> m e726 e726
>C:e726  98                                                   .
(C:$e727) 
[B] >>> m e5bf e5bf
>C:e5bf  de                                                   .
(C:$e5c0) 
[B] >>> m e5be e5be
>C:e5be  09                                                   .
(C:$e5bf) 
[B] >>> m e5bd e5bd
>C:e5bd  00                                                   .
(C:$e5be) 
[B] at the end of the window: control=$98 command=$09 baudIndex=$15 live=$98 adoptSlot=$98 latch=$DE shadow=$09 nmiState=$00
[B]   control $98 = 8N2, internal baud generator, rate bits $8 = 2400 baud on a SwiftLink

---- uartRxCount $E42D sampled repeatedly ----
[A] >>> m e42d e42f
>C:e42d  00 13 13                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  01 98 00 05                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  02                                                   .
(C:$e415) 
  [ring 00] [A] uartRxCount=0 uartTxCount=2 phase=3 active=$01 err=0 tx=$01 cmd=$05
[B] >>> m e42d e42f
>C:e42d  00 04 04                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 04 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 00] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  02 05 03                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 02 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  00 98 00 09                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 01] [A] uartRxCount=2 uartTxCount=0 phase=2 active=$01 err=0 tx=$00 cmd=$09
[B] >>> m e42d e42f
>C:e42d  00 00 00                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 06 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 01] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  02 12 10                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  00 98 00 09                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 02] [A] uartRxCount=2 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[B] >>> m e42d e42f
>C:e42d  00 0a 0a                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 04 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 02] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  03 0a 07                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 00 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  01 98 00 05                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  02                                                   .
(C:$e415) 
  [ring 03] [A] uartRxCount=3 uartTxCount=2 phase=3 active=$01 err=0 tx=$01 cmd=$05
[B] >>> m e42d e42f
>C:e42d  00 10 10                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 03 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 03] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  01 0f 0e                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  00 98 00 09                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 04] [A] uartRxCount=1 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[B] >>> m e42d e42f
>C:e42d  00 07 07                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 01 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  01 98 00 05                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  02                                                   .
(C:$e415) 
  [ring 04] [B] uartRxCount=0 uartTxCount=2 phase=3 active=$01 err=0 tx=$01 cmd=$05
[A] >>> m e42d e42f
>C:e42d  01 08 07                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 02 00 00  00 02 02 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  00 98 00 09                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 05] [A] uartRxCount=1 uartTxCount=0 phase=2 active=$01 err=0 tx=$00 cmd=$09
[B] >>> m e42d e42f
>C:e42d  00 07 07                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 04 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 05] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  04 07 03                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 00 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  01 00 00 05                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  01                                                   .
(C:$e415) 
  [ring 06] [A] uartRxCount=4 uartTxCount=1 phase=3 active=$01 err=0 tx=$01 cmd=$05
[B] >>> m e42d e42f
>C:e42d  00 0e 0e                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 05 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 06] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  01 13 12                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 02 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  00 98 00 09                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 07] [A] uartRxCount=1 uartTxCount=0 phase=2 active=$01 err=0 tx=$00 cmd=$09
[B] >>> m e42d e42f
>C:e42d  00 0d 0d                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 06 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 07] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  06 10 0a                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  01 98 00 05                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  02                                                   .
(C:$e415) 
  [ring 08] [A] uartRxCount=6 uartTxCount=2 phase=3 active=$01 err=0 tx=$01 cmd=$05
[B] >>> m e42d e42f
>C:e42d  00 09 09                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 08 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 08] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  04 0e 0a                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  01 98 00 05                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  02                                                   .
(C:$e415) 
  [ring 09] [A] uartRxCount=4 uartTxCount=2 phase=3 active=$01 err=0 tx=$01 cmd=$05
[B] >>> m e42d e42f
>C:e42d  00 0e 0e                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 05 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  01 90 00 05                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  02                                                   .
(C:$e415) 
  [ring 09] [B] uartRxCount=0 uartTxCount=2 phase=3 active=$01 err=0 tx=$01 cmd=$05
[A] >>> m e42d e42f
>C:e42d  00 02 02                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 03 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  01 98 00 05                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  02                                                   .
(C:$e415) 
  [ring 10] [A] uartRxCount=0 uartTxCount=2 phase=3 active=$01 err=0 tx=$01 cmd=$05
[B] >>> m e42d e42f
>C:e42d  00 00 00                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 02 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  00 90 00 09                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  00                                                   .
(C:$e415) 
  [ring 10] [B] uartRxCount=0 uartTxCount=0 phase=3 active=$01 err=0 tx=$00 cmd=$09
[A] >>> m e42d e42f
>C:e42d  02 02 00                                             ...
(C:$e430) 
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 02 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e5bb e5be
>C:e5bb  01 98 00 05                                          ....
(C:$e5bf) 
[A] >>> m e414 e414
>C:e414  01                                                   .
(C:$e415) 
  [ring 11] [A] uartRxCount=2 uartTxCount=1 phase=2 active=$01 err=0 tx=$01 cmd=$05
[B] >>> m e42d e42f
>C:e42d  04 10 0c                                             ...
(C:$e430) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 00 ff  00            .............
(C:$e048) 
[B] >>> m e5bb e5be
>C:e5bb  01 98 00 05                                          ....
(C:$e5bf) 
[B] >>> m e414 e414
>C:e414  02                                                   .
(C:$e415) 
  [ring 11] [B] uartRxCount=4 uartTxCount=2 phase=3 active=$01 err=0 tx=$01 cmd=$05
  [A] uartRxCount over 12 samples: min 0, max 6, mean 2.2, at the 20-byte limit 0 times; connectionPhase values seen [2, 3]
  [B] uartRxCount over 12 samples: min 0, max 4, mean 0.3, at the 20-byte limit 0 times; connectionPhase values seen [3]
[A] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 03 00 00  00 02 01 ff  00            .............
(C:$e048) 
[A] >>> m e0a5 e0a5
>C:e0a5  00                                                   .
(C:$e0a6) 
[A] >>> m e055 e056
>C:e055  15 98                                                ..
(C:$e057) 
[A] >>> m e5bb e5be
>C:e5bb  00 98 00 09                                          ....
(C:$e5bf) 
[A] >>> m de00 de03
>C:de00  55 10 09 98                                          U...
(C:$de04) 
[A] >>> m eab7 eab7
>C:eab7  02                                                   .
(C:$eab8) 
[A] >>> m 0b7d 0b7d
>C:0b7d  00                                                   .
(C:$0b7e) 
[B] >>> m e03b e047
>C:e03b  01 f8 f8 00  00 02 00 00  00 02 05 ff  00            .............
(C:$e048) 
[B] >>> m e0a5 e0a5
>C:e0a5  01                                                   .
(C:$e0a6) 
[B] >>> m e055 e056
>C:e055  15 98                                                ..
(C:$e057) 
[B] >>> m e5bb e5be
>C:e5bb  01 90 00 05                                          ....
(C:$e5bf) 
[B] >>> m de00 de03
>C:de00  ff 10 05 98                                          ....
(C:$de04) 
[B] >>> m eab7 eab7
>C:eab7  00                                                   .
(C:$eab8) 
[B] >>> m 0b7d 0b7d
>C:0b7d  00                                                   .
(C:$0b7e) 
  [A] phase=3 isLinkActive=1 linkErrorCount=0 linkStatus=$F8 baudIndex=21 $DE03=$98 $DE01=$10 $DE02=$09 bitPeriodLo=$98 statusSave=$98 cmdShadow=$09 txCharActive=$00 uartPending=$00 syncRound=$02 lastHotkey=$FF lockout=0
  [B] phase=2 isLinkActive=1 linkErrorCount=0 linkStatus=$F8 baudIndex=21 $DE03=$98 $DE01=$10 $DE02=$05 bitPeriodLo=$98 statusSave=$90 cmdShadow=$05 txCharActive=$01 uartPending=$01 syncRound=$00 lastHotkey=$FF lockout=0
[A] >>> screenshot "/home/scott/claude/modemwars/swiftlink/shots/apap9803end.png" 2
(C:$e502) 
[A] shot /home/scott/claude/modemwars/swiftlink/shots/apap9803end.png
[B] >>> screenshot "/home/scott/claude/modemwars/swiftlink/shots/apap9803endB.png" 2
(C:$e732) 
[B] shot /home/scott/claude/modemwars/swiftlink/shots/apap9803endB.png

================ SUMMARY ================
preset control $98, preset command $69
  [A] atPrompt     control=$00  command=$00  baudIndex=$15  live=$50  adoptSlot=$00  latch=$00
  [A] preset       control=$98  command=$69  baudIndex=$15  live=$50  adoptSlot=$00  latch=$00
  [A] opened       control=$98  command=$05  baudIndex=$15  live=$98  adoptSlot=$98  latch=$DE
  [A] phase3       control=$98  command=$09  baudIndex=$15  live=$98  adoptSlot=$98  latch=$DE
  [A] afterWindow  control=$98  command=$09  baudIndex=$15  live=$98  adoptSlot=$98  latch=$DE
  [B] atPrompt     control=$00  command=$00  baudIndex=$15  live=$50  adoptSlot=$00  latch=$00
  [B] preset       control=$98  command=$69  baudIndex=$15  live=$50  adoptSlot=$00  latch=$00
  [B] opened       control=$98  command=$09  baudIndex=$15  live=$98  adoptSlot=$98  latch=$DE
  [B] phase3       control=$98  command=$05  baudIndex=$15  live=$98  adoptSlot=$98  latch=$DE
  [B] afterWindow  control=$98  command=$09  baudIndex=$15  live=$98  adoptSlot=$98  latch=$DE
  window 75.20 s wall; speeds {'A': 101.0, 'B': 100.6}
  conn0 677 bytes = 9.00 B/s; wire {'bytes': 677, 'zeroRuns8': 0, 'longestZeroRun': 0, 'leadBytes55': 253}
  conn1 675 bytes = 8.98 B/s; wire {'bytes': 675, 'zeroRuns8': 0, 'longestZeroRun': 1, 'leadBytes55': 253}
  seconds carrying nothing: {'conn0': 0, 'conn1': 0}
  both reached phase 3: True ({'A': 3, 'B': 3})
[relay] conn0 total 3753 bytes
[relay] conn1 total 3463 bytes
