Networking discussion

Discussion of development and patch submission.
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Fri 28 Aug, 2015 1:16 pm

OK updated to 328.

Image

The big update is slirp_redir basic support... It's hard coded, but more so to see how things look.

Code: Select all

ExternalPORT    Internal Port
42322                 22
42323                 23
42380                 80
42443                 443


So if you run a BBS, you can telnet to localhost 42323 and it'll redirect to port 23 inside the VM. And anything that can reach the host PC can reach into the VM.

As you can see I've tested with IIS 4 on Windows 95.

PCem-0657320820ab-pcap-slirp.7z

Same notes as before, of course. The only other thing to add is that by using PCAP networking, you CANNOT connect to the PCem from your host machine. I use an external file server to copy things back and forth, and it works great.

Oh and diff against the mainline 328:

slirpdiff-328.diff.gz
startmenu
Posts: 103
Joined: Sat 29 Nov, 2014 7:39 am

Re: Networking discussion

Postby startmenu » Fri 28 Aug, 2015 1:52 pm

But I tried SA1988's PCAP patch before that I could transfer files via My Network Place on the host.
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Fri 28 Aug, 2015 2:42 pm

startmenu wrote:But I tried SA1988's PCAP patch before that I could transfer files via My Network Place on the host.


Maybe your pcap / ether supports BIOCFEEDBACK. The vast majority do not
amadama
Posts: 54
Joined: Mon 25 Aug, 2014 9:47 pm

Re: Networking discussion

Postby amadama » Fri 28 Aug, 2015 3:32 pm

Thanks for the updated build neozeed.
Did some very basic testing of both the pcap and slirp configs using your core2 build on a WfW 3.11 PCEM "virtual" and they appear to work as expected.
Can you include the ethlist.exe tool? It's very helpful. You had it in the last build but not on this one.
Thanks!
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Fri 28 Aug, 2015 4:09 pm

amadama wrote:Thanks for the updated build neozeed.
Did some very basic testing of both the pcap and slirp configs using your core2 build on a WfW 3.11 PCEM "virtual" and they appear to work as expected.
Can you include the ethlist.exe tool? It's very helpful. You had it in the last build but not on this one.
Thanks!


I knew I forgot something!.... that and a debug build.

Im @ home with limited access it may have to be tomorrow until I can refresh.

Glad to hear it's working for you!
SarahWalker
Site Admin
Posts: 1327
Joined: Thu 24 Apr, 2014 4:18 pm

Re: Networking discussion

Postby SarahWalker » Fri 28 Aug, 2015 5:47 pm

neozeed wrote:I'm still getting crashes in the sound thread for some unknown reason....

Code: Select all

[New Thread 9104.0x1c90]
[New Thread 9104.0x32c0]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 9104.0x32c0]
0x0052c426 in sound_cd_thread ()
(gdb)


Next time this happens, can you post the output of 'disassemble sound_cd_thread'?
SA1988
Posts: 205
Joined: Wed 30 Apr, 2014 9:38 am

Re: Networking discussion

Postby SA1988 » Fri 28 Aug, 2015 6:43 pm

recompile with the -g definition in cflags, it will allow you to see the symbols of each .o file inside gdb.
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Sat 29 Aug, 2015 4:03 am

TomWalker wrote:Next time this happens, can you post the output of 'disassemble sound_cd_thread'?



Looks like it was my fault mixing up makefiles... ugh. If it matters... the -O3 -march=i686 gives the same code as -O2 -march=core2 -O3 goes crazy, I guess some unaligned access thing.


