Multiple Registers on network in DOSbox / vDOS

Make comments, ask questions, or just complain about the software on this site. Or comment on any educational software.
Please note that by clicking on links that may appear in these posts that you may be leaving the Dale Harris Educational Software website and that the content of those sites is the sole resposibility of the authors of those sites.

Moderators: daleadmin, Dale Harris, Alan, Andrew

Post Reply
Johann
Occasional Poster
Posts: 12
Joined: Wed Jun 14, 2017 6:11 am
Location: Jember, Indonesia

Multiple Registers on network in DOSbox / vDOS

Post by Johann » Mon Jun 26, 2017 5:20 am

Since Dale asked me to test this i have setup two DHPOS-registers in DOSbox and vDos that are connected over a network and found absolutely no issues or difficulties doing so.
Dale told me that people experienced trouble setting up networked registers this way in DOSbox and while that MIGHT have been the case with older versions of DOSbox, as of currently using DOSbox 0.74 or vDOS 2016.10.01 setting up the networked registers is fairly easy assuming you understand what you are doing.

There are a few prerequisites steps to setting up correctly:
-A network to which all your registers are connected
-Correct directory/file structure and a folder correctly shared over your network, containing the GLOBAL (or SERVER) installation of DHPOS
-Having all needed locations correctly MOUNTED as virtual drives/folders in your emulator (DOSBox or vDOS)
-Applying the correct PATH of these mounted locations in POSCONFG.EXE (on every register)

Note that in this guide i often will be referring to DOSbox OR vDos as EMULATOR since this method basically works the same on both.

