Version control systems for DOS?

27 views
Skip to first unread message

Johann 'Myrkraverk' Oskarsson

unread,
May 30, 2020, 4:45:16 AM5/30/20
to
Dear. c.o.m.programmer,

What do people use to transfer source code to/from physical machines?

Is there git/svn/cvs/something for DOS?

I've also considered network file systems, but it seems those are
usually based on SMB and the clients are problematic (if they even
still exist).

So what do people usually use?

Note: I don't have the physical machine yet, so I'm currently just
planning what hardware/software combinations I can use.

--
Johann | email: invalid -> com | www.myrkraverk.com/blog/
I'm not from the Internet, I just work there. | twitter: @myrkraverk

Mateusz Viste

unread,
May 30, 2020, 5:13:59 AM5/30/20
to
2020-05-30 at 16:44 +0800, Johann 'Myrkraverk' Oskarsson wrote:
> What do people use to transfer source code to/from physical machines?

I develop source code on a Linux laptop, compile through DOSemu and
then transfer the binaries to physical machines for testing over
etherdfs.

Mateusz

Johann 'Myrkraverk' Oskarsson

unread,
May 30, 2020, 6:09:26 AM5/30/20
to
Etherdfs seems to be linux only, which will not work for me as-is. (Of
course I can make it work, but not sure yet if that's what I want to do)

Mateusz Viste

unread,
May 30, 2020, 6:21:28 AM5/30/20
to
2020-05-30 at 18:09 +0800, Johann 'Myrkraverk' Oskarsson wrote:
> On 30/05/2020 5:13 pm, Mateusz Viste wrote:
> > 2020-05-30 at 16:44 +0800, Johann 'Myrkraverk' Oskarsson wrote:
> >> What do people use to transfer source code to/from physical
> >> machines?
> >
> > I develop source code on a Linux laptop, compile through DOSemu and
> > then transfer the binaries to physical machines for testing over
> > etherdfs.
>

> Etherdfs seems to be linux only, which will not work for me as-is.

It is Linux-only indeed. I was not projecting it over you of course, I
was merely answering to the question "what do people use".

> (Of course I can make it work, but not sure yet if that's what I want
> to do)

A possible way is to set it up on a RPi that acts as a kind of "mini
home NAS for DOS-related machines". Another way is to run the etherdfs
server inside a Linux VM on a Windows host.

Mateusz

R.Wieser

unread,
May 30, 2020, 6:38:38 AM5/30/20
to
Johann,

> So what do people usually use?

You already spelled the problems out, with the biggest one being that plain
DOS doesn't even have network support. The answer is therefore: a floppy.
At least, that is what I use (on plain-old DOS).

But if SMB isn't your thing, also think of RS232 and possibly even
"interlink" (using the printer port). Even if those two do not have the
highest speeds, DOS programs tend to be quite a bit smaller than Windows
versions. :-)

Also, I seem to remember something about software which allows you to attach
a Windows computer to a DOS one (using ethernet/UDP), and use it as a
standard (IFS) drive.

Regards,
Rudy Wieser


Johann 'Myrkraverk' Oskarsson

unread,
May 30, 2020, 7:05:03 AM5/30/20
to
On 30/05/2020 6:21 pm, Mateusz Viste wrote:
> 2020-05-30 at 18:09 +0800, Johann 'Myrkraverk' Oskarsson wrote:
>> On 30/05/2020 5:13 pm, Mateusz Viste wrote:
>>> 2020-05-30 at 16:44 +0800, Johann 'Myrkraverk' Oskarsson wrote:
>>>> What do people use to transfer source code to/from physical
>>>> machines?
>>>
>>> I develop source code on a Linux laptop, compile through DOSemu and
>>> then transfer the binaries to physical machines for testing over
>>> etherdfs.
>>
>
>> Etherdfs seems to be linux only, which will not work for me as-is.
>
> It is Linux-only indeed. I was not projecting it over you of course, I
> was merely answering to the question "what do people use".

Yes, thank you.

