Dweebs

From The Dragon Archive
Jump to: navigation, search

What are dweebs?

They're 'DWLOAD Extensible Execution Blocks', a method for extending the functionality of DWLOAD, a tool used to access DriveWire.

How do they work?

The DWLOAD client is relatively simple, due to the space constraints in the ROM. The dweeb is a mechanism to dynamically extend the functionality of DWLOAD. The dweeb is loaded from the server like any other program, but accesses the I/O routines of DWLOAD. It also reads its command parameters from the DWLOAD command line.

The best example is the "SAVE" dweeb. There is not enough room in the ROM to include support for saving files over DriveWire. However, this functionality can be loaded on demand. DLOAD"SAVE""MYFILE.BAS" saves a BASIC program to the DriveWire server. The SAVE functionality is only temporarily loaded into RAM and used during this invocation.

Since a dweeb uses the I/O routines of the calling DWLOAD, it is independent of the real transport being used, which makes development with for instance the Becker interface in XRoar very convenient.

Examples:

  DLOAD"VLOAD""MYIMAGE.VDK""MYFILE.BAS"
  DLOAD"DOS"
  DLOAD"LROM""GAME.ROM"

How do you install them?

Normally, dweebs live in the top directory of your Drivewire server - simply unzip the archive and put the files in there. However, you can create subdirectories in your Drivewire directory, for example:

  DLOAD"DWEEB/DATE"
  DLOAD"VDK/VDIR""DISK.VDK"

You can also use variables with your dweebs, for example:

  D$="DWEEB/DATE"
  DLOADD$

The Dweeb Directory

This is a list of the known Dweebs, extracted from posts on the forum. Please feel free to add any others to this list. Note: CocoSDC users will use DWLOAD instead of DLOAD for all these examples.

File Manipulation Dweebs

LDAF

Allows the user to load an ASCII basic file.

  DLOAD"LDAF""HELLO.BAS"

Note: See this post] for the latest version. Also note that LDA (and the original version of LDAF) only work with DOS files.

LROM

Allows the user to load (and run) any ROM file.

  DLOAD"LROM""ROMName (no need to put the .ROM extension)

CAS

A simple CAS parser to load CAS files directly from the DriveWire server.

  DLOAD"CAS""MYFILE.CAS"

SAVE/RESAVE

Save a basic program to the DriveWire server. Note: The commonly used Java based DW4 server currently doesn't support saving to a new file. In this case, use RESAVE to save over the top of an existing, possibly empty, file.

  DLOAD"SAVE""MYFILE.BAS"
  DLOAD"RESAVE""MYFILE.BAS"

Disk Manipulation Dweebs

FLO2V

Allows copying a floppy from the default Dragon drive to a new VDK file in the PC Windows file system so you can save a backup of the disk and use it on XRoar as well.

  DLOAD"FLO2V""VDKName.VDK"

Note: See this post] for the latest version

V2FLO

Allows copying an VDK to a floppy on the default Dragon drive to restore a previous backup or simply to transfer a XRoar disk to the real Dragon drives.

  DLOAD"V2FLO""VDKName.VDK"

Note: See this post] for the latest version

VDIR

Produces a directory list of the disk image.

  DLOAD"VDIR""DiskName"

Note: See this post for the latest version

VLOAD

Allows the user to load and run/execute any program contained in any VDK image

  DLOAD"VLOAD""DiskName""FileName.Ext"

Note: Also see this post for the latest version.

Drivewire and other Dweebs

DATE

Displays date and time from the DW4 server

  DLOAD"DATE"

DW

Sends requests to the DriveWire server.

  DLOAD"DW""DW SERVER STATUS"

DOS

Boot from disk 0 on DW4 server (for launching NitrOS-9)

 DLOAD"DOS"