In my case for testing i used a PC running 64bit Windows 7 as the SERVER/register connected over a WIFI network together with a laptop running 64bit Windows 10 as my second register.
The first step was setting up a network between my laptop and my PC to make sure they can communicate over the network, i wont go in depth about this because there are various ways to do so depending on specific hardware and operating systems, and basically setting up a network is unrelated to DHPOS.
However a quick search on Google will give you many step-by-step instructions on how to correctly setup a network.
In this example i will give my server-PC(the one that's going to run POS.EXE from the GLOBAL folder) the name BANANA , this name will be used over the network to locate any network shares you make on this computer.

I backed up and copied my already set up POS folder for this purpose, setting up your POS is something that Dale has explained in depth on his website so i wont go into that either. Just note you will have to set up your POS just ONCE and copy its whole folder to the locations as described in this guide.

You need to copy your POS folder (the whole folder including all the subfolders and files in it) to EVERY register-computerr you want on your network, and even a second time in a different folder on the register-computer(or backroom computer) that will act as the SERVER for your POS.
Do not get confused about the server program and the register program, both are exact same duplicates of DHPOS, just slightly different configuration in POSCONFG.EXE and located in different folders.

I copied as followed:
On my PC (SERVER) to C:\POS\POS\ (the register) and to C:\GLOBAL\GLOBAL\ (the server)
On my LAPTOP (2nd register) i only had to copy this folder once to: C:\POS\POS\

Note that in all cases i used an EXTRA subfolder to place the POS program files (and their subfolder) in.
This is for MOUNTING the folders correctly (which will be described below)
This folder structure is NOT necessary but i HIGHLY recommend it since this will keep it simple and it is not recommended (for safety) to mount ROOT folders as virtual drives in your emulator.
I advise not to change the folder-structure as described in this guide, unless you understand what you're doing.

At this point i have 3 EXACT copies of the POS program, files and subfolders spread over my two registers

Next step will be SHARING the GLOBAL folder on the SERVER computer to be accessible over the network, in Windows this can usually done by rightclicking the folder (in my case C:\GLOBAL\) , clicking properties->sharing and follow the onscreen settings.
Make sure to also set the right PERMISSIONS so every register that must have access to it can WRITE to this folder,it's subfolders and files.

At this point all registers should have access to the GLOBAL folder on my server named BANANA at this location: \\BANANA\GLOBAL

Basically we are now done with the setup in Windows and are moving on to DOS (with help of your emulator) to correctly MOUNT all the locations on EVERY register computer.
IMPORTANT: On EVERY use you must have these locations mounted so each time you CLOSE your emulator you must MOUNT these locations when you start them again.
To prevent from having to type these commands every time you want to start using DHPOS in your emulator you can edit the AUTOEXEC sections of your emulator, so on every use the command will be executed automatically!


1-Mounting the folders on the main-register/SERVER computer, note that the command to do so is different in DOSbox and vDOS:


For DOSbox users:
DOSbox wrote: MOUNT C C:\POS\
MOUNT H C:\GLOBAL\
OR:

For vDOS users:
vDOS wrote: USE C: C:\POS\
USE H: C:\GLOBAL\
Note how i mounted two folders on my single Windows C-drive to two seperate VIRTUAL drives (C: and H:) in the emulator.
Because i copied everything in an extra subfolder as noted above i now will have 2 virtual drives in my emulator, both containing 1 folder (C:\POS\ and H:\GLOBAL\)

2- Now mount the folders on EVERY other register on the network but for the GLOBAL folder we must point to the shared folder on BANANA (the network shared location) like so:

For DOSbox users:
DOSbox wrote: MOUNT C C:\POS\
MOUNT H //BANANA/GLOBAL/
OR:

For vDOS users:
vDOS wrote: USE C: C:\POS\
USE H: \\BANANA\GLOBAL\
After doing so ALL your networked registers (including the server) will have the same drive and folder structure IN THE EMULATOR:
C:\POS\
H:\GLOBAL\

3- The final step would be setting up the correct network PATHS in every POSCONFG.EXE in both the POS and GLOBAL folder on the SERVER, and in the POS folder of EVERY other network register and assigning each register, including the server it's own letter.
Dale has detailed instructions how to do that in the Online POS User's guide HERE:http://keyhut.com/postip3.htm#network , but i will give a quick overview below.

Assuming you used the exact directory/file structure as described above and assuming your server-pc is named BANANA:

On EVERY register(including the one used as server) open POSCONFG.EXE in C:\POS\ in your emulator, select NETWORK, fill in the PATH H:\GLOBAL\ and assign a UNIQUE letter to that register.

On ONLY the SERVER-register open POSCONFG.EXE in H:\GLOBAL\ in your emulator, select NETWORK, fill in the PATH H:\GLOBAL\ and assign a UNIQUE letter to that register.
Press [TAB] to change the register from LOCAL to GLOBAL.

Congratulations, you are now done and can close all instances of POSCONFG.EXE and emulators on every register and return to Windows.

USAGE:
Every day you want to start selling and boot up all your registers you must keep the following in mind:
- Your locations must ALWAYS be mounted as described above
- Your SERVER-POS program MUST be started first
You can have multiple instances of your emulator open in Windows so on the register that has the SERVER program in the GLOBAL folder, open your emulator (with locations correctly mounted manually or automatic as described above) and at the prompt type:
H:
CD GLOBAL
POS
While keeping that emulator window open start a new instance of your emulator and at the prompt open the register by typing:
C:
CD POS
POS
Then on every other connected register just start your emulator and type at the prompt:
C:
CD POS
POS
QUICK REMINDERS:
-Your Windows locations do not have and probably will not be the same as your MOUNTED locations in the emulator, keep mounting simple and do not mix up the locations.
I expect 99% of all the issues people encounter using these kinds of setup are a result of incorrectly mounting locations and using incorrect paths.
I would advise to use the same directory/file structures as mentioned in this guide for fool-proof setup but feel free to change it however you want as soon as you understand what you are doing

-The locations MUST be mounted on every use, edit the AUTOEXEC configuration of your emulator to automate the process

-You CAN open your emulator TWICE, once for GLOBAL and once for LOCAL, on ONE server/register-computer.
However if you want to automate the commands i would advise you to install your emulator TWICE in different folders so you can have two seperate AUTOEXEC sections and automate mounting locations and starting your POS software

-The SERVER POS must always be started FIRST for correct usage

-EVERY register (ALL LOCAL and one GLOBAL) must have their own UNIQUE letter assigned

-Use the correct name of your server-computer, BANANA used in this guide is meant to be an example name and yours will probably be different

-I STRONGLY recommend you read Dale's portion of the User Guide about networks at least once: http://keyhut.com/postip3.htm#network


AUTOMATION:
The following commands can be copied to the AUTOEXEC sections of your emulator configuration for automated mounting and starting up the POS server/registers:

ADD THE FOLLOWING TO THE SERVER/REGISTER AUTOEXEC TO START YOUR POS SERVER:
For DOSbox users:
DOSbox wrote: MOUNT C C:\POS\
MOUNT H C:\GLOBAL\
H:
CD GLOBAL
POS
OR:

For vDOS users:
vDOS wrote: USE C: C:\POS\
USE H: C:\GLOBAL\
H:
CD GLOBAL
POS

ADD THE FOLLOWING TO THE SERVER/REGISTER AUTOEXEC TO START YOUR POS REGISTER:
For DOSbox users:
DOSbox wrote: MOUNT C C:\POS\
MOUNT H C:\GLOBAL\
H:
CD GLOBAL
POS
OR:

For vDOS users:
vDOS wrote: USE C: C:\POS\
USE H: C:\GLOBAL\
C:
CD POS
POS

ADD THE FOLLOWING TO EACH AND EVERY OTHER REGISTER AUTOEXEC TO START YOUR POS REGISTER:
For DOSbox users:
DOSbox wrote: MOUNT C C:\POS\
MOUNT H //BANANA/GLOBAL/
C:
CD POS
POS
OR:

For vDOS users:
vDOS wrote: USE C: C:\POS\
USE H: \\BANANA\GLOBAL\
C:
CD POS
POS

Sorry for this lengthy post. Don't get intimidated and just follow it step by step, it's easier than it looks at first glance. Since Dale gives his support on DHPOS which works as intended for this setup, do not email him for support on DOSbox or vDOS. Instead when you're stuck or have questions, drop a reply in this thread and i'll do my best to help you out.

Johann

Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests