MScript (Original)

Products: MSCRIPT
Date: 1983
Type: Program
Platform(s): TS 2068

MScript is a machine-code word processor for the TS2068 that works with a 64-column, 64×22 text screen. This tape holds the original release: a BASIC set-up program with the editor code, and a second tape of sample documents. The editor’s help screen lists FUNCTION-key commands for block marking, copy, move and delete, find and repeat find, insert and merge, embedded printer codes and new-page codes, and a print menu; formatting lines in the text such as >LM=10,JU=N,LL=60 set margins, line length and justification.

The title reads “* MSCRIPT *” and “© 1983 MICRO SYSTEMS INC”; the editor code identifies itself as “MSCRIPT 1.00 (c) Micro-Systems Software Inc.”

What’s in the download

  • MScript: the BASIC program MSCRIPT (autostarts at line 5) and the code MSCODE, 9,050 bytes at 35800.
  • MScript Sample Files: four text files, LETRHEAD, LETTER, GOTHIC and ENVELOPE (a letterhead, a business letter, a chapter of a story and an envelope), each loaded at 46927. The tape holds the set twice.

Program Analysis

BASIC menu

The BASIC part is a menu around the code. Option 1 returns to the text, 2 is a warm start and 3 a cold start (clearing the text). Option 4 is a memory utility, 5 the save/load menu and 6 the printer menu, which picks the AERCO, Tasman, A&J or Timex 2040 interface and toggles auto-linefeed and block print. Option 7 cycles the colours, 8 turns the key click on or off and 9 toggles “FAT”, a bold character set. 0 stops.

Save and load

The save/load menu saves the whole text or a marked block as CODE, saves MScript itself, loads new text or appends text to the end. The status shows the text start (46927), its length and the two block markers, read from the code’s variables after RANDOMIZE USR 35939.

Memory utility

Lines 400–494 are a simple monitor: it steps through memory showing address, value and character, accepts a value from 0 to 255 to POKE, and can echo each line to the Timex 2040 printer.

Notable Techniques

  • Every number is written as VAL "…", which saves memory in the listing.
  • MScript can save itself to an A&J stringy-floppy wafer: line 670 uses the TS2068 DELETE command to remove the tape loader line and the save menu lines before saving with @-prefixed file names, so the copy on the wafer loads through line 7 (LOAD "@MSCODE"CODE).
  • The bold “FAT” font is selected by changing CHARS (23606/23607); the menu switches back to the ROM font while it is shown (line 991).

Potential Issues

  • In the memory utility, line 452 checks the whole input k$ instead of each character k$(i), so most non-numeric entries for a new location are not caught there; line 454’s VAL then fails on them.
  • Line 990, which selects the bold font, is never called from the listing.

Three other MScript posts hold different copies: #50518 MScript (AROS, Tasman), an 8 KB cartridge image, #50565 MScript, a later loader with only the editor code, and #50566 MScript (FD68). The product page is #13376 MSCRIPT.

Related Products

Machine language word processor developed exclusively for the Timex 2068 by Micro Systems Software, Inc., the authors of MTERM II (Smart Terminal II).

Image Gallery

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.