How to connect a folder in PCem to my own Computer?

Support and general discussion.
Post Reply
affywolf
Posts: 9
Joined: Fri 27 Jul, 2018 8:34 pm

How to connect a folder in PCem to my own Computer?

Post by affywolf »

Aghhh I've set it up before, but I think I'm using the wrong terms for searching what I need done. (Had to set my emulator back up cuz I got a new computer)
If anyone can give me a quick pointer or find another thread, it'd be much appreciated! Can't seem to find what I'm looking for x.x

So I have a driver file on my main computer, I know there's a way to put it in a folder that connects to PCem so I may install it. I just can't recall or find any tutorials on how to set that up.
Katakis
Posts: 113
Joined: Thu 05 Mar, 2015 6:42 am

Re: How to connect a folder in PCem to my own Computer?

Post by Katakis »

I'd use WinImage to create a new disk image then transfer the driver file onto the image. Then when you boot up your OS within PCem, you will be able to drag the driver file onto the desktop or just load up the driver from whatever drive the disk is in.

(eg: if you created a 1.4M image with the driver on it, and put it in A: drive, you will be able to access A: from whatever OS you are using, and then you can click on the driver file)
User avatar
leilei
Posts: 964
Joined: Fri 25 Apr, 2014 4:47 pm

Re: How to connect a folder in PCem to my own Computer?

Post by leilei »

If you've got a CD-ROM drive in the guest, you could probably make a folder with your stuff, use mkisofs with that folder via a batch file to refresh the ISO and mount that.
Dulton
Posts: 12
Joined: Wed 05 Jun, 2019 12:11 pm

Re: How to connect a folder in PCem to my own Computer?

Post by Dulton »

Ages ago (20+ years) I created this feature for an Amstrad CPC emulator by creating a custom ROM image with some "unusual" IN instructions to trigger access to the file system of the host.
This was very easy to do as the file system is part of the Firmware (BIOS).

But on PCs this is not the case...
There are many operating systems with even more different file systems, so creating something similar at a file system level would be a lot of work if different operating systems are to be supported.
I can see some solutions on a lower level by presenting the contents of a folder (and subfolders) as a write-protected hard drive using a virtual FAT16 or FAT32 partition.

As with the CPC, a custom ROM could be created to handle INT 13h calls, but any OS other than CP/M and DOS would bypass INT 13h. Therefor a virtual IDE device would be best.
abk4523
Posts: 52
Joined: Sun 19 May, 2019 7:21 pm

Re: How to connect a folder in PCem to my own Computer?

Post by abk4523 »

Just curious. I know in Windows 98 you can set up a home network (workgroup?) and share files between computers using Windows file sharing. Does PCem support this feature?
Dulton
Posts: 12
Joined: Wed 05 Jun, 2019 12:11 pm

Re: How to connect a folder in PCem to my own Computer?

Post by Dulton »

It should as basically all you need is networking. This will even work from DOS.
But it does take a bit more than just clicking on a checkbox. You need to be sure that the emulated machine and the host are using the same protocols.

Take e.g. a basic XT with a NE2000 network card. The DOS (and Windows?) drivers that originally came with this Ethernet device would talk NETBIOS and IPX/SPX, protocols that have been dropped in favour of TCP/IP nowadays.
So first you need to find/get the drivers that make this network card talk TCP/IP.
Now for file (and printer) access to need another protocol as well. FTP, SMB (SAMBA), NFS, lots of options there. And you need some client software so you can actually make use of the protocol and features.

In case of your Windows 98... Windows 98 should have support for TCP/IP and SMB. If your host is Windows, you should be able to set up a workgroup. In case of Linux, you'll have to ook into SAMBA.
abk4523
Posts: 52
Joined: Sun 19 May, 2019 7:21 pm

Re: How to connect a folder in PCem to my own Computer?

Post by abk4523 »

Good to know. If anyone is brave enough to try it, post your results. I am curious.
User avatar
CryptidWorks
Posts: 118
Joined: Fri 26 Apr, 2019 7:11 am

Re: How to connect a folder in PCem to my own Computer?

Post by CryptidWorks »

Just make an ISO of the file and mount it in PCEM.

You don't have to make this a complicated affair.
magnet
Posts: 5
Joined: Tue 14 Feb, 2017 6:23 am

Re: How to connect a folder in PCem to my own Computer?

Post by magnet »

Facing the same problem - and it seems to me, that all answers focuses on moving data in the direction: Host PC > PCem.
(On which I btw agree with the CryptidWorks: just do it by mounting ISOs).