-O3 -march=i686 wrote:(gdb) disassemble sound_cd_thread
Dump of assembler code for function sound_cd_thread:
=> 0x0052c410 <+0>: push %edi
0x0052c411 <+1>: push %esi
0x0052c412 <+2>: push %ebx
0x0052c413 <+3>: mov $0x80008001,%ebx
0x0052c418 <+8>: sub $0x10,%esp
0x0052c41b <+11>: nop
0x0052c41c <+12>: lea 0x0(%esi,%eiz,1),%esi
0x0052c420 <+16>: mov 0x16f7710,%eax
0x0052c425 <+21>: movl $0xffffffff,0x4(%esp)
0x0052c42d <+29>: mov %eax,(%esp)
0x0052c430 <+32>: call 0x5958a0 <thread_wait_event>
0x0052c435 <+37>: movl $0x2274,0x4(%esp)
0x0052c43d <+45>: movl $0x16f7720,(%esp)
0x0052c444 <+52>: call 0x4d8630 <ioctl_audio_callback>
0x0052c449 <+57>: mov 0x600b00,%edx
0x0052c44f <+63>: test %edx,%edx
0x0052c451 <+65>: je 0x52c420 <sound_cd_thread+16>
0x0052c453 <+67>: mov 0x16f770c,%edi
0x0052c459 <+73>: xor %ecx,%ecx
0x0052c45b <+75>: mov 0x16f7708,%esi
0x0052c461 <+81>: movswl 0x16f7720(%ecx,%ecx,1),%edx
0x0052c469 <+89>: imul %edi,%edx
0x0052c46c <+92>: mov %edx,%eax
0x0052c46e <+94>: mul %ebx
0x0052c470 <+96>: shr $0xf,%edx
0x0052c473 <+99>: mov %dx,0x16f7720(%ecx,%ecx,1)
0x0052c47b <+107>: movswl 0x16f7722(%ecx,%ecx,1),%edx
0x0052c483 <+115>: imul %esi,%edx
0x0052c486 <+118>: mov %edx,%eax
0x0052c488 <+120>: mul %ebx
0x0052c48a <+122>: shr $0xf,%edx
0x0052c48d <+125>: mov %dx,0x16f7722(%ecx,%ecx,1)
0x0052c495 <+133>: add $0x2,%ecx
0x0052c498 <+136>: cmp $0x2274,%ecx
0x0052c49e <+142>: jne 0x52c461 <sound_cd_thread+81>
0x0052c4a0 <+144>: movl $0x16f7720,(%esp)
0x0052c4a7 <+151>: call 0x53cf50 <givealbuffer_cd>
0x0052c4ac <+156>: jmp 0x52c420 <sound_cd_thread+16>
0x0052c4b1 <+161>: jmp 0x52c4c0 <sound_get_buffer>
0x0052c4b3 <+163>: nop
0x0052c4b4 <+164>: nop
0x0052c4b5 <+165>: nop
0x0052c4b6 <+166>: nop
0x0052c4b7 <+167>: nop
0x0052c4b8 <+168>: nop
0x0052c4b9 <+169>: nop
0x0052c4ba <+170>: nop
0x0052c4bb <+171>: nop
0x0052c4bc <+172>: nop
0x0052c4bd <+173>: nop
0x0052c4be <+174>: nop
0x0052c4bf <+175>: nop
End of assembler dump.


