14

I'm looking for a reference for a command which used letters for musical notes, and would play very simple tunes with square waves. It ran on an IBM AT, circa 1984, which was running a version of IBM/MS DOS. This hardware had a simple timer to control the speaker. Circuit diagrams etc were in the Technical Reference manual (PDF) (pages 1-30, 1-76, 1-77).

The notation was something along the lines of

  • A single string of ASCII characters
  • Something indicated the tempo
  • A, A#, B, C, C#, D ... G# played a note
  • There were characters for "go up/down" an octave
  • There was some way to indicate amount of staccato

Do you know what it was?

1 Answer 1

32

This sounds like the PLAY command in BASIC. It takes a string indicating what to play, with the following notation for the features you mention:

  • A to G, followed by optional #, +, or -, plays the corresponding note
  • On sets the octave (n between 0 and 6), < and > change octaves
  • Tn sets the tempo (n in quarter-notes per minute, between 32 and 255)
  • MS enables staccato

See the IBM BASIC manual for details. GW-BASIC and QuickBASIC support this command too. See the Microsoft BASIC MML page on the Video Game Music Preservation Foundation’s wiki for details.

PC Magazine published a similar DOS utility, called PLAY, in volume 6 issue 8 (April 28, 1987); it supports the same syntax as the BASIC command. If you used this, you might remember the sample tunes it comes with, The Entertainer (famously featured in The Sting) and Greensleeves. It was also included in the DOS Power Tools book and in the three-disk set of utilities which was sent to subscribers for a number of years.

3
  • Also information on this at vgmpf.com/Wiki/index.php?title=Microsoft_BASIC_MML Jun 28 at 10:58
  • That sounds familiar. I wonder if it was included with the copy of Paul Somerson's DOS Power Tools that I had as a kid. That was badged as PC Magazine DOS Power Tools in the first edition.
    – ssokolow
    Jun 28 at 11:20
  • 1
    Exactly what I was thinking of; I didn't remember it was part of BASIC. Many thanks.
    – jonathanjo
    Jun 28 at 11:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .