* s010v019 s020v010 s030v025 s040v028
        XREF    M$,G$,LIB$
        MODULE  COMPILE GST QC Compiler 00:23 Monday    30/12/91 
 PAGE
        XREF    STDIN
        XREF    STDOUT
        XREF    STDERR
 SECTION S.GLOB

 XDEF WINBLANK
WINBLANK:
 DC.L 0

 XDEF WINMENU
WINMENU:
 DC.L 0

 XDEF WINPROG
WINPROG:
 DC.L 0

 XDEF WINDATA
WINDATA:
 DC.L 0

 XDEF PROGDEFA
PROGDEFA:
 SECTION S.RELOC
 DC.W PROGDEFA-G$
 SECTION S.GLOB
 DC.L 4
 DC.B 102,108,112,49,95,0

 DS.W 0
 XDEF DATADEFA
DATADEFA:
 SECTION S.RELOC
 DC.W DATADEFA-G$
 SECTION S.GLOB
 DC.L 4
 DC.B 102,108,112,50,95,0
 PAGE
 DS.W 0
 SECTION S.CCODE
C.1:

 XDEF MAIN
MAIN:
 LINK A6,#-C.3
C.3 EQU 6
 MOVEQ #0,D2
 JSR INITIALI-M$(A4)
C.4:
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR POLL-M$(A4)
 ADDQ.L #4,SP
 MOVE.L A0,D0
 MOVE.B D0,-1(A6)
 CLR.L D0
 MOVE.B -1(A6),D0
 TST.L D0
 BNE C.6
 BRA C.4
C.6:
 CLR.L D0
 MOVE.B -1(A6),D0
 MOVE.L D0,A0
 BRA C.9
C.10:
 MOVEQ #0,D2
 JSR COMPILE-M$(A4)
 MOVE.L A0,-6(A6)
 BRA C.8
C.11:
 MOVEQ #0,D2
 JSR EXECUTE-M$(A4)
 MOVE.L A0,-6(A6)
 BRA C.8
C.12:
 MOVEQ #0,D2
 JSR WINDOWS-M$(A4)
 MOVE.L A0,-6(A6)
 MOVEQ #0,D2
 JSR REINIT-M$(A4)
 BRA C.4
C.13:
 MOVEQ #0,D2
 JSR BACKUP-M$(A4)
 MOVE.L A0,-6(A6)
 BRA C.8
C.14:
 PEA 512
 PEA 256
 MOVE.L D7,-(SP)
 MOVE.L D7,-(SP)
 MOVE.L D7,-(SP)
 PEA 4
 MOVE.L D7,-(SP)
 MOVEQ #7,D2
 JSR NEWWIN-M$(A4)
 ADD.W #28,SP
 PEA 256
 PEA 202
 MOVE.L D7,-(SP)
 MOVE.L D7,-(SP)
 PEA 7
 PEA 2
 PEA 255
 MOVEQ #7,D2
 JSR NEWWIN-M$(A4)
 ADD.W #28,SP
 PEA 256
 PEA 202
 PEA 256
 MOVE.L D7,-(SP)
 PEA 2
 PEA 7
 PEA 255
 MOVEQ #7,D2
 JSR NEWWIN-M$(A4)
 ADD.W #28,SP
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR EXIT-M$(A4)
 ADDQ.L #4,SP
C.15:
 BRA C.4
 BRA C.8
C.9:
        XREF    C.SWITCH
 JSR C.SWITCH-M$(A4)
 DC.L C.10-*,232
 DC.L C.11-*,236
 DC.L C.12-*,240
 DC.L C.13-*,244
 DC.L C.14-*,248
 DC.L 0
 BRA C.15
C.8:
 TST.L -6(A6)
 BEQ C.16
 MOVE.L -6(A6),-(SP)
 MOVEQ #1,D2
 JSR SAYSTATU-M$(A4)
 ADDQ.L #4,SP
 BRA C.17
C.16:
 PEA C.2+0(PC)
 MOVEQ #1,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #4,SP
C.17:
 PEA C.2+9(PC)
 MOVEQ #1,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #4,SP
 MOVE.L STDOUT-G$(A5),-(SP)
 MOVEQ #1,D2
 JSR FFLUSH-M$(A4)
 ADDQ.L #4,SP
C.18:
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR POLL-M$(A4)
 ADDQ.L #4,SP
 MOVE.L A0,D0
 BNE C.19
 BRA C.18