-O3 -march=core2 wrote:(gdb) info registers
eax 0x5a37458 94598232
ecx 0x52c410 5424144
edx 0x0 0
ebx 0x5a37228 94597672
esp 0x10c4ff04 0x10c4ff04
ebp 0x10c4ff78 0x10c4ff78
esi 0x52c410 5424144
edi 0x778d7050 2005758032
eip 0x52c426 0x52c426 <sound_cd_thread+22>
eflags 0x10202 [ IF RF ]
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x53 83
gs 0x2b 43
(gdb) disassemble sound_cd_thread
Dump of assembler code for function sound_cd_thread:
0x0052c410 <+0>: push %esi
0x0052c411 <+1>: push %ebx
0x0052c412 <+2>: sub $0x34,%esp
0x0052c415 <+5>: movdqa 0x667ce0,%xmm6
0x0052c41d <+13>: movdqa %xmm6,%xmm4
0x0052c421 <+17>: psrlq $0x20,%xmm4
=> 0x0052c426 <+22>: movdqa %xmm4,0x10(%esp)
0x0052c42c <+28>: lea 0x0(%esi,%eiz,1),%esi
0x0052c430 <+32>: mov 0x16f8740,%eax
0x0052c435 <+37>: movl $0xffffffff,0x4(%esp)
0x0052c43d <+45>: movdqa %xmm6,0x20(%esp)
0x0052c443 <+51>: mov %eax,(%esp)
0x0052c446 <+54>: call 0x5959f0 <thread_wait_event>
0x0052c44b <+59>: movl $0x2274,0x4(%esp)
0x0052c453 <+67>: movl $0x16f8760,(%esp)
0x0052c45a <+74>: call 0x4d8630 <ioctl_audio_callback>
0x0052c45f <+79>: mov 0x601b00,%edx
0x0052c465 <+85>: movdqa 0x20(%esp),%xmm6
0x0052c46b <+91>: test %edx,%edx
0x0052c46d <+93>: je 0x52c430 <sound_cd_thread+32>
0x0052c46f <+95>: mov 0x16f8730,%ebx
0x0052c475 <+101>: mov $0x16f8760,%eax
0x0052c47a <+106>: mov 0x16f8720,%ecx
0x0052c480 <+112>: movd %ebx,%xmm2
0x0052c484 <+116>: movd %ecx,%xmm4
0x0052c488 <+120>: punpckldq %xmm4,%xmm2
0x0052c48c <+124>: punpcklqdq %xmm2,%xmm2
0x0052c490 <+128>: movdqa %xmm2,%xmm3
0x0052c494 <+132>: psrlq $0x20,%xmm3
0x0052c499 <+137>: pxor %xmm4,%xmm4
0x0052c49d <+141>: lea 0x0(%esi),%esi
0x0052c4a0 <+144>: movdqa (%eax),%xmm1
0x0052c4a4 <+148>: movdqa %xmm4,%xmm7
0x0052c4a8 <+152>: add $0x10,%eax
0x0052c4ab <+155>: pcmpgtw %xmm1,%xmm7
0x0052c4af <+159>: movdqa %xmm1,%xmm5
0x0052c4b3 <+163>: punpcklwd %xmm7,%xmm5
0x0052c4b7 <+167>: movdqa %xmm5,%xmm0
0x0052c4bb <+171>: psrlq $0x20,%xmm5
0x0052c4c0 <+176>: pmuludq %xmm2,%xmm0
0x0052c4c4 <+180>: punpckhwd %xmm7,%xmm1
0x0052c4c8 <+184>: movdqa %xmm1,%xmm7
0x0052c4cc <+188>: pmuludq %xmm3,%xmm5
0x0052c4d0 <+192>: psrlq $0x20,%xmm1
0x0052c4d5 <+197>: pshufd $0x8,%xmm0,%xmm0
0x0052c4da <+202>: pmuludq %xmm2,%xmm7
0x0052c4de <+206>: pshufd $0x8,%xmm5,%xmm5
0x0052c4e3 <+211>: punpckldq %xmm5,%xmm0
0x0052c4e7 <+215>: movdqa %xmm0,%xmm5
0x0052c4eb <+219>: pmuludq %xmm6,%xmm5
0x0052c4ef <+223>: pmuludq %xmm3,%xmm1
0x0052c4f3 <+227>: psrlq $0x20,%xmm0
0x0052c4f8 <+232>: pshufb 0x667cf0,%xmm5
0x0052c501 <+241>: pmuludq 0x10(%esp),%xmm0
0x0052c507 <+247>: pshufb 0x667d00,%xmm0
0x0052c510 <+256>: pshufd $0x8,%xmm1,%xmm1
0x0052c515 <+261>: por %xmm0,%xmm5
0x0052c519 <+265>: pshufd $0x8,%xmm7,%xmm0
0x0052c51e <+270>: punpckldq %xmm1,%xmm0
0x0052c522 <+274>: movdqa %xmm0,%xmm7
0x0052c526 <+278>: psrlq $0x20,%xmm0
0x0052c52b <+283>: pmuludq %xmm6,%xmm7
0x0052c52f <+287>: pmuludq 0x10(%esp),%xmm0
0x0052c535 <+293>: movdqa %xmm0,%xmm1
0x0052c539 <+297>: pshufb 0x667d00,%xmm1
0x0052c542 <+306>: psrld $0xf,%xmm5
0x0052c547 <+311>: pshufb 0x667d10,%xmm5
0x0052c550 <+320>: pshufb 0x667cf0,%xmm7
0x0052c559 <+329>: por %xmm7,%xmm1
0x0052c55d <+333>: psrld $0xf,%xmm1
0x0052c562 <+338>: pshufb 0x667d20,%xmm1
0x0052c56b <+347>: por %xmm1,%xmm5
0x0052c56f <+351>: movdqa %xmm5,-0x10(%eax)
0x0052c574 <+356>: cmp $0x16fcc40,%eax
0x0052c579 <+361>: jne 0x52c4a0 <sound_cd_thread+144>
0x0052c57f <+367>: movswl 0x16fcc40,%edx
0x0052c586 <+374>: mov $0x80008001,%esi
0x0052c58b <+379>: movl $0x16f8760,(%esp)
0x0052c592 <+386>: movdqa %xmm6,0x20(%esp)
0x0052c598 <+392>: imul %ebx,%edx
0x0052c59b <+395>: mov %edx,%eax
0x0052c59d <+397>: mul %esi
0x0052c59f <+399>: shr $0xf,%edx
0x0052c5a2 <+402>: mov %dx,0x16fcc40
0x0052c5a9 <+409>: movswl 0x16fcc42,%edx
0x0052c5b0 <+416>: imul %ecx,%edx
0x0052c5b3 <+419>: mov %edx,%eax
0x0052c5b5 <+421>: mul %esi
0x0052c5b7 <+423>: shr $0xf,%edx
0x0052c5ba <+426>: mov %dx,0x16fcc42
0x0052c5c1 <+433>: movswl 0x16fcc44,%edx
0x0052c5c8 <+440>: imul %ebx,%edx
0x0052c5cb <+443>: mov %edx,%eax
0x0052c5cd <+445>: mul %esi
0x0052c5cf <+447>: shr $0xf,%edx
0x0052c5d2 <+450>: mov %dx,0x16fcc44
0x0052c5d9 <+457>: movswl 0x16fcc46,%edx
0x0052c5e0 <+464>: imul %ecx,%edx
0x0052c5e3 <+467>: mov %edx,%eax
0x0052c5e5 <+469>: mul %esi
0x0052c5e7 <+471>: shr $0xf,%edx
0x0052c5ea <+474>: mov %dx,0x16fcc46
0x0052c5f1 <+481>: call 0x53d0a0 <givealbuffer_cd>
0x0052c5f6 <+486>: movdqa 0x20(%esp),%xmm6
0x0052c5fc <+492>: jmp 0x52c430 <sound_cd_thread+32>
0x0052c601 <+497>: jmp 0x52c610 <sound_get_buffer>
0x0052c603 <+499>: nop
0x0052c604 <+500>: nop
0x0052c605 <+501>: nop
0x0052c606 <+502>: nop
0x0052c607 <+503>: nop
0x0052c608 <+504>: nop
0x0052c609 <+505>: nop
0x0052c60a <+506>: nop
0x0052c60b <+507>: nop
0x0052c60c <+508>: nop
0x0052c60d <+509>: nop
0x0052c60e <+510>: nop
0x0052c60f <+511>: nop
End of assembler dump.