However - the question formed by the headline specifically says:
"...Connect a folder in PCem to my own computer" - in other words move data in the direction: PCem > Host PC.

I have successfully set up networking in Windows 98SE running in PCem. The network adapter gets a 10.0.2.x IP address (from a built-in dhcp service in PCem, I guess?), and I can access internet.
..But is there a way to enable TCP/IP comms between PCem and the host - alternatively pass-through connect a usb key/HD ?

I have an application that only installs in Windows 98, but actually runs in Windows XP/7/8/10, so I would like to set up an install sequencer and use the Windows 98 machine that I already have running in PCem for other purposes (legacy gaming of course :) ).
Of course it can be done in a VM environment like vmware, bochs, etc. but if possible I'd like to keep it PCem exclusively.

Oh... and @SarahWalker:
Thank you so much for PCem - your continued effort on it has made you part of computing history.
JosepMa
Posts: 191
Joined: Tue 20 Jun, 2017 6:25 pm

Re: How to connect a folder in PCem to my own Computer?

Post by JosepMa »

On the Pcem side, the router IP is your host. ( verify it, but it should be 10.0.2.2)
I've been using a little http server application to copy files on both directions (server on host, IE on pcem). The http server is hfs. https://www.rejetto.com/hfs
User avatar
omarsis81
Posts: 943
Joined: Thu 17 Dec, 2015 6:20 pm

Re: How to connect a folder in PCem to my own Computer?

Post by omarsis81 »

JosepMa wrote: Thu 26 Mar, 2020 7:09 pm On the Pcem side, the router IP is your host. ( verify it, but it should be 10.0.2.2)
I've been using a little http server application to copy files on both directions (server on host, IE on pcem). The http server is hfs. https://www.rejetto.com/hfs
Works great! Thanks for the share!
LadderFilter
Posts: 1
Joined: Sun 22 Mar, 2020 1:50 pm

Re: How to connect a folder in PCem to my own Computer?

Post by LadderFilter »

Hellooo (first post) ;)

I just wanted to add: note that something as ordinary as 7zip can directly read the image files used by PCem. So if you don't need realtime two-way access, this might be good enough.

For example, if you work on something using some software that runs on PCem, and during that time you save files on the HD (image), after you are done you can easily copy said files onto your actual host system by accessing the image file directly using 7zip -- just as you'd do with any archive/container file. The access is read only, and you need to use something like Folder2iso when you wish to copy files to the other direction, but for my own purposes this has been all I need.
User avatar
VileR
Posts: 9
Joined: Sun 23 Dec, 2018 6:18 pm

Re: How to connect a folder in PCem to my own Computer?

Post by VileR »

Just a heads-up... I had the same question - was looking for a quick way to transfer small file sets from host (Windows) to guest (PCem or 86box), so I came up with my own hackish solution.

It requires a driver (ImDisk Virtual Disk) and doesn't take care of the other direction (guest→host), but it does things practically in one click, and sure makes my life easier. Maybe it'll help some of you as well:
https://int10h.org/blog/2020/04/pcem-injecting-files-into-active-machine/
User avatar
omarsis81
Posts: 943
Joined: Thu 17 Dec, 2015 6:20 pm

Re: How to connect a folder in PCem to my own Computer?

Post by omarsis81 »

VileR wrote: Wed 15 Apr, 2020 11:11 pm Just a heads-up... I had the same question - was looking for a quick way to transfer small file sets from host (Windows) to guest (PCem or 86box), so I came up with my own hackish solution.

It requires a driver (ImDisk Virtual Disk) and doesn't take care of the other direction (guest→host), but it does things practically in one click, and sure makes my life easier. Maybe it'll help some of you as well:
https://int10h.org/blog/2020/04/pcem-injecting-files-into-active-machine/
Great idea! First: congratulations! But... it won't work with transfers over the floppy capacity (let's say, 3MB).
User avatar
VileR
Posts: 9
Joined: Sun 23 Dec, 2018 6:18 pm

Re: How to connect a folder in PCem to my own Computer?

Post by VileR »