C.19:
 MOVEQ #0,D2
 JSR REINIT-M$(A4)
 BRA C.4
C.5:
 UNLK A6
 RTS
C.2: DC.B 70,105,110,105,115,104,101,100,0,32
 DC.B 45,32,112,114,101,115,115,32,97,110
 DC.B 121,32,107,101,121,32,116,111,32,99
 DC.B 111,110,116,105,110,117,101,0
 PAGE
 DS.W 0

 XDEF INITIALI
INITIALI:
 LINK A6,#-C.21
C.21 EQU 4
 PEA C.20+0(PC)
 PEA C.20+10(PC)
 MOVEQ #2,D2
 JSR FOPEN-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,WINBLANK-G$(A5)
 PEA C.20+12(PC)
 PEA C.20+22(PC)
 MOVEQ #2,D2
 JSR FOPEN-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,WINMENU-G$(A5)
 PEA C.20+24(PC)
 PEA C.20+34(PC)
 MOVEQ #2,D2
 JSR FOPEN-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,WINPROG-G$(A5)
 PEA C.20+36(PC)
 PEA C.20+46(PC)
 MOVEQ #2,D2
 JSR FOPEN-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,WINDATA-G$(A5)
 MOVE.L D6,-(SP)
 MOVEQ #1,D2
 JSR BLANKSCR-M$(A4)
 ADDQ.L #4,SP
 PEA C.20+48(PC)
 PEA C.20+54(PC)
 MOVEQ #2,D2
 JSR FOPEN-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,-4(A6)
 TST.L -4(A6)
 BEQ C.22
 LEA C.20+56(PC),A0
 MOVE.L A0,PROGDEFA-G$(A5)
 LEA C.20+62(PC),A0
 MOVE.L A0,DATADEFA-G$(A5)
 MOVE.L -4(A6),-(SP)
 MOVEQ #1,D2
 JSR FCLOSE-M$(A4)
 ADDQ.L #4,SP
C.22:
 MOVEQ #0,D2
 JSR REINIT-M$(A4)
 UNLK A6
 RTS
C.20: DC.B 115,99,114,95,49,48,120,49,48,0
 DC.B 119,0,115,99,114,95,49,48,120,49
 DC.B 48,0,119,0,115,99,114,95,49,48
 DC.B 120,49,48,0,119,0,115,99,114,95
 DC.B 49,48,120,49,48,0,119,0,102,108
 DC.B 112,49,95,0,100,0,102,108,112,49
 DC.B 95,0,102,108,112,50,95,0
 PAGE
 DS.W 0

 XDEF REINIT
REINIT:
 LINK A6,#-C.24
C.24 EQU 0
 MOVE.L D6,-(SP)
 MOVEQ #1,D2
 JSR BLANKSCR-M$(A4)
 ADDQ.L #4,SP
 MOVE.L STDOUT-G$(A5),-(SP)
 PEA 496
 PEA 43
 PEA 8
 PEA 207
 PEA 2
 MOVE.L D7,-(SP)
 PEA C.23+0(PC)
 MOVEQ #8,D2
 JSR TAGWIN-M$(A4)
 ADD.W #32,SP
 MOVE.L WINPROG-G$(A5),-(SP)
 PEA 122
 PEA 193
 PEA 257
 PEA 6
 PEA 4
 MOVE.L D7,-(SP)
 MOVE.L PROGDEFA-G$(A5),-(SP)
 MOVEQ #8,D2
 JSR TAGWIN-M$(A4)
 ADD.W #32,SP
 MOVE.L WINDATA-G$(A5),-(SP)
 PEA 121
 PEA 193
 PEA 384
 PEA 6
 PEA 4
 MOVE.L D7,-(SP)
 MOVE.L DATADEFA-G$(A5),-(SP)
 MOVEQ #8,D2
 JSR TAGWIN-M$(A4)
 ADD.W #32,SP
 MOVE.L WINMENU-G$(A5),-(SP)
 PEA 243
 PEA 193
 PEA 8
 PEA 6
 PEA 7
 MOVE.L D7,-(SP)
 PEA C.23+8(PC)
 MOVEQ #8,D2
 JSR TAGWIN-M$(A4)
 ADD.W #32,SP
 MOVE.L STDOUT-G$(A5),-(SP)
 PEA 160
 PEA 4
 MOVE.L D7,-(SP)
 PEA 7
 PEA C.23+25(PC)
 MOVEQ #6,D2
 JSR SHADOW-M$(A4)
 ADD.W #24,SP
 MOVE.L WINPROG-G$(A5),-(SP)
 MOVE.L PROGDEFA-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR DIRECTOR-M$(A4)
 ADDQ.L #8,SP
 MOVE.L WINDATA-G$(A5),-(SP)
 MOVE.L DATADEFA-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR DIRECTOR-M$(A4)
 ADDQ.L #8,SP
 MOVEQ #0,D2
 JSR PRINTMEN-M$(A4)
 UNLK A6
 RTS
C.23: DC.B 67,111,110,115,111,108,101,0,81,67
 DC.B 32,67,111,109,112,105,108,101,114,32
 DC.B 77,101,110,117,0,71,83,84,32,81
 DC.B 67,32,67,111,109,112,105,108,101,114
 DC.B 0
 PAGE
 DS.W 0

 XDEF COMPILE
COMPILE:
 LINK A6,#-C.26
C.26 EQU 212
 MOVEQ #0,D2
 JSR BLANKCON-M$(A4)
 PEA C.25+0(PC)
 MOVEQ #1,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #4,SP
 MOVE.L STDOUT-G$(A5),-(SP)
 MOVEQ #1,D2
 JSR FFLUSH-M$(A4)
 ADDQ.L #4,SP
 PEA -200(A6)
 PEA 40
 MOVE.L STDIN-G$(A5),-(SP)
 MOVEQ #3,D2
 JSR FGETS-M$(A4)
 ADD.W #12,SP
 PEA -200(A6)
 MOVEQ #1,D2
 JSR LEFT-M$(A4)
 ADDQ.L #4,SP
 LEA -200(A6),A0
 MOVE.B (A0),D0
 EXT.W D0
 MOVE.W D0,A0
 LEA 10,A1
 CMP.L A0,A1
 BNE C.27
 MOVE.L D7,A0
 UNLK A6
 RTS
C.27:
 PEA -200(A6)
 PEA 10
 MOVEQ #2,D2
 JSR STRCHR-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,-204(A6)
 TST.L -204(A6)
 BEQ C.28
 MOVE.L -204(A6),A1
 MOVE.L D7,A0
 MOVE.L A0,D0
 MOVE.B D0,(A1)
C.28:
 PEA -40(A6)
 PEA -200(A6)
 MOVEQ #2,D2
 JSR STRCPY-M$(A4)
 ADDQ.L #8,SP
 PEA -120(A6)
 PEA -200(A6)
 MOVEQ #2,D2
 JSR STRCPY-M$(A4)
 ADDQ.L #8,SP
 PEA -200(A6)
 PEA C.25+27(PC)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA -200(A6)
 PEA C.25+30(PC)
 MOVEQ #2,D2
 JSR FOPEN-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,-208(A6)
 TST.L -208(A6)
 BNE C.29
 PEA C.25+32(PC)
 PEA -200(A6)
 MOVEQ #2,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #8,SP
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR FERROR-M$(A4)
 ADDQ.L #4,SP
 UNLK A6
 RTS
C.29:
 MOVE.L -208(A6),-(SP)
 MOVEQ #1,D2
 JSR FCLOSE-M$(A4)
 ADDQ.L #4,SP
C.30:
 PEA -120(A6)
 PEA C.25+56(PC)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA -120(A6)
 MOVE.L DATADEFA-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA -120(A6)
 PEA C.25+61(PC)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA C.25+63(PC)
 MOVEQ #1,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #4,SP
 MOVE.L STDOUT-G$(A5),-(SP)
 MOVEQ #1,D2
 JSR FFLUSH-M$(A4)
 ADDQ.L #4,SP
 PEA -200(A6)
 PEA 40
 MOVE.L STDIN-G$(A5),-(SP)
 MOVEQ #3,D2
 JSR FGETS-M$(A4)
 ADD.W #12,SP
 PEA -120(A6)
 PEA -200(A6)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA -120(A6)
 PEA 10
 MOVEQ #2,D2
 JSR STRCHR-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,-204(A6)
 TST.L -204(A6)
 BEQ C.31
 MOVE.L -204(A6),A1
 MOVE.L D7,A0
 MOVE.L A0,D0
 MOVE.B D0,(A1)
