modemwars/swiftlink/testLogs/cost.c192a.txt
2026-08-23 02:09:40 -05:00

366 lines
15 KiB
Text

[A] >>> warp on
(C:$eeb2) (C:$eeb2)
[B] >>> warp on
(C:$eeb1) (C:$eeb1)
[A] >>> break 0800
BREAK: 1 C:$0800 (Stop on exec)
(C:$eeb2)
[A] loading under warp ...
[A] #1 (Stop on exec 0800) 173/$0ad, 31/$1f
.C:0800 4C 6C 0A JMP $0A6C - A:DE X:00 Y:02 SP:fe NV-B...C 73229161
(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:$eeb1)
[B] loading under warp ...
[B] #1 (Stop on exec 0800) 16/$010, 15/$0f
.C:0800 4C 6C 0A JMP $0A6C - A:41 X:00 Y:02 SP:fe .V-B...C 73184750
(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:$59ba)
[B] >>> warp off
(C:$c387)
[A] >>> m 91d5 91d5
(C:$2aa3)
[A] >>> m 91d5 91d5
>C:91d5 01 .
(C:$91d6)
[A] menu row = 1
[A] >>> m 91d5 91d5
(C:$c639)
[A] >>> m 91d5 91d5
>C:91d5 01 .
(C:$91d6)
[A] menu row = 1
[A] >>> m 91d5 91d5
(C:$c502) >C:91d5 00
[A] menu row = 0
[B] >>> m 91d5 91d5
(C:$fd6d) >C:91d5 01
[B] menu row = 1
[B] >>> m 91d5 91d5
(C:$611e) >C:91d5 00
[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
[A] >>> > e055 0f
(C:$0950)
[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
[B] >>> > e055 0f
(C:$0950)
[A] >>> m e5be e5be
(C:$0971)
[A] >>> m e5be e5be
>C:e5be 00 .
(C:$e5bf)
[relay] connection 1
[A] >>> m e5be e5be
(C:$c8ee)
[A] >>> m e5be e5be
>C:e5be 09 .
(C:$e5bf)
[A] link opened after 2 attempt(s), command register = $09
[B] >>> m e5be e5be
(C:$66ca) >C:e5be 00
[relay] connection 2
[B] >>> m e5be e5be
(C:$c8ee) >C:e5be 09
[B] link opened after 2 attempt(s), command register = $09
[A] >>> m e040 e040
>C:e040 02 .
(C:$e041)
[B] >>> m e040 e040
>C:e040 01 .
(C:$e041)
phases: {'A': 2, 'B': 1}
[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 e03b e047
>C:e03b 01 f8 f8 00 00 03 00 00 00 02 04 ff 00 .............
(C:$e048)
[A] >>> m e0a5 e0a5
>C:e0a5 00 .
(C:$e0a6)
[A] >>> m e055 e056
>C:e055 0f 1e ..
(C:$e057)
[A] >>> m e5bb e5be
>C:e5bb 00 98 56 09 ..V.
(C:$e5bf)
[A] >>> m de00 de03
>C:de00 56 10 09 1e V...
(C:$de04)
[A] >>> m eab7 eab7
>C:eab7 06 .
(C:$eab8)
[A] >>> m 0b7d 0b7d
>C:0b7d 00 .
(C:$0b7e)
[B] >>> m e03b e047
>C:e03b 01 f8 f8 00 00 03 00 00 00 02 01 ff 00 .............
(C:$e048)
[B] >>> m e0a5 e0a5
>C:e0a5 00 .
(C:$e0a6)
[B] >>> m e055 e056
>C:e055 0f 1e ..
(C:$e057)
[B] >>> m e5bb e5be
>C:e5bb 00 98 55 09 ..U.
(C:$e5bf)
[B] >>> m de00 de03
>C:de00 55 10 09 1e U...
(C:$de04)
[B] >>> m eab7 eab7
>C:eab7 07 .
(C:$eab8)
[B] >>> m 0b7d 0b7d
>C:0b7d 00 .
(C:$0b7e)
[A] control $1E = 8N1, internal baud generator, rate bits $E = 19200 baud on a SwiftLink
[A] phase=3 isLinkActive=1 linkErrorCount=0 linkStatus=$F8 baudIndex=15 $DE03=$1E $DE01=$10 $DE02=$09 bitPeriodLo=$1E statusSave=$98 cmdShadow=$09 txCharActive=$00 uartPending=$00 syncRound=$06 lastHotkey=$FF lockout=0
[B] control $1E = 8N1, internal baud generator, rate bits $E = 19200 baud on a SwiftLink
[B] phase=3 isLinkActive=1 linkErrorCount=0 linkStatus=$F8 baudIndex=15 $DE03=$1E $DE01=$10 $DE02=$09 bitPeriodLo=$1E statusSave=$98 cmdShadow=$09 txCharActive=$00 uartPending=$00 syncRound=$07 lastHotkey=$FF lockout=0
[A] >>> del
Deleting all checkpoints
(C:$e2f0)
[A] >>> trace exec e685
TRACE: 1 C:$e685 (Trace exec)
(C:$e2f0)
[A] >>> trace exec e699
TRACE: 2 C:$e699 (Trace exec)
(C:$e2f0)
[A] >>> trace exec e6c9
TRACE: 3 C:$e6c9 (Trace exec)
(C:$e2f0)
[A] >>> trace exec e6d6
TRACE: 4 C:$e6d6 (Trace exec)
(C:$e2f0)
[A] >>> trace exec e6e9
TRACE: 5 C:$e6e9 (Trace exec)
(C:$e2f0)
[A] >>> trace exec e67f
TRACE: 6 C:$e67f (Trace exec)
(C:$e2f0)
[A] >>> stopwatch
Stopwatch: 227159140
(C:$e2f0)
[A] >>> stopwatch
Stopwatch: 235552786
(C:$c8ee)
[A] >>> del
Deleting all checkpoints
(C:$c8ee)
[A] captured 565361 bytes of trace into /home/scott/claude/modemwars/swiftlink/testLogs/cost.c192a.A.0.trace.txt; emulated cycles 227159140 -> 235552786
---- one pass of commNmiHandler [A round 0] ----
window 8393646 cycles = 8.207 emulated s, 1343 complete passes = 164/s
receive only: 740 passes, trace-to-trace min 164 median 165 max 250 cycles; whole interrupt 178 cycles
transmit only: 455 passes, trace-to-trace min 165 median 165 max 209 cycles; whole interrupt 178 cycles
transmit, ring ran dry: 114 passes, trace-to-trace min 162 median 162 max 162 cycles; whole interrupt 175 cycles
receive+transmit: 33 passes, trace-to-trace min 242 median 253 max 285 cycles; whole interrupt 266 cycles
neither half had work: 1 passes, trace-to-trace min 151 median 151 max 151 cycles; whole interrupt 164 cycles
duty cycle in this window: 3.0%
what that costs per character time, at each rate the table offers:
rate char period one pass two passes verdict
300 34090.9c 178c 356c 1% of the CPU
1200 8522.7c 178c 356c 4% of the CPU
2400 4261.4c 178c 356c 8% of the CPU
4800 2130.7c 178c 356c 17% of the CPU
9600 1065.3c 178c 356c 33% of the CPU
19200 532.7c 178c 356c 67% of the CPU
38400 266.3c 178c 356c cannot keep up
[B] >>> del
Deleting all checkpoints
(C:$e6e9)
[B] >>> trace exec e685
TRACE: 1 C:$e685 (Trace exec)
(C:$e6e9)
[B] >>> trace exec e699
TRACE: 2 C:$e699 (Trace exec)
(C:$e6e9)
[B] >>> trace exec e6c9
TRACE: 3 C:$e6c9 (Trace exec)
(C:$e6e9)
[B] >>> trace exec e6d6
TRACE: 4 C:$e6d6 (Trace exec)
(C:$e6e9)
[B] >>> trace exec e6e9
TRACE: 5 C:$e6e9 (Trace exec)
(C:$e6e9)
[B] >>> trace exec e67f
TRACE: 6 C:$e67f (Trace exec)
(C:$e6e9)
[B] >>> stopwatch
Stopwatch: 163873451
(C:$e6e9)
[B] >>> stopwatch
Stopwatch: 172608996
(C:$12a2)
[B] >>> del
Deleting all checkpoints
(C:$12a2)
[B] captured 370440 bytes of trace into /home/scott/claude/modemwars/swiftlink/testLogs/cost.c192a.B.0.trace.txt; emulated cycles 163873451 -> 172608996
---- one pass of commNmiHandler [B round 0] ----
window 8735545 cycles = 8.541 emulated s, 920 complete passes = 108/s
receive only: 559 passes, trace-to-trace min 164 median 165 max 251 cycles; whole interrupt 178 cycles
transmit, ring ran dry: 178 passes, trace-to-trace min 162 median 162 max 162 cycles; whole interrupt 175 cycles
transmit only: 162 passes, trace-to-trace min 154 median 165 max 209 cycles; whole interrupt 178 cycles
receive+transmit: 18 passes, trace-to-trace min 242 median 253 max 254 cycles; whole interrupt 266 cycles
neither half had work: 3 passes, trace-to-trace min 77 median 151 max 151 cycles; whole interrupt 164 cycles
duty cycle in this window: 2.0%
what that costs per character time, at each rate the table offers:
rate char period one pass two passes verdict
300 34090.9c 178c 356c 1% of the CPU
1200 8522.7c 178c 356c 4% of the CPU
2400 4261.4c 178c 356c 8% of the CPU
4800 2130.7c 178c 356c 17% of the CPU
9600 1065.3c 178c 356c 33% of the CPU
19200 532.7c 178c 356c 67% of the CPU
38400 266.3c 178c 356c cannot keep up
[A] >>> del
Deleting all checkpoints
(C:$11be)
[A] >>> trace exec e685
TRACE: 1 C:$e685 (Trace exec)
(C:$11be)
[A] >>> trace exec e699
TRACE: 2 C:$e699 (Trace exec)
(C:$11be)
[A] >>> trace exec e6c9
TRACE: 3 C:$e6c9 (Trace exec)
(C:$11be)
[A] >>> trace exec e6d6
TRACE: 4 C:$e6d6 (Trace exec)
(C:$11be)
[A] >>> trace exec e6e9
TRACE: 5 C:$e6e9 (Trace exec)
(C:$11be)
[A] >>> trace exec e67f
TRACE: 6 C:$e67f (Trace exec)
(C:$11be)
[A] >>> stopwatch
Stopwatch: 250716053
(C:$11be)
[A] >>> stopwatch
Stopwatch: 259468692
(C:$e6e4)
[A] >>> del
Deleting all checkpoints
(C:$e6e4)
[A] captured 781560 bytes of trace into /home/scott/claude/modemwars/swiftlink/testLogs/cost.c192a.A.1.trace.txt; emulated cycles 250716053 -> 259468692
---- one pass of commNmiHandler [A round 1] ----
window 8752639 cycles = 8.558 emulated s, 1846 complete passes = 216/s
receive only: 979 passes, trace-to-trace min 164 median 165 max 250 cycles; whole interrupt 178 cycles
transmit only: 635 passes, trace-to-trace min 154 median 165 max 209 cycles; whole interrupt 178 cycles
transmit, ring ran dry: 201 passes, trace-to-trace min 162 median 162 max 162 cycles; whole interrupt 175 cycles
receive+transmit: 29 passes, trace-to-trace min 242 median 253 max 254 cycles; whole interrupt 266 cycles
neither half had work: 2 passes, trace-to-trace min 77 median 151 max 151 cycles; whole interrupt 164 cycles
duty cycle in this window: 4.0%
what that costs per character time, at each rate the table offers:
rate char period one pass two passes verdict
300 34090.9c 178c 356c 1% of the CPU
1200 8522.7c 178c 356c 4% of the CPU
2400 4261.4c 178c 356c 8% of the CPU
4800 2130.7c 178c 356c 17% of the CPU
9600 1065.3c 178c 356c 33% of the CPU
19200 532.7c 178c 356c 67% of the CPU
38400 266.3c 178c 356c cannot keep up
[B] >>> del
Deleting all checkpoints
(C:$12a4)
[B] >>> trace exec e685
TRACE: 1 C:$e685 (Trace exec)
(C:$12a4)
[B] >>> trace exec e699
TRACE: 2 C:$e699 (Trace exec)
(C:$12a4)
[B] >>> trace exec e6c9
TRACE: 3 C:$e6c9 (Trace exec)
(C:$12a4)
[B] >>> trace exec e6d6
TRACE: 4 C:$e6d6 (Trace exec)
(C:$12a4)
[B] >>> trace exec e6e9
TRACE: 5 C:$e6e9 (Trace exec)
(C:$12a4)
[B] >>> trace exec e67f
TRACE: 6 C:$e67f (Trace exec)
(C:$12a4)
[B] >>> stopwatch
Stopwatch: 187806450
(C:$12a4)
[B] >>> stopwatch
Stopwatch: 196507806
(C:$e310)
[B] >>> del
Deleting all checkpoints
(C:$e310)
[B] captured 724481 bytes of trace into /home/scott/claude/modemwars/swiftlink/testLogs/cost.c192a.B.1.trace.txt; emulated cycles 187806450 -> 196507806
---- one pass of commNmiHandler [B round 1] ----
window 8701356 cycles = 8.508 emulated s, 1585 complete passes = 186/s
receive only: 705 passes, trace-to-trace min 164 median 165 max 282 cycles; whole interrupt 178 cycles
transmit only: 583 passes, trace-to-trace min 154 median 165 max 209 cycles; whole interrupt 178 cycles
transmit, ring ran dry: 184 passes, trace-to-trace min 162 median 162 max 205 cycles; whole interrupt 175 cycles
receive+transmit: 108 passes, trace-to-trace min 241 median 243 max 296 cycles; whole interrupt 256 cycles
neither half had work: 5 passes, trace-to-trace min 77 median 151 max 151 cycles; whole interrupt 164 cycles
duty cycle in this window: 3.6%
what that costs per character time, at each rate the table offers:
rate char period one pass two passes verdict
300 34090.9c 178c 356c 1% of the CPU
1200 8522.7c 178c 356c 4% of the CPU
2400 4261.4c 178c 356c 8% of the CPU
4800 2130.7c 178c 356c 17% of the CPU
9600 1065.3c 178c 356c 33% of the CPU
19200 532.7c 178c 356c 67% of the CPU
38400 266.3c 178c 356c cannot keep up
================ SUMMARY ================
A0: {'receive only': {'count': 740, 'min': 164, 'median': 165, 'max': 250, 'wholeInterrupt': 178}, 'transmit only': {'count': 455, 'min': 165, 'median': 165, 'max': 209, 'wholeInterrupt': 178}, 'transmit, ring ran dry': {'count': 114, 'min': 162, 'median': 162, 'max': 162, 'wholeInterrupt': 175}, 'receive+transmit': {'count': 33, 'min': 242, 'median': 253, 'max': 285, 'wholeInterrupt': 266}, 'neither half had work': {'count': 1, 'min': 151, 'median': 151, 'max': 151, 'wholeInterrupt': 164}}
B0: {'receive only': {'count': 559, 'min': 164, 'median': 165, 'max': 251, 'wholeInterrupt': 178}, 'transmit, ring ran dry': {'count': 178, 'min': 162, 'median': 162, 'max': 162, 'wholeInterrupt': 175}, 'transmit only': {'count': 162, 'min': 154, 'median': 165, 'max': 209, 'wholeInterrupt': 178}, 'receive+transmit': {'count': 18, 'min': 242, 'median': 253, 'max': 254, 'wholeInterrupt': 266}, 'neither half had work': {'count': 3, 'min': 77, 'median': 151, 'max': 151, 'wholeInterrupt': 164}}
A1: {'receive only': {'count': 979, 'min': 164, 'median': 165, 'max': 250, 'wholeInterrupt': 178}, 'transmit only': {'count': 635, 'min': 154, 'median': 165, 'max': 209, 'wholeInterrupt': 178}, 'transmit, ring ran dry': {'count': 201, 'min': 162, 'median': 162, 'max': 162, 'wholeInterrupt': 175}, 'receive+transmit': {'count': 29, 'min': 242, 'median': 253, 'max': 254, 'wholeInterrupt': 266}, 'neither half had work': {'count': 2, 'min': 77, 'median': 151, 'max': 151, 'wholeInterrupt': 164}}
B1: {'receive only': {'count': 705, 'min': 164, 'median': 165, 'max': 282, 'wholeInterrupt': 178}, 'transmit only': {'count': 583, 'min': 154, 'median': 165, 'max': 209, 'wholeInterrupt': 178}, 'transmit, ring ran dry': {'count': 184, 'min': 162, 'median': 162, 'max': 205, 'wholeInterrupt': 175}, 'receive+transmit': {'count': 108, 'min': 241, 'median': 243, 'max': 296, 'wholeInterrupt': 256}, 'neither half had work': {'count': 5, 'min': 77, 'median': 151, 'max': 151, 'wholeInterrupt': 164}}
[relay] conn0 total 3850 bytes
[relay] conn1 total 3842 bytes