Sorry for that confusion!
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Sat 29 Aug, 2015 5:37 am

amadama wrote:Thanks for the updated build neozeed.
Did some very basic testing of both the pcap and slirp configs using your core2 build on a WfW 3.11 PCEM "virtual" and they appear to work as expected.
Can you include the ethlist.exe tool? It's very helpful. You had it in the last build but not on this one.
Thanks!


I've updated the 7zip to include ethlist.

I've also tried out various compiler flags taken from:

http://stackoverflow.com/questions/9437 ... s-for-xeon
https://gcc.gnu.org/onlinedocs/gcc-4.5. ... tions.html




PCem-core2-avx.exe
This is compiled with the following CFLAGS:
-O3 -march=core2 -mtune=generic -mavx -mfpmath=sse -fomit-frame-pointer -DRELEASE_BUILD
This should work well for Sandyvine and newer processors.

PCem-core2.exe
This is compiled with the following CFLAGS:
-O3 -march=core2 -mtune=generic -mfpmath=sse -fomit-frame-pointer -DRELEASE_BUILD
This should work well on typical Core2, and newer processors.

PCem.exe
This is compiled with the following CFLAGS:
-O3 -march=i686 -mtune=generic -mfpmath=387 -fomit-frame-pointer -DRELEASE_BUILD
This will work on Pentium and higher processors.

PCem-debug.exe
This is compiled with the following CFLAGS:
-O0 -g
This has zero processor optimization, and it has all the debugging features enabled.
In addition the SLIRP debugging has been turned on. If something is crashing
This is what you will need to run to see if it still crashes, and hopefully it'll
produce some log files that will give a hint of what went wrong.

And of course ethlist is in there, along with source.

Let me know if you have issues with *ANY* of the executables.... Even if one of them fails as I would like to try some experimental static DLL loading of the CPU emulation (the part that probably benefits the most from optimizing the CFLAGS) by trying to determine which one to load at runtime... Maybe it's just a crazy idea, but it'd be interesting to see.
User avatar
ppgrainbow
Posts: 402
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Postby ppgrainbow » Sat 29 Aug, 2015 9:29 pm

I have a problem on Windows NT 3.51 SP5 (running on the Award SiS 496/497 machine, Intel 80486DX2 66MHz, 64 MB RAM, Number Nine 9FX w/2 MB VRAM).

I tried to install Internet Explorer 5 (16-bit version), it requested a reboot and I end up getting the Internet Explorer browser not operating correctly.

