TASC compiler sources

Microsoft TASC 2.01. TASC runs as three Applesoft programs compiled by TASC itself, sharing a COMMON block: PASS0 asks the questions and sets up, PASS1 compiles, PASS2 finishes the object file. RUNTIME is the machine language library compiled programs call; MAKE RUNTIME builds it.

ProgramWhat it does
PASS0Pass 0: dialog, DOS patches, tables, then runs pass 1overviewlisting
PASS1Pass 1: parsing, symbol table and code generationoverviewlisting
PASS2Pass 2: constants, variable routines, backpatching, header and reportoverviewlisting
MAKE RUNTIMEBuilds the RUNTIME library file from DATA statementsoverviewlisting
RUNTIMEThe machine language library compiled programs call (6502 source)overviewlisting

The TASC manual

Microsoft’s TASC User’s Manual (1981): read it here, transcribed and proofread against the printed pages, or download the scanned manual (PDF, 1,161,448 bytes) or the transcription (Markdown text, 144,509 bytes).

Disk images

140K DOS 3.3 disk images (16 sectors, DOS order) for an Apple II or an emulator. To compile a pass, boot the TASC disk with the source disk in drive 2 and answer PASS1,D2 at the source file question and PASS1.OBJ,D1 at the object file question (the source disk has no room for object files).

ImageContentsSizeSHA-256
TASC-2.01.dskThe TASC 2.01 disk as distributed: PASS0, PASS1, PASS2, RUNTIME and the BALL demonstration (boots into the compiler)143,360 bytesae1baff97b74413f…
TASC-2.01-SOURCE.dskThe source disk: PASS0, PASS1 and PASS2 as Applesoft programs, MAKE RUNTIME, and the RUNTIME source (RUNTIME.S1-S6 for the DOS Tool Kit assembler)143,360 bytes955409da583788e3…

AASCAD

aascad.py (253,925 bytes, sha256 167812fe52f76912…)

Another AppleSoft Compiler And Decompiler: one Python script (3.9 or later, nothing to install) that compiles an Applesoft program exactly as TASC 2.01 does, byte for byte, and turns a TASC object file back into an Applesoft program, checking that it compiles to the same bytes. Its options and how to use it; project page on GitHub. AASCAD is copyright © 2026 Lydian Scale Software, with portions by Microsoft.

python3 aascad.py compile BALL.txt -o BALL.OBJ
python3 aascad.py decompile BALL.OBJ -o BALL.txt --bas BALL.bas
python3 aascad.py compile "TASC.dsk::BALL" -o "WORK.dsk::BALL.OBJ"
python3 aascad.py --help