C.31:
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR BLANKSCR-M$(A4)
 ADDQ.L #4,SP
 PEA C.25+90(PC)
 PEA -120(A6)
 MOVEQ #2,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #8,SP
 MOVE.L PROGDEFA-G$(A5),-(SP)
 PEA C.25+106(PC)
 PEA -120(A6)
 MOVEQ #3,D2
 JSR PROGEXEC-M$(A4)
 ADD.W #12,SP
 MOVE.L A0,-212(A6)
 TST.L -212(A6)
 BEQ C.32
 MOVE.L -212(A6),A0
 UNLK A6
 RTS
C.32:
 PEA -120(A6)
 PEA -40(A6)
 MOVEQ #2,D2
 JSR STRCPY-M$(A4)
 ADDQ.L #8,SP
 PEA -120(A6)
 PEA C.25+109(PC)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA C.25+118(PC)
 PEA -120(A6)
 MOVEQ #2,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #8,SP
 MOVE.L PROGDEFA-G$(A5),-(SP)
 PEA C.25+134(PC)
 PEA -120(A6)
 MOVEQ #3,D2
 JSR PROGEXEC-M$(A4)
 ADD.W #12,SP
 MOVE.L A0,-212(A6)
 TST.L -212(A6)
 BEQ C.33
 MOVE.L -212(A6),A0
 UNLK A6
 RTS
C.33:
 PEA -120(A6)
 PEA -40(A6)
 MOVEQ #2,D2
 JSR STRCPY-M$(A4)
 ADDQ.L #8,SP
 PEA -120(A6)
 PEA C.25+140(PC)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA -120(A6)
 MOVE.L PROGDEFA-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA -120(A6)
 PEA C.25+156(PC)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA C.25+164(PC)
 PEA -120(A6)
 MOVEQ #2,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #8,SP
 MOVE.L PROGDEFA-G$(A5),-(SP)
 PEA C.25+180(PC)
 PEA -120(A6)
 MOVEQ #3,D2
 JSR PROGEXEC-M$(A4)
 ADD.W #12,SP
 MOVE.L A0,-212(A6)
 MOVE.L -212(A6),A0
 UNLK A6
 RTS
C.25: DC.B 78,97,109,101,32,111,102,32,102,105
 DC.B 108,101,32,116,111,32,99,111,109,112
 DC.B 105,108,101,32,63,32,0,95,99,0
 DC.B 114,0,85,110,97,98,108,101,32,116
 DC.B 111,32,102,105,110,100,32,102,105,108
 DC.B 101,32,37,115,10,0,32,45,100,32
 DC.B 0,32,0,69,120,116,114,97,32,99
 DC.B 111,109,112,105,108,101,114,32,111,112
 DC.B 116,105,111,110,115,32,32,63,32,0
 DC.B 67,111,109,112,105,108,105,110,103,58
 DC.B 32,32,37,115,10,0,113,99,0,32
 DC.B 45,110,111,108,105,115,116,0,65,115
 DC.B 115,101,109,98,108,105,110,103,58,32
 DC.B 37,115,10,0,113,99,97,115,109,0
 DC.B 32,45,110,111,108,105,115,116,32,45
 DC.B 119,105,116,104,32,0,113,99,95,108
 DC.B 105,110,107,0,76,105,110,107,105,110
 DC.B 103,58,32,32,32,32,37,115,10,0
 DC.B 108,105,110,107,0
 PAGE
 DS.W 0

 XDEF EXECUTE
EXECUTE:
 LINK A6,#-C.35
C.35 EQU 144
 MOVEQ #0,D2
 JSR BLANKCON-M$(A4)
 PEA C.34+0(PC)
 MOVEQ #1,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #4,SP
 MOVE.L STDOUT-G$(A5),-(SP)
 MOVEQ #1,D2
 JSR FFLUSH-M$(A4)
 ADDQ.L #4,SP
 PEA -128(A6)
 PEA 128
 MOVE.L STDIN-G$(A5),-(SP)
 MOVEQ #3,D2
 JSR FGETS-M$(A4)
 ADD.W #12,SP
 PEA -128(A6)
 PEA 10
 MOVEQ #2,D2
 JSR STRCHR-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,-132(A6)
 TST.L -132(A6)
 BEQ C.36
 MOVE.L -132(A6),A1
 MOVE.L D7,A0
 MOVE.L A0,D0
 MOVE.B D0,(A1)
C.36:
 LEA -128(A6),A0
 MOVE.L A0,-132(A6)
C.39:
 MOVE.L -132(A6),A0
 MOVE.B (A0),D0
 EXT.W D0
 MOVE.W D0,A0
 LEA 32,A1
 CMP.L A0,A1
 BNE C.38
 BRA C.40