The toolbar buttons and the URL address do not display at all, in the View > Toolbars submenu, the Standard Buttons, Address Bar, Links and Text Labels do not work at all.

Here's a screenshot for proof:
IE5 16bit.png
IE5 16bit.png (62.94 KiB) Viewed 7712 times

Ironically, even though IE5 doesn't work correctly, I managed to get the browser to display the Google homepage.

The ASlog.txt (Active Setup Log) shows that some of the OCX components failed to register properly:
ASlog.txt
(40 KiB) Downloaded 86 times

I honestly don't know how the ASlog.txt file grown to 40 KB, but reinstallations might have had a effect on this.

Internet Explorer 5 (16-bit) has a date stamp of 1999-02-16 09:46:xx. Incase uninstalling fails, those files that have the datestamp can be easily deleted.
When I first installed IE5, it couldn't even display the menu at all so, I had to rename the reg16x2.dat file and extract a working reg16x2.dat from another hard disk image and that's where I at least got the menu bar in IE5.

I'm wondering if buggy hard disk emulation is causing the IE5 (16-bit) to not install properly or not.

Has anyone managed to successfully install Internet Explorer 5 16-bit under Windows 3.1 or Windows NT 3.51? Just curious to ask.
amadama
Posts: 54
Joined: Mon 25 Aug, 2014 9:47 pm

Re: Networking discussion

Postby amadama » Sat 29 Aug, 2015 10:38 pm

@neozeed, I would recommend the following CFLAGS for the Sandy Bridge build:
-march=corei7-avx -mtune=corei7-avx -mno-avx -mno-aes

This will target Sandy Bridge and higher and exclude AVX and AES-NI (which are not supported in Pentium versions such as G3258).
Will do a test of your posted builds tonight.
Thanks!
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Sun 30 Aug, 2015 1:54 am

ppgrainbow wrote:I'm wondering if buggy hard disk emulation is causing the IE5 (16-bit) to not install properly or not.


In the years of using PCem I've never had it lose data... I just keep my disks small and in the realm of what existed back then...

63 sectors, 16 heads, 511 cylinders for a 251Mb disk.

Or just look at the typical HD table, like:

type 9 of 17 sectors, 15 heads, 900 cylinders
type 32 of 17 sectors, 15 heads, 1024 cylinders

I was able to download and install Internet Explorer 4.0sp2 via slirp using Internet Explorer 3.02 from some site on the internet, on the other side of the planet with Windows 95 A (floppy version), then download the Option Pack for 95, install IIS, and again with SLiRP on 95, and it does all work so I know it's 'solid'...

Back in the day, well actually the day Windows NT 4.0 was released, while I was waiting for my MSDN version to show up in the mail, enough people were excited at work that we went to some computer store, and we all bought copies of Windows NT 4.0 Workstation retail. So when it came to Internet Explorer I never actually used it on Windows 3.1 or NT 3.51 as those of us in IT all had NT 4.0 ... But when it came out we were all Netscape 3.0 users... lol And that I did run on NT 3.1, 3.5 and 3.51
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Sun 30 Aug, 2015 1:56 am

amadama wrote:@neozeed, I would recommend the following CFLAGS for the Sandy Bridge build:
-march=corei7-avx -mtune=corei7-avx -mno-avx -mno-aes

This will target Sandy Bridge and higher and exclude AVX and AES-NI (which are not supported in Pentium versions such as G3258).
Will do a test of your posted builds tonight.
Thanks!


Argh, Intel and their spotty roadmap. A friend of mine got a new-ish processor that doesn't have hardware virtualization... they really are all over the place. I was hoping to use the AVX and whatnot but no doubt there are Sand Bridge processors without it... curse you intel!!!! :evil: :evil: :evil: :evil:
User avatar
ppgrainbow
Posts: 402
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Postby ppgrainbow » Sun 30 Aug, 2015 7:17 pm

neozeed wrote:
ppgrainbow wrote:I'm wondering if buggy hard disk emulation is causing the IE5 (16-bit) to not install properly or not.


In the years of using PCem I've never had it lose data... I just keep my disks small and in the realm of what existed back then...

63 sectors, 16 heads, 511 cylinders for a 251Mb disk.

Or just look at the typical HD table, like:

type 9 of 17 sectors, 15 heads, 900 cylinders
type 32 of 17 sectors, 15 heads, 1024 cylinders

I was able to download and install Internet Explorer 4.0sp2 via slirp using Internet Explorer 3.02 from some site on the internet, on the other side of the planet with Windows 95 A (floppy version), then download the Option Pack for 95, install IIS, and again with SLiRP on 95, and it does all work so I know it's 'solid'...

