Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / operating-systems / DOS

Exploring Tandy Deskmate on DOSBox v0.7.4

5.00/5 (2 votes)
5 Apr 2023CPOL6 min read 2.5K  
Tandy Deskmate on DOSBox v0.7.4

My first computer was a Tandy 1000 RSX. It has a 25MHz 80386SX processor, 4MB of RAM and 100MB hard disk drive. With the small hard disk drive, not many software could be installed, only Tandy Deskmate, Windows 3.1, Microsoft Office 4.3 and some DOS games. Yet, I spent hours daily playing with the Tandy and even wrote my first lines of codes using Turbo Pascal 5.5 on it.

Time passed by and recently I found myself playing with DeskMate again, not on the original Tandy machine which has long been thrown away, but on DOSBox. After a quick search, I found a detailed history of DeskMate on toastytech that lists all versions of DeskMate known to have existed. From this, the version installed on my computer at the time is most likely DeskMate 3.04.04 shipped in 1991, specifically designed for Tandy machines. At the time, Tandy also released generic PC-compatible versions of DeskMate which contain all features except the music composer (MUSIC.PDM) and sound editor (SOUND.PDM). All versions can now be downloaded from Tvdog’s archive and also from WinWorld. Tvdog also hosts several boot disk images for Tandy machines here.

Personal DeskMate 2, released in late 1987, can run in DOSBox with machine=tandy set in dosbox.conf. DeskMate will start in CGA mode and MUSIC.PDM also works well to play song files in .SNG format:

personal_deskmate_music_dosbox

However, things are not so straight forward with DeskMate 3.05. Attempting to run MUSIC.PDM bundled with DeskMate v3 on DOSBox with various settings will always fail with error “Digital hardware not found, cannot run music”:

deskmate_3_music_pdm_error

SOUND.PDM, the sound editor introduced with DeskMate 3, is able to load WAV files but will fail with “Must have digital sound hardware to perform this function” when audio playback is performed:

Capture10

After almost half a day of trying, I was able to get both to work. The trick, as described here, is to set DOSBox to emulate a 486 machine, which is the default DOSBox configuration. You should not set machine=tandy because DeskMate v3 is designed for VGA. For sound configuration, set tandy=on and sbtype=none to emulate the original Tandy 3-voice sound chip. Most importantly, use the MUSIC.PDM and SOUND.PDM as well as associated resource files such as .SND and .SNG from DeskMate v3.01 which was released in early 1988, and not the files that come with DeskMate v3.05. This is needed because later versions of these programs perform more stringent checks for Tandy compatibility and will not work with DOSBox.

With the correct setup, you will be able to launch MUSIC.PDM as well as SOUND.PDM to play audio nicely:

deskmate_music_works

Recording sound however is impossible as DOSBox does not emulate a microphone. Attempting to do this will hang DeskMate:

dosbox_deskmate_sound_record

When running DeskMate on DOSBox, you might notice a persistent error message that says “Please insert a disk containing the file DESKTOP.CFG into any drive”. As a result, DeskMate desktop settings will not be saved:

deskmate_desktop_cfg

To fix this, run the following command to set the DMCONFIG environment variable to point to the DeskMate folder:

SET DMCONFIG=C:\DESKMATE

Interestingly, I did not recall seeing this error frequently when using DeskMate on a real Tandy machine despite not setting this variable. DeskMate documentation also said that if DMCONFIG is not set, it will default to DeskMate installation directory. Maybe it is confused by DOSBox, which boots off a Z drive. Nevertheless, the error message disappears after DMCONFIG is set and should not be an issue at all.

If you cannot use the mouse with DeskMate in DOSBox, open DeskMate setup and configure the mouse to be PS/2:

deskmate_mouse_settings

Around 1999, when I upgraded my computer to a Pentium, I remember copying DeskMate to my new machine only to find out that it refused to start with the message “Please insert a disk containing the file DMVSIND.RES into any drive”. After several troubleshooting attempts in vain, I copied the files to a portable hard disk drive and quickly forgot about it. But guess what, almost 20 years on and after so many computer upgrades, that exact version of DeskMate is still with me today. Running it on DOSBox returns the same message, with DOSBox complaining about “illegal read” and “illegal write”:

deskmate_dmvsind_res_error

With a quick Google search, the solution can be found from a newsgroup post on comp.sys.tandy back in 1995, which mentioned the following:

This final, premium version of Deskmate was designed as part of a proprietary package and bundled with selected 1000 and 2500-series Tandy computers. It is dependent on the resident Acumos AVGA2 video BIOS with embedded resources, as certain program and video configuration information is actually stored in the CMOS RAM. Attempts to load this program on other machines result in the error message “FILE NOT FOUND: DMVSIND.RES.” Overwriting the file DMCSR.R89 from the DOS-compatible “stand alone” version of Deskmate (designated v.3.05, although an earlier release) solves half of the problem, as a video configuration file DMCSR.CFG is created on the hard drive, and the program comes up. Another hidden resource in the original AVGA2 video BIOS, however, launches the Desktop (DESKTOP.PDM) with the critical “Use disk” option under <F7> checked, which is still missing.The result is that no program information can be saved on the Desktop, as DESKTOP.PDM cannot load it’s configuration file DESKTOP.CFG. An interesting observation is that the required resource must somehow be duplicated in one or more of the tutorial-related files, as the “Use disk” option is checked when running tutorial lessons, resulting in temporary, full desktop display. Although the program can be made functional by overwriting DESKTOP.PDM from the “stand alone” version of Deskmate, the result is self-defeating, as it lacks all of the “proprietary” enhancements of its v.3.04 counterpart.

Following the above advice to replace DMCSR.R89 with the same file from a generic PC-compatible release, I was able to start DeskMate with an almost empty desktop, exactly what the post said:

deskmate_empty_desktop

There is also an empty entry inside the Desktop menu. The issue might be due to DeskMate’s attempts to access Tandy-specific features that are not available, resulting in DOSBox complaining about illegal reads/writes. Despite the empty desktop, I was able to run the Home Organizer (HOME.PDM), which is specific for this release of DeskMate:

deskmate_home_pdm

Automatic Home (HOMEAUTO.PDM) however failed with a message asking for a non-existent file named .RES:

deskmate_home_auto

According to the Tvdog FAQ, there is a tool call DMVID.EXE which presumably can set this version of DeskMate to work with VGA on non Tandy machines. However, despite various attempts, I could not get it to work.

Interestingly, the default DeskMate desktop with icons for Automatic House can sometimes be seen if Teach Me (PLAY.PDM) is launched:

deskmate_teachme_play

I made the following video of Personal DeskMate 2 and Tandy DeskMate 3 running on DOSBox, with audio from MUSIC.PDM and SOUND.PDM. I also played a WAV file with DMSOUND.PDM via the PC speaker and with PLAYSND v2.54 via Tandy DAC that produced much better quality.

To make it easier to try out DeskMate on DOSBox, I have also created a ZIP file with everything mentioned in this article. The ZIP contains the following directories:

  • DESKMATE.305: DeskMate 3.05, with patched MUSIC.PDM and SOUND.PDM
  • DESKMATE.V2: Original version of Personal Deskmate 2
  • DESKMATE.TD2: Original version of Deskmate 3.04.04
  • DESKMATE.TDY: Patched version of Deskmate 3.04.04 to work on non-Tandy machine
  • TANDYSND: various Tandy audio utilities
  • DMVID: utility to change Deskmate video mode

You can download the above file here.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)