Kjetil's Information Center: A Blog About My Projects

Commodore PC 20-III Emulator EtherDFS Integration

I have been researching how to provide easy "file sharing" between the emulator and the host Linux system when running DOS. It is possible to simply use the floppy and hard disk images, but that requires additional operations to put or extract files on the Linux side. Since there is now network support in my pc20iii emulator, that seems to be better alternative. FTP works with mTCP, but I was looking for something more transparent.

Using LAN Manager with TCP/IP requires a 80286 CPU, which is not supported in the emulator. So instead of implementing a new back-end for the proprietary NBF protocol, a better choice was the open source EtherDFS protocol.

I re-implemented the server portion of EtherDFS directly into the emulator so no additional software is required on the host side. Inside the emulator in DOS, the EtherDFS client driver must be loaded along with a NE2000 packet driver. A command line argument to the emulator specifies the root directory to host files and directories from.

Example AUTOEXEC.BAT portion to map C: to the host Linux system:

CRYNWR\NE2000.COM 0x60 3 0x300
ETHERDFS\ETHERDFS.EXE 11:11:11:11:11:11 C-C
          


Not everything has been fully tested and there are still some limitations in edge cases. There is a hardcoded upper limit on how many files and directories can be traversed, so keeping the root directory to a location with relevant files is a good idea. EtherDFS version 0.8.3 was used during development and testing.

Here is a screenshot:

EtherDFS in in pc20iii.


You can download the updated version 0.4 here or check the Git repository.

Here is a video showing Borland Turbo Assembler running on a remote EtherDFS share.

Topic: Open Source, by Kjetil @ 16/08-2024, Article Link