[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