Yep, that's the limitation... in my use-case the files are typically small enough, so I didn't really think about larger transfers. It should be possible to add options for Zip disk or CD-ROM, but that would be a bit more involved (and it'd have to assume that any required drivers are already loaded on the guest).
observingman
Posts: 2
Joined: Mon 17 Oct, 2016 6:07 pm

Re: How to connect a folder in PCem to my own Computer?

Post by observingman »

Hello... I have the same problem; I've made another thread with the details here:
https://pcem-emulator.co.uk/phpBB3/view ... f=2&t=3575

Best regards !
walterg74
Posts: 14
Joined: Sat 18 Jul, 2020 7:26 pm

Re: How to connect a folder in PCem to my own Computer?

Post by walterg74 »

JosepMa wrote: Thu 26 Mar, 2020 7:09 pm On the Pcem side, the router IP is your host. ( verify it, but it should be 10.0.2.2)
I've been using a little http server application to copy files on both directions (server on host, IE on pcem). The http server is hfs. https://www.rejetto.com/hfs
Hi there, I tried this and works great, to me it's a good solution.

However, where do the chosen IP values come from?

I have seen a video where they just configure the net card (which I didn't even have to do) but the connection is like bridged through the host and can even access internet, which does not happen with my 10.0.0.2 and what the virtual machine gets...
JosepMa
Posts: 191
Joined: Tue 20 Jun, 2017 6:25 pm

Re: How to connect a folder in PCem to my own Computer?

Post by JosepMa »

PCem has two network emulation drivers: A SLiRP driver and a PCAP driver.
They are selectable from the configure host button on the PCem Configuration Manager.

The SLiRP driver, which is the default, works like this:
To the outside, it is just an application communicating with the default network card.
From the inside it is seen as a card, a simulated DHCP server (which provides the assigned IPs), and a simulated router. As such, you have a LAN only inside PCem, and PCem sends those as generated from PCem, not from the emulated machine.
Downsides is that you cannot open ports for servers in the emulated machine, because PCem won't open those ports as an application. (It cannot, it does not know about it. The only way would be to continuously scan for open ports on the internal IP).

The PCAP driver, which is not included by default, and needs to be compiled (requires some 3rd party sources):
You need to create a virtual network card (which is done installing the PCAP driver. Nowadays, the one in use is npcap: https://nmap.org/npcap/ )
This virtual card has its own configurable network range.
To the outside, this acts as a router (i.e. an additional network where you can communicate).
From the inside, it is seen as a card, a simulated DHCP server (which provides its own network), and a simulated router. But this time, the LAN is on the virtual card level (on the physical PC, not the emulated on), so it is reachable from the outside.
walterg74
Posts: 14
Joined: Sat 18 Jul, 2020 7:26 pm

Re: How to connect a folder in PCem to my own Computer?

Post by walterg74 »

JosepMa wrote: Tue 22 Dec, 2020 7:45 pm PCem has two network emulation drivers: A SLiRP driver and a PCAP driver.
They are selectable from the configure host button on the PCem Configuration Manager.
How the heck did I never see this button???? :o

JosepMa wrote: Tue 22 Dec, 2020 7:45 pm
The SLiRP driver, which is the default, works like this:
To the outside, it is just an application communicating with the default network card.
From the inside it is seen as a card, a simulated DHCP server (which provides the assigned IPs), and a simulated router. As such, you have a LAN only inside PCem, and PCem sends those as generated from PCem, not from the emulated machine.
Downsides is that you cannot open ports for servers in the emulated machine, because PCem won't open those ports as an application. (It cannot, it does not know about it. The only way would be to continuously scan for open ports on the internal IP).

Ok , so when you say "to the outside", do you mean the host PC, and "from the inside" to the Virtual PC? I don't see any configuration options though, is it fixed at that network/subnet? Is it at the PCem instance level? Meaning, if hypothetically your machine can run more than one Virtual machine at the same time, would they both be in the same subnet and able to talk to each other?

And in a nutshell then, the only communication is between PCem process and the virtual machine, and there can be no communication with "the outside world", except to the host machine running PCem correct?

JosepMa wrote: Tue 22 Dec, 2020 7:45 pm
The PCAP driver, which is not included by default, and needs to be compiled (requires some 3rd party sources):
You need to create a virtual network card (which is done installing the PCAP driver. Nowadays, the one in use is npcap: https://nmap.org/npcap/ )
This virtual card has its own configurable network range.
To the outside, this acts as a router (i.e. an additional network where you can communicate).
From the inside, it is seen as a card, a simulated DHCP server (which provides its own network), and a simulated router. But this time, the LAN is on the virtual card level (on the physical PC, not the emulated on), so it is reachable from the outside.
Yeah I have used that driver (just installed it) as part of using nmap/wireshark/etc. So in summary PCem uses this and interfaces between it and the Virtual Machine, creating a virtual router,dhcp srvr, etc, and at the same time routing between the Virtual Machines and your real physical network?

What threw me off also are videos like this one:

https://www.youtube.com/watch?v=jyMpc7UQwBU

Where they don't mention having installed anything and yet can get to the Internet directly from the virtual machine.
Post Reply