>> (Of course I can make it work, but not sure yet if that's what I want
>> to do)
>
> A possible way is to set it up on a RPi that acts as a kind of "mini
> home NAS for DOS-related machines". Another way is to run the etherdfs
> server inside a Linux VM on a Windows host.

Yes, both of those are viable ways to do it -- though right now I'm
still unsure what I want to do.

I'm still looking for a place that sells refurbished machines locally,
and I don't know what hardware they have available and what I may have
to import (which can incur significant delays).

Knowing what people are currently using, and what hardware is available
can be extremely helpful.

Johann 'Myrkraverk' Oskarsson

unread,
May 30, 2020, 7:23:09 AM5/30/20
to
On 30/05/2020 6:38 pm, R.Wieser wrote:
> Johann,
>
>> So what do people usually use?
>
> You already spelled the problems out, with the biggest one being that plain
> DOS doesn't even have network support. The answer is therefore: a floppy.
> At least, that is what I use (on plain-old DOS).

Right now, I have no floppies and no floppy drive [1]. So while the
floppy solution seems attractive, it's probably not going to work for
me.

But apparently there are now "floppy USB drives,"

https://www.plrelectronics.com/floppy-to-usb/

which I may end up trying -- if only for the redundancy.

> But if SMB isn't your thing, also think of RS232 and possibly even
> "interlink" (using the printer port). Even if those two do not have the
> highest speeds, DOS programs tend to be quite a bit smaller than Windows
> versions. :-)

Years ago, we had a Novell server where I went to school, and it worked
well (but I don't know how much effort it was to set up originally, I
was a student, not a sysadmin there). And even that seems problematic
today.

> Also, I seem to remember something about software which allows you to attach
> a Windows computer to a DOS one (using ethernet/UDP), and use it as a
> standard (IFS) drive.

There are several such solutions out there, but most/all I've come
across are not maintained anymore, so I don't know how feasible they
are. One option would be to port/make my own etherdfs server [2].

[1] Side effect of moving to a different country a few years ago.

[2] Or run it with WSL though that doesn't seem attractive to me.

Mateusz Viste

unread,
May 30, 2020, 7:30:21 AM5/30/20
to
2020-05-30 at 19:22 +0800, Johann 'Myrkraverk' Oskarsson wrote:
> Right now, I have no floppies and no floppy drive [1]. So while the
> floppy solution seems attractive, it's probably not going to work for
> me.

Floppy drives (esp. the common 1.44MB) can still be found relatively
easily. The real problem is that floppies themselves are not
manufactured any longer, and their life span, when actually used, is
not great... Plus the quality of the floppies produced in the last two
decades tended to be really bad. I wouldn't recommend considering such
option.

Mateusz

Sjouke Burry

unread,
May 30, 2020, 7:47:21 AM5/30/20
to
On 30.05.20 10:44, Johann 'Myrkraverk' Oskarsson wrote:
> Dear. c.o.m.programmer,
>
> What do people use to transfer source code to/from physical machines?
>
> Is there git/svn/cvs/something for DOS?
>
> I've also considered network file systems, but it seems those are
> usually based on SMB and the clients are problematic (if they even
> still exist).
>
> So what do people usually use?
>
> Note: I don't have the physical machine yet, so I'm currently just
> planning what hardware/software combinations I can use.
>
Small: A floppy.
Large: A CD rom.
Very large: My home made parac cable and transmit.exe/recieve.exe
Also very large: Ethernet and my re_et.exe and tran_et.exe.
Those last two can manage to transfer whole partitions.

Johann 'Myrkraverk' Oskarsson

unread,
May 30, 2020, 7:56:53 AM5/30/20
to
On 30/05/2020 7:30 pm, Mateusz Viste wrote:
> Floppy drives (esp. the common 1.44MB) can still be found relatively
> easily. The real problem is that floppies themselves are not
> manufactured any longer, and their life span, when actually used, is
> not great... Plus the quality of the floppies produced in the last two
> decades tended to be really bad. I wouldn't recommend considering such
> option.