C.37:
 ADDQ.L #1,-132(A6)
 MOVE.L -132(A6),A0
 BRA C.39
C.40:
 BRA C.37
C.38:
 MOVE.L -132(A6),A0
 TST.B (A0)
 BNE C.41
 MOVE.L D7,A0
 UNLK A6
 RTS
C.41:
 MOVE.L -132(A6),A0
 MOVE.L A0,-136(A6)
C.42:
 MOVE.L -132(A6),A0
 TST.B (A0)
 BEQ C.44
 MOVE.L -132(A6),A0
 MOVE.B (A0),D0
 EXT.W D0
 MOVE.W D0,A0
 LEA 32,A1
 CMP.L A0,A1
 BEQ C.44
 MOVE.L D6,A0
 BRA C.45
C.44:
 MOVE.L D7,A0
C.45:
 MOVE.L A0,D0
 BEQ C.43
 ADDQ.L #1,-132(A6)
 MOVE.L -132(A6),A0
 BRA C.42
C.43:
 MOVE.L -132(A6),A0
 TST.B (A0)
 BEQ C.46
 MOVE.L -132(A6),A0
 ADDQ.L #1,-132(A6)
 MOVE.L A0,A1 ;;
 MOVE.L D7,A0
 MOVE.L A0,D0
 MOVE.B D0,(A1)
C.47:
 MOVE.L -132(A6),A0
 MOVE.B (A0),D0
 EXT.W D0
 MOVE.W D0,A0
 LEA 32,A1
 CMP.L A0,A1
 BNE C.48
 ADDQ.L #1,-132(A6)
 MOVE.L -132(A6),A0
 BRA C.47
C.48:
C.46:
 MOVE.L -132(A6),A0
 MOVE.L A0,-140(A6)
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR BLANKSCR-M$(A4)
 ADDQ.L #4,SP
 MOVE.L -136(A6),-(SP)
 MOVE.L -140(A6),-(SP)
 MOVE.L D6,-(SP)
 MOVEQ #3,D2
 JSR EXEC-M$(A4)
 ADD.W #12,SP
 MOVE.L A0,-144(A6)
 MOVE.L -144(A6),A0
 UNLK A6
 RTS
C.34: DC.B 80,114,111,103,114,97,109,32,110,97
 DC.B 109,101,32,97,110,100,32,111,112,116
 DC.B 105,111,110,115,32,63,32,0
 PAGE
 DS.W 0

 XDEF WINDOWS
WINDOWS:
 LINK A6,#-C.50
C.50 EQU 4
 MOVE.L DATADEFA-G$(A5),-(SP)
 PEA C.49+0(PC)
 PEA C.49+11(PC)
 MOVEQ #3,D2
 JSR PROGEXEC-M$(A4)
 ADD.W #12,SP
 MOVE.L A0,-4(A6)
 MOVE.L -4(A6),A0
 UNLK A6
 RTS
C.49: DC.B 119,105,110,100,111,119,95,109,103,114
 DC.B 0,0
 PAGE
 DS.W 0

 XDEF BACKUP
BACKUP:
 LINK A6,#-C.52
C.52 EQU 0
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR BLANKSCR-M$(A4)
 ADDQ.L #4,SP
 MOVEQ #0,D2
 JSR BLANKCON-M$(A4)
 MOVE.L PROGDEFA-G$(A5),-(SP)
 PEA C.51+0(PC)
 PEA C.51+7(PC)
 MOVEQ #3,D2
 JSR PROGEXEC-M$(A4)
 ADD.W #12,SP
 UNLK A6
 RTS
C.51: DC.B 98,97,99,107,117,112,0,0
 PAGE
 DS.W 0

 XDEF NEWWIN
NEWWIN:
 LINK A6,#-C.54
C.54 EQU 0
 MOVE.L 32(A6),-(SP)
 MOVE.L 28(A6),-(SP)
 MOVE.L 24(A6),-(SP)
 MOVE.L 20(A6),-(SP)
 MOVEQ #4,D2
 JSR WINDOW-M$(A4)
 ADD.W #16,SP
 MOVE.L 16(A6),-(SP)
 MOVEQ #1,D2
 JSR PAPER-M$(A4)
 ADDQ.L #4,SP
 MOVE.L 12(A6),-(SP)
 MOVEQ #1,D2
 JSR INK-M$(A4)
 ADDQ.L #4,SP
 MOVE.L D6,-(SP)
 MOVE.L 8(A6),-(SP)
 MOVEQ #2,D2
 JSR BORDER-M$(A4)
 ADDQ.L #8,SP
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR CLS-M$(A4)
 ADDQ.L #4,SP
 UNLK A6
 RTS
 PAGE

 XDEF PROGEXEC
