Virtual Ethernet Drive - a2retrosystems/mxp GitHub Wiki

###Files

VEDRIVE - the VEDRIVE installer/uninstaller (intended to be run from BASIC.SYSTEM)
VEDRIVE.SYSTEM - a (tiny) starter for VEDRIVE (intended to be run from a ProDOS selector)
VEDRIVE.SETUP - a BASIC program to create a VEDRIVE configuration file
VEDRIVE.CONFIG - a VEDRIVE configuration file created by VEDRIVE.SETUP

###Operation

First of all you need to run VEDRIVE.SETUP to create a configuration file.

Then run VEDRIVE (or VEDRIVE.SYSTEM) to install Virtual Ethernet Drive. It will:

  • get an IP address via DHCP
  • detect all Disk II drives connected to ProDOS and disconnect them
  • connect the two ADTPro virtual hard drives as S1,D1 and S1,D2

When you're done with Virtual Ethernet Drive just run VEDRIVE again to uninstall it. That will:

  • reload the Disk II driver from the file PRODOS
  • disconnect the two ADTPro virtual hard drives
  • reconnect all devices disconnected by Virtual Ethernet Drive

###Notes

Virtual Ethernet Drive places the virtual hard drives at the end of the ProDOS device table just before the /RAM device (if present). This way:

  • programs intending to disconnect /RAM but only looking for it at the end of the device table still find it there
  • ProDOS volumes are searched from fast devices to slow devices (/RAM > virtual hard drives > real drives)

If VEDRIVE was run via VEDRIVE.SYSTEM and there was an error detected then you will be asked to press a key before you are returned to the ProDOS selector. Hence if VEDRIVE.SYSTEM just flickers the screen then everything is supposed to have worked just fine.

Virtual Ethernet Drive file reads are - independently from the current ProDOS prefix - always done in the same ProDOS directory the reader is located in:

  • VEDRIVE.SYSTEM reads VEDRIVE
  • VEDRIVE reads VEDRIVE.CONFIG
  • VEDRIVE reads PRODOS

Uninstalling Virtual Ethernet Drive requires at least ProDOS 1.8.

###Ctrl-Reset

Pressing Ctrl-Reset puts the Uthernet II into a default state. On next virtual drive access VEDRIVE detects this state and re-initializes the Uthernet II. For you this has three implications:

  1. If VEDRIVE shouldn't work anymore due to a problem with the Uthernet II then a Ctrl-Reset may very well fix it.

  2. If you run a program that uses the Uthernet II for own purposes and does not follow the [W5100 Shared Access] (https://github.com/a2retrosystems/uthernet2/wiki/W5100-Shared-Access) conventions you can just press Ctrl-Reset after its termination to recover VEDRIVE.

  3. If you run a program that uses the Uthernet II for own purposes and does follow the [W5100 Shared Access] (https://github.com/a2retrosystems/uthernet2/wiki/W5100-Shared-Access) conventions make sure to access the virtual drive once after a Ctrl-Rest before the program start to allow the presence of VEDRIVE to be detected by the program.