Back in the day, well actually the day Windows NT 4.0 was released, while I was waiting for my MSDN version to show up in the mail, enough people were excited at work that we went to some computer store, and we all bought copies of Windows NT 4.0 Workstation retail. So when it came to Internet Explorer I never actually used it on Windows 3.1 or NT 3.51 as those of us in IT all had NT 4.0 ... But when it came out we were all Netscape 3.0 users... lol And that I did run on NT 3.1, 3.5 and 3.51

Good for you! I currently have four hard disks configurations at 1,938 cylinders, 16 heads and 63 sectors per track for a hard disk capacity of 1,000,194,108 bytes (953.85 MB). I bet that this issue, might be due to the way PCem emulation is not writing the data on the hard disk correctly.

It took me a couple of tries to get IE5 16-bit installed correctly despite the disk emulation bugs.
User avatar
ppgrainbow
Posts: 402
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Postby ppgrainbow » Tue 01 Sep, 2015 10:23 pm

I have been informed by Tom that PCem crashing was due to the networking code that neozeed implemented and not in the main repository.

I have tested r332 and the CD crash is not existent, but I end up getting a complaint that OS/2 install can't find the source drive to install Warp 3. Neozeed, you might want to look into the current SLiRP/pcap networking code to see what triggered the problem.
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Tue 01 Sep, 2015 11:14 pm

ppgrainbow wrote:I have been informed by Tom that PCem crashing was due to the networking code that neozeed implemented and not in the main repository.

I have tested r332 and the CD crash is not existent, but I end up getting a complaint that OS/2 install can't find the source drive to install Warp 3. Neozeed, you might want to look into the current SLiRP/pcap networking code to see what triggered the problem.


This doesn't sound right at all.

I need a LOT more information.

what machine are you emulating? specs? how did it crash? how did you come to the conclusion it was networking?
User avatar
ppgrainbow
Posts: 402
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Postby ppgrainbow » Tue 01 Sep, 2015 11:40 pm

neozeed wrote:This doesn't sound right at all.

I need a LOT more information.

what machine are you emulating? specs? how did it crash? how did you come to the conclusion it was networking?

No it does not.

The machine that I was emulating is an Award 430XV/PCI machine, 32 MB RAM and a S3 ViRGE/DX graphics card with 2 MB display RAM. Right now, Tom believes that the PCem crash was due to the networking code and not the current code from the main repository, though I would need more information from him as well as the code to look into.

And with r332, the graphical installation of OS/2 Warp 3 was unsuccessful, as the installation claims that it couldn't find the source disk to copy the files from the virtual CD-ROM (mounted as drive N using IMDisk).
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Wed 02 Sep, 2015 7:14 am

Not sure which other driver triggers the fault but here we go.


Breakpoint 1, 0x005aac18 in exit ()
(gdb) bt
#0 0x005aac18 in exit ()
#1 0x00506b37 in fatal (
format=0x655218 <outputleveldifference_bp_hp+39492> "page 2 write to reserved offset 4\n") at pc.c:108
#2 0x0058cf89 in ne2000_write (address=4, value=97, p=0x5bfcf40)
at ne2000.c:1095
#3 0x004fc4b7 in outb (port=772, val=97 'a') at io.c:138
#4 0x00420ebd in opOUT_AL_DX (rmdat32=9487305) at x86_ops_io.h:90
#5 0x0046c4b3 in exec386_dynarec (cycs=833333) at 386_dynarec.c:1395
#6 0x00506fa6 in runpc () at pc.c:379
#7 0x00573357 in mainthread (param=0x0) at win.c:164
#8 0x75956fde in msvcrt!_beginthread () from C:\WINDOWS\SysWOW64\msvcrt.dll
#9 0x759570b1 in msvcrt!_endthread () from C:\WINDOWS\SysWOW64\msvcrt.dll
#10 0x74793744 in KERNEL32!BaseThreadInitThunk ()
from C:\WINDOWS\SysWOW64\kernel32.dll
Backtrace stopped: frame did not save the PC
(gdb)
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Wed 02 Sep, 2015 9:07 am

Ok, I see that the probes will of course do stupid things, since they think the NE2000 is a sound card, or some other old sound card CD-ROM interface, so it sends bad data which causes a panic. So I 'fixed' all the panic path's in the NE2000 to log an event, and continue.

It won't exit now (it never was a crash).