Which brings me to another question, how hard is it to manufacture a
floppy disk? Does it require a big, big factory, or is there a way
to make do with equipment an individual can afford?

Not to say that I can afford such a project, but I'm still curious.

Johann 'Myrkraverk' Oskarsson

unread,
May 30, 2020, 12:04:49 PM5/30/20
to
On 30/05/2020 7:47 pm, Sjouke Burry wrote:
> On 30.05.20 10:44, Johann 'Myrkraverk' Oskarsson wrote:
>> Dear. c.o.m.programmer,
>>
>> What do people use to transfer source code to/from physical machines?

> Small: A floppy.
> Large: A CD rom.
> Very large: My home made parac cable and transmit.exe/recieve.exe
> Also very large: Ethernet and my re_et.exe and tran_et.exe.
> Those last two can manage to transfer whole partitions.

Hmm, I think I'd like a more incremental option, such as per file vcs
or ftp; and ftp is likely to work. For some reason I haven't found any
evidence of vcs systems compiled for dos, not even cvs.

T. Ment

unread,
May 30, 2020, 12:26:33 PM5/30/20
to
On Sat, 30 May 2020 16:44:58 +0800, Johann 'Myrkraverk' Oskarsson wrote:

> What do people use to transfer source code to/from physical machines?

> Is there git/svn/cvs/something for DOS?

> I've also considered network file systems, but it seems those are
> usually based on SMB and the clients are problematic (if they even
> still exist).

It's not clear what your goal is, version control or file sharing.

RCS version control works on DOS.

For file sharing I use Windows 98 as a server for DOS clients. NetBEUI
works fine for a home network.

And there's Personal Netware bundled with DR-DOS 7.03. It's server and
client, so two DOS PCs make a network. Realtek 8139 NICs work, they're
cheap and available. You can get the ODI driver from Realtek download.


T. Ment

unread,
May 30, 2020, 12:32:00 PM5/30/20
to
On Sun, 31 May 2020 00:04:45 +0800, Johann 'Myrkraverk' Oskarsson wrote:

> Hmm, I think I'd like a more incremental option, such as per file vcs
> or ftp; and ftp is likely to work. For some reason I haven't found any
> evidence of vcs systems compiled for dos, not even cvs.

I found RCS because I was looking for a VCS that keeps original file
dates on import. The other guys don't care about that, but I do.


T. Ment

unread,
May 30, 2020, 12:46:23 PM5/30/20
to
On Sat, 30 May 2020 11:13:58 +0200, Mateusz Viste wrote:

> I develop source code on a Linux laptop, compile through DOSemu and
> then transfer the binaries to physical machines for testing over
> etherdfs.

I;m curious about the packet driver and etherdfs memory requirement on
the DOS client. How much?


T. Ment

unread,
May 30, 2020, 12:50:23 PM5/30/20
to
On Sat, 30 May 2020 19:56:45 +0800, Johann 'Myrkraverk' Oskarsson wrote:

> Which brings me to another question, how hard is it to manufacture a
> floppy disk? Does it require a big, big factory

That would be my guess.


> or is there a way to make do with equipment an individual can afford?

IDK, but why would you.



T. Ment

unread,
May 30, 2020, 1:06:29 PM5/30/20
to
On Sat, 30 May 2020 12:21:25 +0200, Mateusz Viste wrote:

> A possible way is to set it up on a RPi that acts as a kind of "mini
> home NAS for DOS-related machines".

RPi? What's that?

Googling ... oh Raspberry. Don't you still need a hard drive or
something to store files?

Sounds like a lot of work.


Mateusz Viste

unread,
May 30, 2020, 1:08:10 PM5/30/20
to
2020-05-30 at 16:46 +0000, T. Ment wrote:
> I;m curious about the packet driver and etherdfs memory requirement on
> the DOS client. How much?

The etherdfs client requires 7K of RAM when loaded. If that's too much
for you, then I suggest trying ethflop - its footprint is 2K.

