-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Hello, I have enjoyed using this emulator specifically the IF1 network emulation
I have observed an intermittent issue with both Windows and Linux builds of spectrusty (SDL2_SPECTRUSTY_Example 0.4.0) when sometimes the last packet of a network broadcast is skipped during receive
As an example I am saving 6912 bytes via network broadcast, with:
SAVE *"n";0 CODE 0,6192
And loading with:
LOAD *"n";0 CODE SCREEN$
The station is still receiving and the final 36 bytes are missing:
Having captured the packets being sent, and running through tshark the last (short) packet may be sent too quickly for the emulated ZX network to deal with:
tshark -r zxnet-6912.pcap
1 0.000000 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
2 0.118549 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
3 0.237582 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
4 0.337411 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
5 0.461655 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
6 0.559056 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
7 0.657588 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
8 0.776284 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
9 0.877747 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
10 0.997086 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
11 1.096138 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
12 1.236198 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
13 1.336247 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
14 1.458660 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
15 1.556984 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
16 1.675510 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
17 1.775420 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
18 1.875999 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
19 1.995310 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
20 2.096440 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
21 2.214540 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
22 2.314427 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
23 2.438264 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
24 2.534287 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
25 2.653612 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
26 2.755173 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
27 2.855229 127.0.0.1 → 127.0.0.1 UDP 311 40774 → 30000 Len=269
28 2.913478 127.0.0.1 → 127.0.0.1 UDP 92 40774 → 30000 Len=50
If I replay the packet capture with udpreplay and a 100 ms delay between packets then the full 6912 bytes are received:
udpreplay -i lo -c 100 zxnet-6912.pcap
The delay for the last packet is now greater:
tshark -r udpreplay-zxnet-6912.pcap
1 0.000000 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
2 0.099964 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
3 0.200050 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
4 0.300087 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
5 0.400163 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
6 0.500014 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
7 0.600070 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
8 0.700025 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
9 0.800010 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
10 0.900069 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
11 1.000013 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
12 1.099931 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
13 1.200119 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
14 1.300225 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
15 1.400211 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
16 1.500002 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
17 1.600113 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
18 1.700119 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
19 1.800034 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
20 1.899975 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
21 2.000089 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
22 2.100039 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
23 2.199944 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
24 2.299983 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
25 2.400080 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
26 2.499964 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
27 2.599936 127.0.0.1 → 127.0.0.1 UDP 311 51831 → 30000 Len=269
28 2.701078 127.0.0.1 → 127.0.0.1 UDP 92 51831 → 30000 Len=50
Thank you