PROGEXEC:
 LINK A6,#-C.56
C.56 EQU 80
 PEA -80(A6)
 MOVE.L 16(A6),-(SP)
 MOVEQ #2,D2
 JSR STRCPY-M$(A4)
 ADDQ.L #8,SP
 PEA -80(A6)
 MOVE.L 12(A6),-(SP)
 MOVEQ #2,D2
 JSR STRCAT-M$(A4)
 ADDQ.L #8,SP
 PEA -80(A6)
 MOVE.L 8(A6),-(SP)
 MOVE.L D6,-(SP)
 MOVEQ #3,D2
 JSR EXEC-M$(A4)
 ADD.W #12,SP
 UNLK A6
 RTS
 PAGE

 XDEF TAGWIN
TAGWIN:
 LINK A6,#-C.58
C.58 EQU 0
 MOVE.L 36(A6),-(SP)
 MOVEQ #1,D2
 JSR SELWINDO-M$(A4)
 ADDQ.L #4,SP
 MOVE.L 32(A6),-(SP)
 PEA 12
 MOVE.L 24(A6),-(SP)
 MOVE.L 20(A6),-(SP)
 MOVE.L D7,-(SP)
 PEA 7
 MOVE.L D7,-(SP)
 MOVEQ #7,D2
 JSR NEWWIN-M$(A4)
 ADD.W #28,SP
 MOVE.L 8(A6),-(SP)
 MOVE.L 36(A6),-(SP)
 MOVEQ #2,D2
 JSR FPUTS-M$(A4)
 ADDQ.L #8,SP
 MOVE.L 36(A6),-(SP)
 MOVEQ #1,D2
 JSR FFLUSH-M$(A4)
 ADDQ.L #4,SP
 MOVE.L 32(A6),-(SP)
 MOVE.L 28(A6),A1
 LEA 11,A0
 SUB.L A0,A1
 MOVE.L A1,A0 ;
 MOVE.L A0,-(SP)
 MOVE.L 24(A6),-(SP)
 MOVE.L 20(A6),A0
 LEA 11,A1
 ADD.L A1,A0
 MOVE.L A0,-(SP)
 MOVE.L 16(A6),-(SP)
 MOVE.L 12(A6),-(SP)
 MOVE.L D7,-(SP)
 MOVEQ #7,D2
 JSR NEWWIN-M$(A4)
 ADD.W #28,SP
 UNLK A6
 RTS
 PAGE

 XDEF BLANKSCR
BLANKSCR:
 LINK A6,#-C.60
C.60 EQU 4
 TST.L 8(A6)
 BEQ C.61
 LEA 256,A0
 MOVE.L A0,-4(A6)
 BRA C.62
C.61:
 LEA 202,A0
 MOVE.L A0,-4(A6)
C.62:
 MOVE.L WINBLANK-G$(A5),-(SP)
 MOVEQ #1,D2
 JSR SELWINDO-M$(A4)
 ADDQ.L #4,SP
 PEA 512
 MOVE.L -4(A6),-(SP)
 MOVE.L D7,-(SP)
 MOVE.L D7,-(SP)
 MOVEQ #4,D2
 JSR WINDOW-M$(A4)
 ADD.W #16,SP
 PEA 255
 MOVEQ #1,D2
 JSR PAPER-M$(A4)
 ADDQ.L #4,SP
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR CLS-M$(A4)
 ADDQ.L #4,SP
 UNLK A6
 RTS
 PAGE

 XDEF BLANKCON
BLANKCON:
 LINK A6,#-C.64
C.64 EQU 0
 MOVE.L STDOUT-G$(A5),-(SP)
 MOVEQ #1,D2
 JSR SELWINDO-M$(A4)
 ADDQ.L #4,SP
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR CLS-M$(A4)
 ADDQ.L #4,SP
 UNLK A6
 RTS
 PAGE

 XDEF SHADOW
SHADOW:
 LINK A6,#-C.66