http://etherdfs.sourceforge.net/
http://ethflop.sourceforge.net/

Mateusz

T. Ment

unread,
May 30, 2020, 1:15:15 PM5/30/20
to
On Sat, 30 May 2020 19:22:59 +0800, Johann 'Myrkraverk' Oskarsson wrote:

> Years ago, we had a Novell server where I went to school, and it worked
> well (but I don't know how much effort it was to set up originally, I
> was a student, not a sysadmin there).

Without any Novell experience, I set one up at home. It's the fastest
file sharing there ever was for DOS. But if the server dies, where are
your files? You need a 2nd server for mirroring and redundancy.

Doable, but time consuming.


T. Ment

unread,
May 30, 2020, 1:19:31 PM5/30/20
to
On Sat, 30 May 2020 13:47:20 +0200, Sjouke Burry wrote:

> Very large: My home made parac cable and transmit.exe/recieve.exe
> Also very large: Ethernet and my re_et.exe and tran_et.exe.
> Those last two can manage to transfer whole partitions.

Never heard of it, but sounds interesting. A salesman would say more. I
guess that's not your line of work.


Mateusz Viste

unread,
May 30, 2020, 4:39:36 PM5/30/20
to
2020-05-30 at 17:06 +0000, T. Ment wrote:
> Googling ... oh Raspberry. Don't you still need a hard drive or
> something to store files?

There's an SD card in the RPi, that's where the OS lives. And that's
where one can store user files etc.

> Sounds like a lot of work.

"There ain't no such thing as a free lunch"

Mateusz

T. Ment

unread,
May 30, 2020, 4:59:28 PM5/30/20
to
On Sat, 30 May 2020 22:39:30 +0200, Mateusz Viste wrote:

> There's an SD card in the RPi, that's where the OS lives. And that's
> where one can store user files etc.

An SD card? How big is that? Sounds strange.


>> Sounds like a lot of work.

> "There ain't no such thing as a free lunch"

Whoever said that never met a woman.


Johann 'Myrkraverk' Oskarsson

unread,
May 30, 2020, 5:26:32 PM5/30/20
to
On 31/05/2020 12:26 am, T. Ment wrote:
> It's not clear what your goal is, version control or file sharing.

I conflate the two. The various vcs' I've ever used have always been,
in part, network and collaboration based.

> RCS version control works on DOS.

That's good to know; if I end up with a generic file sharing solution.

> For file sharing I use Windows 98 as a server for DOS clients. NetBEUI
> works fine for a home network.

I've actually never configured a microsoft based network (I took a class
in Novell back in the 90s) so I wouldn't know where to begin; and the
only potential server I have is Windows 10, and I don't know if that's
compatible too.

> And there's Personal Netware bundled with DR-DOS 7.03. It's server and
> client, so two DOS PCs make a network. Realtek 8139 NICs work, they're
> cheap and available. You can get the ODI driver from Realtek download.

While that sounds tempting, I'm not sure if I want more than one DOS
machine on my network; it's a physical space consideration.

It's good to know Realtek works, I'll most likely go with that kind of
card.

T. Ment

unread,
May 30, 2020, 5:46:22 PM5/30/20
to
On Sun, 31 May 2020 05:26:24 +0800, Johann 'Myrkraverk' Oskarsson wrote:

> I've actually never configured a microsoft based network (I took a class
> in Novell back in the 90s) so I wouldn't know where to begin; and the
> only potential server I have is Windows 10, and I don't know if that's
> compatible too.

They quit supporting NetBEUI after Windows XP.


> good to know Realtek works, I'll most likely go with that kind of card.

Won't help without a server supporting NetBEUI.

There's no file sharing solution between Windows 10 and DOS. No market
for it.

I set up a DR-DOS Personal Netware guest in VMWare to boot my diskless
DOS client. Performance is lacking, but it works for testing. And if two
PCs is all you have, it's better than nothing.



Steve