I'll update source/binaries
User avatar
ppgrainbow
Posts: 402
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Postby ppgrainbow » Wed 02 Sep, 2015 3:05 pm

neozeed wrote:Ok, I see that the probes will of course do stupid things, since they think the NE2000 is a sound card, or some other old sound card CD-ROM interface, so it sends bad data which causes a panic. So I 'fixed' all the panic path's in the NE2000 to log an event, and continue.

It won't exit now (it never was a crash).

I'll update source/binaries

That sounds awesome! :)

I knew that the NE2000 is NOT a sound card, it's a network card!

By the way, if you have updated the source and binaries to at least r334, please let me know. :)
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Thu 03 Sep, 2015 3:22 am

Latest build:

build 334:
http://vpsland.superglobalmegacorp.com/install/pcem/PCem-build-334-pcap-slirp.7z

Username password for the 404 page is currently:
user / dryherring35

Although this changes on it's own, so if you are from the future, just guess, it'll then tell you the updated user/password in the error message.

If you run PCem, and it suddenly quits, look for the pclog.txt file, it should log why it exited.
User avatar
ppgrainbow
Posts: 402
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Postby ppgrainbow » Thu 03 Sep, 2015 3:36 am

neozeed wrote:Latest build:

build 334:
http://vpsland.superglobalmegacorp.com/install/pcem/PCem-build-334-pcap-slirp.7z

Username password for the 404 page is currently:
user / dryherring35

Although this changes on it's own, so if you are from the future, just guess, it'll then tell you the updated user/password in the error message.

If you run PCem, and it suddenly quits, look for the pclog.txt file, it should log why it exited.

Thank you for the update! :)

I should be fine with r334, until I run into problems again.
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Thu 03 Sep, 2015 1:16 pm

ppgrainbow wrote:Thank you for the update! :)

I should be fine with r334, until I run into problems again.


Since you like IE 5.0 on 3.1 I did find another copy I had tucked away...

Image

ie5win31.exe

It's a cintek customized version that they kind of botched, it's missing some cursor but you can skip the missing file. Works on Windows for Workgroups 3.11 + MSTCP32b... It does seem to have some weird interaction with math co-processors being present. So very strange.
User avatar
ppgrainbow
Posts: 402
Joined: Thu 04 Sep, 2014 7:03 am
Contact:

Re: Networking discussion

Postby ppgrainbow » Thu 03 Sep, 2015 3:59 pm

neozeed wrote:
ppgrainbow wrote:Thank you for the update! :)

I should be fine with r334, until I run into problems again.


Since you like IE 5.0 on 3.1 I did find another copy I had tucked away...

Image

ie5win31.exe

It's a cintek customized version that they kind of botched, it's missing some cursor but you can skip the missing file. Works on Windows for Workgroups 3.11 + MSTCP32b... It does seem to have some weird interaction with math co-processors being present. So very strange.

That's really awesome to see that you got IE5 working. I have the original version of Internet Explorer 5 somewhere on my USB hard drive (drive E) and I might be able to send it to you to upload on your website via e-mail if that's okay. :)

I might post a screenshot if I get IE5 16-bit working on Windows 3.1 later today!
amadama
Posts: 54
Joined: Mon 25 Aug, 2014 9:47 pm

Re: Networking discussion

Postby amadama » Thu 03 Sep, 2015 8:37 pm

@neozeed- Thanks for updated build. The same issue persists with OS/2 Warp 3 and PCem just quitting.
pclog is attached as an fyi.
Thanks
Attachments
pclog_334_slirp_OS2_3_warp_connect.txt
(12.7 KiB) Downloaded 336 times
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Thu 03 Sep, 2015 10:28 pm

amadama wrote:@neozeed- Thanks for updated build. The same issue persists with OS/2 Warp 3 and PCem just quitting.
pclog is attached as an fyi.
Thanks


Wow.. what version of OS/2 3? There is blue and red.. are you using stock diskettes? Is it the CDROM version?

Was that log file truncated on your end, or the uploader? Can you paste the last 30 or so lines?
amadama
Posts: 54
Joined: Mon 25 Aug, 2014 9:47 pm

Re: Networking discussion

Postby amadama » Thu 03 Sep, 2015 11:28 pm

That's the entire file.
This was on OS/2 Warp 3 Connect CD Version with DOS and Windows support. It's one that came with two CDs (one install and one Bonus Pack) and two floppy disks for boot and install.
I used the same modified Floppy disk that I posted on the other OS/2 thread for install.
The installation goes through the first phase and it copies over everything just fine from the CD. It's on the reboot that PCEM quits shortly after the graphical OS/2 splash screen.