C.66 EQU 0
 MOVE.L 28(A6),-(SP)
 MOVEQ #1,D2
 JSR SELWINDO-M$(A4)
 ADDQ.L #4,SP
 MOVE.L 24(A6),-(SP)
 MOVE.L 20(A6),-(SP)
 MOVEQ #2,D2
 JSR CURSOR-M$(A4)
 ADDQ.L #8,SP
 MOVE.L 16(A6),-(SP)
 MOVEQ #1,D2
 JSR INK-M$(A4)
 ADDQ.L #4,SP
 PEA 2
 MOVE.L D6,-(SP)
 MOVEQ #2,D2
 JSR CSIZE-M$(A4)
 ADDQ.L #8,SP
 MOVE.L 8(A6),-(SP)
 MOVE.L 28(A6),-(SP)
 MOVEQ #2,D2
 JSR FPUTS-M$(A4)
 ADDQ.L #8,SP
 MOVE.L 28(A6),-(SP)
 MOVEQ #1,D2
 JSR FFLUSH-M$(A4)
 ADDQ.L #4,SP
 MOVE.L 24(A6),A0
 MOVE.L D6,A1
 ADD.L A1,A0
 MOVE.L A0,-(SP)
 MOVE.L 20(A6),A0
 MOVE.L D6,A1
 ADD.L A1,A0
 MOVE.L A0,-(SP)
 MOVEQ #2,D2
 JSR CURSOR-M$(A4)
 ADDQ.L #8,SP
 MOVE.L 12(A6),-(SP)
 MOVEQ #1,D2
 JSR INK-M$(A4)
 ADDQ.L #4,SP
 MOVE.L D6,-(SP)
 MOVEQ #1,D2
 JSR OVER-M$(A4)
 ADDQ.L #4,SP
 MOVE.L 8(A6),-(SP)
 MOVE.L 28(A6),-(SP)
 MOVEQ #2,D2
 JSR FPUTS-M$(A4)
 ADDQ.L #8,SP
 MOVE.L 28(A6),-(SP)
 MOVEQ #1,D2
 JSR FFLUSH-M$(A4)
 ADDQ.L #4,SP
 MOVE.L D7,-(SP)
 MOVEQ #1,D2
 JSR OVER-M$(A4)
 ADDQ.L #4,SP
 MOVE.L D7,-(SP)
 MOVE.L D7,-(SP)
 MOVEQ #2,D2
 JSR CSIZE-M$(A4)
 ADDQ.L #8,SP
 UNLK A6
 RTS
 PAGE

 XDEF PRINTMEN
PRINTMEN:
 LINK A6,#-C.68
C.68 EQU 0
 MOVE.L WINMENU-G$(A5),-(SP)
 MOVEQ #1,D2
 JSR SELWINDO-M$(A4)
 ADDQ.L #4,SP
 PEA 6
 PEA 8
 MOVEQ #2,D2
 JSR AT-M$(A4)
 ADDQ.L #8,SP
 PEA C.67+0(PC)
 MOVE.L WINMENU-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR FPUTS-M$(A4)
 ADDQ.L #8,SP
 PEA 7
 PEA 8
 MOVEQ #2,D2
 JSR AT-M$(A4)
 ADDQ.L #8,SP
 PEA C.67+25(PC)
 MOVE.L WINMENU-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR FPUTS-M$(A4)
 ADDQ.L #8,SP
 PEA 8
 PEA 8
 MOVEQ #2,D2
 JSR AT-M$(A4)
 ADDQ.L #8,SP
 PEA C.67+49(PC)
 MOVE.L WINMENU-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR FPUTS-M$(A4)
 ADDQ.L #8,SP
 PEA 9
 PEA 8
 MOVEQ #2,D2
 JSR AT-M$(A4)
 ADDQ.L #8,SP
 PEA C.67+70(PC)
 MOVE.L WINMENU-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR FPUTS-M$(A4)
 ADDQ.L #8,SP
 PEA 10
 PEA 8
 MOVEQ #2,D2
 JSR AT-M$(A4)
 ADDQ.L #8,SP
 PEA C.67+95(PC)
 MOVE.L WINMENU-G$(A5),-(SP)
 MOVEQ #2,D2
 JSR FPUTS-M$(A4)
 ADDQ.L #8,SP
 UNLK A6
 RTS
