First Commit
authorHistorical Source <49599193+historicalsource@users.noreply.github.com>
Thu, 14 Oct 2021 22:20:20 +0000 (18:20 -0400)
committerHistorical Source <49599193+historicalsource@users.noreply.github.com>
Thu, 14 Oct 2021 22:20:20 +0000 (18:20 -0400)
A30028.XX [new file with mode: 0644]
A30034.1A [new file with mode: 0644]
A30034.1B [new file with mode: 0644]
A30034.1C [new file with mode: 0644]
A30034.1D [new file with mode: 0644]

diff --git a/A30028.XX b/A30028.XX
new file mode 100644 (file)
index 0000000..005424d
Binary files /dev/null and b/A30028.XX differ
diff --git a/A30034.1A b/A30034.1A
new file mode 100644 (file)
index 0000000..544ebd7
--- /dev/null
+++ b/A30034.1A
@@ -0,0 +1,1095 @@
+       .TITLE  UTRK4\r
+       .ASECT\r
+       .RADIX  16\r
+       .=02800\r
+TOP:\r
+;\r
+;ADDRESS DEFINITIONS\r
+;\r
+       .GLOBL  TPTRS,CHKPTS,QNOTRK,QCOMCH\r
+PF     =800\r
+QNOTRK =10.                    ;NUMBER OF TRACKS\r
+QCOMCH =QNOTRK*16.             ;COMMON CHECKPOINT\r
+       .BYTE   0F              ;1ST 2K CHECKSUM\r
+;\r
+;POINTERS TO TRACKS  PTR=TRKN*6\r
+;\r
+TPTRS:\r
+       .WORD   TRACK0,-T0LEN,1*20+PF-1\r
+       .WORD   TRACK1,-T1LEN,1*20+PF-1\r
+       .WORD   TRACK2,-T2LEN,1*20+PF-1\r
+       .WORD   TRACK3,-T3LEN,1*20+PF-1\r
+       .WORD   TRACK4,-T4LEN,1*20+PF-1\r
+       .WORD   TRACK5,-T5LEN,1*20+PF-1\r
+       .WORD   TRACK6,-T6LEN,1*20+PF-1\r
+       .WORD   TRACK7,-T7LEN,1*20+PF-1\r
+       .WORD   TRACK8,-T8LEN,1*20+PF-1\r
+       .WORD   TRACK9,-T9LEN,1*20+PF-1\r
+       .WORD   COMTRK,-COMLEN,19.*20+PF-1\r
+;\r
+;CHECKPOINTS FOR THE TRACKS\r
+;      PTR=TRKN*16.\r
+;      PACKED Y,X IN EACH BYTE\r
+;\r
+CHKPTS:\r
+;\r
+;TRACK 0 CHECKPOINTS\r
+;\r
+       .BYTE   84,74,64,64\r
+       .BYTE   34,24,14,04\r
+       .BYTE   3C,2C,1C,0C\r
+       .BYTE   6C,7C,8C,9C\r
+;\r
+;TRACK 1 CHECKPOINTS\r
+;\r
+       .BYTE   70,71,72,73\r
+       .BYTE   33,34,35,36\r
+       .BYTE   57,58,59,5A\r
+       .BYTE   3C,3D,3E,3F\r
+;\r
+;TRACK 2 CHECKPOINTS\r
+;\r
+       .BYTE   71,72,73,74\r
+       .BYTE   3B,4B,5B,6B\r
+       .BYTE   25,15,05,05\r
+       .BYTE   8C,8D,8E,8F\r
+;\r
+;TRACK 3 CHECKPOINTS\r
+;\r
+       .BYTE   70,71,72,73\r
+       .BYTE   0A,1A,2A,3A\r
+       .BYTE   37,47,57,67\r
+       .BYTE   8C,8D,8E,8F\r
+;\r
+;TRACK 4\r
+;\r
+       .BYTE   70,71,72,73\r
+       .BYTE   34,35,36,37\r
+       .BYTE   48,49,4A,4B\r
+       .BYTE   7C,7D,7E,7F\r
+;\r
+;TRACK 5\r
+;\r
+       .BYTE   53,54,55,56\r
+       .BYTE   46,47,48,49\r
+       .BYTE   39,3A,3B,3C\r
+       .BYTE   7C,7D,7E,7F\r
+;\r
+;TRACK 6 CHECKPOINTS\r
+;\r
+       .BYTE   80,81,82,83\r
+       .BYTE   36,46,56,66\r
+       .BYTE   39,3A,3B,3C\r
+       .BYTE   7C,7D,7E,7F\r
+;\r
+;TRACK 7 CHECKPOINTS\r
+;\r
+       .BYTE   70,71,72,73\r
+       .BYTE   28,38,48,58\r
+       .BYTE   0B,1B,2B,3B\r
+       .BYTE   6C,6D,6E,6F\r
+;\r
+;TRACK 8 CHECKPOINTS\r
+;\r
+       .BYTE   60,61,62,63\r
+       .BYTE   98,88,78,68\r
+       .BYTE   49,4A,4B,4C\r
+       .BYTE   6C,6D,6E,6F\r
+;      \r
+;TRACK 9 CHECKPOINTS\r
+;\r
+       .BYTE 90,91,92,93\r
+       .BYTE 04,14,24,34\r
+       .BYTE 49,4A,4B,4C\r
+       .BYTE 7C,7D,7E,7F\r
+CHKCOM:\r
+       .BYTE   96,0A6,0B6,0C6,0D6\r
+       .BYTE   0,0,0,0         ;CHECKSUM\r
+;\r
+;TRACK PICTURE DEFINITIONS\r
+;\r
+NA     =       0               ;NORTH ARROW\r
+SA     =       4               ;SOUTH ARROW\r
+EA     =       2               ;EAST ARROW\r
+WA     =       6               ;WEST ARROW\r
+NEA    =       1               ;NORTH EAST ARROW\r
+NWA    =       7               ;NORTH WEST ARROW\r
+SEA    =       3               ;SOUTH EAST ARROW\r
+SWA    =       5               ;SOUTH WEST ARROW\r
+;\r
+NB     =       0C              ;NORTH BOUNDARY\r
+SB     =       08              ;SOUTH BOUNDARY\r
+EB     =       0E              ;EAST BOUNDARY\r
+WB     =       0A              ;WEST BOUNDARY\r
+NEB    =       0D              ;NE BOUNDARY\r
+NWB    =       0B              ;NW BOUNDARY\r
+SEB    =       0F              ;SE BOUNDARY\r
+SWB    =       09              ;SW BOUNDARY\r
+;\r
+       .MACRO  FORM A,B,C,D,E,F,G\r
+       .IF     NB,G\r
+       .ERROR          ;TOO MANY ARGUMENTS?\r
+       .ENDC\r
+       .IF     NB,F\r
+       .IFF\r
+       .ERROR          ;TOO FEW ARGUMENTS\r
+       .ENDC\r
+       .BYTE   A*16.+B,C*16.+D,E*16.+F\r
+       .ENDM\r
+;\r
+TRACK0:        FORM    SEA,SEB,NB,NB,NB,NB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEB,NWB,SEA,SEA,SEA,SEA         ;LINE 2\r
+       FORM    SEA,SEA,SEA,SEA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,NEB,SWB\r
+       FORM    WB,EA,SEA,SEA,SEA,SEA           ;LINE 3\r
+       FORM    SEA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 4\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    SEA,SEA,SA,SA,SWA,EB\r
+       FORM    WB,EA,EA,EA,EA,NEA              ;LINE 5\r
+       FORM    NEA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    SEA,SEA,SWA,SWA,SWA,EB\r
+       FORM    WB,EA,NEA,NEA,NEA,SEB           ;LINE 6\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    SA,SA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NEA,WA            ;LINE 7\r
+       FORM    WA,SWA,SWA,SWA,SWA,SWA\r
+       FORM    SWA,SWA,NEB,SWB,NEA,NEA\r
+       FORM    NEA,SEB,NWB,SA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NWA             ;LINE 8\r
+       FORM    WA,WA,WA,WA,SWA,SWA\r
+       FORM    SWA,WA,WA,NEB,SWB,NEA\r
+       FORM    SEB,NWB,SA,SA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,WA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NWA             ;LINE 9\r
+       FORM    NWA,NWA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,EB,SEB\r
+       FORM    NWB,SA,SA,SA,SWA,SWA\r
+       FORM    WA,WA,WA,WA,WA,EB\r
+       FORM    NEB,SWB,NEA,NA,NA,NWA           ;LINE 10\r
+       FORM    NWA,NWA,NWA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,EB,NWB\r
+       FORM    SEA,SA,SA,SWA,SWA,WA\r
+       FORM    WA,WA,WA,WA,WA,EB\r
+       FORM    NEA,NEB,SWB,NA,NA,NWA           ;LINE 11\r
+       FORM    NWA,NWA,NWA,NWA,NWA,NWA\r
+       FORM    NWA,NWA,NWA,SEB,NWB,SEA\r
+       FORM    SEA,SA,SA,SWA,WA,NWA\r
+       FORM    NWA,NWA,NWA,NWA,WA,EB\r
+       FORM    SEA,SEB,NB,NB,NB,NB             ;LINE 12\r
+       FORM    NB,NB,NEA,NA,NWA,NWA\r
+       FORM    NWA,NWA,SEB,NWB,SEA,SEA\r
+       FORM    SEA,SEA,SA,SA,SB,SB\r
+       FORM    SB,SB,SB,SB,SB,NWB\r
+       FORM    SEB,NWB,EA,EA,EA,EA             ;LINE 13\r
+       FORM    EA,EA,NEA,NA,NA,NA\r
+       FORM    NWA,SEB,NWB,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,NEB,SWB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 14\r
+       FORM    EA,EA,NEA,NEA,NEA,NA\r
+       FORM    SEB,WB,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SEA,SA,SA,SWA,EB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 15\r
+       FORM    EA,NEA,NEA,NEA,NA,SEB\r
+       FORM    NWB,WB,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    SEA,SEA,SA,SA,SWA,EB\r
+       FORM    WB,EA,EA,NEA,NEA,NEA            ;LINE 16\r
+       FORM    NEA,NEA,NA,NA,SEB,NWB\r
+       FORM    SWA,NEB,SWB,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,SEA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,NA             ;LINE 17\r
+       FORM    NEA,NA,NA,SEB,NWB,SWA\r
+       FORM    SWA,SWA,NEB,SWB,NEA,NEA\r
+       FORM    NEA,NEA,NEA,NEA,NEA,NEA\r
+       FORM    EA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NA           ;LINE 18\r
+       FORM    NEB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NWB,SWA,SWA,SA,SA,EB            \r
+T0LEN  =.-TRACK0\r
+COMTRK:\r
+       FORM    WB,NEA,NA,NA,NA,NWA             ;LINE 19\r
+       FORM    WA,SWA,SWA,SWA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SA,SA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NWA             ;LINE 20\r
+       FORM    WA,SWA,SWA,WA,WA,SWA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NWA,WA             ;LINE 21\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NWA,NWA            ;LINE 22\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NWA,NWA            ;LINE 23\r
+       FORM    NWA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NWA,NWA            ;LINE 24\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,EB               \r
+       FORM    NEB,SWB,NA,NA,NWA,NWA           ;LINE 25\r
+       FORM    NWA,NWA,NWA,NWA,NWA,NWA\r
+       FORM    NWA,NWA,NWA,NWA,NWA,NWA\r
+       FORM    NWA,NWA,NWA,NWA,NWA,NWA\r
+       FORM    NWA,NWA,NWA,NWA,SEB,NWB\r
+       FORM    NEA,NEB,SB,SB,SB,SB             ;LINE 26\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    SB,SB,SB,SB,NWB,NWA\r
+COMLEN =.-COMTRK\r
+\fTRACK1:       FORM    SEA,SEB,NB,NB,NB,NB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEA,SEB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEB,NWB,SEA,SEA,SEA,SA          ;LINE 2\r
+       FORM    SA,SA,SA,SWA,NEB,SWB\r
+       FORM    SEB,NWB,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SWA,NEB,SWB\r
+       FORM    WB,EA,EA,SEA,SEA,SEA            ;LINE 3\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    NWB,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SWA,SWA,EB\r
+       FORM    WB,EA,EA,EA,SEA,SEA             ;LINE 4\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SWA,SWA,SWA,EB\r
+       FORM    WB,EA,EA,EA,EA,SEA              ;LINE 5\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    NEA,EA,EA,EA,NEA,EA\r
+       FORM    SEA,SA,SWA,SWA,SWA,EB\r
+       FORM    WB,EA,NEA,NEA,NEA,EA            ;LINE 6\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    NEA,NEA,NEA,NEA,NEA,NEA\r
+       FORM    SEB,SB,SB,SB,SB,SB\r
+       FORM    SA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NA,EB            ;LINE 7\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    NEA,NEA,NEA,NEA,NEA,NWA\r
+       FORM    WB,NEA,SEB,NWB,SA,SA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NWA,EB           ;LINE 8\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    NEA,NEA,NEA,NEA,NA,NWA\r
+       FORM    NEB,SB,NWB,SA,SA,SA\r
+       FORM    SWA,SWA,SWA,SWA,WA,EB\r
+       FORM    WB,NEA,NEA,NA,NWA,EB            ;LINE 9\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    NEA,NEA,NEA,NA,NA,NWA\r
+       FORM    NWA,WB,SEA,SA,SA,SA\r
+       FORM    SWA,SWA,SWA,WA,WA,EB\r
+       FORM    WB,NEA,NA,NA,NA,EB              ;LINE 10\r
+       FORM    SEA,SEA,SA,SA,SWA,EB\r
+       FORM    SWB,NEA,NA,NA,NA,NA\r
+       FORM    NWA,WB,SEA,SEA,SA,SA\r
+       FORM    SWA,SWA,WA,WA,SEB,NWB\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 11\r
+       FORM    SEA,SEA,SEA,SEA,SA,EB\r
+       FORM    NEB,SWB,NA,NA,NWA,NWA\r
+       FORM    NWA,WB,SEA,SEA,SEA,SA\r
+       FORM    SWA,WA,WA,SEB,NWB,NWA\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 12\r
+       FORM    SEA,SEA,SEA,SEA,SEA,NEB\r
+       FORM    SB,NWB,NEA,NA,NWA,NWA\r
+       FORM    NWA,WB,SEA,SEA,SEA,SA\r
+       FORM    SA,NB,NB,NB,SWB,SWA\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 13\r
+       FORM    SEA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    EA,NEA,NA,NA,NA,NWA\r
+       FORM    NWA,WB,EA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,NEB,SWB\r
+       FORM    WB,NEA,NA,NA,NWA,EB             ;LINE 14\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,NEA,NA,NA,NA,NA\r
+       FORM    NWA,WB,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NWA,EB             ;LINE 15\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    NEA,NEA,NA,NA,NA,NA\r
+       FORM    NWA,WB,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NA,NA,NWA,NEB            ;LINE 16\r
+       FORM    SWB,NEA,EA,EA,EA,NEA\r
+       FORM    NEA,NEA,NA,NA,NA,NA\r
+       FORM    SEB,NB,SWB,EA,EA,EA\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NWA             ;LINE 17\r
+       FORM    NEB,SWB,NEA,NEA,NEA,NEA\r
+       FORM    NEA,NEA,NA,NA,NA,SEB\r
+       FORM    NWB,SWA,NEB,SWB,EA,EA\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NWA             ;LINE 18\r
+       FORM    NWA,NEB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+T1LEN  =.-TRACK1\r
+TRACK2:        FORM    SEA,SEB,NB,NB,NB,NB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEB,NWB,SA,SA,SA,SWA            ;LINE 2\r
+       FORM    SWA,SWA,SWA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,NEB,SWB\r
+       FORM    WB,SA,SA,SA,SA,SWA              ;LINE 3\r
+       FORM    SWA,SWA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,EB\r
+       FORM    WB,SEA,SA,SA,SA,SWA             ;LINE 4\r
+       FORM    SWA,SWA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,EB\r
+       FORM    WB,SEA,SA,SA,SA,SA              ;LINE 5\r
+       FORM    SWA,SEB,SB,SB,SB,SB\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    SWB,NWA,NWA,NWA,NWA,EB\r
+       FORM    WB,SEA,SEA,SEA,SA,SA            ;LINE 6\r
+       FORM    SA,NEB,SWB,SEB,NWB,SEA\r
+       FORM    SEA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    SEA,SEA,SEA,NEB,SWB,SEB\r
+       FORM    NWB,NA,NA,NWA,NWA,EB\r
+       FORM    NEB,SWB,SEA,SEA,SEA,SA          ;LINE 7\r
+       FORM    SA,SA,NEB,NWB,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SEA,SEA,SEA,NEB,NWB\r
+       FORM    NEA,NA,NA,NWA,NWA,EB\r
+       FORM    NA,NEB,SWB,SEA,SEA,SEA          ;LINE 8\r
+       FORM    SA,SA,SA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    SEA,SEA,SEA,EA,EA,NEA\r
+       FORM    NEA,NA,NA,NA,NWA,EB\r
+       FORM    NA,NEA,NEB,SWB,SEA,SEA          ;LINE 9\r
+       FORM    SEA,SA,NEA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,NEA,NEA\r
+       FORM    NEA,NA,NA,NA,NA,EB\r
+       FORM    NA,NA,NEA,NEB,SWB,SEA           ;LINE 10\r
+       FORM    SEA,SEA,NEA,NEA,NEA,NEA\r
+       FORM    NEA,SEB,SB,SB,SB,SWB\r
+       FORM    EA,EA,EA,NEA,NEA,NEA\r
+       FORM    NEA,NA,NA,NA,NWA,EB\r
+       FORM    NA,NA,NA,NEA,EB,NEA             ;LINE 11\r
+       FORM    NEA,SEA,NEA,NEA,NEA,NEA\r
+       FORM    SA,WB,NEA,NEA,NEA,NEB\r
+       FORM    SWB,EA,NEA,NEA,NEA,NEA\r
+       FORM    NEA,NA,NA,NWA,SEB,NWB\r
+       FORM    NA,NA,NA,SEB,NWB,NEA            ;LINE 12\r
+       FORM    NEA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    SEA,NEB,SWB,SEA,SEA,SEA\r
+       FORM    NEB,SB,SB,SB,SB,SB\r
+       FORM    SB,SB,SB,SB,NWB,NWA\r
+       FORM    NA,NA,SEB,NWB,NEA,NEA           ;LINE 13\r
+       FORM    NEA,NA,SEA,SEA,SEA,SEA\r
+       FORM    SEA,SEA,NEB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    NA,SEB,NWB,NEA,NEA,NEA          ;LINE 14\r
+       FORM    NA,NWA,EA,EA,EA,SEA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,NEB,SWB\r
+       FORM    SEB,NWB,NEA,NEA,NEA,NA          ;LINE 15\r
+       FORM    NA,NWA,SEB,SWB,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NA,NA            ;LINE 16\r
+       FORM    NA,SEB,NWB,NEB,SWB,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,NA             ;LINE 17\r
+       FORM    SEB,NWB,SWA,SWA,NEB,SWB\r
+       FORM    NEA,NEA,NEA,NEA,NEA,NEA\r
+       FORM    NEA,NEA,NEA,NEA,EA,EA\r
+       FORM    EA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NA              ;LINE 18\r
+       FORM    WA,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NWB,SA,SA,SA,SA,EB\r
+T2LEN  =.-TRACK2\r
+TRACK3:        FORM    SEA,SEB,NB,NB,NB,NB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,SWB,SEB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEB,NWB,EA,EA,EA,EA             ;LINE 2\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,NEB,NWB,EA,SEA\r
+       FORM    SEA,SEA,SEA,SA,NEB,SWB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 3\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SEA,SEA,EA,EA,EA\r
+       FORM    SEA,SEA,SEA,SA,SA,EB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 4\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,SEA,EA,EA,EA,EA\r
+       FORM    EA,SEA,SEA,SA,SWA,EB\r
+       FORM    WB,EA,EA,EA,NEA,EA              ;LINE 5\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,NEA,NEA\r
+       FORM    NEA,EA,SA,SWA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NEA          ;LINE 6\r
+       FORM    SEB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,SWB\r
+       FORM    SEA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    SEB,SA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,SEB          ;LINE 7\r
+       FORM    NWB,SA,SA,SA,SA,SWA\r
+       FORM    SWA,SWA,SWA,WA,WA,NEB\r
+       FORM    SB,SB,SB,SB,SB,SB\r
+       FORM    NWB,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NA,EB            ;LINE 8\r
+       FORM    SEA,SA,SA,SA,SA,SWA\r
+       FORM    SWA,SWA,SWA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    SWA,WA,WA,WA,WA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,EB             ;LINE 9\r
+       FORM    SEA,SA,SA,SA,SA,SWA\r
+       FORM    SWA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,EB\r
+       FORM    WB,NEA,NA,NA,NA,EB              ;LINE 10\r
+       FORM    SEA,SEA,SA,SA,SA,SWA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,WA,EB\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 11\r
+       FORM    SEA,SEA,SEA,SA,SA,SWA\r
+       FORM    SB,SWB,NWA,NWA,NWA,NWA\r
+       FORM    WA,WA,WA,WA,WA,WA\r
+       FORM    WA,WA,WA,WA,SEB,NWB\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 12\r
+       FORM    SEA,SEA,SEA,SEA,SA,EB\r
+       FORM    SA,NEB,SWB,NWA,NWA,NWA\r
+       FORM    NWA,NWA,NWA,NWA,NWA,NWA\r
+       FORM    NWA,NWA,NWA,SEB,NWB,NWA\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 13\r
+       FORM    EA,EA,EA,SEA,SEA,SEA\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 14\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,SEA,SEA,SEA\r
+       FORM    SA,SA,SA,SA,NEB,SWB\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 15\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NA,NA,NA,NA,NEB              ;LINE 16\r
+       FORM    SWB,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SWA,SWA,EB\r
+       FORM    WB,NA,NA,NA,NWA,WA              ;LINE 17\r
+       FORM    NEB,SWB,NEA,NEA,NEA,NEA\r
+       FORM    NEA,NEA,NEA,NEA,NEA,NEA\r
+       FORM    NEA,NEA,EA,EA,EA,EA\r
+       FORM    SEA,SA,SWA,SWA,SWA,EB\r
+       FORM    WB,NA,NA,NA,NA,NWA              ;LINE 18\r
+       FORM    WA,NEB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    SA,SWA,SWA,SWA,SWA,EB\r
+T3LEN  =.-TRACK3\r
+TRACK4:        FORM    SEA,SEB,NB,NB,NB,NB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    SWB,SWA,SA,SEA,SEB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEB,NWB,EA,EA,EA,SEA            ;LINE 2\r
+       FORM    SEA,SEA,SEA,SA,SA,SWA\r
+       FORM    NEB,SWB,SEA,SEB,NWB,EA\r
+       FORM    EA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    SA,SA,SA,SA,NEB,SWB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 3\r
+       FORM    SEA,SEA,SEA,SA,SA,SA\r
+       FORM    SWA,NEB,SB,NWB,EA,EA\r
+       FORM    EA,EA,SEA,SEA,SEA,SEA\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 4\r
+       FORM    EA,SEA,SEA,SA,SA,SA\r
+       FORM    SWA,SWA,EB,EA,EA,EA\r
+       FORM    EA,EA,EA,SEA,SEA,SEA\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NEA          ;LINE 5\r
+       FORM    NEA,EA,SEA,SA,SA,SA\r
+       FORM    SWA,SWA,EB,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NEA          ;LINE 6\r
+       FORM    SEB,NB,SWB,SA,SA,SA\r
+       FORM    SA,SWA,EB,NEA,NEA,NEA\r
+       FORM    NEA,NEA,NEA,SEB,SWB,SEA\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NWA          ;LINE 7\r
+       FORM    NEB,SWB,WB,SA,SA,SA\r
+       FORM    SA,SWA,EB,NEA,NEA,NEA\r
+       FORM    NEA,NEA,NEA,WB,NEB,SWB\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NA,NWA           ;LINE 8\r
+       FORM    NWA,NEB,WB,SEA,SA,SA\r
+       FORM    SA,SWA,EB,NEA,NEA,NEA\r
+       FORM    NEA,NA,NWA,NEB,SWB,WB\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    NEB,SWB,NA,NA,NA,NWA            ;LINE 9\r
+       FORM    NWA,WA,WB,SEA,SEA,SA\r
+       FORM    SA,SWA,EB,SWB,NEA,NEA\r
+       FORM    NA,NA,NWA,NWA,NEB,WB\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    EA,WB,NA,NA,NA,NA               ;LINE 10\r
+       FORM    NWA,WA,WB,SEA,SEA,SEA\r
+       FORM    SA,SWA,WB,NEB,SWB,NA\r
+       FORM    NA,NA,NA,NWA,WA,WB\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    SEB,NWB,NEA,NA,NA,NA            ;LINE 11\r
+       FORM    NWA,EB,EA,SEA,SEA,SEA\r
+       FORM    SEA,SWA,WB,SA,EB,NA\r
+       FORM    NA,NA,NA,NWA,NWA,WB\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,NA             ;LINE 12\r
+       FORM    NWA,EB,EA,SEA,SEA,SEA\r
+       FORM    SEA,SEA,NEB,SB,NWB,NEA\r
+       FORM    NEA,NA,NA,NWA,NWA,WB\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,NA             ;LINE 13\r
+       FORM    NWA,WB,EA,SEA,SEA,SEA\r
+       FORM    SEA,SEA,SEA,EA,NEA,NEA\r
+       FORM    NA,NA,NA,NWA,NWA,WB\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,NA             ;LINE 14\r
+       FORM    NWA,WB,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,NEA,NEA\r
+       FORM    NA,NA,NA,NWA,NWA,WB\r
+       FORM    SA,SA,SA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NA              ;LINE 15\r
+       FORM    NWA,WB,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,NEA,NEA,NEA\r
+       FORM    NA,NA,NA,NWA,NWA,WB\r
+       FORM    SA,SA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NA              ;LINE 16\r
+       FORM    NWA,NEB,SWB,EA,EA,EA\r
+       FORM    EA,EA,NEA,NEA,NEA,NA\r
+       FORM    NA,NA,NA,NWA,SEB,NWB\r
+       FORM    SA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NA              ;LINE 17\r
+       FORM    NWA,WA,NEB,SWB,NEA,NEA\r
+       FORM    NEA,NEA,NEA,NEA,NEA,NA\r
+       FORM    NA,NA,NA,SEB,NWB,SA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NA              ;LINE 18\r
+       FORM    NWA,NWA,WA,NEB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NWB,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+T4LEN  =.-TRACK4\r
+TRACK5:        FORM    EA,SEA,SEB,NB,NB,NB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,SWB,SWA,SA,SA\r
+       FORM    SEA,SEB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEA,SEB,NWB,EA,EA,EA            ;LINE 2\r
+       FORM    EA,SEA,SEA,SEA,SA,SA\r
+       FORM    SA,SA,NEB,SWB,SWA,SEA\r
+       FORM    SEB,NWB,SEA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SWA,NEB,SWB\r
+       FORM    EA,WB,EA,EA,EA,EA               ;LINE 3\r
+       FORM    EA,EA,SEA,SEA,SEA,SA\r
+       FORM    SA,SA,SA,NEB,SWB,SEB\r
+       FORM    NWB,SEA,EA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    EA,WB,EA,EA,EA,EA               ;LINE 4\r
+       FORM    EA,EA,EA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,NEB,WB\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    EA,WB,EA,EA,NEA,NEA             ;LINE 5\r
+       FORM    NEA,NEA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SA,WB\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    EA,WB,NEA,NEA,NEA,NEA           ;LINE 6\r
+       FORM    NEA,NA,EB,WB,EA,SEA\r
+       FORM    SEA,SA,SA,SA,SA,WB\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    EA,WB,NEA,NEA,NEA,NEA           ;LINE 7\r
+       FORM    NA,NWA,NWA,NEB,SWB,EA\r
+       FORM    SEA,SA,SA,SA,SA,WB\r
+       FORM    NEA,NEA,NEA,NEA,NEA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    NEA,NEB,SWB,NEA,NEA,NA          ;LINE 8\r
+       FORM    NA,NWA,NWA,NWA,NEB,SWB\r
+       FORM    SEA,SEA,SA,SA,SA,WB\r
+       FORM    NEA,NEA,NEA,NEA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    NEA,NEA,NEB,SWB,NA,NA           ;LINE 9\r
+       FORM    NA,NWA,NWA,NWA,NWA,EB\r
+       FORM    SEA,SEA,SA,SA,SA,WB\r
+       FORM    NEA,NEA,NEA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    NEA,NEA,NEA,NEB,SWB,NA          ;LINE 10\r
+       FORM    NA,NWA,NWA,NWA,NWA,EB\r
+       FORM    SEA,SEA,SEA,SA,SA,WB\r
+       FORM    NEA,NEA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    NEA,SEA,SA,NEA,NEB,SWB          ;LINE 11\r
+       FORM    NA,NWA,NWA,NWA,NWA,EB\r
+       FORM    SEA,SEA,SEA,SA,SA,WB\r
+       FORM    NEA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    SEA,SEB,NB,NB,NB,NWB            ;LINE 12\r
+       FORM    NEA,NA,NWA,NWA,NWA,EB\r
+       FORM    SEA,SEA,SEA,SEA,SA,NWB\r
+       FORM    NEA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    SEB,NWB,EA,EA,EA,EA             ;LINE 13\r
+       FORM    NEA,NA,NA,NEA,NEA,EB\r
+       FORM    EA,EA,EA,EA,SEA,EA\r
+       FORM    NEA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,EA,EA,EA,EA,NEA              ;LINE 14\r
+       FORM    NEA,NA,NA,NA,NWA,EB\r
+       FORM    EA,EA,EA,EA,EA,NEA\r
+       FORM    NEA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,EA,EA,NEA,NEA,NEA            ;LINE 15\r
+       FORM    NA,NA,NA,NA,NA,EB\r
+       FORM    EA,EA,EA,EA,NEA,NEA\r
+       FORM    NA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SWA,SA,SA,EB\r
+       FORM    WB,EA,NEA,NEA,NEA,NEA           ;LINE 16\r
+       FORM    NA,NA,NA,NA,SEB,NB\r
+       FORM    SWB,EA,EA,NEA,NEA,NEA\r
+       FORM    NA,NA,NA,NA,SEB,NWB\r
+       FORM    SWA,SWA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NEA          ;LINE 17\r
+       FORM    NA,NA,NA,SEB,NWB,NEA\r
+       FORM    NEB,SWB,NEA,NEA,NEA,NEA\r
+       FORM    NA,NA,NA,SEB,NWB,SWA\r
+       FORM    SWA,SWA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,NEB              ;LINE 18\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NWB,SWA,SWA\r
+       FORM    SWA,SWA,SA,SA,SA,EB\r
+T5LEN  =.-TRACK5\r
+TRACK6:        FORM    SEA,SEB,NB,NB,NB,NB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SEA\r
+       FORM    SEB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEB,NWB,EA,EA,EA,EA             ;LINE 2\r
+       FORM    EA,EA,EA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,NEB,SB\r
+       FORM    NWB,EA,EA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,NEB,SWB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 3\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 4\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SWA,SWA,EB\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,EA,EA,EA,NEA,NEA             ;LINE 5\r
+       FORM    NEA,NEA,NEA,NEA,EA,EA\r
+       FORM    SEA,SA,SWA,SWA,SWA,EB\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NEA          ;LINE 6\r
+       FORM    SEB,NB,NB,NB,NB,NB\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    NEA,NEA,NEA,NEA,NA,SEB\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,SEB          ;LINE 7\r
+       FORM    NWB,SA,SA,SA,SWA,SWA\r
+       FORM    SWA,WA,WA,WA,WA,EB\r
+       FORM    NEA,NEA,NEA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NEA,NEA,NA,WB            ;LINE 8\r
+       FORM    SA,SA,SA,SA,SWA,SWA\r
+       FORM    SWA,WA,WA,WA,WA,EB\r
+       FORM    NEA,NEA,NEA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,WB             ;LINE 9\r
+       FORM    SEA,SA,SA,SA,SWA,SWA\r
+       FORM    SWA,WA,WA,WA,WA,EB\r
+       FORM    NEA,NEA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NA,NA,NA,WB              ;LINE 10\r
+       FORM    SEA,SEA,SA,SA,SWA,SWA\r
+       FORM    WA,WA,WA,WA,SEB,NB\r
+       FORM    SWB,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,WB               ;LINE 11\r
+       FORM    SEA,SEA,SEA,SA,SWA,WA\r
+       FORM    WA,WA,WA,SEB,NWB,SEA\r
+       FORM    WB,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,WB               ;LINE 12\r
+       FORM    SEA,SEA,SEA,SEA,SA,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    EA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,WB               ;LINE 13\r
+       FORM    EA,EA,EA,EA,SEA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    NEA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,WB               ;LINE 14\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,NEA\r
+       FORM    NEA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,WB               ;LINE 15\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,EA,EA,NEA,NEA\r
+       FORM    NEA,NA,NA,NA,NA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,WB               ;LINE 16\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    EA,EA,NEA,NEA,NEA,NEA\r
+       FORM    NEA,NA,NA,NA,SEB,NWB\r
+       FORM    SWA,SWA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NEB             ;LINE 17\r
+       FORM    SWB,EA,EA,EA,EA,EA\r
+       FORM    EA,NEA,NEA,NEA,NEA,NEA\r
+       FORM    NEA,NA,NA,SEB,NWB,SWA\r
+       FORM    SWA,SWA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NWA             ;LINE 18\r
+       FORM    NEB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NWB,SWA,SWA\r
+       FORM    SWA,SWA,SA,SA,SA,EB\r
+T6LEN  =.-TRACK6\r
+TRACK7:        FORM    SEA,SEA,SEA,SEA,SA,SB           ;LINE 1\r
+       FORM    NB,NB,NB,NB,SB,SA\r
+       FORM    SA,SA,SA,SA,SA,SA\r
+       FORM    SA,SA,SB,SB,SB,SB\r
+       FORM    SA,SA,SA,SA,SA,SWA\r
+       FORM    SEA,SEA,SEA,SEB,NB,SEA          ;LINE 2\r
+       FORM    SEA,SEA,SEA,SEA,SEA,NB\r
+       FORM    SWB,SA,SA,SA,SA,SA\r
+       FORM    SEB,NB,SEA,SEA,SEA,SEA\r
+       FORM    NB,NB,SWB,SWA,SWA,SWA\r
+       FORM    EA,SEA,SEB,NWB,EA,SEA           ;LINE 3\r
+       FORM    SEA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    NEB,SWB,SA,SA,SA,SEB\r
+       FORM    NWB,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,NEB,SWB,SWA,SWA\r
+       FORM    EA,EA,WB,EA,EA,EA               ;LINE 4\r
+       FORM    SEA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    SEA,NEB,SB,SA,SB,NWB\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SEA,SA,NEB,SWB,SWA\r
+       FORM    EA,EB,EA,EA,EA,EA               ;LINE 5\r
+       FORM    EA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    SEA,SEA,SEA,NB,EA,EA\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,EB,WA\r
+       FORM    EA,WB,EA,NEA,NEA,NEA            ;LINE 6\r
+       FORM    EA,EA,EA,SEA,EA,EA\r
+       FORM    EA,EA,EA,EA,EA,EA\r
+       FORM    NEA,NEA,NEA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,EB,WA\r
+       FORM    EA,WB,NEA,NEA,NEA,NEA           ;LINE 7\r
+       FORM    EA,EA,EA,EA,SEA,EA\r
+       FORM    EA,EA,EA,EA,NEA,NEA\r
+       FORM    NEA,SEB,NB,NB,SWB,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,WB\r
+       FORM    EB,NEA,NEA,NEA,NEA,NEA          ;LINE 8\r
+       FORM    NEA,SEB,SWB,EA,EA,EA\r
+       FORM    EA,EA,EA,NEA,NEA,NEA\r
+       FORM    SEB,NWB,NWA,NEA,EB,EA\r
+       FORM    SEA,SA,SA,SA,SWA,WB\r
+       FORM    EB,NEA,NEA,NEA,NEA,NEA          ;LINE 9\r
+       FORM    SEB,NWB,NEB,SWB,EA,EA\r
+       FORM    EA,NEA,NEA,NEA,NEA,SEB\r
+       FORM    NWB,NWA,NA,EA,EA,WB\r
+       FORM    SA,SA,SA,SA,SWA,WB\r
+       FORM    WB,NEA,NEA,NEA,NEA,SEB          ;LINE 10\r
+       FORM    NWB,NWA,NEA,NEB,SWB,EA\r
+       FORM    NEA,NEA,NEA,NEA,SEB,NWB\r
+       FORM    NWA,NWA,NA,EA,EA,EB\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,EB             ;LINE 11\r
+       FORM    WA,WA,WA,NEA,NEB,SWB\r
+       FORM    NEA,NEA,NEA,SB,NWB,NWA\r
+       FORM    NWA,NWA,NA,EA,EA,EB\r
+       FORM    SA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NA,EB              ;LINE 12\r
+       FORM    WA,WA,WA,NA,NEA,NEB\r
+       FORM    SB,SB,NB,NA,NA,NWA\r
+       FORM    NWA,NWA,NA,EA,EA,WB\r
+       FORM    SA,SWA,SA,SA,SWA,EB\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 13\r
+       FORM    WA,WA,WA,NA,NA,NEA\r
+       FORM    NA,NA,NA,NA,NA,NA\r
+       FORM    SA,SA,SA,SA,EB,SA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NA,NA,NA,NA,NWA              ;LINE 14\r
+       FORM    WB,SWA,SWA,NA,NA,NA\r
+       FORM    NA,NA,NA,NA,NA,NA\r
+       FORM    SA,SA,SA,SEB,NWB,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NWA             ;LINE 15\r
+       FORM    EB,SWA,SA,SA,SA,SA\r
+       FORM    SA,SA,SA,SA,SA,SA\r
+       FORM    SA,SA,SB,NWB,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NWA             ;LINE 16\r
+       FORM    NWA,WB,SA,SA,SA,SA\r
+       FORM    SA,SA,SA,SA,SEA,SA\r
+       FORM    SB,NB,SA,SWA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NWA             ;LINE 17\r
+       FORM    NWA,NEB,SWB,SA,SA,SA\r
+       FORM    SA,SA,SA,SA,SB,NB\r
+       FORM    SWA,SWA,SWA,SWA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NA,NA,NWA,NWA,NWA            ;LINE 18\r
+       FORM    NWA,NWA,NEB,SB,SB,SB\r
+       FORM    SB,SB,NB,NB,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+T7LEN  =.-TRACK7\r
+TRACK8:        FORM    SA,SEA,EA,EA,SEA,SB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,SWB,SWA,SEA,SWA\r
+       FORM    SEA,SEB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,SWB,SWA,SA\r
+       FORM    SA,EA,SEA,SEB,NB,SEA            ;LINE 2\r
+       FORM    SA,SA,SA,SA,SA,SA\r
+       FORM    SA,SWA,NEB,SWB,SWA,SEA\r
+       FORM    SEB,NWB,SEA,SEA,SEA,SEA\r
+       FORM    SA,SA,SA,NEB,SWB,SWA\r
+       FORM    SA,SEA,SEB,NWB,SEA,EA           ;LINE 3\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SA,SWA,SWA,NEB,SWB,SEB\r
+       FORM    NWB,SEA,NEA,EA,EA,EA\r
+       FORM    SEA,SEA,SEA,SWA,NEB,SWB\r
+       FORM    SA,SEB,NWB,SEA,EA,NEA           ;LINE 4\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SWA,SWA,EB,NWB\r
+       FORM    EA,NEA,NEA,EA,EA,EA\r
+       FORM    SEA,SA,SA,SWA,SWA,EB\r
+       FORM    SEA,WB,EA,EA,NEA,NEA            ;LINE 5\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SWA,SWA,EB,EA\r
+       FORM    NEA,NEA,NEA,EA,EA,EA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    EB,EA,EA,NEA,NEA,NEA            ;LINE 6\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SA,SA,SA,SWA,EB,EA\r
+       FORM    NEA,NEA,NA,NEA,NEA,NEA\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,EA,NEA,NEA,NEA,SA            ;LINE 7\r
+       FORM    SA,SA,WA,SB,SB,EA\r
+       FORM    SA,SA,SA,SWA,EB,EA\r
+       FORM    NA,NA,NA,NEA,NA,EB\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,EA,SA            ;LINE 8\r
+       FORM    SA,SWA,EB,NA,NA,WB\r
+       FORM    SA,SWA,SWA,SWA,EB,EA\r
+       FORM    NA,NA,NEA,NA,NA,EB\r
+       FORM    SEA,SA,SA,SWA,SA,EB\r
+       FORM    WB,NEA,NEA,NA,EA,EA             ;LINE 9\r
+       FORM    SEA,SA,NEB,SWB,SEB,NWB\r
+       FORM    SWA,SWA,SWA,WA,EB,NEA\r
+       FORM    NA,NEA,NEA,NWA,NWA,EB\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,SEB              ;LINE 10\r
+       FORM    SEA,SEA,SA,NEB,NWB,SWA\r
+       FORM    SWA,SWA,SWA,WA,EB,EA\r
+       FORM    NEA,NEA,NWA,NWA,NWA,EB\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 11\r
+       FORM    EA,SEA,SEA,SA,SA,SA\r
+       FORM    SA,SWA,WA,SEB,NWB,NEA\r
+       FORM    NEA,NA,NA,NWA,NWA,EB\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 12\r
+       FORM    EA,SEA,SEA,SEA,SA,SA\r
+       FORM    SA,SWA,SEB,NWB,NEA,NEA\r
+       FORM    NA,NA,NA,NA,NWA,EB\r
+       FORM    SEA,SA,SA,SWA,SA,EB\r
+       FORM    WB,NA,NA,NA,NA,EB               ;LINE 13\r
+       FORM    EA,EA,SEA,SEA,SEA,SEA\r
+       FORM    SEA,SA,NWB,NEA,NEA,NA\r
+       FORM    NA,NEA,NA,NA,NWA,EB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NEB             ;LINE 14\r
+       FORM    SWB,NEA,EA,SEA,SEA,EA\r
+       FORM    EA,EA,NEA,NEA,EA,EA\r
+       FORM    NEA,NEA,NEA,NA,NWA,WB\r
+       FORM    SA,SA,SA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NWA             ;LINE 15\r
+       FORM    NEB,SWB,NEA,EA,EA,EA\r
+       FORM    EA,NEA,NEA,EA,EA,EA\r
+       FORM    NEA,NEA,NEA,NWA,EB,SA\r
+       FORM    SWA,SWA,SWA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NWA             ;LINE 16\r
+       FORM    NWA,NEB,SWB,NEA,NEA,NEA\r
+       FORM    NEA,NEA,NEA,NEA,NEA,NEA\r
+       FORM    NEA,NEA,NWA,SEB,NWB,SWA\r
+       FORM    SWA,SWA,WA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NWA             ;LINE 17\r
+       FORM    NWA,NWA,NEB,SWB,NA,NA\r
+       FORM    NA,NA,NA,NA,NA,NA\r
+       FORM    NA,NWA,SEB,NWB,SWA,SWA\r
+       FORM    SWA,WA,SWA,SA,SA,EB\r
+       FORM    WB,NA,NA,NA,NWA,NWA             ;LINE 18\r
+       FORM    NWA,NWA,NWA,NEB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB,\r
+       FORM    NB,NB,NWB,SWA,SWA,SWA\r
+       FORM    SWA,SWA,SWA,SA,SWA,EB\r
+T8LEN  =.-TRACK8\r
+TRACK9: FORM   SEA,SEB,NB,NB,NB,NB             ;LINE 1\r
+       FORM    NB,NB,NB,NB,NB,NB,      \r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEA,SEB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,SWB,SWA\r
+       FORM    SEB,NWB,SEA,SEA,SEA,SEA         ;LINE 2\r
+       FORM    SEA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SWA,NEB,SWB\r
+       FORM    SEB,NWB,SEA,SEA,SEA,SEA\r
+       FORM    SEA,SA,SA,SWA,NEB,SWB\r
+       FORM    WB,SEA,EA,EA,EA,EA,             ;LINE 3\r
+       FORM    EA,EA,EA,SEA,SEA,SEA\r
+       FORM    SEA,SEA,SA,SWA,SWA,NEB\r
+       FORM    WB,SEA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 4\r
+       FORM    EA,EA,EA,EA,SEA,SEA\r
+       FORM    SEA,SA,SA,SA,SA,SWA\r
+       FORM    WB,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SA,SWA,EB\r
+       FORM    WB,EA,EA,EA,EA,EA               ;LINE 5\r
+       FORM    EA,EA,EA,EA,EA,SEA\r
+       FORM    SEA,SA,SA,SA,SA,SWA\r
+       FORM    WB,EA,EA,EA,EA,EA\r
+       FORM    SEA,SA,SA,SA,WA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NEA          ;LINE 6\r
+       FORM    SB,SB,SB,SB,SB,SWB\r
+       FORM    SEA,SA,SA,SA,SA,SWA\r
+       FORM    WB,NEA,NEA,NEA,NEA,NEA\r
+       FORM    SEA,SA,SA,SA,SA,EB\r
+       FORM    WB,NEA,NEA,NEA,NA,NWA           ;LINE 7\r
+       FORM    WA,SWA,NEB,SWB,NA,EB\r
+       FORM    SEA,SA,SA,SA,SA,SWA\r
+       FORM    WB,NEA,NEA,NEA,NEA,NWA\r
+       FORM    WB,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NWA,NWA           ;LINE 8\r
+       FORM    NWA,WA,WA,NEB,SB,NWB\r
+       FORM    SA,SA,SA,SA,SWA,SWA\r
+       FORM    WB,NEA,NEA,NEA,NA,NWA\r
+       FORM    WB,SA,SA,SA,SWA,EB\r
+       FORM    WB,NEA,NA,NA,NA,NWA             ;LINE 9\r
+       FORM    NWA,NWA,WA,SWA,EB,SEA\r
+       FORM    SEA,SA,SA,SWA,SWA,WA\r
+       FORM    WB,NEA,NEA,NA,NA,NA\r
+       FORM    WB,SEA,SA,SA,SWA,EB\r
+       FORM    NEB,SWB,NA,NA,NWA,NWA           ;LINE 10\r
+       FORM    NWA,NWA,NWA,WA,EB,SEA\r
+       FORM    SEA,SEA,SA,SWA,WA,SEB\r
+       FORM    WB,NEA,NA,NA,NA,NWA\r
+       FORM    WB,SEA,SA,SA,SWA,EB\r
+       FORM    NEA,NEB,SWB,NA,NA,NWA           ;LINE 11\r
+       FORM    NWA,NWA,NWA,NWA,EB,SEA\r
+       FORM    SEA,SEA,SEA,SA,SEB,NWB\r
+       FORM    WB,NEA,NA,NA,NA,NA\r
+       FORM    WB,SA,SA,SA,SWA,EB\r
+       FORM    SEA,SEB,NB,NB,NB,NA             ;LINE 12\r
+       FORM    NWA,NWA,NWA,NWA,EB,SEA\r
+       FORM    SEA,SEA,SEA,SEA,NEB,SB\r
+       FORM    NWB,NEA,NA,NA,NA,NA\r
+       FORM    WB,SA,SA,SA,SWA,EB\r
+       FORM    SEB,NWB,SEA,SEA,EA,NEA          ;LINE 13\r
+       FORM    NA,NWA,NWA,NWA,EB,EA\r
+       FORM    SEA,SEA,SEA,SEA,SEA,SEA\r
+       FORM    NEA,NA,NA,NA,NA,NA\r
+       FORM    WB,SA,SA,SA,SWA,EB\r
+       FORM    WB,SEA,SEA,EA,NEA,NEA           ;LINE 14\r
+       FORM    NA,NA,NWA,NWA,EB,EA\r
+       FORM    EA,EA,EA,EA,EA,NEA\r
+       FORM    NEA,NA,NA,NA,NA,NA\r
+       FORM    WB,SA,SA,SA,SWA,EB\r
+       FORM    WB,EA,EA,NEA,NEA,NEA            ;LINE 15\r
+       FORM    NA,NA,NA,NWA,EB,EA\r
+       FORM    EA,EA,EA,EA,NEA,NEA\r
+       FORM    NEA,NA,NA,NA,NA,NWA\r
+       FORM    WB,SA,SA,SA,SWA,EB\r
+       FORM    WB,EA,NEA,NEA,NEA,NEA           ;LINE 16\r
+       FORM    NA,NA,NA,SEB,NB,SWB\r
+       FORM    EA,EA,EA,NEA,NEA,NEA\r
+       FORM    NEA,NA,NA,NA,NWA,SEB\r
+       FORM    NWB,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NEA,NEA,NEA,NA           ;LINE 17\r
+       FORM    NA,NA,SEB,NWB,NWA,NEB\r
+       FORM    SWB,NA,NEA,NEA,NEA,NEA\r
+       FORM    NA,NA,NA,NA,SEB,NWB\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+       FORM    WB,NEA,NEA,NA,NA,NWA            ;LINE 18\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NB,NB\r
+       FORM    NB,NB,NB,NB,NWB,SWA\r
+       FORM    SWA,SWA,SWA,SWA,SWA,EB\r
+T9LEN  =.-TRACK9\r
+       .BYTE   ^H85                    ;2ND 2K CHECKSUM\r
+       .IIF    NE,.-TOP&1 .BYTE 0\r
+       .END\r
+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\ No newline at end of file
diff --git a/A30034.1B b/A30034.1B
new file mode 100644 (file)
index 0000000..64fb7e8
Binary files /dev/null and b/A30034.1B differ
diff --git a/A30034.1C b/A30034.1C
new file mode 100644 (file)
index 0000000..44fba59
Binary files /dev/null and b/A30034.1C differ
diff --git a/A30034.1D b/A30034.1D
new file mode 100644 (file)
index 0000000..9318bfc
--- /dev/null
+++ b/A30034.1D
@@ -0,0 +1,1333 @@
+       .TITLE USPR4 \r
+       .SBTTL BASE PAGE DATA\r
+;\r
+;ZPAGE ENTRY DEFINITIONS\r
+;\r
+       .GLOBL  VEL,DIRECT,HPOSL,VPOSL,HPOS\r
+       .GLOBL  SOUND,VPOS,ROTATE,HPOST,VPOST\r
+       .GLOBL  TEMP1,TEMP2,TEMP3,TEMP4\r
+       .GLOBL  TEMP5,AUDY,FRAME,INTTMP,GSTAT\r
+       .GLOBL  TRKN,CTIME\r
+       .GLOBL  TCOUNT,TSAVE,CNTDWN\r
+       .GLOBL  GEAR,COIN,CRUDS,RTEST2\r
+       .GLOBL  THIST,TIMER,TIM,STAT\r
+       .GLOBL  RTEST1,RTEST2,SCORED,CREDIT\r
+       .GLOBL  TSEL,SKIDON,GP,SKIDOFF,CROUT,AMODE\r
+       .GLOBL  SBLON,SBLOFF,SBUTON,OLDCRED\r
+       .ASECT\r
+       .=200\r
+VEL:   .BLKB   8.\r
+DIRECT =VEL+1\r
+HPOSL: .BLKB   8.              ;4 BYTE INTERSPERSED TABLES\r
+VPOSL  =HPOSL+1\r
+HPOS:  .BLKB   8.              ;HORIZONTAL POSITION NOTE:MAPPED IN HARDWARE(MO)!!!\r
+SOUND  =HPOS+1                 ;MOTOR RPM FREQUENCY\r
+VPOS:  .BLKB   8.              ;VERTICAL POSITION NOTE: SEE HPOS\r
+ROTATE =VPOS+1                 ;CARS ROTATION\r
+STAT:  .BLKB   8.              ;STATUS BYTE FOR EACH CAR\r
+TIM    =STAT+1\r
+HPOST: .BLKB   8.\r
+VPOST  =HPOST+1\r
+AUDY:  .BLKB   8.              ;AUTO PILOT WORD\r
+GEAR   =AUDY+1\r
+FRAME: .BLKB   1                       ;FRAME COUNTER\r
+TRKN:  .BLKB   1               ;TRACK NUMBER\r
+INTTMP:        .BLKB   1                       ;INTERRUPT TEMP CELL\r
+GSTAT: .BLKB   1               ;GAME STATUS D7=1=IN PROGRESS, D6=1=CREDIT ACCRUED\r
+TEMP1: .BLKB   2\r
+TEMP2: .BLKB   2\r
+TEMP3: .BLKB   2\r
+TEMP4: .BLKB   2\r
+TEMP5: .BLKB   2\r
+CNTDWN:        .BLKB   1               ;10 SECOND COUNTDOWN TIMER.\r
+CTIME: .BLKB   8.              ;COLLISION TIMER\r
+COIN   =CTIME+1                ;COIN TIMES\r
+CRASH: .BLKB   1\r
+TCOUNT:        .BLKB   1\r
+TSAVE: .BLKB   1\r
+THIST: .BLKB   1\r
+TIMER: .BLKB   1               ;GAME TIMER\r
+LEADER:        .BLKB   1               ;POINTER TO HIGH SCORE\r
+SCORED:        .BLKB   8.\r
+CREDIT:        .BLKB   1\r
+OLDCRED:       .BLKB   1\r
+RTEST1:        .BLKB   1\r
+CRUDS: .BLKB   8.              ;PLAYER CREDIT\r
+RTEST2 =CRUDS+7\r
+BNSTAT =CRUDS+1                ;BONUS STATUS (4-PLAYER)\r
+       .RADIX 16\r
+OPTSW2 =61                     ;D0=COINS/PLAY(SW5) D1=LOCKOUT DURING GAME(SW6)\r
+                               ;SWITCHES 5 AND 6\r
+OPTSW3 =60                     ;LANGUAGE SELECTOR(SW7,SW8) SWITCH 7 AND 8\r
+OPTSW1 =63                     ;BONUS & DRONE COUNT, SW2=4-PLAYER BONUS,SW1=DRONE COUNT\r
+GTIME2 =62                     ;GAME TIME, SW3,SW4=60,120,90,150,SEC\r
+CROUT  =42                     ;CRASH SOUND\r
+PF     =^H800                  ;RAM ADDRESS OF PLAYFIELD\r
+GP     =40\r
+SST    =1000                   ;SELF TEST(D6) LOW TRUE\r
+TSEL   =1800                   ;TRACK SELECT(D7) LOW TRUE\r
+VBLANK =1000\r
+TREST  =44\r
+AMODE  =0\r
+SKIDOFF        =68                     ;SKID OFF I/O ADDRESS\r
+SKIDON =69                     ;SKID I/O ADDRESS\r
+PCOL   =41                     ;PLAYFIELD COLLISION ADDRESS\r
+POFF   =20                     ;PF COLLISION RESET\r
+TRF1   =^H1C                   ;TRA\r
+TRF2   =^H1D                   ;AF\r
+TRF3   =^H1E                   ;F1C\r
+       .RADIX 8\r
+STARTM =0                      ;MESSAGE NUMBERS\r
+COIN1  =2\r
+COIN2  =4\r
+DIAGM  =6\r
+CREDMES        =10\r
+       .PAGE\r
+;ENTRY POINTS\r
+       .GLOBL  MAINT,SCROUT,TRAN1,MESS,VPOSTAB\r
+       .GLOBL  SCADD1,ROTEN1,NODRNE\r
+;EXTERNAL REFERENCES\r
+       .GLOBL  CARCOL,PWRON,NMIINT\r
+       .GLOBL  RSTALL,TPTRS,CHKPTS,STEST\r
+       .GLOBL  QNOTRK,QCOMCH\r
+       .CSECT\r
+       .SBTTL  MAINLP\r
+MAINT:\r
+MAIN:  JSR     A,ATRACT                ;GO TO ATTRACT MODE\r
+       JSR     A,START                 ;START GAME\r
+       JMP     A,MAIN\r
+       .PAGE\r
+;ATTRACT SUBROUTINE\r
+ATRACT:        LDA     I,0\r
+       STA     Z,FRAME         ;RESET FRAME COUNTER\r
+       STA     Z,AMODE         ;TURN OFF SOUND\r
+       STA     Z,OLDCRED\r
+       LDA     I,10\r
+       STA     Z,CNTDWN\r
+       BIT     A,SST                   ;TEST MODE?\r
+       BVC     A8                      ;BRANCH IF YES\r
+       JSR     A,TRACK                 ;OUTPUT INITIAL TRACK\r
+AAA:   JSR     A,INITIL                ;SET UP CARS\r
+       JSR     A,COINOUT\r
+       INC     Z,FRAME\r
+A3:    LDA     Z,FRAME\r
+       BNE     A5\r
+       JSR     UPTRK                   ;BUMP THE TRACK NUMBER\r
+       JMP     A,AAA                   ;ALWAYS (CARRY SET)\r
+A5:    BIT     A,SST                   ;SIMPLE SELF-TEST?\r
+       BVS     A9\r
+A8:    JMP     A,STEST                 ;YES, GO TO SLT\r
+A9:    LDX     I,6                     ;CAR #\r
+20$:   LDA     I,360\r
+       AND     ZX,SOUND                ;LEAVE DRONE BIT ON\r
+       STA     ZX,SOUND\r
+       STA     ZX,SKIDOFF\r
+       JSR     SCROUT                  ;OUTPUT LAST SCORE TO P.F.\r
+       DEX\r
+       DEX\r
+       BPL     20$\r
+       LDA     I,0\r
+       STA     Z,CRASH\r
+       STA     Z,AMODE\r
+       STA     Z,CROUT                 ;TURN OFF CRASHES\r
+A2:    BIT     A,VBLANK                ;WAIT FOR V BLANK\r
+       BPL     A2\r
+5$:    BIT     A,VBLANK\r
+       BMI     5$\r
+       STA     Z,TREST\r
+       JSR     TRANS\r
+       INC     Z,FRAME\r
+       BIT     Z,GSTAT\r
+       BMI     7$                      ;GAME STARTED\r
+       BVS     40$                     ;CREDIT ACCRUED\r
+       BVC     A3                      ;NO GAME, NO CREDIT\r
+7$:    LDA     Z,FRAME                 ;1 SECOND INTERVALS\r
+       AND     I,77\r
+       BNE     40$                     ;NOT YET\r
+       LDA     Z,CNTDWN                ;GET TIMER VALUE\r
+       CMP     I,8.\r
+       BNE     10$                     ;NOT FIRST TIME\r
+       JSR     RSTALL                  ;RESET ALL CARS\r
+10$:\r
+       DEC     Z,CNTDWN                ;DECR THE COUNTER\r
+       JSR     CNTMES\r
+       LDA     Z,CNTDWN\r
+       BNE     40$\r
+30$:   JMP     A,TRACK                 ;PUT UP THE TRACK AGAIN, RETURN\r
+40$:   JSR     TBONE                   ;SELECT A TRACK\r
+       BCC     RHU                     ;C=0 IF NO TRACK CHANGE\r
+       JSR     COINOUT                 ;OUTPUT ONLY IF TRK CHANGED\r
+       BIT     Z,GSTAT         ;IF D7=1 THEN GAME IN PROGRESS\r
+       BPL     RHU             ;SKIP COUNTDOWN IF NO GAME IN PROGRESS\r
+       JSR     CNTMES\r
+RHU:   JSR     CREDOUT                 ;OUTPUT ALWAYS\r
+       JMP     A5\r
+       .PAGE\r
+;\r
+;START PLAY SUBROUTINE\r
+;\r
+START:\r
+       JSR     A,INITIL                ;SET-UP CARS\r
+       JSR     NODRNE\r
+       LDA     I,1\r
+       STA     Z,AMODE                 ;TURN ON SOUND\r
+PLAY:  JSR     A,TRANS\r
+       INC     Z,FRAME                 ;INCREMENT FRAME COUNT\r
+;\r
+;CHECK CAR COLLISIONS\r
+;\r
+       JSR     CARCOL\r
+;\r
+;HANDLE EACH CAR NOW\r
+;\r
+       LDX     I,6\r
+S1000: JSR     A,CNTRL                 ;COMPUTER-CONTROL CARS\r
+;\r
+;USER CARS\r
+;\r
+;   PLAYFIELD COLLISION\r
+;\r
+       STA     ZX,SKIDOFF              ;TURN OFF SKID SOUND\r
+       LDA     ZX,PCOL                 ;PLAYFIELD HIT?\r
+       BMI     S61                     ;YES\r
+       LDA     ZX,TIM                  ;DISABLE WALL HIT LOGIC\r
+       BEQ     S60                     ;FOR 16 FRAMES\r
+       DEC     ZX,TIM\r
+       JMP     A,S70\r
+S60:   LDA     ZX,PCOL                 ;PLAYFIELD HIT?\r
+       BMI     S61\r
+       LDA     I,0                     ;NO, CLEAR FLAGS\r
+       STA     ZX,TIM\r
+       LDA     I,367\r
+       AND     ZX,STAT                 ;CLEAR FIRST HIT FLAG\r
+       STA     ZX,STAT\r
+       JMP     A,S70\r
+S61:   STA     ZX,POFF                 ;TURN OFF COLLISIONS\r
+       LDY     I,0\r
+       STY     ZX,CTIME                ;CLEAR CAR COLLISION FLAG\r
+       LDA     ZX,STAT\r
+       AND     I,10\r
+       BNE     S62                     ;NO\r
+       LDA     I,1                     ;YES, SET VEL=1\r
+       STA     ZX,VEL\r
+       LDA     I,10\r
+       ORA     ZX,STAT                 ;DISABLE NEXT HITS\r
+       STA     ZX,STAT\r
+       LDA     I,17                    ;SET UP CRASH NOISE\r
+       STA     Z,CRASH\r
+S62:   LDA     I,20\r
+       STA     ZX,TIM\r
+S70:   LDY     Z,CRASH                 ;CRASH STILL ACTIVE?\r
+       BEQ     10$                     ;NO\r
+       TXA\r
+       BNE     S80                     ;NOT CAR ZERO\r
+       LDA     Z,FRAME                 ;YES, 4TH FRAME?\r
+       AND     I,3\r
+       BNE     S80                     ;NOT 4TH YET\r
+       DEC     Z,CRASH                 ;YES, CONTINUE CRASH\r
+10$:   STY     Z,CROUT                 ;OUTPUT CRASH NOISE\r
+S80:   LDA     ZX,CTIME                ;CAR HIT STILL ACTIVE?\r
+       BEQ     S81                     ;NO\r
+       STA     ZX,SKIDON               ;TURN SKID SOUND ON\r
+       DEC     ZX,CTIME                ;DOWN TIMER\r
+       LDY     I,2\r
+       LDA     ZX,STAT\r
+       BMI     20$                     ;NOT A DRONE\r
+       LDY     I,2                     ;DEFLECT DRONE\r
+       BNE     S800\r
+20$:   AND     I,20                    ;TEST IF CW TURN\r
+       BNE     S800\r
+       LDY     I,376\r
+S800:  TYA\r
+       CLC\r
+       ADC     ZX,ROTATE\r
+       STA     ZX,ROTATE\r
+S81:\r
+;\r
+;ACCELERATION\r
+;\r
+       LDA     ZX,STAT                 ;NOT IF A DRONE\r
+       BPL     S130\r
+       LDA     Z,FRAME\r
+       AND     I,3\r
+       BNE     S130\r
+       JSR     A,GETAC                 ;GET ACCELERATION\r
+       CMP     I,371                   ;ACCELERATION.LE.SKID VALUE\r
+       BPL     S10                     ;NO\r
+       STA     ZX,SKIDON               ;YES,TURN ON SKID\r
+S10:   CMP     I,0                     ;TEST SIGH OF ACCELERATION\r
+       CLC\r
+       BMI     10$                     ;SLOWING DORNE\r
+       ADC     ZX,VEL                  ;SPEED UP\r
+       BNE     15$\r
+       LDA     ZX,VEL\r
+       BEQ     15$                     ;NOT MOVING\r
+       LDA     I,377                   ;OVERBLOW-RESET TO TO SPEED\r
+       BNE     15$\r
+10$:   ADC     ZX,VEL                  ;SLOW DOWN\r
+       BNE     15$\r
+       LDA     I,1                     ;MINIMUN SPEED\r
+15$:   STA     ZX,VEL\r
+;\r
+;ENGINE RPM SOUND\r
+;\r
+S130:  LDA     ZX,VEL\r
+       LSR                             ;GET RPM SOUND\r
+       LSR\r
+       LSR\r
+       STA     Z,TEMP1\r
+       LDA     ZX,GEAR                 ;GET GEAR # IN A\r
+       LDY     ZX,STAT\r
+       BMI     10$\r
+       LDA     ZX,ROTATE               ;GET DRONES ROTATION\r
+       LSR\r
+       LSR                             ;HIGH 3 BITS OF ROTATE\r
+       LSR\r
+       LSR\r
+       LSR\r
+       ORA     I,8.+128.               ;USE THIS AS RPM\r
+       JMP     S104\r
+10$:\r
+       TAY\r
+       ASL\r
+       STA     Z,TEMP2\r
+       LDA     AY,RATIO\r
+       TAY\r
+       LDA     I,0\r
+S101:  CLC\r
+       ADC     Z,TEMP1\r
+       DEY\r
+       BNE     S101\r
+       LSR\r
+       LSR\r
+       LSR\r
+       SEC\r
+       SBC     Z,TEMP2\r
+       BPL     S102\r
+       LDA     I,0\r
+S102:  CMP     I,20\r
+       BMI     S104\r
+       LDA     I,17\r
+S104:\r
+       STA     ZX,SOUND                ;SET MOTOR RPM\r
+;\r
+;DIRECTION UPDATE\r
+;\r
+       LDA     I,4                     ;IF GOING SLOW CATCH UP FAST\r
+       LDY     ZX,VEL                  ;TEST HIGH BIT OF VEL\r
+       BPL     10$\r
+       LDA     I,3                     ;IF GOING FAST,CATCHUP SLOWLY\r
+10$:\r
+       STA     Z,TEMP1                 ;CONSTANT =  3 OR 4 DEPENDING ON VEL\r
+       LDA     ZX,ROTATE\r
+       AND     I,370\r
+       STA     Z,TEMP2\r
+       LDA     ZX,DIRECT\r
+       AND     I,370\r
+       SEC\r
+       SBC     Z,TEMP2\r
+       BEQ     S20\r
+       BMI     S211\r
+       CMP     I,20\r
+       BMI     S2110\r
+       STA     ZX,SKIDON               ;TURN ON SKID\r
+S2110: LDA     I,0\r
+       SEC\r
+       SBC     Z,TEMP1\r
+       STA     Z,TEMP1                 ;CONSTANT=-CONSTANT\r
+       JMP     A,S21\r
+S211:  CMP     I,370\r
+       BPL     S21\r
+       STA     ZX,SKIDON               ;TURN ON SKID\r
+S21:   LDA     Z,TEMP1\r
+       CLC\r
+       ADC     ZX,DIRECT\r
+       STA     ZX,DIRECT               ;UPDATE DIRECTION\r
+;\r
+;UPDATE POSITION\r
+;\r
+S20:   JSR     A,UPDATE                ;UPDATE USER CAR POSITION\r
+;\r
+;CHECKPOINTS & SCORE\r
+;\r
+       JSR     A,SCORE\r
+;\r
+;FINISHED?\r
+;\r
+;\r
+;TIMER\r
+;\r
+       CPX     I,0\r
+       BNE     S252\r
+       DEC     Z,TCOUNT                ;TIME TO UPDATE TIME COUNT?\r
+       BNE     S252                    ;NO\r
+       DEC     Z,TIMER                 ;SECOND TIMES\r
+       BEQ     S2501\r
+       LDA     Z,TSAVE\r
+       STA     Z,TCOUNT\r
+S252:\r
+       DEX\r
+       DEX\r
+       BMI     S501                    ;DONE?\r
+       JMP     S1000                   ;NO\r
+S501:  BIT     A,VBLANK                ;WAIT FOR V RESET\r
+       BMI     S501\r
+       STA     Z,TREST                 ;PULSE WATCHDOG\r
+       JMP     A,PLAY\r
+S2501: LDA     I,0                     ;TURN OFF SOUND\r
+       STA     Z,AMODE\r
+       STA     Z,GSTAT                 ;STOP THE GAME\r
+       STA     Z,TEMP5\r
+       LDY     I,^H80\r
+       LDA     Z,OPTSW1\r
+       LSR\r
+       BCS     10$\r
+       LDX     I,6                     ;CHECK ALL PLAYERS IN GAME\r
+5$:    LDA     ZX,STAT\r
+       BPL     10$                     ;NOT IN GAME\r
+       DEX\r
+       DEX\r
+       BPL     5$\r
+       LDX     Z,LEADER                ;4-PLAYER GAME\r
+       TXA\r
+       TAY\r
+       INC     ZX,CRUDS                ;X=LEADER OFFSET\r
+       INC     ZX,CRUDS                ;GIVE CREDIT (FREE PLAY)\r
+10$:   STY     BNSTAT                  ;SET BONUS STATUS (D7=1 NO BONUS)\r
+       LDA     Z,CREDIT\r
+       LSR                             ;TEST WHOLE CREDITS\r
+       BEQ     11$\r
+       LDA     I,100\r
+       STA     Z,GSTAT                 ;SET GSTAT FOR CREDIT\r
+11$:   LDA     I,2\r
+       STA     Z,TEMP5+1\r
+       LDX     I,6\r
+12$:   LDA     ZX,STAT                 ;RESET PLAYER BITS\r
+       AND     I,3                     ;LEAVE COIN BITS\r
+       STA     ZX,STAT\r
+       DEX\r
+       DEX\r
+       BPL     12$\r
+13$:   LDX     I,6\r
+15$:   LDA     I,360\r
+       CPX     Z,BNSTAT\r
+       BEQ     20$\r
+       STA     ZX,SKIDOFF              ;TURN OFF SKID SOUNDS\r
+20$:   AND     ZX,SOUND                ;PRESERVE DRONE BIT\r
+       STA     ZX,SOUND\r
+       STA     AX,SBLOFF\r
+       JSR     TRAN1                   ;OUTPUT THE CARS\r
+       JSR     SCROUT                  ;PUT UP THE SCORE\r
+       DEX\r
+       DEX\r
+       BPL     15$\r
+       LDA     I,0\r
+       STA     Z,CROUT                 ;CLR CRASH\r
+       STA     Z,TREST\r
+;\r
+;FREEZE SCREEN FOR 10 SECONDS\r
+;\r
+50$:   BIT     A,VBLANK\r
+       BMI     50$\r
+60$:   BIT     A,VBLANK                ;WAIT FOR VBLANK TO COME THEN GO\r
+       BPL     60$\r
+       INC     Z,FRAME\r
+       LDA     Z,GSTAT                 ;TEST IF A GAME IS STABLE\r
+       BPL     70$\r
+       RTS                             ;YES, GO COUNT DOWN\r
+70$:   LDA     BNSTAT\r
+       BMI     95$                     ;NO BONUS\r
+       LDX     I,1\r
+       STX     Z,AMODE                 ;ENABLE SOUNDS\r
+       JSR     BN.MSS\r
+       LDX     I,40.\r
+       LDA     Z,FRAME                 ;ELSE, FLASH MESSAGE\r
+       AND     I,20\r
+       BEQ     80$\r
+       LDX     I,42.                   ;CLEAR MESSAGE\r
+80$:   TXA\r
+       JSR     MESSA                   ;DISPLAY BONUS (OR CLR)\r
+       LDX     Z,BNSTAT\r
+       LDA     Z,FRAME\r
+       AND     I,20\r
+       BEQ     90$\r
+       STA     ZX,SKIDOFF\r
+       BNE     95$                     ;ALWAYS\r
+90$:   STA     ZX,SKIDON\r
+95$:   DEC     Z,TEMP5\r
+       BNE     13$                     ;INNER LOOP 256 COUNTS\r
+       DEC     Z,TEMP5+1\r
+       BNE     13$                     ;OUTER LOOP - DO ONCE\r
+       LDA     BNSTAT\r
+       BMI     100$\r
+       JSR     BN.MSS\r
+       LDA     I,42.\r
+       JSR     MESSA                   ;CLR MESSAGE\r
+                                       ;SOUNDS CLEARED IN ATRACT\r
+100$:  RTS                             ;GO START OVER\r
+\r
+BN.MSS:        CLC\r
+       ADC     I,18.\r
+       TAY                             ;PF ADDR INDEX\r
+       LDX     I,-1                    ;ASSUME INCREMENT=-1\r
+       LDA     BNSTAT\r
+       CMP     I,4                     ;PLAYER 1 OR 2 ?\r
+       BCC     10$                     ;YES\r
+       LDX     I,1                     ;ELSE INC=1\r
+10$:   STX     Z,TEMP4                 ;TEMP4=INCREMENT\r
+       RTS\r
+       \r
+NODRNE:        LDA     Z,OPTSW1\r
+       LSR\r
+       LSR\r
+       BCS     5$                      ;ALL DRONES IN PLAY\r
+       LDX     I,6                     ;STEP THROUGH CARS\r
+1$:    LDA     ZX,STAT                 ;PLAYER ?\r
+       BMI     10$                     ;YES\r
+       ORA     I,100                   ;D6=INVISIBLE DRONE\r
+       STA     ZX,STAT\r
+       LDA     I,0\r
+       STA     ZX,VPOST                ;PUT OFFSCREEN\r
+       STA     ZX,HPOST\r
+       STA     ZX,VEL                  ;CLR VELOCITY\r
+5$:    RTS\r
+10$:   DEX\r
+       DEX\r
+       BPL     1$\r
+       RTS\r
+       .PAGE\r
+       .SBTTL  MISC SUBROUTINES\r
+;\r
+;\r
+;SUBROUTINES\r
+;\r
+;\r
+CNTRL: LDA     ZX,STAT                 ;TEST IF A DRONE\r
+       BMI     A20\r
+       ASL\r
+       BMI     A20                     ;DRONE NOT DISPLAYED\r
+       LDA     ZX,CTIME\r
+       BEQ     7$                      ;NOT CRASHING\r
+       AND     I,3\r
+       BNE     A6                      ;DON'T STEER\r
+7$:    TAY                             ;ACC=0\r
+       STA     Z,TEMP1\r
+       LDA     I,PF/256.\r
+       STA     Z,TEMP1+1\r
+       LDA     ZX,HPOST\r
+       CLC\r
+       ADC     I,-8.                   ;ADD -8 TO GET CENTER OF CAR\r
+       LSR\r
+       LSR\r
+       LSR                             ;DIVIDE BY 8\r
+       CLC\r
+       ADC     Z,TEMP1\r
+       STA     Z,TEMP1\r
+       STY     Z,TEMP2                 ;Y=0\r
+       BCC     8$\r
+       INC     Z,TEMP1+1\r
+8$:    LDA     ZX,VPOST\r
+       CLC\r
+       ADC     I,-5                    ;ADD -5 TO GET CENTER OF CAR\r
+       AND     I,370\r
+       ASL\r
+       ROL     Z,TEMP2                 ;SAVE CARRY\r
+       ASL\r
+       ROL     Z,TEMP2                 ;SAVE 2 MSB'S\r
+       CLC\r
+       ADC     Z,TEMP1\r
+       STA     Z,TEMP1\r
+       LDA     Z,TEMP2\r
+       ADC     Z,TEMP1+1\r
+       STA     Z,TEMP1+1\r
+       LDA     ZX,ROTATE\r
+       AND     I,370                   ;SAME POSITION\r
+       STA     Z,TEMP3\r
+                                       ;Y=0\r
+       LDA     NY,TEMP1                ;GET SQUARE FROM PLAYFIELD\r
+       LSR                             ;TEST LOW BIT\r
+       BCS     10$                     ;BRANCH IF ON\r
+       AND     I,157                   ;CLEAR R0 BIT\r
+10$:   ASL\r
+       AND     I,340                   ;MASK TO ROTATION\r
+       SEC\r
+       SBC     Z,TEMP3                 ;SUBTRACT ROTATION\r
+       AND     I,370\r
+       BEQ     A6                      ;NO CHANGE IF EQUAL\r
+       LSR\r
+       LSR                             ;DIVIDE BY 16\r
+       LSR\r
+       LSR\r
+       CLC\r
+       BIT     A,H8                    ;TEST IF NEGATIVE\r
+       BEQ     20$\r
+       ORA     I,360                   ;EXTEND SIGN\r
+       ADC     I,-2                    ;MINUS A CONSTANT\r
+       JMP     30$\r
+20$:   ADC     I,2                     ;PLUS A CONSTANT\r
+30$:\r
+       CLC\r
+       ADC     ZX,ROTATE\r
+       STA     ZX,ROTATE\r
+A6:    LDA     ZX,VEL\r
+       CLC\r
+       ADC     I,01                    ;VEL=VEL+ACCELERATION\r
+       CMP     AX,MAXVEL\r
+       BCC     A10\r
+       LDA     AX,MAXVEL\r
+A10:   STA     ZX,VEL\r
+A20:   RTS\r
+;\r
+;UPDATE THE CAR POSITION\r
+;\r
+UPDATE:        STX     Z,TEMP1                 ;SAVE CAR INDEX\r
+       LDA     ZX,VEL\r
+       BEQ     U3\r
+       LSR\r
+       LSR\r
+       LSR\r
+       STA     Z,TEMP2                 ;MULTIPLICAND (VEL)\r
+       LDA     ZX,DIRECT\r
+       LSR\r
+       LSR\r
+       LSR\r
+       TAX\r
+       STX     Z,TEMP3                 ;SAVE INDEX FOR LATER\r
+       LDA     AX,HOFF\r
+       BEQ     U2\r
+       TAX                             ;MULTIPLIER (HOFF)\r
+       JSR     A,MULT                  ;GET VEL*HOFF\r
+       LDX     Z,TEMP1\r
+       LDA     Z,TEMP4\r
+       CLC\r
+       ADC     ZX,HPOSL\r
+       STA     ZX,HPOSL\r
+       LDA     Z,TEMP4+1               ;UPDATE HORIZONTAL POSITION\r
+       ADC     ZX,HPOST\r
+;\r
+;TEST HORIZONTAL BOUNDARIES FOR ON-SCREEN\r
+;\r
+       LDY     I,20\r
+       CMP     I,20                    ;TEST H FOR LOW\r
+       BCC     40$                     ;TOO LOW\r
+       CMP     I,372                   ;TEST HIGH\r
+       BCC     50$                     ;OK\r
+       LDY     I,370                   ;RESET COORD.\r
+40$:   TYA\r
+50$:\r
+       STA     ZX,HPOST\r
+U2:    LDX     Z,TEMP3                 ;GET SAVED TABLE INDEX\r
+       LDA     AX,VOFF\r
+       BEQ     U3\r
+       TAX                             ;MULTIPLIER (VOFF)\r
+       JSR     A,MULT                  ;GET VEL*VOFF\r
+       LDX     Z,TEMP1\r
+       LDA     Z,TEMP4\r
+       CLC\r
+       ADC     ZX,VPOSL\r
+       STA     ZX,VPOSL\r
+       LDA     Z,TEMP4+1\r
+       ADC     ZX,VPOST\r
+;\r
+;TEST VERTICAL ON-SCREEN BOUNDARIES\r
+;\r
+       LDY     I,22\r
+       CMP     I,22                    ;TEST LOW\r
+       BCC     60$                     ;TOO LOW\r
+       CMP     I,337                   ;TEST HIGH\r
+       BCC     70$                     ;OK\r
+       LDY     I,336\r
+60$:   TYA                             ;SET NEW VERTICAL POSITION\r
+70$:\r
+       STA     ZX,VPOST\r
+U3:    LDX     Z,TEMP1                 ;RESTORE CAR NUMBER\r
+       RTS\r
+MULT:  STX     Z,TEMP2+1\r
+       TXA\r
+       BPL     M3\r
+       EOR     I,377\r
+       TAX\r
+       INX                             ;NEGATES X\r
+M3:    LDA     I,0\r
+       STA     Z,TEMP4\r
+       STA     Z,TEMP4+1\r
+M2:    LDA     Z,TEMP4\r
+       CLC\r
+       ADC     Z,TEMP2\r
+       STA     Z,TEMP4\r
+       BCC     10$\r
+       INC     Z,TEMP4+1               ;CARRY\r
+10$:\r
+       DEX\r
+       BNE     M2\r
+       LDA     Z,TEMP2+1\r
+       BPL     M1\r
+       LDA     I,0\r
+       SEC\r
+       SBC     Z,TEMP4\r
+       STA     Z,TEMP4\r
+       LDA     I,0\r
+       SBC     Z,TEMP4+1\r
+       STA     Z,TEMP4+1\r
+M1:    RTS\r
+INITIL:        LDA     Z,GTIME2\r
+       EOR     I,3\r
+       AND     I,3\r
+       TAY\r
+       LDA     AY,TUP\r
+       STA     Z,TCOUNT\r
+       STA     Z,TSAVE\r
+       LDA     I,0                     ;INITIALIZE SOUND & FRAME COUNT\r
+       STA     Z,THIST\r
+       STA     Z,CRASH\r
+       STA     Z,CROUT\r
+       LDA     I,100.\r
+       STA     Z,TIMER                 ;SET TIME=100\r
+       STA     Z,POFF\r
+       STA     Z,POFF+2                ;TURN OFF COLLISIONS\r
+       STA     Z,POFF+2+2\r
+       STA     Z,POFF+2+2+2\r
+       RTS\r
+GETAC: LDA     ZX,VEL\r
+       LSR                     ;GET VEL /2\r
+       LSR\r
+       LSR\r
+       LSR\r
+       ASL\r
+       TAY                             ;TABLE INDEX\r
+       LDA     ZX,GEAR\r
+       LSR\r
+       LSR\r
+       BCC     10$                     ;1ST AND 2ND\r
+       INY                             ;3RD OR 4TH\r
+10$:\r
+       LDA     ZX,GP                   ;GAS PEDAL SET?\r
+       BMI     G4\r
+       LDA     AY,ACTAB                ;GET THE ACCELERATION ENTRY\r
+       BNE     G5\r
+G4:    LDA     AY,DACTAB                       ;GET THE DECELERATION ENTRY\r
+G5:    CLC\r
+       LDY     ZX,GEAR\r
+       STY     Z,TEMP1                 ;GAME GEAR\r
+       LSR     Z,TEMP1                 ;WHICH NIBBLE\r
+       BCS     G6                      ;LOWER NIBBLE\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+G6:    AND     I,17\r
+       BIT     A,H8                    ;TEST IF A NEGATIVE NIBBLE\r
+       BEQ     G8                      ;NO\r
+       ORA     I,360                   ;YES, EXTEND SIGN\r
+G8:    RTS\r
+H8:    .BYTE   8.\r
+;\r
+;ROUTINES TO OUTPUT A MESSAGE TO THE PLAYFIELD\r
+;      A = INDEX TO PLAYFIELD ADDRESS TABLE\r
+;      X = OFFSET TO MESSAGE FROM MESSES\r
+;      Y = INCREMENT BETWEEN STORES +-1 FOR ROW\r
+;                                   +-20 FOR COLUMNS\r
+;\r
+MESSMN:        LDY     I,-1                    ;BACKWARDS ON ROW\r
+MESS:  STY     Z,TEMP4                 ;SAVE INCREMENT\r
+       TAY                             ;PF ADDR INDEX\r
+       LDA     Z,OPTSW3                ;GET LANGUAGE\r
+       AND     I,3\r
+       PHA                             ;SAVE VALUE FOR LATTER\r
+       ASL\r
+       ASL\r
+       ASL\r
+       STA     Z,TEMP5                 ;ALL THIS MULTIPLIES OPTION\r
+       PLA\r
+       ASL                             ;BY 10 SINCE THERE ARE 5 MESSAGES\r
+       CLC\r
+       ADC     Z,TEMP5                 ;(2 BYTES EACH) FOR EACH OPTION\r
+       CLC\r
+       STX     Z,TEMP3                 ;SAVE PTR TO ONE OF 5 POSSIBLE MESSAGES\r
+       ADC     Z,TEMP3\r
+MESSA: TAX                             ;SET MESSAGE PTR\r
+                                       ;X POINTS AT TABLE ENTRY\r
+       LDA     AX,MESSPT\r
+       STA     Z,TEMP3\r
+       LDA     AX,MESSPT+1             ;SET MESSAGE POINTER\r
+       STA     Z,TEMP3+1               ;SOURCE\r
+       LDA     AY,MPOINT\r
+       STA     Z,TEMP2                 ;GET PF ADDR\r
+       LDA     AY,MPOINT+1\r
+       STA     Z,TEMP2+1               ;DESTINATION\r
+       LDY     I,0                     ;MESSAGE INDEX\r
+10$:   LDA     NY,TEMP3                ;GET NEXT OUTPUT CHARACTER\r
+       PHA\r
+       AND     I,^H07F\r
+       LDX     Z,TEMP4                 ;TEST INCREMENT\r
+       BPL     20$                     ;POSITIVE\r
+       ORA     I,200                   ;ROTATE CHAR BY 180 DEGREES\r
+20$:\r
+       AND     I,^H0BF\r
+       LDX     I,0\r
+       STA     NX,TEMP2                ;PUT CHAR INTO FIELD\r
+       LDA     Z,TEMP4                 ;GET INCR. AMOUNT\r
+       CLC\r
+       ADC     Z,TEMP2                 ;ADD TO PF POINTER\r
+       STA     Z,TEMP2\r
+       BIT     Z,TEMP4                 ;TEST SIGN OF INCREMENT\r
+       BPL     30$\r
+       DEX                             ;X=0FF\r
+30$:   TXA\r
+       ADC     Z,TEMP2+1               ;CARRY OR BORROW INTO HIGH ADDRESS\r
+       STA     Z,TEMP2+1\r
+       INY\r
+       PLA\r
+       BPL     10$\r
+40$:   RTS\r
+       .PAGE\r
+;\r
+;TEST TRACK SELECT BUTTON\r
+;\r
+TBONE: CLC\r
+       BIT     A,TSEL\r
+       BPL     10$                     ;SWITCH IS ON!\r
+       LDA     Z,THIST\r
+       BNE     50$\r
+       RTS                             ;SWITCH ISN'T ACTIVE\r
+10$:   LDA     I,4\r
+       LDY     Z,THIST                 ;FIRST TIME?\r
+       STA     Z,THIST                 ;SET SWITCH COUNTER\r
+       BEQ     UPTRK                   ;YES\r
+       RTS\r
+50$:   DEC     Z,THIST                 ;DO BOUNCE SWITCH\r
+       RTS                             ;NOT DONE YET\r
+UPTRK:\r
+       LDY     Z,TRKN\r
+       INY                             ;TRKN=TRKN+1\r
+       CPY     I,QNOTRK\r
+       BCC     10$                     ;NOT TOO BIG\r
+       LDY     I,0\r
+10$:   STY     Z,TRKN\r
+       \r
+UPAR   =40\r
+DWNAR  =240\r
+LEFTAR =6\r
+RIGHTAR        =2\r
+       \r
+;\r
+;OUTPUT THE TRACK NUMBERED TRKN\r
+;\r
+TRACK: LDY     I,41                    ;IF TRACK,ZERO,BLANK TOP OF SCREEN\r
+10$:   LDA     I,DWNAR\r
+       STA     AY,PF                   ;ZERO TOP LINE\r
+       LDA     I,UPAR\r
+       STA     AY,27.*32.+PF-2         ;ZERO BOTTOM LINE\r
+       DEY\r
+       BPL     10$\r
+15$:   LDA     I,QNOTRK\r
+       JSR     17$                     ;OUTPUT TRACK ZERO, COMMON PART\r
+       LDA     Z,TRKN                  ;NOW OUTPUT THIS TRACK\r
+17$:\r
+       ASL\r
+       STA     Z,TEMP2                 ;TIMES TWO\r
+       ASL                             ;TIMES FOUR\r
+       CLC\r
+       ADC     Z,TEMP2                 ;TIMES SIX\r
+       TAY\r
+       STX     Z,TEMP5                 ;SAVE X REGISTER\r
+       LDX     I,0\r
+20$:   LDA     AY,TPTRS                ;GET TRACK POINTERS\r
+       STA     ZX,TEMP1                ;STORE IN TEMP1,TEMP2,TEMP3\r
+       INY\r
+       INX\r
+       CPX     I,6\r
+       BNE     20$\r
+       LDX     I,0\r
+       LDY     I,0\r
+40$:   CPY     I,0\r
+       BNE     45$                     ;NOT AT THE END OF LINE\r
+       LDA     I,LEFTAR\r
+       JSR     PFOUT                   ;OUTPUT A LEFT ARROW\r
+       LDA     I,RIGHTAR\r
+       JSR     PFOUT                   ;OUTPUT A RIGHT ARROW\r
+       LDY     I,15.                   ;RESET COUNTER\r
+45$:   LDA     NX,TEMP1                ;GET A BYTE OF TRACK\r
+       PHA\r
+       LSR\r
+       LSR                             ;GET HIGH NIBBLE\r
+       LSR\r
+       LSR\r
+       JSR     PFOUT\r
+       PLA\r
+       JSR     PFOUT\r
+       INC     Z,TEMP2                 ;INCR COUNT\r
+       BNE     50$\r
+       INC     Z,TEMP2+1               ;CARRY\r
+       BEQ     60$                     ;DONE\r
+50$:   DEY\r
+       STA     Z,TREST\r
+       INC     Z,TEMP1\r
+       BNE     40$             ;LOOP\r
+       \r
+       INC     Z,TEMP1+1               ;INCR HIGH \r
+       JMP     40$                     ;CONTINUE\r
+60$:   LDX     Z,TEMP5                 ;GET THE X REGISTER\r
+       LDA     I,0\r
+       STA     Z,OLDCRED\r
+       SEC                             ;FLAG THAT TRACK IS UP\r
+       RTS\r
+;\r
+;      A       =CHAR TO BE CONVERTED AND STORED\r
+;\r
+PFOUT:\r
+       AND     I,17\r
+       LSR\r
+       TAX                             ;INDEX INTO TABLE\r
+       LDA     AX,CONTAB               ;GET CHAR\r
+       ADC     I,0                     ;ADD ONE IF THE CARRY IS SET\r
+       LDX     I,0\r
+       STA     NX,TEMP3                ;PUT INTO P.F.\r
+       INC     Z,TEMP3\r
+       BNE     10$\r
+       INC     Z,TEMP3+1                       ;CARRY\r
+10$:   RTS\r
+;\r
+;CHECKPOINTS\r
+;\r
+SCORE: LDA     ZX,STAT                 ;DRONES DON'T SCORE\r
+       BPL     SCROUT\r
+       LDA     Z,TRKN\r
+       ASL\r
+       ASL                             ;TIMES 4\r
+       ASL                             ;TIMES 8\r
+       ASL                             ;TIMES 16\r
+       STA     Z,TEMP1\r
+       LDA     ZX,SCORED               ;GET THIS CARS SCORE\r
+       ASL\r
+       AND     I,34                    ;RESULT WILL BE 0-4*4\r
+       CMP     I,4*4                   ;COMMON CHECK POINT?\r
+       BNE     30$\r
+       LDY     I,QCOMCH                ;YES, SET POINTER TOIT\r
+       LDA     I,5\r
+       BNE     40$                     ;AND USE IT\r
+30$:\r
+       CLC\r
+       ADC     Z,TEMP1                 ;OFFSET TO CHECK POINTS\r
+       TAY                             ;Y POINTS AT CHECKPOINTS\r
+       LDA     I,4\r
+40$:   STA     Z,TEMP1                 ;LOOP COUNT\r
+       LDA     ZX,VPOST\r
+       AND     I,360\r
+       STA     Z,TEMP5\r
+       LDA     ZX,HPOST\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       AND     I,17\r
+       ORA     Z,TEMP5\r
+       STA     Z,TEMP5\r
+S27:   LDA     AY,CHKPTS               ;GET CORRECT CHECKPOINT\r
+       CMP     Z,TEMP5                 ;CAR ON CHECKPOINT?\r
+       BEQ     S26                     ;YES\r
+       INY\r
+       DEC     Z,TEMP1\r
+       BNE     S27\r
+       BEQ     SCROUT                  ;PUT UP THE SCORE\r
+;\r
+;SCORE\r
+;\r
+S26:   SED\r
+       CLC\r
+       LDA     I,2\r
+       ADC     ZX,SCORED               ;ADD 2 TO SCORE\r
+       STA     ZX,SCORED\r
+       LDA     I,0\r
+       ADC     ZX,SCORED+1             ;CARRY INTO HIGH BYTE\r
+       STA     ZX,SCORED+1\r
+       CLD\r
+       LDY     Z,LEADER\r
+       LDA     AY,SCORED\r
+       CMP     ZX,SCORED\r
+       LDA     AY,SCORED+1\r
+       SBC     ZX,SCORED+1\r
+       BCS     SCROUT                  ;NOT A LEADER\r
+       STX     Z,LEADER                ;SET NEW LEADER\r
+;\r
+;PUT THE NEW SCORE ON THE SCREEN\r
+;\r
+SCROUT:\r
+       LDY     AX,SCADD1               ;GET CARS SCORE ADDR\r
+       STY     Z,TEMP1\r
+       LDY     AX,SCADD1+1\r
+       STY     Z,TEMP1+1\r
+20$:   LDY     I,0\r
+       LDA     ZX,SOUND\r
+       BPL     SCRPLAY\r
+;\r
+;PUT THE WORD TRAFFIC UP FOR DRONE SCORE\r
+;\r
+       CPX     I,3\r
+       BCC     30$                     ;CAR 3 OR 4\r
+       LDA     I,TRF1                  ;FIRST PART OF TRAFFIC\r
+       JSR     ASC100                  ;TO SCREEN\r
+       LDA     I,TRF2                  ;2ND CHAR\r
+       JSR     ASC100\r
+       LDA     I,TRF3                  ;3RD CHAR\r
+       JMP     ASC100\r
+30$:   LDA     I,TRF1+200\r
+       JSR     ASC100\r
+       LDA     I,TRF2+200\r
+       JSR     ASC100\r
+       LDA     I,TRF3+200\r
+       JMP     ASC100\r
+;\r
+;      OUTPUT SCORE FOR PLAYERS\r
+;\r
+SCRPLAY:\r
+;\r
+;FLASH LEADERS SCORE\r
+;\r
+       CPX     Z,LEADER\r
+       BNE     40$                     ;NOT THE LEADER\r
+       LDA     I,30\r
+       BIT     Z,FRAME\r
+       BNE     40$                     ;PUT UP SCORE\r
+       LDA     I,40                    ;40=ASCII BLANK CHAR\r
+       JSR     ASC100                  ;BLANK 1ST DIGIT\r
+       LDA     I,40\r
+       JSR     ASC100                  ;BLANK 2ND\r
+       LDA     I,40\r
+       JMP     ASC100                  ;BLANK 3RD\r
+40$:\r
+       LDA     ZX,SCORED+1             ;GET HIGH CHAR\r
+       JSR     ASCSTR                  ;GO PUT IT ON THE FIELD\r
+       LDA     ZX,SCORED\r
+       LSR\r
+       LSR\r
+       LSR                             ;MIDDLE DIGIT\r
+       LSR\r
+       JSR     ASCSTR\r
+       LDA     ZX,SCORED               ;LOW DIGIT\r
+;\r
+;FORMAT ASCII FOR OUTPUT\r
+;\r
+ASCSTR:        AND     I,17\r
+       ORA     I,60\r
+       ORA     AX,ROTEN1\r
+ASC100:\r
+       STA     NY,TEMP1\r
+       LDA     Z,TEMP1\r
+       CLC\r
+       ADC     AX,SCRIN1\r
+       STA     Z,TEMP1\r
+       LDA     AX,SCRIN1\r
+       BPL     POS                     ;SCRIN1 POSITIVE?\r
+NEG:   LDA     I,377                   ;NO SIGN EXTEND ONES\r
+       BNE     CHRIS\r
+POS:   LDA     I,0                     ;YES, SIGN EXTEND ZEROS\r
+CHRIS: ADC     Z,TEMP1+1\r
+       STA     Z,TEMP1+1\r
+       RTS\r
+;\r
+;OUTPUT ONE CAR TO THE SCREEN\r
+;\r
+TRAN1: LDA     ZX,HPOST                ;UPDATE CAR POSITIONS\r
+       STA     ZX,HPOS\r
+       LDA     ZX,VPOST\r
+       STA     ZX,VPOS\r
+       LDA     ZX,STAT\r
+       BPL     20$\r
+       LDA     ZX,SOUND                ;IF A PLAYER, CLEAR DRONE BIT\r
+       AND     I,17\r
+       STA     ZX,SOUND\r
+20$:   RTS\r
+;\r
+;OUTPUT ALL 4 CARS\r
+;\r
+TRANS: LDX     I,6                     ;DO ALL THE CARS\r
+10$:   JSR     TRAN1\r
+       DEX\r
+       DEX\r
+       BPL     10$\r
+       RTS\r
+;\r
+;OUTPUT THE COIN MESSAGE\r
+;\r
+COINOUT: LDX   I,COIN1                 ;GUESS 1 COIN PER PLAY\r
+        LDA    Z,OPTSW2\r
+       LSR\r
+       BCS     10$\r
+       LDX     I,COIN2                 ;NO, 2 COINS PER PLAY\r
+10$:   STX     Z,TEMP4+1\r
+       LDY     I,1                     ;POINTER INCREMENT\r
+       LDA     I,PRCOIN                ;PF PTR.\r
+       JSR     MESS                    ;OUTPUT THE COIN MESSAGE\r
+       LDX     Z,TEMP4+1               ;GET COIN POINTER\r
+       LDA     I,PUCOIN                ;PF PTR\r
+       JMP     MESSMN                  ;OUTPUT UPSIDE DOWN MESSAGE\r
+;\r
+;OUTPUT COUNTDOWN MESSAGE\r
+;\r
+CNTMES:        LDY     I,1\r
+       LDX     I,STARTM                ;MESSAGE OFFSET\r
+       LDA     I,PRCNT                 ;PF POINTER\r
+       JSR     MESS\r
+       LDX     I,STARTM                ;MESSAGE\r
+       LDA     I,PUCNT                 ;PF POINTER\r
+       JSR     MESSMN                  ;UPSIDE DOWN\r
+       LDA     Z,CNTDWN\r
+       ORA     I,60                    ;MAKE IT ASCII\r
+       STA     A,16.*32.+5+PF\r
+       ORA     I,200                   ;FLIP IT OVER\r
+       STA     A,10.*32.+25.+PF\r
+       RTS\r
+;\r
+;OUTPUT CREDIT MESSAGE\r
+;\r
+CREDOUT:\r
+       LDA     Z,CREDIT\r
+       CMP     Z,OLDCRED               ;CHANGED?\r
+       BEQ     20$                     ;NO CHANGE\r
+       LDA     Z,OPTSW3\r
+       AND     I,3                     ;EXTRACT LANGUAGE NUMBER\r
+       STA     Z,TEMP1\r
+       TAY\r
+       LDA     AY,CREDL                ;PF ENCODED POINTER\r
+       LDY     I,1\r
+       LDX     I,CREDMES               ;CREDIT MESSAGE\r
+       JSR     MESS                    ;OUTPUT IT\r
+       LDY     Z,TEMP1\r
+       LDA     AY,CREDR                ;PF ADDRESS\r
+       LDX     I,CREDMES               ;MESSAGE NUMBER\r
+       JSR     MESSMN                  ;UPSIDE DOWN\r
+       ASL     Z,TEMP1                 ;MESSAGE NO. TIMES 2\r
+       LDY     Z,TEMP1\r
+       LDA     AY,CREDNL\r
+       STA     Z,TEMP1                 ;LEFT SCORE POINTER\r
+       LDA     AY,CREDNL+1\r
+       STA     Z,TEMP1+1\r
+       LDA     AY,CREDNR\r
+       STA     Z,TEMP2                 ;RIGHT SCORE POINTER\r
+       LDA     AY,CREDNR+1\r
+       STA     Z,TEMP2+1\r
+       LDA     Z,CREDIT                ;OVERWRITE CORRECT CREDIT\r
+       STA     Z,OLDCRED\r
+       LSR                             ;WHOLE CREDITS\r
+       CMP     I,4                     ;OUTPUT 4 MAX CREDITS\r
+       BCC     10$                     ;CREDITS < 4\r
+       LDA     I,4                     ;CREDITS > 4, SET TO 4\r
+10$:   ORA     I,60\r
+       LDY     I,0\r
+       STA     NY,TEMP1                ;STORE INTO PF\r
+       ORA     I,200                   ;FLIP IT\r
+       STA     NY,TEMP2                ;STORE INTO PF\r
+20$:   RTS\r
+       .PAGE\r
+       .SBTTL  TABLES AND MESSAGES\r
+RATIO: .BYTE   14,10,6,5                       ;GEAR RATIOS FOR RPM SOUNDS\r
+TUP:   .BYTE   46,70,113,136\r
+MAXVEL:        .BYTE   240,^H0D0,220,^H0C0,200,^H0B0,160,^H0A0\r
+VPOSTAB        =MAXVEL+1\r
+       .BYTE   0,0,0,0                 ;1ST 2K CHECKSUMS\r
+;\r
+;      VERTICAL AND HORIZONTAL SINE-COSINE TABLES\r
+;\r
+       .MACRO  VHTAB Q,R,S,T\r
+       .BYTE   Q*2&255.,R*2&255.,S*2&255.,T*2&255.\r
+       .ENDM\r
+VOFF:\r
+       VHTAB   -11.,-11.,-10.,-9.\r
+       VHTAB   -8.,-6.,-4.,-2.\r
+HOFF:\r
+       VHTAB   0,2,4,6\r
+       VHTAB   8.,9.,10.,11.\r
+       VHTAB   11.,11.,10.,9.\r
+       VHTAB   8.,6,4,2\r
+       VHTAB   0,-2,-4,-6\r
+       VHTAB   -8.,-9.,-10.,-11.\r
+       VHTAB   -11.,-11.,-10.,-9.\r
+       VHTAB   -8.,-6,-4,-2\r
+       .MACRO  ATAB A,B,C,D\r
+       .WORD   A*4096.+<B*256.&4095.+<C*16.+<D&15.>&255.>>\r
+       .ENDM\r
+;\r
+;ACCELERATION TABLES\r
+;\r
+       .ENABL  M68\r
+ACTAB:\r
+       ATAB    7,1,1,1                 ;0-1\r
+       ATAB    6,2,1,1                 ;2-3\r
+       ATAB    4,3,1,1                 ;4-5\r
+       ATAB    2,5,2,1                 ;6\r
+       ATAB    0,4,2,1                 ;8\r
+       ATAB    -1,3,2,1                ;10\r
+       ATAB    -2,2,3,1                ;12\r
+       ATAB    -3,1,4,1                ;14\r
+       ATAB    -3,0,4,1                ;16\r
+       ATAB    -4,-1,3,2               ;18\r
+       ATAB    -5,-2,1,2               ;20\r
+       ATAB    -5,-2,1,3               ;22\r
+       ATAB    -6,-2,0,3               ;24\r
+       ATAB    -7,-3,-1,2              ;26\r
+       ATAB    -7,-3,-2,2              ;28\r
+       ATAB    -7,-4,-3,1              ;30\r
+;\r
+;DECELERATION TABLES\r
+;\r
+DACTAB:\r
+       ATAB    0,0,0,0                 ;0-1\r
+       ATAB    -2,-1,-1,-1             ;2\r
+       ATAB    -4,-1,-1,-1             ;4\r
+       ATAB    -6,-2,-1,-1             ;6\r
+       ATAB    -7,-2,-1,-1             ;8\r
+       ATAB    -7,-3,-2,-1             ;10\r
+       ATAB    -7,-3,-2,-1             ;12\r
+       ATAB    -7,-4,-2,-1             ;14\r
+       ATAB    -7,-4,-2,-1             ;16\r
+       ATAB    -7,-5,-3,-2             ;18\r
+       ATAB    -7,-5,-3,-2             ;20\r
+       ATAB    -7,-6,-4,-2             ;22\r
+       ATAB    -7,-6,-5,-2             ;24\r
+       ATAB    -7,-7,-5,-3             ;26\r
+       ATAB    -7,-7,-6,-4             ;28\r
+       ATAB    -7,-7,-6,-5             ;30\r
+       .DSABL  M68\r
+       .RADIX  16\r
+;TABLE FOR SPR2 TO SPR4 CODE CONVERSIONS\r
+CONTAB:        .BYTE   20\r
+       .BYTE   60\r
+       .BYTE   0A0\r
+       .BYTE   0E0\r
+       .BYTE   22\r
+       .BYTE   62\r
+       .BYTE   0A2\r
+       .BYTE   0E2\r
+;\r
+;TABLE OF PLAYFIELD ADDRESS FOR THE SCORE\r
+;\r
+SCADD1:        .WORD   8.+PF\r
+       .WORD   25.+PF\r
+       .WORD   27.*32.+23.+PF\r
+       .WORD   27.*32.+6.+PF\r
+       .RADIX  8\r
+ROTEN1:        .BYTE   300\r
+SCRIN1:        .BYTE   -1\r
+       .BYTE   200\r
+       .BYTE   -1\r
+       .BYTE   100\r
+       .BYTE   1\r
+       .BYTE   0\r
+       .BYTE   1\r
+\r
+       .RADIX  8\r
+PRRAM  =0\r
+PRCNT  =2\r
+PRCOIN =4\r
+PUCNT  =6\r
+PUCOIN =8.\r
+PRGER  =10.\r
+PRENG  =12.\r
+PUGER  =14.\r
+PUENG  =16.\r
+;\r
+;RIGHT SIDE UP MESSAGES\r
+;\r
+MPOINT: .WORD  13.*32.+9.+PF           ;RAM OF\r
+       .WORD   16.*32.+6+PF            ;COUND DOWN\r
+       .WORD   20.*32.+7+PF            ;COIN PER PLAYER\r
+;\r
+;UP SIDE DOWN MESSAGES\r
+;\r
+       .WORD   10.*32.+24.+PF          ;COUNT DOWN\r
+       .WORD   6*32.+23.+PF            ;COIN PER PLAYER\r
+\r
+;\r
+;RIGHT SIDE UP CREDIT MESSAGES\r
+;\r
+       .WORD   24.*32.+4+PF            ;GERMAN\r
+       .WORD   24.*32.+6+PF            ;FRENCH,SPANISH,ENGLISH\r
+;\r
+;UPSIDE DOWN CREDIT MESSAGES\r
+;\r
+       .WORD   2.*32.+27.+PF           ;GERMAN\r
+       .WORD   2.*32.+25.+PF           ;FRENCH,SPANISH,ENGLISH\r
+\r
+       .WORD   2*32.+9.+PF\r
+       .WORD   2*32.+26.+PF\r
+       .WORD   25.*32.+22.+PF\r
+       .WORD   25.*32.+5+PF\r
+;\r
+;LANGUAGE INDEXES FOR PF ADDRESSES\r
+;\r
+CREDL:\r
+       .BYTE   PRGER                   ;GERMAN\r
+       .BYTE   PRENG                   ;FRENCH\r
+       .BYTE   PRENG                   ;SPANISH\r
+       .BYTE   PRENG                   ;ENGLISH\r
+CREDR:\r
+       .BYTE   PUGER                   ;GERMAN\r
+       .BYTE   PUENG                   ;FRENCH\r
+       .BYTE   PUENG                   ;SPANISH\r
+       .BYTE   PUENG                   ;ENGLISH\r
+;\r
+;ADDRESS OF CREDIT, RIGHT SIDE UP\r
+;\r
+CREDNL:        .WORD   24.*32.+3.+PF           ;GERMAN\r
+       .WORD   24.*32.+18.+PF          ;FRENCH\r
+       .WORD   24.*32.+6.+PF           ;SPANISH\r
+       .WORD   24.*32.+17.+PF          ;ENGLISH\r
+;ADDRESS OF UPSIDE DOWN CREDIT\r
+CREDNR:        .WORD   2*32.+28.+PF            ;GERMAN\r
+       .WORD   2*32.+13.+PF            ;FRENCH\r
+       .WORD   2*32.+25.+PF            ;SPANISH\r
+       .WORD   2*32.+14.+PF            ;ENGLISH\r
+MESSPT:\r
+       .WORD   MES12                   ;GERMAN\r
+       .WORD   MES13\r
+       .WORD   MES14\r
+       .WORD   MES4\r
+       .WORD   MES15\r
+\r
+       .WORD   MES9                    ;FRENCH\r
+       .WORD   MES7\r
+       .WORD   MES8\r
+       .WORD   MES4\r
+       .WORD   MES16\r
+\r
+       .WORD   MES10                   ;SPANISH\r
+       .WORD   MES5\r
+       .WORD   MES6\r
+       .WORD   MES4\r
+       .WORD   MES17\r
+\r
+       .WORD   MES0                    ;ENGLISH\r
+       .WORD   MES2\r
+       .WORD   MES3\r
+       .WORD   MES4\r
+       .WORD   MES11\r
+       .WORD   MES18\r
+       .WORD   MES19\r
+\r
+MES0:  .ASCIN  / SECONDS UNTIL START/\r
+MES2:  .ASCIN  /1 COIN PER PLAYER/  \r
+MES3:  .ASCIN  /2 COINS PER PLAYER/  \r
+MES4:  .ASCIN  /RAM OK ROM OK/\r
+MES5:  .ASCIN  /1 MONEDA POR JUGADOR/\r
+MES6:  .ASCIN  /2 MONEDAS POR JUGADOR/\r
+MES7:  .ASCIN  /1 PIECE PAR JOUEUR/\r
+MES8:  .ASCIN  /2 PIECES PAR JOUEUR/\r
+MES9:  .ASCIN  / SECONDES DEPART/\r
+MES10: .ASCIN  / SEGUNDOS DE ESPERA/\r
+MES11:  .ASCIN  /CREDIT FOR   PLAYERS/\r
+MES12: .ASCIN  / SEKUNDEN/\r
+MES13: .ASCIN  /1 MUENZE PRO SPIELER/\r
+MES14: .ASCIN  /2 MUENZE PRO SPIELER/\r
+MES15: .ASCIN  / SPIELER HABEN GUTSCHRIFT/\r
+MES16: .ASCIN  /CREDIT POUR   JOUEURS/\r
+MES17: .ASCIN  /  JUGADORES AVENTAJAN/\r
+MES18: .ASCIN  /BONUS/\r
+MES19: .ASCIN  /     /\r
+       .BYTE   ^H82            ;LAST 2K CHECKSUM\r
+       .IIF    NE,.-MAINT&1 .BYTE 0\r
+       .VCTRS  ^H03FFA,NMIINT,PWRON,PWRON\r
+       .END\r
+       .WORD   NMIINT,PWRON,PWRON\r
+       .END\r
+\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
\ No newline at end of file