unread,
May 31, 2020, 8:08:47 AM5/31/20
to
Johann 'Myrkraverk' Oskarsson <joh...@myrkraverk.invalid> writes:
>On 30/05/2020 7:47 pm, Sjouke Burry wrote:
>> On 30.05.20 10:44, Johann 'Myrkraverk' Oskarsson wrote:
>>> Dear. c.o.m.programmer,
>>>
>>> What do people use to transfer source code to/from physical machines?
>
>> Small: A floppy.
>> Large: A CD rom.
>> Very large: My home made parac cable and transmit.exe/recieve.exe
>> Also very large: Ethernet and my re_et.exe and tran_et.exe.
>> Those last two can manage to transfer whole partitions.
>
>Hmm, I think I'd like a more incremental option, such as per file vcs
>or ftp; and ftp is likely to work. For some reason I haven't found any
>evidence of vcs systems compiled for dos, not even cvs.

Hi,

For a DOS program for maintaining source code I bought
Source_Manager, of 1992 vintage. From the manual: "it
provides a traceable system for the maintenance of source
code and the retention of historical records documenting
code creation dates, code correction dates and code revision
levels;" "The source maintenance procedure employed by
Source_Manager is based upon Control Data Corporation's
Update utility program."

Regards,

Steve N.

Ross Ridge

unread,
May 31, 2020, 3:49:54 PM5/31/20
to
Johann 'Myrkraverk' Oskarsson <joh...@myrkraverk.invalid> wrote:
>What do people use to transfer source code to/from physical machines?

Back in the day I used my own port of SCCS. If I was doing serious
MS-DOS development today, I'd be doing the development on Windows and
so I would be using something that worked on Windows. Probably my own
port of SCCS though.

>Is there git/svn/cvs/something for DOS?

There was supposed to be a version of CVS for MS-DOS, but I couldn't
verify if it actually exited the last time I checked.

>Note: I don't have the physical machine yet, so I'm currently just
>planning what hardware/software combinations I can use.

You should really consider doing as much development as possible on a
modern PC running a modern OS. There a fair number of tools that can
target MS-DOS and run natively on Windows, like MASM, NASM, Visual C++
1.x, OpenWatcom, and you can run native MS-DOS tools under emulators
like DOSEmu. You can test your code under VMs like Bochs and QEMU which
give you better than ICE level debugging capabilities.

--
l/ // Ross Ridge -- The Great HTMU
[oo][oo] rri...@csclub.uwaterloo.ca
-()-/()/ http://www.csclub.uwaterloo.ca/~rridge/
db //

Johann 'Myrkraverk' Oskarsson

unread,
May 31, 2020, 4:34:18 PM5/31/20
to
On 01/06/2020 3:49 am, Ross Ridge wrote:
> You should really consider doing as much development as possible on a
> modern PC running a modern OS. There a fair number of tools that can
> target MS-DOS and run natively on Windows, like MASM, NASM, Visual C++
> 1.x, OpenWatcom, and you can run native MS-DOS tools under emulators
> like DOSEmu. You can test your code under VMs like Bochs and QEMU which
> give you better than ICE level debugging capabilities.

Indeed, that's what I plan to do, and is how I do things today. However,
when it comes to poking hardware directly, I think I want the conve-
nience of being able to make quick edits on the physical system [1].

I'm using OpenWatcom, so it's trivial to run the same compiler on DOS
and whatever else I choose to use.

Ideally, I'd be able to sync source files trivially; preferably with
some sort of network enabled vcs.

[1] I don't know if compilation will be fast, though; depends on what
I'm doing and what my physical system actually is.

T. Ment

unread,
May 31, 2020, 10:42:08 PM5/31/20
to
On Mon, 1 Jun 2020 04:33:47 +0800, Johann 'Myrkraverk' Oskarsson wrote:

>> You can test your code under VMs like Bochs

You can ride a mule too but I wouldn't. Bochs debugger is no substitute
for DOS SoftICE,


> sync source files trivially; preferably with some sort of network
> enabled vcs.

RCS is the best I know for DOS. Let me know how you work it out.



Reply all
Reply to author
Forward
0 new messages