C.67: DC.B 70,49,32,45,32,67,111,109,112,105
 DC.B 108,101,32,81,67,32,80,114,111,103
 DC.B 114,97,109,10,0,70,50,32,45,32
 DC.B 69,120,101,99,117,116,101,32,97,32
 DC.B 80,114,111,103,114,97,109,10,0,70
 DC.B 51,32,45,32,65,100,106,117,115,116
 DC.B 32,87,105,110,100,111,119,115,10,0
 DC.B 70,52,32,45,32,77,97,107,101,32
 DC.B 97,32,66,97,99,107,117,112,32,67
 DC.B 111,112,121,10,0,70,53,32,45,32
 DC.B 82,101,116,117,114,110,32,116,111,32
 DC.B 83,117,112,101,114,66,97,115,105,99
 DC.B 10,0
 PAGE
 DS.W 0

 XDEF DIRECTOR
DIRECTOR:
 LINK A6,#-C.70
C.70 EQU 76
 MOVE.L 8(A6),-(SP)
 PEA C.69+0(PC)
 MOVEQ #2,D2
 JSR FOPEN-M$(A4)
 ADDQ.L #8,SP
 MOVE.L A0,-4(A6)
 TST.L -4(A6)
 BNE C.71
 UNLK A6
 RTS
C.71:
C.72:
 MOVE.L -4(A6),-(SP)
 PEA -76(A6)
 PEA -36(A6)
 MOVEQ #3,D2
 JSR READDIR-M$(A4)
 ADD.W #12,SP
 MOVE.L A0,D0
 BNE C.73
 MOVE.L 12(A6),-(SP)
 PEA C.69+2(PC)
 PEA -76(A6)
 MOVEQ #3,D2
 JSR FPRINTF-M$(A4)
 ADD.W #12,SP
 BRA C.72
C.73:
 MOVE.L -4(A6),-(SP)
 MOVEQ #1,D2
 JSR FCLOSE-M$(A4)
 ADDQ.L #4,SP
 UNLK A6
 RTS
C.69: DC.B 100,0,37,115,10,0
 PAGE
 DS.W 0

 XDEF SAYSTATU
SAYSTATU:
 LINK A6,#-C.75
C.75 EQU 4
 MOVE.L 8(A6),A0
 BRA C.78
C.79:
        XREF    C.NEG
 LEA C.74+0(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
C.80:
 LEA C.74+13(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
C.81:
 LEA C.74+27(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
C.82:
 LEA C.74+37(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
C.83:
 LEA C.74+52(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
C.84:
 LEA C.74+59(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
C.85:
 LEA C.74+71(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
C.86:
 LEA C.74+81(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
C.87:
 LEA C.74+95(PC),A0
 MOVE.L A0,-4(A6)
 BRA C.77
 BRA C.77
C.78:
 JSR C.SWITCH-M$(A4)
 DC.L C.79-*,-1
 DC.L C.80-*,-3
 DC.L C.81-*,-7
 DC.L C.82-*,-8
 DC.L C.83-*,-9
 DC.L C.84-*,-10
 DC.L C.85-*,-11
 DC.L C.86-*,-15
 DC.L 0
 BRA C.87
C.77:
 MOVE.L -4(A6),-(SP)
 MOVE.L 8(A6),-(SP)
 MOVEQ #2,D2
 JSR PRINTF-M$(A4)
 ADDQ.L #8,SP
 UNLK A6
 RTS
C.74: DC.B 110,111,116,32,99,111,109,112,108,101
 DC.B 116,101,0,111,117,116,32,111,102,32
 DC.B 109,101,109,111,114,121,0,110,111,116
 DC.B 32,102,111,117,110,100,0,97,108,114
 DC.B 101,97,100,121,32,101,120,105,115,116
 DC.B 115,0,105,110,32,117,115,101,0,101
 DC.B 110,100,32,111,102,32,102,105,108,101
 DC.B 0,100,105,115,107,32,102,117,108,108
 DC.B 0,98,97,100,32,112,97,114,97,109
 DC.B 101,116,101,114,0,115,116,97,116,117
 DC.B 115,32,61,32,37,100,0
 PAGE

        XREF    OVER
        XREF    AT
        XREF    FGETS
        XREF    PRINTF
        XREF    SELWINDO
        XREF    CSIZE
        XREF    FCLOSE
        XREF    FOPEN
        XREF    CLS
        XREF    LEFT
        XREF    EXEC
        XREF    WINDOW
        XREF    INK
        XREF    FPRINTF
        XREF    EXIT
        XREF    BORDER
        XREF    PAPER
        XREF    CURSOR
        XREF    STRCAT
        XREF    FPUTS
        XREF    FFLUSH
        XREF    STRCHR
        XREF    READDIR
        XREF    POLL
        XREF    FERROR
        XREF    STRCPY
 END