Tail of the file is here:

onesec
IS CDROM - ABORT
IS CDROM - ABORT
onesec
***FATAL BEGIN***
READ_MULTIPLE - blocksize = 0
PIC1 : MASK BA PEND 00 INS 00 VECTOR 50
PIC2 : MASK 3D PEND 00 INS 00 VECTOR 70
Dumping rram.dmp
Dumping rram4.dmp
Dumping done
EAX=000000C4 EBX=FFE2000A ECX=00001615 EDX=000001F7
EDI=FC8097D2 ESI=0000037B EBP=0000039C ESP=0000037B
PC=9F9C CS=F000 DS=F000 ES=0040 SS=042E FLAGS=3006
F000:9F9B 0000:0000
214503156 ins
In real mode
CS : base=0F0000 limit=0000FFFF access=02 limit_low=00000000 limit_high=0000FFFF
DS : base=0F0000 limit=0000FFFF access=62 limit_low=00000000 limit_high=0000FFFF
ES : base=000400 limit=0000FFFF access=62 limit_low=00000000 limit_high=0000FFFF
FS : base=000000 limit=0000FFFF access=62 limit_low=00000000 limit_high=0000FFFF
GS : base=000000 limit=0000FFFF access=62 limit_low=00000000 limit_high=0000FFFF
SS : base=0042E0 limit=0000FFFF access=62 limit_low=00000000 limit_high=0000FFFF
GDT : base=02D000 limit=1FFF
LDT : base=ABEF7000 limit=FFFF
IDT : base=000000 limit=0400
TR : base=FFE28C54 limit=0067
386 in 16-bit mode stack in 16-bit mode
CR0=0001001A CR2=ABD58000 CR3=00000000
Entries in readlookup : 3985 writelookup : 1
Entries in readlookup : 256 writelookup : 2
ST(0)=1.#INF00 ST(1)=0.000000 ST(2)=0.000000 ST(3)=0.000000
ST(4)=0.000000 ST(5)=0.000000 ST(6)=-0.000000 ST(7)=0.000000
Status = 0104 Control = 037F Tag = 3FFF
***FATAL END***
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Thu 03 Sep, 2015 11:52 pm

amadama wrote:That's the entire file.
This was on OS/2 Warp 3 Connect CD Version with DOS and Windows support. It's one that came with two CDs (one install and one Bonus Pack) and two floppy disks for boot and install.
I used the same modified Floppy disk that I posted on the other OS/2 thread for install.
The installation goes through the first phase and it copies over everything just fine from the CD. It's on the reboot that PCEM quits shortly after the graphical OS/2 splash screen.

Tail of the file is here:

***FATAL BEGIN***
READ_MULTIPLE - blocksize = 0
***FATAL END***


Ok this is in ide.c

Code: Select all

                case WIN_READ_MULTIPLE:
                        if (!ide->blocksize)
                           fatal("READ_MULTIPLE - blocksize = 0\n");


Are you using a physical CD? emulated? which emulator?
amadama
Posts: 54
Joined: Mon 25 Aug, 2014 9:47 pm

Re: Networking discussion

Postby amadama » Fri 04 Sep, 2015 12:21 am

ISO image mounted in Virtual CloneDrive.
PCem still quits if I reboot with CD-ROM disabled so I don't think it's trying to read from CD at that point.

Edit: You know, I'm done with OS/2 versions over 2.11 at this point. Moving on to less frustrating things.
neozeed
Posts: 173
Joined: Tue 08 Jul, 2014 4:41 am

Re: Networking discussion

Postby neozeed » Fri 04 Sep, 2015 1:55 am

amadama wrote:ISO image mounted in Virtual CloneDrive.
PCem still quits if I reboot with CD-ROM disabled so I don't think it's trying to read from CD at that point.

Edit: You know, I'm done with OS/2 versions over 2.11 at this point. Moving on to less frustrating things.


I got warp to (mostly) install using an AMI 486 with Pentium Overdrive 83Mhz, AWE64. I changed the CD code so that the CD-ROM lives in the primary adapter, slave position.

I'm re-installing (again) to see if I can get the NE2000 to work properly.

Sigh, OS/2 was such a bear to install in the day.

I'm going to continue the OS/2 Warp 3.0 odyssey over in
viewtopic.php?f=2&t=300

Return to “Development”

Who is online

Users browsing this forum: No registered users and 1 guest