]> github.com/historicalsource and other repositories - sprint-1.git/commitdiff
First commit main
authorHistorical Source <49599193+historicalsource@users.noreply.github.com>
Thu, 14 Oct 2021 06:30:50 +0000 (02:30 -0400)
committerHistorical Source <49599193+historicalsource@users.noreply.github.com>
Thu, 14 Oct 2021 06:30:50 +0000 (02:30 -0400)
13 files changed:
A06388.XX [new file with mode: 0644]
A06396.RBN [new file with mode: 0644]
A06397.RBN [new file with mode: 0644]
A06398.RBN [new file with mode: 0644]
A06399.RBN [new file with mode: 0644]
A06400.RBN [new file with mode: 0644]
A06401.RBN [new file with mode: 0644]
A06434.02 [new file with mode: 0644]
A06434.XX [new file with mode: 0644]
SPDIAG.INS [new file with mode: 0644]
SPDIAG.MAC [new file with mode: 0644]
SPRINT.DIR [new file with mode: 0644]
SPRINT.MAP [new file with mode: 0644]

diff --git a/A06388.XX b/A06388.XX
new file mode 100644 (file)
index 0000000..4d2d9f2
--- /dev/null
+++ b/A06388.XX
@@ -0,0 +1,379 @@
+       .TITLE  FIELD4\r
+SAP1   =2440\r
+SAP2   =2140\r
+SAP3   =2140\r
+SAP4   =2140\r
+SAP5   =2140\r
+SAP6   =2140\r
+SAP7   =2140\r
+SAP8   =2140\r
+SAP9   =2140\r
+SAP10  =2140\r
+SAP11  =2140\r
+SAP12  =2140\r
+OF     =2200\r
+;\r
+;TRACK 1\r
+;\r
+       .ASECT\r
+.      =20000\r
+       .EVEN\r
+       .WORD   SAD1,EAD1,SAP1\r
+SAD1:  .BYTE   77,314,314,314,314,314,223,104,125,137,314,314,314,314,314,225\r
+       .BYTE   373,42,43,63,104,104,331,105,125,373,42,42,43,64,104,331\r
+       .BYTE   242,42,42,64,104,104,116,145,137,262,22,42,42,64,104,116\r
+       .BYTE   242,41,22,42,104,104,116,145,373,21,22,42,42,44,124,116\r
+       .BYTE   242,43,42,42,103,64,116,157,261,21,42,42,41,43,103,116\r
+       .BYTE   242,60,1,203,104,63,116,373,21,21,21,21,370,63,104,116\r
+       .BYTE   241,0,16,12,64,104,115,261,21,21,21,37,262,244,104,116\r
+       .BYTE   240,0,16,152,63,63,63,21,22,41,21,373,22,244,104,116\r
+       .BYTE   240,0,16,152,63,43,61,21,42,41,37,261,22,244,104,116\r
+       .BYTE   240,0,16,152,42,42,21,42,41,21,373,21,22,244,124,116\r
+       .BYTE   240,0,15,235,221,21,22,41,21,37,261,21,37,265,124,116\r
+       .BYTE   240,160,7,334,314,314,314,314,314,314,314,314,313,125,124,116\r
+       .BYTE   240,0,166,146,146,146,146,146,146,146,145,126,146,146,144,116\r
+       .BYTE   240,1,146,146,146,146,167,146,146,146,146,146,146,146,145,136\r
+       .BYTE   240,0,166,146,146,146,146,146,167,146,146,146,146,146,145,136\r
+       .BYTE   240,0,167,146,146,146,145,126,146,146,146,146,146,146,146,156\r
+       .BYTE   331,0,7,166,146,146,146,146,146,146,146,146,167,146,146,373\r
+       .BYTE   35,210,210,210,210,210,210,210,210,210,210,210,210,210,210,267\r
+;\r
+;TRACK 2\r
+;\r
+       .EVEN\r
+EAD1:  .WORD   SAD2,EAD2,SAP2\r
+SAD2:  .BYTE   77,314,314,314,311,42,63,63,63,62,43,374,314,314,314,225\r
+       .BYTE   373,63,63,104,115,222,43,63,63,63,77,263,63,64,104,331\r
+       .BYTE   242,43,63,64,104,343,374,314,314,311,52,43,63,64,104,116\r
+       .BYTE   242,42,63,63,104,357,263,63,104,115,232,42,63,64,104,116\r
+       .BYTE   242,42,43,63,104,353,43,63,104,104,332,42,43,64,104,116\r
+       .BYTE   242,42,42,63,64,342,42,63,104,104,132,22,22,64,104,116\r
+       .BYTE   241,21,36,43,63,61,42,43,64,104,132,22,27,244,104,116\r
+       .BYTE   241,21,16,42,43,21,21,21,64,105,132,21,7,244,104,116\r
+       .BYTE   241,20,16,42,42,21,21,20,244,105,132,20,7,244,104,116\r
+       .BYTE   242,0,16,222,41,21,21,17,263,105,132,0,7,244,104,116\r
+       .BYTE   240,0,16,331,21,21,20,373,63,65,373,0,7,244,104,116\r
+       .BYTE   240,0,16,175,210,210,210,243,63,63,261,0,7,244,104,116\r
+       .BYTE   240,0,16,167,146,146,146,242,42,42,21,0,7,244,104,116\r
+       .BYTE   240,0,16,167,146,146,146,242,42,42,21,0,17,244,104,116\r
+       .BYTE   240,0,16,167,146,146,146,242,42,41,21,0,373,244,104,116\r
+       .BYTE   240,0,16,167,146,146,146,331,42,21,21,17,265,244,104,116\r
+       .BYTE   240,0,15,227,146,146,146,155,210,210,210,213,137,265,104,116\r
+       .BYTE   240,0,7,334,314,314,314,314,314,314,314,314,313,125,104,116\r
+;\r
+;TRACK 3\r
+;\r
+       .EVEN\r
+EAD2:  .WORD   SAD3,EAD3,SAP3\r
+SAD3:  .BYTE   77,314,314,314,314,314,225,103,374,314,314,314,314,314,314,225\r
+       .BYTE   373,42,43,63,64,104,331,77,262,42,43,63,63,63,104,331\r
+       .BYTE   242,42,42,63,64,104,115,213,42,42,42,63,63,63,104,116\r
+       .BYTE   242,42,42,43,64,104,104,342,42,42,42,43,63,64,104,116\r
+       .BYTE   242,42,42,42,64,104,104,342,42,42,41,42,63,104,104,116\r
+       .BYTE   241,21,21,374,224,104,104,341,21,21,20,374,223,104,104,116\r
+       .BYTE   241,21,20,331,244,104,104,341,21,21,0,241,331,104,104,116\r
+       .BYTE   241,21,7,175,244,104,105,341,21,20,160,331,52,104,104,116\r
+       .BYTE   241,37,227,167,244,104,125,341,21,0,167,175,232,104,104,116\r
+       .BYTE   241,12,340,7,243,104,125,351,20,0,0,167,332,104,104,116\r
+       .BYTE   240,15,261,7,243,64,105,355,220,0,0,167,172,104,104,116\r
+       .BYTE   240,167,20,17,263,64,104,242,240,0,7,7,172,104,104,116\r
+       .BYTE   240,7,21,373,63,63,63,314,21,10,0,0,172,104,104,116\r
+       .BYTE   240,167,20,342,42,42,42,41,20,340,240,0,172,104,104,136\r
+       .BYTE   240,0,20,342,42,42,42,21,0,34,20,0,172,104,105,136\r
+       .BYTE   240,167,20,331,42,42,42,42,42,41,20,0,373,124,105,116\r
+       .BYTE   240,0,20,175,221,21,21,21,21,21,20,17,265,124,124,116\r
+       .BYTE   240,167,160,167,334,314,314,314,314,314,314,313,125,124,124,116\r
+;\r
+;TRACK 4\r
+;\r
+       .EVEN\r
+EAD3:  .WORD   SAD4,EAD4,SAP4\r
+SAD4:  .BYTE   117,314,314,314,314,314,314,314,314,314,314,314,314,314,314,225\r
+       .BYTE   373,42,42,42,42,42,42,42,42,42,42,42,63,63,104,331\r
+       .BYTE   242,42,42,22,41,42,22,63,63,62,50,42,43,63,104,116\r
+       .BYTE   242,42,42,42,42,42,42,43,63,63,330,262,42,63,104,116\r
+       .BYTE   242,42,42,42,42,42,42,42,43,63,42,42,42,43,104,136\r
+       .BYTE   241,21,21,374,314,314,314,314,311,42,42,21,37,311,105,136\r
+       .BYTE   241,21,37,264,104,105,125,125,155,221,21,21,373,373,125,136\r
+       .BYTE   241,21,16,64,104,105,125,126,146,334,314,314,314,265,125,136\r
+       .BYTE   241,20,16,63,104,105,125,146,146,146,146,146,146,146,146,156\r
+       .BYTE   241,0,16,63,64,105,126,146,146,146,146,146,146,146,146,156\r
+       .BYTE   240,0,16,63,63,105,211,167,166,146,146,146,146,146,146,156\r
+       .BYTE   240,0,16,63,63,76,75,227,167,146,146,147,167,167,167,373\r
+       .BYTE   240,0,16,42,43,75,314,314,314,314,314,314,314,314,314,245\r
+       .BYTE   240,0,16,42,42,42,42,42,42,42,42,43,63,104,104,331\r
+       .BYTE   240,0,16,42,42,42,42,42,42,42,42,42,63,104,105,136\r
+       .BYTE   240,0,15,222,42,42,42,42,42,42,42,42,43,104,125,136\r
+       .BYTE   240,0,7,331,21,21,21,21,21,21,21,42,42,105,125,136\r
+       .BYTE   240,0,7,175,314,314,314,314,314,314,314,314,314,125,125,136\r
+;\r
+;TRACK 5\r
+;\r
+       .EVEN\r
+EAD4:  .WORD   SAD5,EAD5,SAP5\r
+SAD5:  .BYTE   77,314,314,314,314,314,314,314,314,314,314,314,314,314,314,225\r
+       .BYTE   373,42,42,42,42,42,43,62,42,42,42,43,63,64,104,331\r
+       .BYTE   242,42,42,41,42,42,42,43,42,42,42,42,63,64,104,116\r
+       .BYTE   242,42,41,22,42,42,42,42,43,42,42,42,43,64,104,136\r
+       .BYTE   242,42,42,42,42,42,42,42,42,42,21,42,42,64,105,136\r
+       .BYTE   241,21,37,210,210,210,210,210,210,210,210,210,210,104,125,136\r
+       .BYTE   241,21,7,146,125,125,125,135,221,21,373,125,125,125,125,136\r
+       .BYTE   241,20,7,166,146,146,146,146,331,37,265,125,125,146,146,156\r
+       .BYTE   241,0,7,167,146,146,146,146,156,373,104,125,126,146,146,156\r
+       .BYTE   331,0,7,167,166,147,167,146,156,263,104,105,146,146,146,156\r
+       .BYTE   35,220,7,167,167,167,167,166,373,63,64,106,146,146,146,156\r
+       .BYTE   77,314,314,314,300,7,167,177,263,63,63,110,210,210,210,213\r
+       .BYTE   373,42,42,42,41,20,167,373,42,42,42,43,63,64,104,331\r
+       .BYTE   242,42,42,42,21,20,17,242,42,42,42,42,63,64,104,116\r
+       .BYTE   242,42,42,21,21,0,373,242,42,42,42,42,43,64,104,136\r
+       .BYTE   242,42,41,21,20,17,265,331,42,42,42,42,42,64,105,136\r
+       .BYTE   241,21,21,21,0,373,125,135,221,21,21,21,21,44,125,136\r
+       .BYTE   241,21,21,334,314,314,314,314,314,314,314,314,314,265,125,136\r
+;\r
+;TRACK 6\r
+;\r
+       .EVEN\r
+EAD5:  .WORD   SAD6,EAD6,SAP6\r
+SAD6:  .BYTE   77,314,314,314,225,77,314,314,314,314,314,314,314,314,314,225\r
+       .BYTE   373,63,64,104,331,373,42,42,42,42,42,43,63,64,104,331\r
+       .BYTE   242,43,64,104,115,242,42,42,42,42,42,42,63,64,104,116\r
+       .BYTE   242,42,63,104,105,242,42,42,42,42,42,42,43,64,104,116\r
+       .BYTE   242,42,43,104,105,241,21,21,37,210,210,210,223,64,104,116\r
+       .BYTE   241,21,343,104,105,241,21,21,373,125,125,125,331,64,104,116\r
+       .BYTE   241,20,343,104,105,241,21,37,265,125,125,146,155,224,104,116\r
+       .BYTE   241,0,343,104,105,241,20,16,125,125,125,146,146,244,104,116\r
+       .BYTE   240,0,343,64,105,241,0,7,125,125,126,146,146,244,104,116\r
+       .BYTE   240,0,343,63,105,240,0,7,146,146,132,167,167,244,104,116\r
+       .BYTE   240,0,343,63,64,240,0,7,166,146,373,7,167,244,104,116\r
+       .BYTE   240,0,343,63,63,331,0,167,167,157,261,0,167,244,104,116\r
+       .BYTE   240,0,343,63,63,75,314,314,314,313,21,0,7,244,104,116\r
+       .BYTE   240,0,342,42,42,42,42,42,42,41,21,0,0,244,104,116\r
+       .BYTE   240,0,342,42,42,42,42,42,42,21,21,0,0,244,104,116\r
+       .BYTE   240,0,331,42,42,42,42,42,41,21,21,0,17,265,104,116\r
+       .BYTE   240,0,175,221,21,21,21,21,21,21,21,0,373,125,104,116\r
+       .BYTE   240,0,167,334,314,314,314,314,314,314,314,314,265,125,104,116\r
+;\r
+;TRACK 7\r
+;\r
+       .EVEN\r
+EAD6:  .WORD   SAD7,EAD7,SAP7\r
+SAD7:  .BYTE   77,314,314,314,314,314,314,314,314,314,314,314,314,314,314,225\r
+       .BYTE   373,104,105,125,126,146,146,146,146,146,146,146,146,146,146,331\r
+       .BYTE   244,104,105,125,146,146,146,146,146,146,146,146,146,146,146,156\r
+       .BYTE   244,104,105,125,146,146,146,146,146,146,146,146,146,146,146,156\r
+       .BYTE   243,104,104,137,210,210,210,210,210,210,210,210,210,227,167,176\r
+       .BYTE   243,63,104,115,237,263,63,63,63,63,63,75,237,260,167,176\r
+       .BYTE   331,63,64,104,333,42,42,42,43,63,63,63,333,20,7,176\r
+       .BYTE   35,223,63,104,102,42,42,42,42,63,62,42,41,20,0,176\r
+       .BYTE   21,331,63,64,22,42,42,42,42,42,42,42,21,20,0,16\r
+       .BYTE   21,35,223,63,21,21,37,210,210,211,42,41,21,20,0,16\r
+       .BYTE   0,1,341,23,23,63,72,21,21,35,222,21,21,20,0,373\r
+       .BYTE   0,17,261,23,63,63,75,223,63,63,330,210,210,210,210,267\r
+       .BYTE   0,373,21,20,63,63,63,334,314,314,314,314,314,314,314,225\r
+       .BYTE   17,261,21,7,42,42,42,42,42,42,42,42,63,64,104,331\r
+       .BYTE   373,21,20,7,371,42,42,42,42,42,42,42,43,64,104,116\r
+       .BYTE   241,21,20,17,275,222,42,42,42,42,42,42,42,64,104,116\r
+       .BYTE   241,20,0,373,125,331,21,21,21,21,21,21,42,44,104,116\r
+       .BYTE   241,0,0,174,314,314,314,314,314,314,314,314,314,264,104,116\r
+;\r
+;TRACK 8\r
+;\r
+       .EVEN\r
+EAD7:  .WORD   SAD8,EAD8,SAP8\r
+SAD8:  .BYTE   77,314,314,314,314,311,123,374,314,314,314,314,314,314,314,225\r
+       .BYTE   373,43,63,64,104,115,237,262,42,42,42,43,63,104,104,331\r
+       .BYTE   242,42,63,64,104,104,353,42,42,42,42,42,63,104,104,136\r
+       .BYTE   242,42,43,64,104,104,342,42,42,42,42,42,43,104,105,136\r
+       .BYTE   242,42,42,64,104,104,342,42,42,42,41,21,22,104,125,136\r
+       .BYTE   241,21,20,244,104,104,341,21,21,37,210,210,210,105,125,136\r
+       .BYTE   241,21,7,244,104,104,341,21,20,12,21,373,104,125,125,156\r
+       .BYTE   241,20,7,244,104,104,341,21,0,15,237,264,104,125,126,156\r
+       .BYTE   241,0,7,243,104,104,341,20,0,167,353,64,104,125,146,156\r
+       .BYTE   240,0,7,243,64,104,351,20,7,167,343,63,104,126,146,373\r
+       .BYTE   240,0,7,243,63,104,355,220,7,167,343,63,64,146,157,267\r
+       .BYTE   240,0,7,243,63,63,330,260,0,167,343,63,63,74,314,225\r
+       .BYTE   240,0,7,242,42,42,42,20,0,7,342,63,63,104,104,331\r
+       .BYTE   240,0,7,242,42,42,41,20,0,0,342,43,63,104,104,116\r
+       .BYTE   240,0,7,242,42,42,21,20,0,0,351,42,43,104,104,116\r
+       .BYTE   240,0,7,242,42,41,21,20,0,17,275,222,42,104,104,116\r
+       .BYTE   240,0,7,331,21,21,21,20,0,373,125,331,42,105,104,116\r
+       .BYTE   240,0,7,175,314,314,314,314,314,314,314,314,314,125,104,116\r
+;\r
+;TRACK 9\r
+;\r
+       .EVEN\r
+EAD8:  .WORD   SAD9,EAD9,SAP9\r
+SAD9:  .BYTE   77,314,314,314,314,314,314,314,314,314,223,374,314,314,314,225\r
+       .BYTE   373,42,42,42,42,42,43,63,64,104,330,262,63,64,104,331\r
+       .BYTE   242,42,42,42,42,42,42,43,64,105,132,42,43,64,104,116\r
+       .BYTE   242,42,42,42,42,42,42,42,64,125,132,42,42,64,104,116\r
+       .BYTE   241,21,21,370,210,210,210,210,205,125,132,21,21,364,104,116\r
+       .BYTE   241,21,37,264,104,105,125,126,146,146,152,21,20,344,104,116\r
+       .BYTE   241,21,373,104,104,125,126,146,146,146,152,21,0,344,104,116\r
+       .BYTE   241,20,343,104,104,125,146,146,146,146,372,20,0,344,104,116\r
+       .BYTE   241,20,343,104,104,126,146,146,167,177,272,0,0,344,104,116\r
+       .BYTE   240,0,343,104,104,137,314,314,314,314,232,0,0,344,104,116\r
+       .BYTE   240,0,343,64,104,373,43,63,63,104,332,0,0,344,104,116\r
+       .BYTE   240,0,343,63,104,342,42,63,63,64,112,0,0,344,104,116\r
+       .BYTE   240,0,343,63,64,342,42,43,63,63,112,0,0,344,104,116\r
+       .BYTE   240,0,342,42,42,41,21,37,62,42,41,0,0,344,104,116\r
+       .BYTE   240,0,342,42,42,21,21,16,42,42,21,0,0,344,104,116\r
+       .BYTE   240,0,331,42,41,21,20,16,222,41,21,0,0,344,104,116\r
+       .BYTE   240,0,175,221,21,21,0,373,331,21,21,0,17,265,104,116\r
+       .BYTE   240,0,167,334,314,314,314,314,314,314,314,314,313,125,104,116\r
+;\r
+;TRACK 10\r
+;\r
+       .EVEN\r
+EAD9:  .WORD   SAD10,EAD10,SAP10\r
+SAD10: .BYTE   77,314,314,314,314,314,314,225,103,374,314,314,314,314,314,225\r
+       .BYTE   373,104,105,125,146,146,146,331,117,262,42,43,63,64,104,331\r
+       .BYTE   244,104,105,126,146,146,146,156,112,42,42,42,63,64,104,116\r
+       .BYTE   243,104,105,146,146,146,146,156,112,42,42,42,43,64,104,116\r
+       .BYTE   243,64,117,210,210,227,167,176,112,21,21,37,311,63,104,116\r
+       .BYTE   243,63,112,63,167,340,167,176,112,21,21,15,235,223,104,116\r
+       .BYTE   243,63,75,314,314,300,7,175,314,221,20,7,331,244,104,116\r
+       .BYTE   243,63,63,63,63,63,0,43,64,331,20,7,175,244,104,116\r
+       .BYTE   242,42,42,43,43,42,1,42,64,115,220,7,167,244,104,116\r
+       .BYTE   331,42,42,42,42,42,2,42,64,104,331,0,167,244,104,116\r
+       .BYTE   76,210,210,210,210,201,7,177,223,104,132,0,167,244,104,116\r
+       .BYTE   373,63,63,75,223,340,7,176,343,64,132,0,7,244,104,116\r
+       .BYTE   242,42,63,63,330,260,7,176,263,63,112,0,7,244,104,116\r
+       .BYTE   242,42,42,42,42,20,7,176,63,63,61,0,7,244,104,116\r
+       .BYTE   242,42,42,42,41,20,7,176,42,42,41,20,7,244,104,116\r
+       .BYTE   241,21,30,222,21,20,7,176,42,42,21,20,17,265,104,116\r
+       .BYTE   241,21,341,331,21,20,7,374,221,21,21,20,373,125,104,116\r
+       .BYTE   241,20,174,314,314,314,314,314,314,314,314,314,265,125,104,116\r
+;\r
+;TRACK 11\r
+;\r
+       .EVEN\r
+EAD10: .WORD   SAD11,EAD11,SAP11\r
+SAD11: .BYTE   77,314,314,314,314,314,314,314,314,314,225,77,314,314,314,225\r
+       .BYTE   373,42,42,42,42,42,63,63,64,104,331,373,63,64,104,331\r
+       .BYTE   242,42,42,42,42,42,43,63,64,104,116,262,43,64,104,116\r
+       .BYTE   242,42,42,42,42,42,42,63,64,104,116,42,42,64,104,116\r
+       .BYTE   241,21,10,210,210,210,210,223,64,104,116,42,42,44,104,116\r
+       .BYTE   241,20,6,145,125,125,125,331,64,104,116,42,21,344,104,116\r
+       .BYTE   241,20,7,146,125,125,125,135,224,104,116,41,20,344,104,116\r
+       .BYTE   241,0,7,166,146,146,146,146,343,104,116,21,0,344,104,116\r
+       .BYTE   331,0,7,167,146,146,146,146,343,104,116,20,0,344,104,116\r
+       .BYTE   35,210,210,210,211,167,167,167,343,104,116,0,0,344,104,116\r
+       .BYTE   77,263,63,64,115,227,167,167,343,64,116,0,0,344,104,116\r
+       .BYTE   373,42,42,63,104,340,7,167,343,63,116,0,0,344,104,116\r
+       .BYTE   242,42,42,43,64,340,0,167,343,63,75,0,0,344,104,116\r
+       .BYTE   242,42,42,63,63,41,0,7,342,42,41,0,0,344,104,116\r
+       .BYTE   241,21,12,42,42,21,0,0,342,42,21,0,0,344,104,116\r
+       .BYTE   241,20,12,42,41,21,0,17,311,41,21,0,17,265,104,116\r
+       .BYTE   241,0,15,221,21,21,0,373,115,221,21,0,373,125,104,116\r
+       .BYTE   240,0,7,334,314,314,314,314,314,314,314,314,265,125,104,116\r
+;\r
+;TRACK 12\r
+;\r
+       .EVEN\r
+EAD11: .WORD   SAD12,EAD12,SAP12\r
+SAD12: .BYTE   63,77,314,314,314,314,311,123,374,314,314,314,314,314,314,225\r
+       .BYTE   63,373,63,63,64,104,135,237,262,42,42,42,43,63,104,331\r
+       .BYTE   77,262,42,63,64,104,125,332,42,42,42,42,42,63,104,136\r
+       .BYTE   373,42,42,43,64,105,125,132,42,42,42,42,42,43,105,136\r
+       .BYTE   241,21,21,37,104,105,125,132,21,21,30,210,210,204,125,136\r
+       .BYTE   241,21,21,373,104,105,125,373,21,20,357,265,125,126,146,156\r
+       .BYTE   241,21,37,264,104,105,137,261,21,0,353,125,125,146,146,156\r
+       .BYTE   241,21,16,64,104,105,373,21,21,17,264,125,125,146,146,373\r
+       .BYTE   241,20,16,64,104,117,261,21,20,373,104,125,137,210,210,245\r
+       .BYTE   241,0,16,63,104,116,21,21,17,264,104,105,373,63,104,331\r
+       .BYTE   240,0,16,63,64,116,21,20,172,64,104,137,263,63,104,116\r
+       .BYTE   240,0,16,63,63,116,21,0,172,63,104,373,43,63,104,116\r
+       .BYTE   240,0,16,63,63,62,20,0,172,63,64,262,42,63,104,116\r
+       .BYTE   240,0,16,42,42,41,20,0,172,42,42,42,42,43,104,116\r
+       .BYTE   240,0,16,42,42,21,20,0,372,42,42,21,21,363,104,116\r
+       .BYTE   240,0,15,222,41,21,0,17,275,222,41,21,37,272,104,116\r
+       .BYTE   240,0,7,331,21,21,0,373,125,331,21,21,373,373,124,116\r
+       .BYTE   240,0,7,175,314,314,314,314,314,314,314,314,314,265,124,116\r
+EAD12: .BYTE   0\r
+       .BYTE   223             ;FILLER FOR EVEN SPACING\r
+       .EVEN\r
+TRKTAB:        .WORD   CKTAB0,CKTAB1,CKTAB2\r
+       .WORD   CKTAB3,CKTAB4,CKTAB5\r
+       .WORD   CKTAB6,CKTAB7,CKTAB8\r
+       .WORD   CKTAB9,CKTA10,CKTA11\r
+CKTAB0:        .WORD   CK10,CK20,CK30,CK40,FINI\r
+CKTAB1:        .WORD   CK10,CK21,CK31,CK45,FINI\r
+CKTAB2:        .WORD   CK10,CK22,CK32,CK4B,FINI\r
+CKTAB3:        .WORD   CK10,CK32,CK33,CK43,FINI\r
+CKTAB4:        .WORD   CK14,CK24,CK34,CK44,FINI\r
+CKTAB5:        .WORD   CK15,CK25,CK35,CK45,FINI\r
+CKTAB6:        .WORD   CK10,CK26,CK36,CK46,FINI\r
+CKTAB7:        .WORD   CK10,CK27,CK37,CK47,FINI\r
+CKTAB8:        .WORD   CK15,CK28,CK38,CK45,FINI\r
+CKTAB9:        .WORD   CK15,CK25,CK39,CK45,FINI\r
+CKTA10:        .WORD   CK15,CK25,CK39,CK45,FINI\r
+CKTA11:        .WORD   CK15,CK2B,CK3B,CK4B,FINI\r
+CK10:  .BYTE   157,156,155,154\r
+CK20:  .BYTE   174,173,172,171\r
+CK30:  .BYTE   203,203,223,243\r
+CK40:  .BYTE   140,140,141,142\r
+FINI:  .BYTE   47,67,107,127\r
+CK21:  .BYTE   212,232,252,272\r
+CK31:  .BYTE   125,145,165,205\r
+CK22:  .BYTE   230,231,232,233\r
+CK32:  .BYTE   244,264,304,324\r
+CK33:  .BYTE   211,231,251,271\r
+CK43:  .BYTE   124,124,144,164\r
+CK14:  .BYTE   133,153,173,213\r
+CK24:  .BYTE   274,274,314,334\r
+CK34:  .BYTE   263,263,303,323\r
+CK44:  .BYTE   123,143,163,203\r
+CK15:  .BYTE   157,156,155,155\r
+CK25:  .BYTE   275,275,315,335\r
+CK35:  .BYTE   225,225,245,265\r
+CK45:  .BYTE   240,240,241,242\r
+CK26:  .BYTE   203,223,243,263\r
+CK36:  .BYTE   277,276,275,274\r
+CK46:  .BYTE   123,123,143,163\r
+CK27:  .BYTE   277,276,275,274\r
+CK37:  .BYTE   205,206,207,210\r
+CK47:  .BYTE   260,261,262,263\r
+CK28:  .BYTE   265,265,266,267\r
+CK38:  .BYTE   165,166,167,170\r
+CK39:  .BYTE   125,125,145,165\r
+CK2B:  .BYTE   251,252,253,254\r
+CK3B:  .BYTE   262,262,302,322\r
+CK4B:  .BYTE   140,141,142,143\r
+
+       .EVEN\r
+OILS:  .WORD   OF+522,OF+1152\r
+       .WORD   OF+573,OF+1152\r
+       .WORD   OF+362,OF+1152\r
+       .WORD   OF+716,OF+1152\r
+       .WORD   OF+111,OF+1152\r
+       .WORD   OF+607,OF+1152\r
+       .WORD   OF+317,OF+1152\r
+       .WORD   OF+1152,OF+1152\r
+       .WORD   OF+1152,OF+1152\r
+       .WORD   OF+1152,OF+1152\r
+       .WORD   OF+1152,OF+1152\r
+       .WORD   OF+1152,OF+1152\r
+;HORIZONTAL & VERTICAL OFFSET TABLES (6 BITS,-11 TO 0 TO +11)\r
+HOFF:  .BYTE   0,376,374,372,370,367,366,365\r
+       .BYTE   365,365,366,367,370,372,374,376\r
+       .BYTE   0,2,4,6,10,11,12,13\r
+       .BYTE   13,13,12,11,10,6,4,2\r
+VOFF:  .BYTE   13,13,12,11,10,6,4,2\r
+       .BYTE   0,376,374,372,370,367,366,365\r
+       .BYTE   365,365,366,367,370,372,374,376\r
+       .BYTE   0,2,4,6,10,11,12,13\r
+ATAB2: .BYTE   0,0,377,377,357,377,337,377,317,377,276,377,256,377,236,377\r
+       .BYTE   236,377,235,357,235,357,235,357,235,357,234,357,234,357,234,357\r
+       .BYTE   234,357,233,336,233,336,233,336,233,336,232,336,232,336,232,336\r
+       .BYTE   232,336,231,316,231,316,231,316,231,316,231,316,231,316,231,316\r
+ATAB1: .BYTE   161,21,161,21,141,21,142,21,123,21,64,21,45,41,5,41\r
+       .BYTE   5,41,364,41,363,61,362,61,341,61,340,101,340,101,320,101\r
+       .BYTE   337,62,337,62,317,42,317,22,317,2,276,3,276,3,276,363\r
+       .BYTE   256,363,256,363,255,363,235,362,235,342,235,342,234,341,234,340\r
+       .NLIST\r
+       .REPT   58.\r
+       .BYTE   0\r
+       .ENDM\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
\ No newline at end of file
diff --git a/A06396.RBN b/A06396.RBN
new file mode 100644 (file)
index 0000000..ffc68b0
Binary files /dev/null and b/A06396.RBN differ
diff --git a/A06397.RBN b/A06397.RBN
new file mode 100644 (file)
index 0000000..584116f
Binary files /dev/null and b/A06397.RBN differ
diff --git a/A06398.RBN b/A06398.RBN
new file mode 100644 (file)
index 0000000..76f5829
Binary files /dev/null and b/A06398.RBN differ
diff --git a/A06399.RBN b/A06399.RBN
new file mode 100644 (file)
index 0000000..17388f8
Binary files /dev/null and b/A06399.RBN differ
diff --git a/A06400.RBN b/A06400.RBN
new file mode 100644 (file)
index 0000000..3b8e3bb
Binary files /dev/null and b/A06400.RBN differ
diff --git a/A06401.RBN b/A06401.RBN
new file mode 100644 (file)
index 0000000..a280a02
Binary files /dev/null and b/A06401.RBN differ
diff --git a/A06434.02 b/A06434.02
new file mode 100644 (file)
index 0000000..d290809
--- /dev/null
+++ b/A06434.02
@@ -0,0 +1,1787 @@
+       .TITLE RATSN\r
+TRKTAB =26712\r
+OILS   =27326\r
+HOFF   =27406\r
+VOFF   =27446\r
+ATAB2  =27506\r
+ATAB1  =27606\r
+SLSD   =2052\r
+SMSD   =2051\r
+SHSD   =2050\r
+HLSD   =2073\r
+HMSD   =2072\r
+HHSD   =2071\r
+TLSD   =2074\r
+TMSD   =2073\r
+THSD   =2072\r
+PF     =2000\r
+OF     =2200\r
+SBO    =6060\r
+GP     =4053\r
+SST    =4054\r
+SBI    =4055\r
+LFREQ  =4057\r
+GTIME  =4063\r
+SPARE  =4060\r
+GEARAD =4050\r
+MODE   =4061\r
+BONUS  =4062\r
+COINAD =4100\r
+STR    =4200\r
+VEL    =0\r
+DIRECT =4\r
+HPOSL  =10\r
+VPOSL  =14\r
+HPOS   =20\r
+SOUND  =24\r
+VPOS   =30\r
+ROTATE =31\r
+CREDIT =40\r
+TEMP1  =42\r
+TEMP2  =44\r
+TEMP3  =46\r
+TEMP4  =50\r
+TEMP5  =52\r
+AUDY   =54\r
+FRAME  =60\r
+FLAGZ  =61\r
+GEAR   =62\r
+FLAGH  =63\r
+FLAGQ  =64\r
+TRKN   =65\r
+COINS  =66\r
+TOGGLE =67\r
+FLAGP  =70\r
+EXTEND =72\r
+TCOUNT =74\r
+FLAGD  =75\r
+FLAGF  =76\r
+TSAVE  =77\r
+HPOST  =100\r
+VPOST  =104\r
+TH1    =110\r
+TH2    =112\r
+TH3    =114\r
+TH4    =116\r
+TSP    =120\r
+CFLAG  =121\r
+LFLAG  =122\r
+BCD1   =124\r
+BCD2   =125\r
+BCD3   =126\r
+HS1    =127\r
+HS2    =130\r
+HS3    =131\r
+LOC    =176\r
+SK     =6020\r
+HIT    =10000\r
+STRES  =7000\r
+CRES   =6400\r
+TREST  =6200\r
+NREST  =7400\r
+RTEST  =141\r
+AMODE  =6000\r
+CRASH  =26\r
+TEST   =14000\r
+TESTV  =252\r
+       .ASECT\r
+.      =30000\r
+NMI:   PHA\r
+       TXA\r
+       PHA\r
+       CLD\r
+       LDA     Z,FRAME\r
+       BNE     S,+5\r
+       STA     A,NREST                 ;RESET NOISE CIRCUIT\r
+       BIT     A,SST\r
+       BPL     NM1\r
+       LDA     Z,RTEST\r
+       CMP     I,222                   ;1ST TIME?\r
+       BNE     N1                      ;YES\r
+       LDA     Z,RTEST-1\r
+       CMP     I,77\r
+       BNE     N1\r
+       TSX\r
+       LDA     AX,405                  ;GET PCH\r
+       CMP     I,40                    ;VALID RANGE?\r
+       BCS     NM1\r
+       CMP     I,100\r
+       BCC     NM1\r
+       CMP     I,20\r
+       BCC     PWRON                   ;NO\r
+       CMP     I,30\r
+       BCS     PWRON\r
+NM1:   PLA\r
+       TAX\r
+       PLA\r
+       RTI                             ;RETURN\r
+N1:    LDA     I,222                   ;INITIALIZE RAM LOCATION\r
+       STA     Z,RTEST\r
+       LDA     I,77\r
+       STA     Z,RTEST-1\r
+PWRON: SEI\r
+       CLD\r
+       LDX     I,177\r
+       TXS                             ;SET STACK POINTER=7F\r
+       LDA     A,TEST\r
+       CMP     I,TESTV                 ;DIAGNOSTIC PRESENT?\r
+       BEQ     TESTVJ                  ;YES, GO TO TEST\r
+       JMP     A,MAINT                 ;GO TO MAIN LOOP\r
+TESTVJ:        JSR     A,TEST\r
+MAINT: LDX     I,22.                   ;BLANK 1ST 2 LINES\r
+       JSR     A,BLANK\r
+       LDX     I,4\r
+       JSR     A,BLANK\r
+       LDX     I,12.\r
+       JSR     A,BLANK\r
+       JSR     A,SETUP                 ;INITIALIZE EVERYTHING\r
+MAIN:  JSR     A,ATRACT                ;GO TO ATTRACT MODE\r
+       JSR     A,START                 ;START GAME\r
+       JMP     A,MAIN\r
+;\r
+;ATTRACT SUBROUTINE\r
+;\r
+ATRACT:        LDA     I,0\r
+       STA     Z,TRKN\r
+       STA     Z,FLAGP\r
+       STA     A,AMODE+1               ;TURN OFF SOUND\r
+AAA:   JSR     A,TRACK                 ;OUTPUT INITIAL TRACK\r
+       JSR     A,INITIL                ;SET UP CARS\r
+       JSR     A,SCR\r
+       JSR     A,COIN\r
+       LDA     I,1\r
+       LDX     I,30.\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       LDX     Z,CFLAG\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       LDX     I,14.\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       LDX     I,16.\r
+       JSR     A,MESS\r
+A3:    INC     Z,FRAME\r
+       LDA     A,FRAME\r
+       BNE     A5\r
+       INC     Z,TRKN\r
+       LDA     Z,TRKN\r
+       CMP     I,14\r
+       BNE     A5\r
+       LDA     I,0\r
+       STA     Z,TRKN\r
+       STA     Z,FLAGP\r
+       JMP     A,AAA\r
+A5:    BIT     A,SST                   ;SIMPLE SELF-TEST?\r
+       BMI     S,+5\r
+       JMP     A,SLT\r
+       JSR     A,TRANS\r
+       LDX     I,0                     ;CAR #\r
+A1:    JSR     A,CNTRL\r
+       INX                             ;COMPUTER-CONTROL IT\r
+       CPX     I,4\r
+       BNE     A1\r
+       LDA     I,0\r
+       STA     Z,CRASH\r
+       STA     A,SOUND\r
+       STA     A,SK\r
+A2:    BIT     A,COINAD                ;CONTINUALLY LOOK\r
+       BPL     A8                      ;FOR COINS\r
+       BVS     A9\r
+A8:    JSR     A,COIN\r
+A9:    BIT     A,AMODE                 ;WAIT FOR V RESET\r
+       BVC     A2\r
+       STA     A,TREST\r
+       LDA     Z,COINS                 ;ANY COINS?\r
+       BNE     A4                      ;YES\r
+       LDA     Z,CREDIT                ;ANY CREDIT?\r
+       BEQ     A3                      ;NO, CONTINUE ATTRACTING\r
+A4:    JSR     A,LINE\r
+       LDA     Z,COINS\r
+       BNE     S,+6\r
+       LDA     Z,CREDIT\r
+       BEQ     A3\r
+       RTS                             ;YES, GO TO MAINLINE\r
+;\r
+;START PLAY SUBROUTINE\r
+;\r
+START: NOP\r
+S1:    LDX     I,0                     ;OUTPUT 1ST PLAYFIELD\r
+       STX     Z,TRKN\r
+       STX     Z,FLAGP                 ;OWEN RUBEN PATCH\r
+       JSR     A,TRACK                 \r
+       LDX     I,6\r
+       JSR     A,BLANK\r
+       LDA     I,0\r
+       LDX     I,0\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       STA     Z,TEMP5\r
+       JSR     A,INITIL                ;SET-UP CARS\r
+       JSR     A,TRANS\r
+S2:    JSR     A,COIN                  ;CONTINUE TO LOOK FOR COINS\r
+       STA     A,TREST\r
+       LDA     Z,CREDIT                ;ANY CREDIT?\r
+       BEQ     S2                      ;NO\r
+       STA     A,SBO+1                 ;TURN ON START BUTTON LIGHT\r
+       LDA     I,0\r
+       LDX     I,20.\r
+       JSR     A,MESS\r
+       BIT     A,SBI                   ;YES, LOOK FOR START BUTTON\r
+       BMI     S2\r
+       DEC     Z,CREDIT                ;DECREMENT CREDIT\r
+       LDX     I,0\r
+       JSR     A,BLANK                 ;BLANK INSTRUCTIONS\r
+       LDX     I,20.\r
+       JSR     A,BLANK\r
+       LDX     I,18.\r
+       JSR     A,BLANK\r
+       LDA     Z,EXTEND\r
+       CMP     I,100\r
+       BEQ     S205\r
+       LDA     I,0\r
+       LDX     I,18.\r
+       JSR     A,MESS\r
+       LDA     Z,EXTEND\r
+       CMP     I,60\r
+       BEQ     S,+5\r
+       STA     A,3564\r
+       LDA     Z,EXTEND+1\r
+       STA     A,3565\r
+S205:  STA     A,AMODE                 ;TURN ON SOUND\r
+PLAY:  JSR     A,TRANS\r
+       LDA     Z,FLAGP                 ;STILL UPDATING TRACK?\r
+       BEQ     S3\r
+       JSR     A,TRACK                 ;YES, CALL TRACK\r
+S3:    INC     Z,FRAME                 ;INCREMENT FRAME COUNT\r
+       JSR     A,STEER\r
+       LDX     I,1\r
+S31:   JSR     A,CNTRL                 ;COMPUTER-CONTROL CARS\r
+       INX\r
+       CPX     I,4\r
+       BNE     S31\r
+;\r
+;USER CAR\r
+;\r
+;   PLAYFIELD COLLISION\r
+;\r
+       STA     A,SK                    ;TURN OFF SKID\r
+       LDX     I,0\r
+       BIT     A,HIT                   ;PLAYFIELD HIT?\r
+       BMI     S60                     ;YES\r
+       LDA     Z,FLAGD                 ;DISABLE WALL HIT LOGIC\r
+       BEQ     S60                     ;FOR 16 FRAMES\r
+       DEC     Z,FLAGD\r
+       JMP     A,S70\r
+S60:   BIT     A,HIT                   ;PLAYFIELD HIT?\r
+       BMI     S61\r
+       LDA     I,0                     ;NO, CLEAR FLAGS\r
+       STA     Z,FLAGD\r
+       STA     Z,FLAGF\r
+       JMP     A,S70\r
+S61:   LDA     I,0\r
+       STA     Z,FLAGH                 ;DISABLE CAR HITS\r
+       LDA     Z,FLAGF                 ;YES, 1ST TIME?\r
+       BNE     S62                     ;NO\r
+       LDA     I,1                     ;YES, SET VEL=1\r
+       STA     ZX,VEL\r
+       STA     Z,FLAGF\r
+       LDA     I,17                    ;SET UP CRASH NOISE\r
+       STA     Z,CRASH\r
+S62:   LDA     I,20\r
+       STA     Z,FLAGD\r
+S70:   LDA     Z,CRASH                 ;CRASH STILL ACTIVE?\r
+       BEQ     S80                     ;NO\r
+       LDA     Z,FRAME                 ;YES, 4TH FRAME?\r
+       LSR\r
+       BCC     S80                     ;NO\r
+       LSR     \r
+       BCC     S80\r
+       DEC     Z,CRASH                 ;YES, CONTINUE CRASH\r
+S80:   LDA     Z,FLAGH                 ;CAR HIT STILL ACTIVE?\r
+       BEQ     S81                     ;NO\r
+       STA     A,SK+1                  ;YES, KEEP SKID SOUND ON\r
+       DEC     Z,FLAGH\r
+       TXA\r
+       ASL\r
+       TAY\r
+       LDA     I,2\r
+       BIT     A,STR\r
+       BVS     S800\r
+       LDA     I,376\r
+S800:  CLC\r
+       ADC     AY,ROTATE\r
+       STA     AY,ROTATE\r
+;\r
+;CAR COLLISION\r
+;\r
+S81:   BIT     A,HIT                   ;CAR HIT?\r
+       BVC     S90                     ;NO\r
+       LDA     I,40                    ;YES, SET UP CAR HIT ACTIVE\r
+       STA     Z,FLAGH\r
+S90:   STA     A,CRES                  ;COLLISION RESET\r
+;\r
+;ACCELERATION\r
+;\r
+       LDA     Z,FRAME\r
+       LSR\r
+       BCC     S130\r
+       LSR\r
+       BCC     S130\r
+       JSR     A,GETAC                 ;GET ACCELERATION\r
+       STA     Z,TEMP2\r
+       CMP     I,371                   ;ACCELERATION.LE.SKID VALUE\r
+       BPL     S10                     ;NO\r
+       STA     A,SK+1                  ;YES, TURN ON SKID\r
+S10:   LDA     Z,TEMP2\r
+       CLC\r
+       ADC     ZX,VEL\r
+       BNE     S131\r
+       LDA     I,1\r
+S131:  STA     ZX,VEL                  ;VEL=VEL+ACCELERATION\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
+       LDY     Z,GEAR\r
+       LDA     Z,GEAR\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:  STA     Z,SOUND\r
+       TXA\r
+       ASL\r
+       TAY\r
+;\r
+;UPDATE DIRECTION & STEERING\r
+;\r
+       JSR     A,STEER\r
+;\r
+;DIRECTION UPDATE\r
+;\r
+       LDA     ZX,VEL\r
+       EOR     I,377\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       STA     Z,TEMP3\r
+       CLC\r
+       ADC     I,3\r
+       STA     Z,TEMP1                 ;CONSTANT = COM(VEL(3MSB))+3\r
+       LDA     AY,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     S,+5\r
+       STA     A,SK+1                  ;TURN ON SKID\r
+       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     S,+5\r
+       STA     A,SK+1                  ;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\r
+;\r
+S250:  LDA     Z,TRKN\r
+       ASL\r
+       TAX\r
+       LDA     AX,TRKTAB               ;GET CORRECT TRACK CHECKPOINTS\r
+       STA     Z,TEMP2\r
+       LDA     AX,TRKTAB+1\r
+       STA     Z,TEMP2+1\r
+       LDA     A,SLSD\r
+       LSR\r
+       AND     I,7\r
+       ASL\r
+       TAY\r
+       LDA     NY,TEMP2\r
+       STA     Z,TEMP4\r
+       INY\r
+       LDA     NY,TEMP2\r
+       STA     Z,TEMP4+1\r
+       LDX     Z,TEMP1\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
+       LDY     I,0\r
+S27:   LDA     NY,TEMP4                ;GET CORRECT CHECKPOINT\r
+       CMP     Z,TEMP5                 ;CAR ON CHECKPOINT?\r
+       BEQ     S26                     ;YES\r
+       INY\r
+       CPY     I,4\r
+       BNE     S27\r
+       JMP     A,S290\r
+;\r
+;SCORE\r
+;\r
+S26:   LDA     A,SLSD                  ;SCORE=SCORE+2\r
+       CLC\r
+       ADC     I,2\r
+       CMP     I,272\r
+       BNE     S35\r
+       LDA     A,SMSD\r
+       CLC\r
+       ADC     I,1\r
+       CMP     I,272\r
+       BNE     S266\r
+       LDA     A,SHSD\r
+       CLC\r
+       ADC     I,1\r
+       STA     A,SHSD\r
+       LDA     I,260\r
+S266:  STA     A,SMSD\r
+       LDA     I,260\r
+S35:   STA     A,SLSD\r
+;\r
+;TRACK UPDATE\r
+;\r
+       CMP     I,260                   ;CHECKPOINT=FINISH LINE?\r
+       BNE     S290\r
+       BIT     A,SPARE\r
+       BVS     S36\r
+       LDA     Z,TOGGLE                ;YES, 2 TIMES THROUGH CURRENT TRACK?\r
+       BNE     S36\r
+       INC     Z,TOGGLE                ;NO, BUMP TOGGLE\r
+       JMP     A,S290\r
+S36:   LDA     I,0\r
+       STA     Z,TOGGLE\r
+       INC     Z,TRKN                  ;YES, BUMP TRACK NUMBER\r
+       LDA     Z,TRKN\r
+       CMP     I,12.\r
+       BNE     S29\r
+       LDA     I,6\r
+       STA     Z,TRKN\r
+S29:   JSR     A,TRACK                 ;GET NEXT TRACK\r
+;\r
+;EXTENDED PLAY\r
+;\r
+S290:  LDA     Z,FLAGZ\r
+       BEQ     S2900\r
+       LDA     Z,FRAME\r
+       AND     I,40\r
+       BEQ     S,+10.\r
+       LDX     I,2\r
+       JSR     A,BLANK\r
+       JMP     A,S2900\r
+       LDX     I,2\r
+       LDA     I,0\r
+       JSR     A,MESS\r
+S2900: LDA     A,SHSD\r
+       AND     I,77\r
+       CMP     Z,EXTEND\r
+       BMI     S37\r
+       LDA     A,SMSD\r
+       AND     I,77\r
+       CMP     Z,EXTEND+1              ;EXTENDED PLAY?\r
+       BMI     S37\r
+       LDA     Z,FLAGZ\r
+       BNE     S37\r
+       LDA     Z,FLAGQ\r
+       BNE     S37\r
+       INC     Z,FLAGQ\r
+;\r
+;FINISHED?\r
+;\r
+;\r
+;TIMER\r
+;\r
+S37:   DEC     Z,TCOUNT                ;TIME TO UPDATE TIME COUNT?\r
+       BNE     S252                    ;NO\r
+       LDA     Z,TSP\r
+       BNE     S370\r
+       INC     Z,TSP\r
+       LDA     I,40\r
+       STA     A,THSD\r
+       LDA     I,271\r
+       STA     A,TMSD\r
+       LDA     I,272\r
+       STA     A,TLSD\r
+       JMP     A,S251\r
+S370:  LDA     A,TLSD                  ;YES\r
+       CMP     I,260                   ;LSD OF TIME=0?\r
+       BNE     S251                    ;NO\r
+       LDA     A,TMSD                  ;YES\r
+       CMP     I,260                   ;MSD OF TIME=0?\r
+       BEQ     S2500                   ;YES, BYPASS TIME UPDATE\r
+       DEC     A,TMSD                  ;NO, DECREMENT MSD\r
+       LDA     I,272\r
+       STA     A,TLSD                  ;SET LSD=9\r
+S251:  DEC     A,TLSD                  ;DECREMENT LSD\r
+       LDA     Z,TSAVE\r
+       STA     Z,TCOUNT\r
+S252:  JMP     A,S50\r
+S2500: LDA     Z,FLAGQ\r
+       BEQ     S2501\r
+       LDA     I,0\r
+       STA     Z,FLAGQ\r
+       INC     Z,FLAGZ\r
+       LDA     I,263\r
+       STA     A,TMSD                  ;SET TIMER TO 30\r
+       LDA     I,0\r
+       LDX     I,2\r
+       JSR     A,MESS\r
+       LDA     Z,TSAVE\r
+       STA     Z,TCOUNT\r
+       JMP     A,S50\r
+S2501: STA     A,AMODE+1               ;TURN OFF SOUND\r
+       STA     A,SK                    ;TURN OFF SKID\r
+       LDA     I,0\r
+       STA     Z,FLAGP\r
+       STA     Z,CRASH                 ;TURN OFF CRASH\r
+       STA     Z,SOUND                 ;LOWER RPM\r
+       LDX     I,2\r
+       JSR     A,BLANK\r
+       LDX     I,12.\r
+       JSR     A,BLANK\r
+       LDA     I,0\r
+       LDX     I,12.\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       LDX     I,22.\r
+       JSR     A,MESS\r
+       LDA     A,SHSD\r
+       AND     I,17\r
+       ASL\r
+       ASL\r
+       ASL\r
+       ASL\r
+       STA     Z,TEMP1\r
+       LDA     A,SMSD\r
+       AND     I,17\r
+       ORA     Z,TEMP1\r
+       STA     Z,TEMP1\r
+       LDA     Z,TEMP1\r
+       CMP     Z,BCD1\r
+       BMI     B10\r
+       LDX     I,24.\r
+       BPL     B20\r
+B10:   CMP     Z,BCD2\r
+       BMI     B11\r
+       LDX     I,26.\r
+       BPL     B20\r
+B11:   LDX     I,28.\r
+B20:   LDA     I,1\r
+       JSR     A,MESS\r
+       LDA     Z,CREDIT\r
+       BNE     S,+5\r
+       STA     A,SBO\r
+       JSR     A,SCR\r
+;\r
+;FREEZE SCREEN\r
+;\r
+       LDA     I,10                    ;FREEZE SCREEN FOR 10 SECONDS\r
+       LDX     I,177\r
+       LDY     I,177\r
+S40:   STA     Z,TEMP3\r
+       STX     Z,TEMP4\r
+       STY     Z,TEMP5\r
+       JSR     A,COIN                  ;LOOK FOR COINS\r
+       LDA     Z,COINS\r
+       BNE     S401\r
+       LDA     Z,CREDIT                ;ANY CREDIT?\r
+       BEQ     S400                    ;NO\r
+       STA     A,SBO+1\r
+       BIT     A,SBI                   ;YES, START BUTTON PRESSED?\r
+       BPL     S401                    ;YES, GO ON\r
+S400:  LDA     Z,TEMP3                 ;NO\r
+       LDX     Z,TEMP4\r
+       LDY     Z,TEMP5\r
+       DEY\r
+       BNE     S40\r
+       STA     Z,TEMP5\r
+       STX     Z,TEMP5+1\r
+       INC     Z,FRAME\r
+       LDA     Z,FRAME\r
+       AND     I,40\r
+       BEQ     S,+10.\r
+       LDX     I,22.\r
+       JSR     A,BLANK\r
+       JMP     A,S9000\r
+       LDA     I,1\r
+       LDX     I,22.\r
+       JSR     A,MESS\r
+S9000: LDA     Z,TEMP5\r
+       LDX     Z,TEMP5+1\r
+       STA     A,TREST\r
+       LDY     I,177\r
+       DEX\r
+       BNE     S40\r
+       LDY     I,177\r
+       LDX     I,177\r
+       CMP     I,11\r
+       BCC     S,+4\r
+       LDA     I,5\r
+       SEC\r
+       SBC     I,1\r
+       BPL     S40\r
+       LDA     I,1\r
+       STA     Z,TEMP5\r
+S401:  LDX     I,22.\r
+       JSR     A,BLANK\r
+       LDX     I,12.\r
+       JSR     A,BLANK\r
+       LDA     Z,CREDIT                ;ANY CREDIT?\r
+       BNE     S41\r
+       STA     A,SBO                   ;TURN OFF START LIGHT\r
+       RTS\r
+S41:   JMP     A,S1\r
+S50:   JSR     A,STEER\r
+S501:  BIT     A,COINAD\r
+       BPL     S502\r
+       BVS     S503\r
+S502:  JSR     A,COIN\r
+S503:  BIT     A,AMODE                 ;WAIT FOR V RESET\r
+       BVC     S501\r
+       JSR     A,CHASC\r
+       STA     A,TREST                 ;PULSE WATCHDOG\r
+       JMP     A,PLAY\r
+;\r
+;\r
+;SUBROUTINES\r
+;\r
+;\r
+CNTRL: JSR     A,AUTO                  ;GET AUTO-DIRECTION\r
+       LDA     ZX,VEL\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       CLC\r
+       ADC     I,1\r
+       STA     Z,TEMP1                 ;SET ACCEL=(3 MSB OF VEL)+1\r
+       LDY     I,3\r
+       LDA     ZX,DIRECT\r
+       SEC\r
+       SBC     ZX,AUDY                 ;DIRECT-AUDY\r
+       AND     I,370\r
+       BEQ     A6\r
+       BMI     A7\r
+       LDY     I,375\r
+A7:    TYA\r
+       CLC\r
+       ADC     ZX,DIRECT\r
+       STA     ZX,DIRECT\r
+       STX     Z,TEMP3\r
+       ASL     Z,TEMP3\r
+       LDY     Z,TEMP3\r
+       STA     AY,ROTATE\r
+       LDA     I,377\r
+       STA     Z,TEMP1                 ;SET ACCELERATION=-1\r
+A6:    LDA     ZX,VEL\r
+       CLC\r
+       ADC     Z,TEMP1                 ;VEL=VEL+ACCELERATION\r
+       CMP     AX,MAXVEL\r
+       BCC     A10\r
+       LDA     AX,MAXVEL\r
+A10:   STA     ZX,VEL\r
+       JSR     A,UPDATE                ;UPDATE DIRECTION\r
+       RTS\r
+AUTO:  LDA     I,0\r
+       STA     Z,TEMP1\r
+       LDA     I,04\r
+       STA     Z,TEMP1+1\r
+       LDA     ZX,HPOST\r
+       CLC\r
+       ADC     I,4                     ;ADD 4 TO GET CENTER OF CAR\r
+       LSR\r
+       LSR\r
+       LSR                             ;DIVIDE BY 8\r
+       EOR     I,37                    ;COMPLEMENT IT\r
+       CLC\r
+       ADC     Z,TEMP1\r
+       STA     Z,TEMP1\r
+       LDA     I,0\r
+       STA     Z,TEMP2\r
+       ADC     Z,TEMP1+1\r
+       STA     Z,TEMP1+1\r
+       LDA     ZX,VPOST\r
+       CLC\r
+       ADC     I,4                     ;ADD 4 TO GET CENTER OF CAR\r
+       ORA     I,7                     ;OR IN 3 LSB'S\r
+       EOR     I,377                   ;COMPLEMENT IT\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
+       LDY     I,0\r
+       LDA     NY,TEMP1                ;GET SQUARE\r
+       BPL     AU1\r
+       ASL\r
+       ASL\r
+       ASL\r
+       ASL\r
+       ASL\r
+       STA     ZX,AUDY                 ;SAVE AUTO-DIRECTION\r
+AU1:   RTS\r
+UPDATE:        STX     Z,TEMP1\r
+       LDA     I,0\r
+       STA     Z,LFLAG\r
+       LDA     ZX,VEL\r
+       BEQ     U3\r
+       LSR\r
+       LSR\r
+       LSR\r
+       STA     Z,TEMP2                 ;MULTIPLICAND (VEL)\r
+U1:    LDA     ZX,DIRECT\r
+       LSR\r
+       LSR\r
+       LSR\r
+       TAX\r
+       STX     Z,TEMP3\r
+       LDA     AX,HOFF\r
+       BEQ     U2\r
+       ASL\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\r
+       ADC     ZX,HPOST\r
+       BPL     U5\r
+       CMP     I,374\r
+       BMI     U4\r
+       LDA     I,1\r
+       STA     Z,LFLAG\r
+       LDA     I,0\r
+       BEQ     U5\r
+U4:    CMP     I,367\r
+       BMI     U5\r
+       LDA     I,1\r
+       STA     A,LFLAG\r
+       LDA     I,367\r
+U5:    STA     ZX,HPOST\r
+U2:    LDX     Z,TEMP3\r
+       LDA     AX,VOFF\r
+       BEQ     U3\r
+       ASL\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
+       BPL     U6\r
+       CMP     I,350\r
+       BMI     U7\r
+       LDA     I,1\r
+       STA     Z,LFLAG\r
+       LDA     I,350\r
+       BMI     U7\r
+U6:    CMP     I,40\r
+       BPL     U7\r
+       LDA     I,1\r
+       STA     Z,LFLAG\r
+       LDA     I,40\r
+U7:    STA     ZX,VPOST\r
+U3:    LDX     Z,TEMP1\r
+       CPX     I,0\r
+       BEQ     U10\r
+       LDA     Z,LFLAG\r
+       BEQ     U10\r
+       LDA     I,40                    ;IF CAR OFF TRACK,\r
+       STA     ZX,HPOST                ;RESET TO START\r
+       LDA     I,120\r
+       STA     ZX,VPOST\r
+       LDA     I,300\r
+       STA     ZX,DIRECT\r
+       LDA     I,1\r
+       STA     ZX,VEL\r
+U10:   RTS\r
+MULT:  STX     Z,TEMP2+1\r
+       TXA\r
+       BPL     M3\r
+       EOR     I,377\r
+       CLC\r
+       ADC     I,1\r
+       TAX\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
+       LDA     I,0\r
+       ADC     Z,TEMP4+1\r
+       STA     Z,TEMP4+1\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:        LDX     I,0                     ;SET INITIAL CAR POSITIONS\r
+       LDA     I,40\r
+       LDY     I,0\r
+I1:    STA     ZX,HPOST\r
+       STY     ZX,HPOSL\r
+       STY     ZX,VPOSL\r
+       INX\r
+       CPX     I,4\r
+       BNE     I1\r
+       LDX     I,0\r
+       LDA     I,1\r
+I3:    STA     ZX,VEL                  ;SET VELOCITIES=1\r
+       INX\r
+       CPX     I,4\r
+       BNE     I3\r
+       LDX     I,0\r
+       LDY     I,0\r
+       LDA     I,300\r
+I2:    STA     ZX,DIRECT               ;SET UP DIRECTIONS' ROTATION\r
+       STA     AY,ROTATE\r
+       INY\r
+       INY\r
+       INX\r
+       CPX     I,4\r
+       BNE     I2\r
+       LDA     I,120\r
+       STA     Z,VPOST\r
+       LDA     I,104\r
+       STA     Z,VPOST+1\r
+       LDA     I,70\r
+       STA     Z,VPOST+2\r
+       LDA     I,54\r
+       STA     Z,VPOST+3\r
+       LDA     A,GTIME                 ;SET-UP GAME TIME\r
+       EOR     I,377                   ;ACCORDING TO SWITCHES\r
+       CLC\r
+       ROL\r
+       ROL\r
+       ROL\r
+       AND     I,3\r
+       TAY\r
+       LDA     AY,TUP\r
+       STA     Z,TCOUNT\r
+       STA     Z,TSAVE\r
+       LDA     I,4                     ;PRO LEVEL\r
+       STA     Z,BCD1\r
+       LDA     I,2                     ;ROOKIE LEVEL\r
+       STA     Z,BCD2\r
+       LDA     I,3                     ;EXTENDED PLAY LEVEL\r
+       STA     Z,BCD3\r
+       LDA     A,GTIME\r
+       EOR     I,377\r
+       CLC\r
+       ROL\r
+       ROL\r
+       ROL\r
+       AND     I,3\r
+       CLC\r
+       ADC     I,2\r
+       STA     Z,TEMP1\r
+       LDX     I,0\r
+       STX     Z,TEMP2\r
+       STX     Z,TEMP3\r
+       STX     Z,TEMP4\r
+TT10:  LDA     Z,TEMP2\r
+       SED\r
+       CLC\r
+       ADC     Z,BCD1\r
+       STA     Z,TEMP2\r
+       LDA     Z,TEMP3\r
+       CLC\r
+       ADC     Z,BCD2\r
+       STA     Z,TEMP3\r
+       LDA     Z,TEMP4\r
+       CLC\r
+       ADC     Z,BCD3\r
+       STA     Z,TEMP4\r
+       CLD\r
+       INX\r
+       CPX     Z,TEMP1\r
+       BNE     TT10\r
+       LDA     Z,TEMP2\r
+       STA     Z,BCD1\r
+       LDA     Z,TEMP3\r
+       STA     Z,BCD2\r
+       LDA     Z,TEMP4\r
+       STA     Z,BCD3\r
+       LDA     A,BONUS                 ;EXTENDED PLAY\r
+       BPL     TT11\r
+       LDA     I,100\r
+       STA     Z,EXTEND\r
+       STA     Z,EXTEND+1\r
+       LDA     Z,BCD3\r
+       STA     Z,BCD1\r
+       JMP     A,TT12\r
+TT11:  LDA     Z,BCD3\r
+       AND     I,360\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       ORA     I,60\r
+       STA     Z,EXTEND\r
+       LDA     Z,BCD3\r
+       AND     I,17\r
+       ORA     I,60\r
+       STA     Z,EXTEND+1\r
+TT12:  LDA     I,0                     ;INITIALIZE SOUND & FRAME COUNT\r
+       STA     Z,TOGGLE\r
+       STA     Z,FRAME\r
+       STA     A,SK\r
+       STA     Z,SOUND\r
+       STA     Z,SOUND+1\r
+       STA     Z,FLAGH                 ;INITIALIZE FLAGS\r
+       STA     Z,FLAGD\r
+       STA     Z,FLAGF\r
+       STA     Z,FLAGP\r
+       STA     Z,FLAGQ\r
+       STA     Z,FLAGZ\r
+       STA     Z,TSP\r
+       STA     A,CRASH\r
+       STA     A,CRES                  ;DO A COLLISION RESET\r
+       STA     A,STRES                 ;DO A STEERING RESET\r
+       LDA     A,SLSD\r
+       STA     Z,TEMP3\r
+       LDA     A,SMSD\r
+       STA     Z,TEMP3+1\r
+       LDA     A,SHSD\r
+       STA     Z,TEMP5+1\r
+       LDA     I,1\r
+       LDX     I,4                     ;OUTPUT "SCORE"\r
+       JSR     A,MESS\r
+       LDA     Z,TEMP3\r
+       STA     A,SLSD\r
+       LDA     Z,TEMP3+1\r
+       STA     A,SMSD\r
+       LDA     Z,TEMP5+1\r
+       STA     A,SHSD\r
+       LDA     Z,TEMP5\r
+       BNE     I6\r
+       LDA     I,260                   ;SET SCORE=000\r
+       STA     A,SLSD\r
+       STA     A,SMSD\r
+       STA     A,SHSD\r
+I6:    LDA     I,260\r
+       STA     A,TMSD\r
+       STA     A,TLSD                  ;SET TIME=100\r
+       LDA     I,261\r
+       STA     A,THSD\r
+I4:    RTS\r
+SETUP: LDA     I,0\r
+       STA     Z,CREDIT\r
+       STA     Z,COINS\r
+       STA     A,SBO\r
+       STA     Z,TEMP5\r
+       LDA     I,60\r
+       STA     Z,HS1\r
+       STA     Z,HS2\r
+       STA     Z,HS3\r
+       LDA     I,6\r
+       STA     Z,CFLAG\r
+       RTS\r
+CHASC: LDA     A,SLSD                  ;CHECK VALIDITY OF DIGITS\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,260\r
+       STA     A,SLSD\r
+       LDA     A,SMSD\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,260\r
+       STA     A,SMSD\r
+       LDA     A,SHSD\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,260\r
+       STA     A,SHSD\r
+       LDA     A,TMSD\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,271\r
+       STA     A,TMSD\r
+       LDA     A,TLSD\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,271\r
+       STA     A,TLSD\r
+       RTS\r
+ASCK:  CMP     I,60\r
+       BCC     AS1\r
+       CMP     I,72\r
+       BCS     AS1\r
+       LDA     I,0\r
+       BEQ     S,+4\r
+AS1:   LDA     I,1\r
+       STA     Z,TEMP1\r
+       RTS\r
+GETAC: STX     Z,TEMP3\r
+       LDA     I,0\r
+       STA     Z,GEAR\r
+       BIT     A,GEARAD\r
+       BPL     G9\r
+       INC     Z,GEAR\r
+       BIT     A,GEARAD+1\r
+       BPL     G9\r
+       INC     Z,GEAR\r
+       BIT     A,GEARAD+2\r
+       BPL     G9\r
+       INC     Z,GEAR\r
+G9:    LDA     ZX,VEL\r
+       AND     I,370\r
+       LSR\r
+       LSR\r
+       TAX\r
+       LDA     I,2\r
+       BIT     Z,GEAR\r
+       BEQ     G2\r
+       INX\r
+G2:    LDA     AX,ATAB2\r
+       BIT     A,GP                    ;GAS PEDAL SET?\r
+       BMI     G4                      ;NO\r
+       LDA     AX,ATAB1\r
+G4:    CLC\r
+       LSR     Z,GEAR                  ;UPPER OR LOWER HALF BYTE?\r
+       BCS     G6\r
+       AND     I,360\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+G6:    AND     I,17\r
+       STA     Z,TEMP2\r
+       ROL     Z,GEAR\r
+       LDA     I,10\r
+       BIT     Z,TEMP2\r
+       BEQ     G8\r
+       LDA     Z,TEMP2\r
+       ORA     I,360\r
+       STA     Z,TEMP2\r
+G8:    LDA     Z,TEMP2\r
+       LDX     Z,TEMP3\r
+       RTS\r
+;\r
+;STEERING\r
+;\r
+STEER: LDX     I,0\r
+       LDY     I,0\r
+       LDA     Z,FLAGH\r
+       BNE     S15\r
+       BIT     A,STR                   ;ANY CHANGE IN STEERING?\r
+       BMI     S15                     ;NO, BYPASS ROTATION UPDATE\r
+       LDA     I,3\r
+       STA     Z,TEMP1\r
+       BIT     A,STR\r
+       BVS     S16\r
+       LDA     I,375\r
+       STA     Z,TEMP1\r
+S16:   LDA     AY,ROTATE\r
+       CLC\r
+       ADC     Z,TEMP1\r
+       STA     AY,ROTATE\r
+       STA     A,STRES                 ;CLEAR STEERING FLAG\r
+S15:   RTS\r
+;\r
+;COIN ROUTINE\r
+;\r
+COIN:  JSR     A,KOIN                  ;GET COINS\r
+       LDA     I,10.\r
+       STA     Z,CFLAG\r
+       BIT     A,MODE                  ;FIND COIN MODE\r
+       BPL     C50\r
+       BVS     C53                     ;2 COINS 1 CREDIT OR FREE PLAY\r
+       LDA     I,8.\r
+       STA     Z,CFLAG\r
+       LDA     Z,COINS                 ;2 COINS, 1 PLAY\r
+       CMP     I,2\r
+       BEQ     S,+3\r
+       RTS\r
+       DEC     Z,COINS\r
+       BPL     C53\r
+C50:   BVS     C54\r
+       LDA     I,6.\r
+       STA     Z,CFLAG\r
+C54:   LDA     Z,COINS\r
+       BNE     S,+3\r
+       RTS\r
+       BVC     C53                     ;1 COIN 1 PLAY OR 1 COIN 2 PLAYS\r
+       INC     Z,CREDIT\r
+C53:   INC     Z,CREDIT\r
+       DEC     Z,COINS\r
+       RTS\r
+KTEST  =0\r
+       .IF     EQ,KTEST\r
+;\r
+;GET A COIN, 16MS ON MINIMUM AND 16MS OFF MINIMUM\r
+;\r
+KOIN:  LDA     I,9.\r
+       STA     Z,TEMP1\r
+       STA     Z,TEMP1+1               ;INITIALIZE COUNTERS\r
+       STA     Z,TEMP2\r
+       STA     Z,TEMP2+1\r
+5$:    BIT     A,COINAD                ;TEST FOR MUHLAH\r
+       BPL     10$                     ;YES\r
+       BVC     10$                     ;YES\r
+;\r
+;NO COINS ON, EXIT IF DONE\r
+;\r
+       LDA     Z,TEMP1                 ;TEST ON-BOUNCE COUNTERS\r
+       AND     Z,TEMP1+1\r
+       CMP     I,9.\r
+       BNE     10$                     ;SOMEONE IS BOUNCING\r
+       RTS\r
+10$:   STA     A,TREST                 ;WATCH-DOG\r
+       LDX     I,1                     ;SET INDEX\r
+       LDY     I,372\r
+15$:   DEY                             ;1.3 MSEC DELAY\r
+       BNE     15$\r
+20$:   TXA                             ;TEST X REGISTER\r
+       BNE     25$\r
+       BIT     A,COINAD                ;TEST COIN 1\r
+       BVC     60$                     ;YES, ITS ON\r
+       BVS     40$                     ;NO COIN NOW\r
+25$:   BIT     A,COINAD                ;TEST COIN 2\r
+       BPL     60$                     ;GOT ONE\r
+40$:   LDA     ZX,TEMP1                ;TEST IF HAVE A COIN\r
+       BEQ     45$                     ;ALREADY HAVE ONE ON\r
+       LDA     I,9.\r
+       STA     ZX,TEMP1                ;RESET ON COUNTER (-NOISE)\r
+       BNE     80$                     ;DONE\r
+45$:   DEC     ZX,TEMP2                ;OFF COUNTER TEST\r
+       BNE     80$\r
+       INC     Z,COINS                 ;INCR COIN COUNT\r
+       LDA     I,9.\r
+       STA     ZX,TEMP1                ;RESET COUNTERS\r
+       STA     ZX,TEMP2\r
+       BNE     80$\r
+60$:   LDA     I,9.\r
+       STA     ZX,TEMP2                ;RESET OFF COUNTER\r
+       LDA     ZX,TEMP1                ;TEST ON COUNTER\r
+       BEQ     80$                     ;ALREADY HAVE A 16MS PULSE\r
+       DEC     ZX,TEMP1                ;ON COUNTER\r
+80$:   DEX                             ;COIN INDEX\r
+       BPL     20$                     ;DO NEXT COIN\r
+       BMI     5$                      ;CONTINUE\r
+       .ENDC\r
+       .IF     NE,KTEST\r
+KOIN:  LDA     I,9.\r
+       STA     Z,TEMP1\r
+       STA     Z,TEMP2\r
+C1:    BIT     A,COINAD\r
+       BPL     10$\r
+       BVC     10$\r
+       RTS\r
+10$:   STA     A,TREST\r
+       LDY     I,372\r
+       DEY\r
+       BNE     S,-1\r
+       BIT     A,COINAD                ;BIT 6 COIN TEST\r
+       BVC     S,+8.\r
+       LDA     I,9.\r
+       STA     Z,TEMP1                 ;RESET COUNTER ON NOISE\r
+       BPL     C2\r
+       LDA     Z,TEMP1\r
+       BEQ     C2\r
+       DEC     Z,TEMP1\r
+       BNE     C2\r
+       INC     Z,COINS\r
+C2:    BIT     A,COINAD                ;BIT 7 COIN TEST\r
+       BPL     S,+8.\r
+       LDA     I,9.\r
+       STA     Z,TEMP2                 ;RESET COUNTER\r
+       BPL     C1\r
+       LDA     Z,TEMP2\r
+       BEQ     C1\r
+       DEC     Z,TEMP2\r
+       BNE     C1\r
+       INC     Z,COINS\r
+       JMP     A,C1\r
+       .ENDC\r
+MESS:  LDY     I,0\r
+       CMP     I,0\r
+       BEQ     S,+4\r
+       LDY     I,200\r
+       STY     Z,TEMP4\r
+       LDA     AX,MESG\r
+       STA     Z,TEMP1\r
+       LDA     AX,MESG+1\r
+       STA     Z,TEMP1+1\r
+       LDA     AX,POSM\r
+       STA     Z,TEMP2\r
+       LDA     AX,POSM+1\r
+       STA     Z,TEMP2+1\r
+       LDY     I,0\r
+M100:  LDA     NY,TEMP1\r
+       BEQ     M200\r
+       ORA     Z,TEMP4\r
+       STA     NY,TEMP2\r
+       INY\r
+       JMP     A,M100\r
+M200:  RTS\r
+BLANK: LDA     AX,POSM                 ;BLANK ONE LINE\r
+       STA     Z,TEMP1\r
+       LDA     AX,POSM+1\r
+       STA     Z,TEMP1+1\r
+       LDA     I,40\r
+       LDY     I,0\r
+B1:    STA     NY,TEMP1\r
+       INY\r
+       CPY     I,40\r
+       BNE     B1\r
+       RTS\r
+TRACK: STA     A,TREST\r
+       LDA     Z,FLAGP\r
+       BNE     T10\r
+       LDA     Z,TRKN\r
+       BNE     T6\r
+       LDX     I,34.                   ;IF INITIAL TRACK,\r
+T7:    JSR     A,BLANK                 ;BLANK AREA\r
+       INX\r
+       INX\r
+       CPX     I,48.\r
+       BNE     T7\r
+       LDA     Z,TRKN\r
+T6:    ASL\r
+       TAX\r
+       LDA     AX,TADD\r
+       STA     Z,TEMP2\r
+       LDA     AX,TADD+1\r
+       STA     Z,TEMP2+1\r
+       LDY     I,0\r
+T1:    LDA     NY,TEMP2\r
+       STA     AY,TH1\r
+       INY\r
+       CPY     I,6\r
+       BNE     T1\r
+T10:   CLC\r
+       LDA     Z,TH1\r
+       ADC     I,30\r
+       STA     Z,TH4\r
+       LDA     I,0\r
+       ADC     Z,TH1+1\r
+       STA     Z,TH4+1\r
+       LDA     I,1\r
+       STA     Z,FLAGP\r
+       JSR     A,COIN\r
+       LDY     I,0\r
+T2:    LDA     NY,TH1\r
+       AND     I,360\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       ORA     I,240\r
+       STA     NY,TH3\r
+       LDA     Z,TH3\r
+       CLC\r
+       ADC     I,1\r
+       STA     Z,TH3\r
+       LDA     I,0\r
+       ADC     Z,TH3+1\r
+       STA     Z,TH3+1\r
+       LDA     NY,TH1\r
+       AND     I,17\r
+       ORA     I,240\r
+       STA     NY,TH3\r
+       LDA     Z,TH1\r
+       CLC\r
+       ADC     I,1\r
+       STA     Z,TH1\r
+       LDA     I,0\r
+       ADC     Z,TH1+1\r
+       STA     Z,TH1+1\r
+       LDA     Z,TH3\r
+       CLC\r
+       ADC     I,1\r
+       STA     Z,TH3\r
+       LDA     I,0\r
+       ADC     Z,TH3+1\r
+       STA     Z,TH3+1\r
+       LDA     Z,TH1+1\r
+       CMP     Z,TH2+1\r
+       BEQ     T3\r
+T4:    LDA     Z,TRKN\r
+       BEQ     T2\r
+       LDA     Z,TH1+1\r
+       CMP     Z,TH4+1\r
+       BEQ     T11\r
+       BNE     T2\r
+T3:    LDA     Z,TH1\r
+       CMP     Z,TH2\r
+       BNE     T4\r
+       LDA     I,0\r
+       STA     Z,FLAGP\r
+       BEQ     T110\r
+T11:   LDA     Z,TH1\r
+       CMP     Z,TH4\r
+       BNE     T2\r
+T110:  JSR     A,COIN\r
+       BIT     A,SPARE                 ;OIL SLICKS?\r
+       BMI     T20\r
+       LDA     Z,TRKN\r
+       ASL\r
+       ASL\r
+       TAY\r
+       LDX     I,0\r
+T19:   LDA     AY,OILS\r
+       STA     ZX,TEMP1\r
+       INY\r
+       INX\r
+       CPX     I,4\r
+       BNE     T19\r
+       LDX     I,0\r
+T18:   LDY     I,0\r
+       LDA     I,74\r
+       STA     NY,TEMP1\r
+       LDY     I,1\r
+       LDA     I,75\r
+       STA     NY,TEMP1\r
+       LDY     I,40\r
+       LDA     I,76\r
+       STA     NY,TEMP1\r
+       LDY     I,41\r
+       LDA     I,77\r
+       STA     NY,TEMP1\r
+       INX\r
+       CPX     I,1\r
+       BNE     T20\r
+       LDA     Z,TEMP2\r
+       STA     Z,TEMP1\r
+       LDA     Z,TEMP2+1\r
+       STA     Z,TEMP1+1\r
+       JMP     A,T18\r
+T20:   STA     A,TREST\r
+       RTS\r
+LINE:  LDA     A,2153\r
+       CMP     I,313\r
+       BNE     LIN1\r
+       LDA     A,MES30\r
+       CMP     I,113\r
+       BNE     LIN1\r
+       BIT     A,LFREQ\r
+       BMI     S,+3\r
+       RTS\r
+       BIT     A,AMODE\r
+       BPL     S,-3\r
+       BIT     A,AMODE\r
+       BMI     S,-3\r
+       LDA     I,10.\r
+LAD:   LDY     I,0\r
+       INY\r
+       BNE     S,-1\r
+       SEC\r
+       SBC     I,1\r
+       BNE     LAD\r
+       BMI     LIN1\r
+       RTS\r
+LIN1:  LDA     I,0\r
+       STA     Z,CREDIT\r
+       STA     Z,COINS\r
+       RTS\r
+SCR:   LDA     I,0\r
+       LDX     I,32.\r
+       JSR     A,MESS\r
+       LDA     A,SHSD\r
+       AND     I,77\r
+       CMP     Z,HS3\r
+       BMI     AAA1\r
+       BEQ     S,+4\r
+       BPL     AAA2\r
+       LDA     A,SMSD\r
+       AND     I,77\r
+       CMP     Z,HS2\r
+       BMI     AAA1\r
+       BEQ     S,+4\r
+       BPL     AAA2\r
+       LDA     A,SLSD\r
+       AND     I,77\r
+       CMP     Z,HS1\r
+       BMI     AAA1\r
+AAA2:  LDA     A,SHSD\r
+       AND     I,77\r
+       STA     Z,HS3\r
+       LDA     A,SMSD\r
+       AND     I,77\r
+       STA     Z,HS2\r
+       LDA     A,SLSD\r
+       AND     I,77\r
+       STA     Z,HS1\r
+AAA1:  LDA     Z,HS1\r
+       STA     A,HLSD\r
+       LDA     Z,HS2\r
+       STA     A,HMSD\r
+       LDA     Z,HS3\r
+       STA     A,HHSD\r
+       RTS\r
+TRANS: LDX     I,0\r
+       LDY     I,0\r
+N3:    LDA     ZX,HPOST                ;UPDATE CAR POSITIONS\r
+       STA     ZX,HPOS\r
+       LDA     ZX,VPOST\r
+       STA     AY,VPOS\r
+       INX\r
+       INY\r
+       INY\r
+       CPX     I,4\r
+       BNE     N3\r
+       RTS\r
+;\r
+;SIMPLE SELF-TEST\r
+;\r
+SLT:   LDX     I,0\r
+       LDA     I,1\r
+SST10: STA     AX,2000\r
+       STA     A,TREST\r
+       CMP     AX,2000\r
+       BNE     SST10\r
+SST12: STA     AX,2400\r
+       STA     A,TREST\r
+       CMP     AX,2400\r
+       BNE     SST12\r
+SST13: STA     AX,3000\r
+       STA     A,TREST\r
+       CMP     AX,3000\r
+       BNE     SST13\r
+SST14: STA     AX,3400\r
+       STA     A,TREST\r
+       CMP     AX,3400\r
+       BNE     SST14\r
+       INX\r
+       BNE     SST10\r
+       CLC\r
+       ADC     I,1\r
+       CMP     I,1\r
+       BNE     SST10\r
+       LDA     I,0\r
+       STA     Z,CRASH\r
+;\r
+;ROM CHECKSUM TEST\r
+;\r
+SST15: LDX     I,0\r
+       LDA     I,20\r
+       STA     Z,TEMP2\r
+       LDA     I,5\r
+       STA     Z,TEMP2+1\r
+       LDA     I,0\r
+       STA     Z,LOC\r
+       LDA     I,40\r
+       STA     Z,LOC+1\r
+SST26: LDY     I,0\r
+       LDA     I,0\r
+       STA     Z,TEMP3\r
+       STA     Z,TEMP1\r
+SST20: LDA     Z,TEMP1\r
+       CLC\r
+       ADC     NY,LOC\r
+       STA     Z,TEMP1\r
+       INY\r
+       BNE     SST20\r
+       STA     A,TREST\r
+       INC     Z,LOC+1\r
+       INC     Z,TEMP3\r
+       LDA     Z,TEMP3\r
+       CMP     I,4\r
+       BNE     SST20\r
+SST22: LDA     Z,TEMP1\r
+       CMP     AX,CKSUM\r
+       BEQ     SST25\r
+       LDY     I,0\r
+       TXA\r
+       ORA     I,60\r
+       STA     NY,TEMP2\r
+       INC     Z,TEMP2\r
+SST25: INX\r
+       CPX     I,8.\r
+       BNE     SST26\r
+       LDA     I,324                   ;WRITE OUT GAME OPTIONS\r
+       STA     A,2152\r
+       LDA     I,311\r
+       STA     A,2153\r
+       LDA     I,315\r
+       STA     A,2154\r
+       LDA     I,305\r
+       STA     A,2155\r
+       LDA     I,314\r
+       STA     A,2314\r
+       LDA     I,301\r
+       STA     A,2315\r
+       LDA     I,320\r
+       STA     A,2316\r
+       LDA     I,323\r
+       STA     A,2317\r
+       LDA     I,260\r
+       STA     A,2161\r
+SST30: LDA     I,261\r
+       BIT     A,SPARE\r
+       BVS     S,+4\r
+       LDA     I,262\r
+       STA     A,2312\r
+       LDA     I,40\r
+       BIT     A,GTIME\r
+       BMI     S,+4\r
+       LDA     I,261\r
+       STA     A,2157\r
+       LDA     I,266\r
+       BIT     A,GTIME\r
+       BMI     QB1\r
+       LDA     I,262\r
+       BVS     S,+4\r
+       LDA     I,265\r
+       BMI     S,+6\r
+QB1:   BVS     S,+4\r
+       LDA     I,271\r
+       STA     A,2160\r
+       LDA     I,212\r
+       STA     Z,TEMP1\r
+       LDA     I,4\r
+       STA     Z,TEMP1+1\r
+       BIT     A,MODE\r
+       BMI     QB2\r
+       BVS     QB3\r
+       LDA     I,MES6+7&377\r
+       STA     Z,TEMP2\r
+       LDA     I,MES6+7&177400/256.\r
+       STA     Z,TEMP2+1\r
+       JMP     A,QB4\r
+QB3:   LDA     I,MES10+8.&377\r
+       STA     Z,TEMP2\r
+       LDA     I,MES10+8.&177400/256.\r
+       STA     Z,TEMP2+1\r
+       JMP     A,QB4\r
+QB2:   BVS     QB5\r
+       LDA     I,MES8+7&377\r
+       STA     Z,TEMP2\r
+       LDA     I,MES8+7&177400/256.\r
+       STA     Z,TEMP2+1\r
+       JMP     A,QB4\r
+QB5:   LDA     I,304\r
+       STA     A,2212\r
+       LDA     I,305\r
+       STA     A,2213\r
+       LDA     I,315\r
+       STA     A,2214\r
+       LDA     I,317\r
+       STA     A,2215\r
+       LDX     I,0\r
+       LDA     I,40\r
+QB11:  STA     AX,2216\r
+       INX\r
+       CPX     I,12.\r
+       BNE     QB11\r
+       JMP     A,QB6\r
+QB4:   LDY     I,0\r
+QB7:   LDA     NY,TEMP2\r
+       ORA     I,200\r
+       STA     NY,TEMP1\r
+       INY\r
+       CPY     I,16.\r
+       BNE     QB7\r
+QB6:   BIT     A,BONUS\r
+       BPL     QB12\r
+       LDX     I,0\r
+       LDA     I,40\r
+QB13:  STA     AX,2252\r
+       INX\r
+       CPX     I,13.\r
+       BNE     QB13\r
+       JMP     QB9\r
+QB12:  LDA     I,252\r
+       STA     Z,TEMP1\r
+       LDA     I,4\r
+       STA     Z,TEMP1+1\r
+       LDA     I,MES2+10.&377\r
+       STA     Z,TEMP2\r
+       LDA     I,MES2+10.&177400/256.\r
+       STA     Z,TEMP2+1\r
+       LDY     I,0\r
+QB8:   LDA     NY,TEMP2\r
+       ORA     I,200\r
+       STA     NY,TEMP1\r
+       INY\r
+       CPY     I,13.\r
+       BNE     QB8\r
+QB9:   LDA     I,40\r
+       BIT     A,SPARE\r
+       BMI     S,+4\r
+       LDA     I,74\r
+       STA     A,2352\r
+       BIT     A,SPARE\r
+       BMI     S,+4\r
+       LDA     I,75\r
+       STA     A,2353\r
+       BIT     A,SPARE\r
+       BMI     S,+4\r
+       LDA     I,76\r
+       STA     A,2412\r
+       BIT     A,SPARE\r
+       BMI     S,+4\r
+       LDA     I,77\r
+       STA     A,2413\r
+QB10:  BIT     A,SST\r
+       BPL     S,+5\r
+       JMP     A,PWRON\r
+       STA     A,SBO\r
+       STA     A,SK\r
+       LDX     I,0\r
+SL1:   LDA     AX,GEARAD\r
+       STA     A,TREST\r
+       BMI     S,+5\r
+       STA     A,SK+1\r
+       INX\r
+       CPX     I,3\r
+       BNE     SL1\r
+       LDA     A,GP\r
+       BMI     S,+5\r
+       STA     A,SK+1\r
+       BIT     A,COINAD\r
+       BMI     S,+5\r
+       STA     A,SK+1\r
+       BVS     S,+5\r
+       STA     A,SK+1\r
+       BIT     A,SBI\r
+       BMI     S,+5\r
+       STA     A,SK+1\r
+       JMP     A,SST30\r
+CKSUM: .BYTE   314,121,11,221,16,51,175,20,205\r
+TADD:  .WORD   20000,20446,21114\r
+       .WORD   21562,22230,22676\r
+       .WORD   23344,24012,24460\r
+       .WORD   25126,25574,26242\r
+MESG:  .WORD   MES0\r
+       .WORD   MES2\r
+       .WORD   MES4\r
+       .WORD   MES6\r
+       .WORD   MES8\r
+       .WORD   MES10\r
+       .WORD   MES12\r
+       .WORD   MES14\r
+       .WORD   MES16\r
+       .WORD   MES18\r
+       .WORD   MES20\r
+       .WORD   MES22\r
+       .WORD   MES24\r
+       .WORD   MES26\r
+       .WORD   MES28\r
+       .WORD   MES30\r
+       .WORD   MES32\r
+POSM:  .WORD   PF+240\r
+       .WORD   PF+100\r
+       .WORD   PF+40\r
+       .WORD   PF+1540\r
+       .WORD   PF+1540\r
+       .WORD   PF+1540\r
+       .WORD   PF+1540\r
+       .WORD   PF+340\r
+       .WORD   PF+240\r
+       .WORD   PF+1540\r
+       .WORD   PF+340\r
+       .WORD   PF\r
+       .WORD   PF+1565\r
+       .WORD   PF+1565\r
+       .WORD   PF+1565\r
+       .WORD   PF+153\r
+       .WORD   PF+56\r
+       .WORD   PF+100\r
+       .WORD   PF+140\r
+       .WORD   PF+200\r
+       .WORD   PF+240\r
+       .WORD   PF+300\r
+       .WORD   PF+340\r
+       .WORD   PF+400\r
+RATIO: .BYTE   14,10,6,5               ;GEAR RATIOS FOR RPM SOUNDS\r
+TUP:   .BYTE   46,70,113,136\r
+MAXVEL:        .BYTE   240,220,200,160\r
+MES0:  .ASCII  /       YOUR CAR IS /\r
+       .BYTE   327,310,311,324,305,40,40,40,40,40,0\r
+MES2:  .ASCIZ  /          EXTENDED PLAY/\r
+MES4:  .ASCIZ  /  SCORE              TIME /\r
+MES6:  .ASCIZ  /        1 COIN PER GAME   /\r
+MES8:  .ASCIZ  /       2 COINS PER GAME   /\r
+MES10: .ASCIZ  /        2 GAMES PER COIN  /\r
+MES12: .ASCIZ  /       RATING/\r
+MES14: .ASCIZ  / BLACK CARS DRIVE AUTOMATICALLY/\r
+MES16: .ASCIZ  /  TRACKS CHANGE AUTOMATICALLY/\r
+MES18: .ASCIZ  /  EXTENDED PLAY FOR   0 POINTS  /\r
+MES20: .ASCIZ  /       PUSH START BUTTON      /\r
+MES22: .ASCIZ  /            GAME  OVER/\r
+MES24: .ASCIZ  /PRO/\r
+MES26: .ASCIZ  /ROOKIE/\r
+MES28: .ASCIZ  /GRANNY/\r
+MES30: .ASCIZ  /KEE  GAMES/\r
+MES32: .ASCIZ  /HIGH SCORE     /\r
+       .REPT   37772-.\r
+       .BYTE   0\r
+       .ENDM\r
+.      =37772\r
+       .BYTE   0,60,74,60,74,60\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
\ No newline at end of file
diff --git a/A06434.XX b/A06434.XX
new file mode 100644 (file)
index 0000000..5e6b685
--- /dev/null
+++ b/A06434.XX
@@ -0,0 +1,1786 @@
+       .TITLE RATS\r
+TRKTAB =26712\r
+OILS   =27326\r
+HOFF   =27406\r
+VOFF   =27446\r
+ATAB2  =27506\r
+ATAB1  =27606\r
+SLSD   =2052\r
+SMSD   =2051\r
+SHSD   =2050\r
+HLSD   =2073\r
+HMSD   =2072\r
+HHSD   =2071\r
+TLSD   =2074\r
+TMSD   =2073\r
+THSD   =2072\r
+PF     =2000\r
+OF     =2200\r
+SBO    =6060\r
+GP     =4053\r
+SST    =4054\r
+SBI    =4055\r
+LFREQ  =4057\r
+GTIME  =4063\r
+SPARE  =4060\r
+GEARAD =4050\r
+MODE   =4061\r
+BONUS  =4062\r
+COINAD =4100\r
+STR    =4200\r
+VEL    =0\r
+DIRECT =4\r
+HPOSL  =10\r
+VPOSL  =14\r
+HPOS   =20\r
+SOUND  =24\r
+VPOS   =30\r
+ROTATE =31\r
+CREDIT =40\r
+TEMP1  =42\r
+TEMP2  =44\r
+TEMP3  =46\r
+TEMP4  =50\r
+TEMP5  =52\r
+AUDY   =54\r
+FRAME  =60\r
+FLAGZ  =61\r
+GEAR   =62\r
+FLAGH  =63\r
+FLAGQ  =64\r
+TRKN   =65\r
+COINS  =66\r
+TOGGLE =67\r
+FLAGP  =70\r
+EXTEND =72\r
+TCOUNT =74\r
+FLAGD  =75\r
+FLAGF  =76\r
+TSAVE  =77\r
+HPOST  =100\r
+VPOST  =104\r
+TH1    =110\r
+TH2    =112\r
+TH3    =114\r
+TH4    =116\r
+TSP    =120\r
+CFLAG  =121\r
+LFLAG  =122\r
+BCD1   =124\r
+BCD2   =125\r
+BCD3   =126\r
+HS1    =127\r
+HS2    =130\r
+HS3    =131\r
+LOC    =176\r
+SK     =6020\r
+HIT    =10000\r
+STRES  =7000\r
+CRES   =6400\r
+TREST  =6200\r
+NREST  =7400\r
+RTEST  =141\r
+AMODE  =6000\r
+CRASH  =26\r
+TEST   =14000\r
+TESTV  =252\r
+       .ASECT\r
+.      =30000\r
+NMI:   PHA\r
+       TXA\r
+       PHA\r
+       CLD\r
+       LDA     Z,FRAME\r
+       BNE     S,+5\r
+       STA     A,NREST                 ;RESET NOISE CIRCUIT\r
+       BIT     A,SST\r
+       BPL     NM1\r
+       LDA     Z,RTEST\r
+       CMP     I,222                   ;1ST TIME?\r
+       BNE     N1                      ;YES\r
+       LDA     Z,RTEST-1\r
+       CMP     I,77\r
+       BNE     N1\r
+       TSX\r
+       LDA     AX,405                  ;GET PCH\r
+       CMP     I,40                    ;VALID RANGE?\r
+       BCS     NM1\r
+       CMP     I,100\r
+       BCC     NM1\r
+       CMP     I,20\r
+       BCC     PWRON                   ;NO\r
+       CMP     I,30\r
+       BCS     PWRON\r
+NM1:   PLA\r
+       TAX\r
+       PLA\r
+       RTI                             ;RETURN\r
+N1:    LDA     I,222                   ;INITIALIZE RAM LOCATION\r
+       STA     Z,RTEST\r
+       LDA     I,77\r
+       STA     Z,RTEST-1\r
+PWRON: SEI\r
+       CLD\r
+       LDX     I,177\r
+       TXS                             ;SET STACK POINTER=7F\r
+       LDA     A,TEST\r
+       CMP     I,TESTV                 ;DIAGNOSTIC PRESENT?\r
+       BEQ     TESTVJ                  ;YES, GO TO TEST\r
+       JMP     A,MAINT                 ;GO TO MAIN LOOP\r
+TESTVJ:        JSR     A,TEST\r
+MAINT: LDX     I,22.                   ;BLANK 1ST 2 LINES\r
+       JSR     A,BLANK\r
+       LDX     I,4\r
+       JSR     A,BLANK\r
+       LDX     I,12.\r
+       JSR     A,BLANK\r
+       JSR     A,SETUP                 ;INITIALIZE EVERYTHING\r
+MAIN:  JSR     A,ATRACT                ;GO TO ATTRACT MODE\r
+       JSR     A,START                 ;START GAME\r
+       JMP     A,MAIN\r
+;\r
+;ATTRACT SUBROUTINE\r
+;\r
+ATRACT:        LDA     I,0\r
+       STA     Z,TRKN\r
+       STA     Z,FLAGP\r
+       STA     A,AMODE+1               ;TURN OFF SOUND\r
+AAA:   JSR     A,TRACK                 ;OUTPUT INITIAL TRACK\r
+       JSR     A,INITIL                ;SET UP CARS\r
+       JSR     A,SCR\r
+       JSR     A,COIN\r
+       LDA     I,1\r
+       LDX     I,30.\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       LDX     Z,CFLAG\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       LDX     I,14.\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       LDX     I,16.\r
+       JSR     A,MESS\r
+A3:    INC     Z,FRAME\r
+       LDA     A,FRAME\r
+       BNE     A5\r
+       INC     Z,TRKN\r
+       LDA     Z,TRKN\r
+       CMP     I,14\r
+       BNE     A5\r
+       LDA     I,0\r
+       STA     Z,TRKN\r
+       STA     Z,FLAGP\r
+       JMP     A,AAA\r
+A5:    BIT     A,SST                   ;SIMPLE SELF-TEST?\r
+       BMI     S,+5\r
+       JMP     A,SLT\r
+       JSR     A,TRANS\r
+       LDX     I,0                     ;CAR #\r
+A1:    JSR     A,CNTRL\r
+       INX                             ;COMPUTER-CONTROL IT\r
+       CPX     I,4\r
+       BNE     A1\r
+       LDA     I,0\r
+       STA     Z,CRASH\r
+       STA     A,SOUND\r
+       STA     A,SK\r
+A2:    BIT     A,COINAD                ;CONTINUALLY LOOK\r
+       BPL     A8                      ;FOR COINS\r
+       BVS     A9\r
+A8:    JSR     A,COIN\r
+A9:    BIT     A,AMODE                 ;WAIT FOR V RESET\r
+       BVC     A2\r
+       STA     A,TREST\r
+       LDA     Z,COINS                 ;ANY COINS?\r
+       BNE     A4                      ;YES\r
+       LDA     Z,CREDIT                ;ANY CREDIT?\r
+       BEQ     A3                      ;NO, CONTINUE ATTRACTING\r
+A4:    JSR     A,LINE\r
+       LDA     Z,COINS\r
+       BNE     S,+6\r
+       LDA     Z,CREDIT\r
+       BEQ     A3\r
+       RTS                             ;YES, GO TO MAINLINE\r
+;\r
+;START PLAY SUBROUTINE\r
+;\r
+START: NOP\r
+S1:    LDX     I,0                     ;OUTPUT 1ST PLAYFIELD\r
+       STX     Z,TRKN\r
+       STX     Z,FLAGP                 ;OWEN RUBEN PATCH\r
+       JSR     A,TRACK                 \r
+       LDX     I,6\r
+       JSR     A,BLANK\r
+       LDA     I,0\r
+       LDX     I,0\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       STA     Z,TEMP5\r
+       JSR     A,INITIL                ;SET-UP CARS\r
+       JSR     A,TRANS\r
+S2:    JSR     A,COIN                  ;CONTINUE TO LOOK FOR COINS\r
+       STA     A,TREST\r
+       LDA     Z,CREDIT                ;ANY CREDIT?\r
+       BEQ     S2                      ;NO\r
+       STA     A,SBO+1                 ;TURN ON START BUTTON LIGHT\r
+       LDA     I,0\r
+       LDX     I,20.\r
+       JSR     A,MESS\r
+       BIT     A,SBI                   ;YES, LOOK FOR START BUTTON\r
+       BMI     S2\r
+       DEC     Z,CREDIT                ;DECREMENT CREDIT\r
+       LDX     I,0\r
+       JSR     A,BLANK                 ;BLANK INSTRUCTIONS\r
+       LDX     I,20.\r
+       JSR     A,BLANK\r
+       LDX     I,18.\r
+       JSR     A,BLANK\r
+       LDA     Z,EXTEND\r
+       CMP     I,100\r
+       BEQ     S205\r
+       LDA     I,0\r
+       LDX     I,18.\r
+       JSR     A,MESS\r
+       LDA     Z,EXTEND\r
+       CMP     I,60\r
+       BEQ     S,+5\r
+       STA     A,3564\r
+       LDA     Z,EXTEND+1\r
+       STA     A,3565\r
+S205:  STA     A,AMODE                 ;TURN ON SOUND\r
+PLAY:  JSR     A,TRANS\r
+       LDA     Z,FLAGP                 ;STILL UPDATING TRACK?\r
+       BEQ     S3\r
+       JSR     A,TRACK                 ;YES, CALL TRACK\r
+S3:    INC     Z,FRAME                 ;INCREMENT FRAME COUNT\r
+       JSR     A,STEER\r
+       LDX     I,1\r
+S31:   JSR     A,CNTRL                 ;COMPUTER-CONTROL CARS\r
+       INX\r
+       CPX     I,4\r
+       BNE     S31\r
+;\r
+;USER CAR\r
+;\r
+;   PLAYFIELD COLLISION\r
+;\r
+       STA     A,SK                    ;TURN OFF SKID\r
+       LDX     I,0\r
+       BIT     A,HIT                   ;PLAYFIELD HIT?\r
+       BMI     S60                     ;YES\r
+       LDA     Z,FLAGD                 ;DISABLE WALL HIT LOGIC\r
+       BEQ     S60                     ;FOR 16 FRAMES\r
+       DEC     Z,FLAGD\r
+       JMP     A,S70\r
+S60:   BIT     A,HIT                   ;PLAYFIELD HIT?\r
+       BMI     S61\r
+       LDA     I,0                     ;NO, CLEAR FLAGS\r
+       STA     Z,FLAGD\r
+       STA     Z,FLAGF\r
+       JMP     A,S70\r
+S61:   LDA     I,0\r
+       STA     Z,FLAGH                 ;DISABLE CAR HITS\r
+       LDA     Z,FLAGF                 ;YES, 1ST TIME?\r
+       BNE     S62                     ;NO\r
+       LDA     I,1                     ;YES, SET VEL=1\r
+       STA     ZX,VEL\r
+       STA     Z,FLAGF\r
+       LDA     I,17                    ;SET UP CRASH NOISE\r
+       STA     Z,CRASH\r
+S62:   LDA     I,20\r
+       STA     Z,FLAGD\r
+S70:   LDA     Z,CRASH                 ;CRASH STILL ACTIVE?\r
+       BEQ     S80                     ;NO\r
+       LDA     Z,FRAME                 ;YES, 4TH FRAME?\r
+       LSR\r
+       BCC     S80                     ;NO\r
+       LSR     \r
+       BCC     S80\r
+       DEC     Z,CRASH                 ;YES, CONTINUE CRASH\r
+S80:   LDA     Z,FLAGH                 ;CAR HIT STILL ACTIVE?\r
+       BEQ     S81                     ;NO\r
+       STA     A,SK+1                  ;YES, KEEP SKID SOUND ON\r
+       DEC     Z,FLAGH\r
+       TXA\r
+       ASL\r
+       TAY\r
+       LDA     I,2\r
+       BIT     A,STR\r
+       BVS     S800\r
+       LDA     I,376\r
+S800:  CLC\r
+       ADC     AY,ROTATE\r
+       STA     AY,ROTATE\r
+;\r
+;CAR COLLISION\r
+;\r
+S81:   BIT     A,HIT                   ;CAR HIT?\r
+       BVC     S90                     ;NO\r
+       LDA     I,40                    ;YES, SET UP CAR HIT ACTIVE\r
+       STA     Z,FLAGH\r
+S90:   STA     A,CRES                  ;COLLISION RESET\r
+;\r
+;ACCELERATION\r
+;\r
+       LDA     Z,FRAME\r
+       LSR\r
+       BCC     S130\r
+       LSR\r
+       BCC     S130\r
+       JSR     A,GETAC                 ;GET ACCELERATION\r
+       STA     Z,TEMP2\r
+       CMP     I,371                   ;ACCELERATION.LE.SKID VALUE\r
+       BPL     S10                     ;NO\r
+       STA     A,SK+1                  ;YES, TURN ON SKID\r
+S10:   LDA     Z,TEMP2\r
+       CLC\r
+       ADC     ZX,VEL\r
+       BNE     S131\r
+       LDA     I,1\r
+S131:  STA     ZX,VEL                  ;VEL=VEL+ACCELERATION\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
+       LDY     Z,GEAR\r
+       LDA     Z,GEAR\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:  STA     Z,SOUND\r
+       TXA\r
+       ASL\r
+       TAY\r
+;\r
+;UPDATE DIRECTION & STEERING\r
+;\r
+       JSR     A,STEER\r
+;\r
+;DIRECTION UPDATE\r
+;\r
+       LDA     ZX,VEL\r
+       EOR     I,377\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       STA     Z,TEMP3\r
+       CLC\r
+       ADC     I,3\r
+       STA     Z,TEMP1                 ;CONSTANT = COM(VEL(3MSB))+3\r
+       LDA     AY,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     S,+5\r
+       STA     A,SK+1                  ;TURN ON SKID\r
+       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     S,+5\r
+       STA     A,SK+1                  ;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\r
+;\r
+S250:  LDA     Z,TRKN\r
+       ASL\r
+       TAX\r
+       LDA     AX,TRKTAB               ;GET CORRECT TRACK CHECKPOINTS\r
+       STA     Z,TEMP2\r
+       LDA     AX,TRKTAB+1\r
+       STA     Z,TEMP2+1\r
+       LDA     A,SLSD\r
+       LSR\r
+       AND     I,7\r
+       ASL\r
+       TAY\r
+       LDA     NY,TEMP2\r
+       STA     Z,TEMP4\r
+       INY\r
+       LDA     NY,TEMP2\r
+       STA     Z,TEMP4+1\r
+       LDX     Z,TEMP1\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
+       LDY     I,0\r
+S27:   LDA     NY,TEMP4                ;GET CORRECT CHECKPOINT\r
+       CMP     Z,TEMP5                 ;CAR ON CHECKPOINT?\r
+       BEQ     S26                     ;YES\r
+       INY\r
+       CPY     I,4\r
+       BNE     S27\r
+       JMP     A,S290\r
+;\r
+;SCORE\r
+;\r
+S26:   LDA     A,SLSD                  ;SCORE=SCORE+2\r
+       CLC\r
+       ADC     I,2\r
+       CMP     I,272\r
+       BNE     S35\r
+       LDA     A,SMSD\r
+       CLC\r
+       ADC     I,1\r
+       CMP     I,272\r
+       BNE     S266\r
+       LDA     A,SHSD\r
+       CLC\r
+       ADC     I,1\r
+       STA     A,SHSD\r
+       LDA     I,260\r
+S266:  STA     A,SMSD\r
+       LDA     I,260\r
+S35:   STA     A,SLSD\r
+;\r
+;TRACK UPDATE\r
+;\r
+       CMP     I,260                   ;CHECKPOINT=FINISH LINE?\r
+       BNE     S290\r
+       BIT     A,SPARE\r
+       BVS     S36\r
+       LDA     Z,TOGGLE                ;YES, 2 TIMES THROUGH CURRENT TRACK?\r
+       BNE     S36\r
+       INC     Z,TOGGLE                ;NO, BUMP TOGGLE\r
+       JMP     A,S290\r
+S36:   LDA     I,0\r
+       STA     Z,TOGGLE\r
+       INC     Z,TRKN                  ;YES, BUMP TRACK NUMBER\r
+       LDA     Z,TRKN\r
+       CMP     I,12.\r
+       BNE     S29\r
+       LDA     I,6\r
+       STA     Z,TRKN\r
+S29:   JSR     A,TRACK                 ;GET NEXT TRACK\r
+;\r
+;EXTENDED PLAY\r
+;\r
+S290:  LDA     Z,FLAGZ\r
+       BEQ     S2900\r
+       LDA     Z,FRAME\r
+       AND     I,40\r
+       BEQ     S,+10.\r
+       LDX     I,2\r
+       JSR     A,BLANK\r
+       JMP     A,S2900\r
+       LDX     I,2\r
+       LDA     I,0\r
+       JSR     A,MESS\r
+S2900: LDA     A,SHSD\r
+       AND     I,77\r
+       CMP     Z,EXTEND\r
+       BMI     S37\r
+       LDA     A,SMSD\r
+       AND     I,77\r
+       CMP     Z,EXTEND+1              ;EXTENDED PLAY?\r
+       BMI     S37\r
+       LDA     Z,FLAGZ\r
+       BNE     S37\r
+       LDA     Z,FLAGQ\r
+       BNE     S37\r
+       INC     Z,FLAGQ\r
+;\r
+;FINISHED?\r
+;\r
+;\r
+;TIMER\r
+;\r
+S37:   DEC     Z,TCOUNT                ;TIME TO UPDATE TIME COUNT?\r
+       BNE     S252                    ;NO\r
+       LDA     Z,TSP\r
+       BNE     S370\r
+       INC     Z,TSP\r
+       LDA     I,40\r
+       STA     A,THSD\r
+       LDA     I,271\r
+       STA     A,TMSD\r
+       LDA     I,272\r
+       STA     A,TLSD\r
+       JMP     A,S251\r
+S370:  LDA     A,TLSD                  ;YES\r
+       CMP     I,260                   ;LSD OF TIME=0?\r
+       BNE     S251                    ;NO\r
+       LDA     A,TMSD                  ;YES\r
+       CMP     I,260                   ;MSD OF TIME=0?\r
+       BEQ     S2500                   ;YES, BYPASS TIME UPDATE\r
+       DEC     A,TMSD                  ;NO, DECREMENT MSD\r
+       LDA     I,272\r
+       STA     A,TLSD                  ;SET LSD=9\r
+S251:  DEC     A,TLSD                  ;DECREMENT LSD\r
+       LDA     Z,TSAVE\r
+       STA     Z,TCOUNT\r
+S252:  JMP     A,S50\r
+S2500: LDA     Z,FLAGQ\r
+       BEQ     S2501\r
+       LDA     I,0\r
+       STA     Z,FLAGQ\r
+       INC     Z,FLAGZ\r
+       LDA     I,263\r
+       STA     A,TMSD                  ;SET TIMER TO 30\r
+       LDA     I,0\r
+       LDX     I,2\r
+       JSR     A,MESS\r
+       LDA     Z,TSAVE\r
+       STA     Z,TCOUNT\r
+       JMP     A,S50\r
+S2501: STA     A,AMODE+1               ;TURN OFF SOUND\r
+       STA     A,SK                    ;TURN OFF SKID\r
+       LDA     I,0\r
+       STA     Z,CRASH                 ;TURN OFF CRASH\r
+       STA     Z,SOUND                 ;LOWER RPM\r
+       LDX     I,2\r
+       JSR     A,BLANK\r
+       LDX     I,12.\r
+       JSR     A,BLANK\r
+       LDA     I,0\r
+       LDX     I,12.\r
+       JSR     A,MESS\r
+       LDA     I,0\r
+       LDX     I,22.\r
+       JSR     A,MESS\r
+       LDA     A,SHSD\r
+       AND     I,17\r
+       ASL\r
+       ASL\r
+       ASL\r
+       ASL\r
+       STA     Z,TEMP1\r
+       LDA     A,SMSD\r
+       AND     I,17\r
+       ORA     Z,TEMP1\r
+       STA     Z,TEMP1\r
+       LDA     Z,TEMP1\r
+       CMP     Z,BCD1\r
+       BMI     B10\r
+       LDX     I,24.\r
+       BPL     B20\r
+B10:   CMP     Z,BCD2\r
+       BMI     B11\r
+       LDX     I,26.\r
+       BPL     B20\r
+B11:   LDX     I,28.\r
+B20:   LDA     I,1\r
+       JSR     A,MESS\r
+       LDA     Z,CREDIT\r
+       BNE     S,+5\r
+       STA     A,SBO\r
+       JSR     A,SCR\r
+;\r
+;FREEZE SCREEN\r
+;\r
+       LDA     I,10                    ;FREEZE SCREEN FOR 10 SECONDS\r
+       LDX     I,177\r
+       LDY     I,177\r
+S40:   STA     Z,TEMP3\r
+       STX     Z,TEMP4\r
+       STY     Z,TEMP5\r
+       JSR     A,COIN                  ;LOOK FOR COINS\r
+       LDA     Z,COINS\r
+       BNE     S401\r
+       LDA     Z,CREDIT                ;ANY CREDIT?\r
+       BEQ     S400                    ;NO\r
+       STA     A,SBO+1\r
+       BIT     A,SBI                   ;YES, START BUTTON PRESSED?\r
+       BPL     S401                    ;YES, GO ON\r
+S400:  LDA     Z,TEMP3                 ;NO\r
+       LDX     Z,TEMP4\r
+       LDY     Z,TEMP5\r
+       DEY\r
+       BNE     S40\r
+       STA     Z,TEMP5\r
+       STX     Z,TEMP5+1\r
+       INC     Z,FRAME\r
+       LDA     Z,FRAME\r
+       AND     I,40\r
+       BEQ     S,+10.\r
+       LDX     I,22.\r
+       JSR     A,BLANK\r
+       JMP     A,S9000\r
+       LDA     I,1\r
+       LDX     I,22.\r
+       JSR     A,MESS\r
+S9000: LDA     Z,TEMP5\r
+       LDX     Z,TEMP5+1\r
+       STA     A,TREST\r
+       LDY     I,177\r
+       DEX\r
+       BNE     S40\r
+       LDY     I,177\r
+       LDX     I,177\r
+       CMP     I,11\r
+       BCC     S,+4\r
+       LDA     I,5\r
+       SEC\r
+       SBC     I,1\r
+       BPL     S40\r
+       LDA     I,1\r
+       STA     Z,TEMP5\r
+S401:  LDX     I,22.\r
+       JSR     A,BLANK\r
+       LDX     I,12.\r
+       JSR     A,BLANK\r
+       LDA     Z,CREDIT                ;ANY CREDIT?\r
+       BNE     S41\r
+       STA     A,SBO                   ;TURN OFF START LIGHT\r
+       RTS\r
+S41:   JMP     A,S1\r
+S50:   JSR     A,STEER\r
+S501:  BIT     A,COINAD\r
+       BPL     S502\r
+       BVS     S503\r
+S502:  JSR     A,COIN\r
+S503:  BIT     A,AMODE                 ;WAIT FOR V RESET\r
+       BVC     S501\r
+       JSR     A,CHASC\r
+       STA     A,TREST                 ;PULSE WATCHDOG\r
+       JMP     A,PLAY\r
+;\r
+;\r
+;SUBROUTINES\r
+;\r
+;\r
+CNTRL: JSR     A,AUTO                  ;GET AUTO-DIRECTION\r
+       LDA     ZX,VEL\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       CLC\r
+       ADC     I,1\r
+       STA     Z,TEMP1                 ;SET ACCEL=(3 MSB OF VEL)+1\r
+       LDY     I,3\r
+       LDA     ZX,DIRECT\r
+       SEC\r
+       SBC     ZX,AUDY                 ;DIRECT-AUDY\r
+       AND     I,370\r
+       BEQ     A6\r
+       BMI     A7\r
+       LDY     I,375\r
+A7:    TYA\r
+       CLC\r
+       ADC     ZX,DIRECT\r
+       STA     ZX,DIRECT\r
+       STX     Z,TEMP3\r
+       ASL     Z,TEMP3\r
+       LDY     Z,TEMP3\r
+       STA     AY,ROTATE\r
+       LDA     I,377\r
+       STA     Z,TEMP1                 ;SET ACCELERATION=-1\r
+A6:    LDA     ZX,VEL\r
+       CLC\r
+       ADC     Z,TEMP1                 ;VEL=VEL+ACCELERATION\r
+       CMP     AX,MAXVEL\r
+       BCC     A10\r
+       LDA     AX,MAXVEL\r
+A10:   STA     ZX,VEL\r
+       JSR     A,UPDATE                ;UPDATE DIRECTION\r
+       RTS\r
+AUTO:  LDA     I,0\r
+       STA     Z,TEMP1\r
+       LDA     I,04\r
+       STA     Z,TEMP1+1\r
+       LDA     ZX,HPOST\r
+       CLC\r
+       ADC     I,4                     ;ADD 4 TO GET CENTER OF CAR\r
+       LSR\r
+       LSR\r
+       LSR                             ;DIVIDE BY 8\r
+       EOR     I,37                    ;COMPLEMENT IT\r
+       CLC\r
+       ADC     Z,TEMP1\r
+       STA     Z,TEMP1\r
+       LDA     I,0\r
+       STA     Z,TEMP2\r
+       ADC     Z,TEMP1+1\r
+       STA     Z,TEMP1+1\r
+       LDA     ZX,VPOST\r
+       CLC\r
+       ADC     I,4                     ;ADD 4 TO GET CENTER OF CAR\r
+       ORA     I,7                     ;OR IN 3 LSB'S\r
+       EOR     I,377                   ;COMPLEMENT IT\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
+       LDY     I,0\r
+       LDA     NY,TEMP1                ;GET SQUARE\r
+       BPL     AU1\r
+       ASL\r
+       ASL\r
+       ASL\r
+       ASL\r
+       ASL\r
+       STA     ZX,AUDY                 ;SAVE AUTO-DIRECTION\r
+AU1:   RTS\r
+UPDATE:        STX     Z,TEMP1\r
+       LDA     I,0\r
+       STA     Z,LFLAG\r
+       LDA     ZX,VEL\r
+       BEQ     U3\r
+       LSR\r
+       LSR\r
+       LSR\r
+       STA     Z,TEMP2                 ;MULTIPLICAND (VEL)\r
+U1:    LDA     ZX,DIRECT\r
+       LSR\r
+       LSR\r
+       LSR\r
+       TAX\r
+       STX     Z,TEMP3\r
+       LDA     AX,HOFF\r
+       BEQ     U2\r
+       ASL\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\r
+       ADC     ZX,HPOST\r
+       BPL     U5\r
+       CMP     I,374\r
+       BMI     U4\r
+       LDA     I,1\r
+       STA     Z,LFLAG\r
+       LDA     I,0\r
+       BEQ     U5\r
+U4:    CMP     I,367\r
+       BMI     U5\r
+       LDA     I,1\r
+       STA     A,LFLAG\r
+       LDA     I,367\r
+U5:    STA     ZX,HPOST\r
+U2:    LDX     Z,TEMP3\r
+       LDA     AX,VOFF\r
+       BEQ     U3\r
+       ASL\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
+       BPL     U6\r
+       CMP     I,350\r
+       BMI     U7\r
+       LDA     I,1\r
+       STA     Z,LFLAG\r
+       LDA     I,350\r
+       BMI     U7\r
+U6:    CMP     I,40\r
+       BPL     U7\r
+       LDA     I,1\r
+       STA     Z,LFLAG\r
+       LDA     I,40\r
+U7:    STA     ZX,VPOST\r
+U3:    LDX     Z,TEMP1\r
+       CPX     I,0\r
+       BEQ     U10\r
+       LDA     Z,LFLAG\r
+       BEQ     U10\r
+       LDA     I,40                    ;IF CAR OFF TRACK,\r
+       STA     ZX,HPOST                ;RESET TO START\r
+       LDA     I,120\r
+       STA     ZX,VPOST\r
+       LDA     I,300\r
+       STA     ZX,DIRECT\r
+       LDA     I,1\r
+       STA     ZX,VEL\r
+U10:   RTS\r
+MULT:  STX     Z,TEMP2+1\r
+       TXA\r
+       BPL     M3\r
+       EOR     I,377\r
+       CLC\r
+       ADC     I,1\r
+       TAX\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
+       LDA     I,0\r
+       ADC     Z,TEMP4+1\r
+       STA     Z,TEMP4+1\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:        LDX     I,0                     ;SET INITIAL CAR POSITIONS\r
+       LDA     I,40\r
+       LDY     I,0\r
+I1:    STA     ZX,HPOST\r
+       STY     ZX,HPOSL\r
+       STY     ZX,VPOSL\r
+       INX\r
+       CPX     I,4\r
+       BNE     I1\r
+       LDX     I,0\r
+       LDA     I,1\r
+I3:    STA     ZX,VEL                  ;SET VELOCITIES=1\r
+       INX\r
+       CPX     I,4\r
+       BNE     I3\r
+       LDX     I,0\r
+       LDY     I,0\r
+       LDA     I,300\r
+I2:    STA     ZX,DIRECT               ;SET UP DIRECTIONS' ROTATION\r
+       STA     AY,ROTATE\r
+       INY\r
+       INY\r
+       INX\r
+       CPX     I,4\r
+       BNE     I2\r
+       LDA     I,120\r
+       STA     Z,VPOST\r
+       LDA     I,104\r
+       STA     Z,VPOST+1\r
+       LDA     I,70\r
+       STA     Z,VPOST+2\r
+       LDA     I,54\r
+       STA     Z,VPOST+3\r
+       LDA     A,GTIME                 ;SET-UP GAME TIME\r
+       EOR     I,377                   ;ACCORDING TO SWITCHES\r
+       CLC\r
+       ROL\r
+       ROL\r
+       ROL\r
+       AND     I,3\r
+       TAY\r
+       LDA     AY,TUP\r
+       STA     Z,TCOUNT\r
+       STA     Z,TSAVE\r
+       LDA     I,4                     ;PRO LEVEL\r
+       STA     Z,BCD1\r
+       LDA     I,2                     ;ROOKIE LEVEL\r
+       STA     Z,BCD2\r
+       LDA     I,3                     ;EXTENDED PLAY LEVEL\r
+       STA     Z,BCD3\r
+       LDA     A,GTIME\r
+       EOR     I,377\r
+       CLC\r
+       ROL\r
+       ROL\r
+       ROL\r
+       AND     I,3\r
+       CLC\r
+       ADC     I,2\r
+       STA     Z,TEMP1\r
+       LDX     I,0\r
+       STX     Z,TEMP2\r
+       STX     Z,TEMP3\r
+       STX     Z,TEMP4\r
+TT10:  LDA     Z,TEMP2\r
+       SED\r
+       CLC\r
+       ADC     Z,BCD1\r
+       STA     Z,TEMP2\r
+       LDA     Z,TEMP3\r
+       CLC\r
+       ADC     Z,BCD2\r
+       STA     Z,TEMP3\r
+       LDA     Z,TEMP4\r
+       CLC\r
+       ADC     Z,BCD3\r
+       STA     Z,TEMP4\r
+       CLD\r
+       INX\r
+       CPX     Z,TEMP1\r
+       BNE     TT10\r
+       LDA     Z,TEMP2\r
+       STA     Z,BCD1\r
+       LDA     Z,TEMP3\r
+       STA     Z,BCD2\r
+       LDA     Z,TEMP4\r
+       STA     Z,BCD3\r
+       LDA     A,BONUS                 ;EXTENDED PLAY\r
+       BPL     TT11\r
+       LDA     I,100\r
+       STA     Z,EXTEND\r
+       STA     Z,EXTEND+1\r
+       LDA     Z,BCD3\r
+       STA     Z,BCD1\r
+       JMP     A,TT12\r
+TT11:  LDA     Z,BCD3\r
+       AND     I,360\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       ORA     I,60\r
+       STA     Z,EXTEND\r
+       LDA     Z,BCD3\r
+       AND     I,17\r
+       ORA     I,60\r
+       STA     Z,EXTEND+1\r
+TT12:  LDA     I,0                     ;INITIALIZE SOUND & FRAME COUNT\r
+       STA     Z,TOGGLE\r
+       STA     Z,FRAME\r
+       STA     A,SK\r
+       STA     Z,SOUND\r
+       STA     Z,SOUND+1\r
+       STA     Z,FLAGH                 ;INITIALIZE FLAGS\r
+       STA     Z,FLAGD\r
+       STA     Z,FLAGF\r
+       STA     Z,FLAGP\r
+       STA     Z,FLAGQ\r
+       STA     Z,FLAGZ\r
+       STA     Z,TSP\r
+       STA     A,CRASH\r
+       STA     A,CRES                  ;DO A COLLISION RESET\r
+       STA     A,STRES                 ;DO A STEERING RESET\r
+       LDA     A,SLSD\r
+       STA     Z,TEMP3\r
+       LDA     A,SMSD\r
+       STA     Z,TEMP3+1\r
+       LDA     A,SHSD\r
+       STA     Z,TEMP5+1\r
+       LDA     I,1\r
+       LDX     I,4                     ;OUTPUT "SCORE"\r
+       JSR     A,MESS\r
+       LDA     Z,TEMP3\r
+       STA     A,SLSD\r
+       LDA     Z,TEMP3+1\r
+       STA     A,SMSD\r
+       LDA     Z,TEMP5+1\r
+       STA     A,SHSD\r
+       LDA     Z,TEMP5\r
+       BNE     I6\r
+       LDA     I,260                   ;SET SCORE=000\r
+       STA     A,SLSD\r
+       STA     A,SMSD\r
+       STA     A,SHSD\r
+I6:    LDA     I,260\r
+       STA     A,TMSD\r
+       STA     A,TLSD                  ;SET TIME=100\r
+       LDA     I,261\r
+       STA     A,THSD\r
+I4:    RTS\r
+SETUP: LDA     I,0\r
+       STA     Z,CREDIT\r
+       STA     Z,COINS\r
+       STA     A,SBO\r
+       STA     Z,TEMP5\r
+       LDA     I,60\r
+       STA     Z,HS1\r
+       STA     Z,HS2\r
+       STA     Z,HS3\r
+       LDA     I,6\r
+       STA     Z,CFLAG\r
+       RTS\r
+CHASC: LDA     A,SLSD                  ;CHECK VALIDITY OF DIGITS\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,260\r
+       STA     A,SLSD\r
+       LDA     A,SMSD\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,260\r
+       STA     A,SMSD\r
+       LDA     A,SHSD\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,260\r
+       STA     A,SHSD\r
+       LDA     A,TMSD\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,271\r
+       STA     A,TMSD\r
+       LDA     A,TLSD\r
+       AND     I,77\r
+       JSR     A,ASCK\r
+       LDA     Z,TEMP1\r
+       BEQ     S,+7\r
+       LDA     I,271\r
+       STA     A,TLSD\r
+       RTS\r
+ASCK:  CMP     I,60\r
+       BCC     AS1\r
+       CMP     I,72\r
+       BCS     AS1\r
+       LDA     I,0\r
+       BEQ     S,+4\r
+AS1:   LDA     I,1\r
+       STA     Z,TEMP1\r
+       RTS\r
+GETAC: STX     Z,TEMP3\r
+       LDA     I,0\r
+       STA     Z,GEAR\r
+       BIT     A,GEARAD\r
+       BPL     G9\r
+       INC     Z,GEAR\r
+       BIT     A,GEARAD+1\r
+       BPL     G9\r
+       INC     Z,GEAR\r
+       BIT     A,GEARAD+2\r
+       BPL     G9\r
+       INC     Z,GEAR\r
+G9:    LDA     ZX,VEL\r
+       AND     I,370\r
+       LSR\r
+       LSR\r
+       TAX\r
+       LDA     I,2\r
+       BIT     Z,GEAR\r
+       BEQ     G2\r
+       INX\r
+G2:    LDA     AX,ATAB2\r
+       BIT     A,GP                    ;GAS PEDAL SET?\r
+       BMI     G4                      ;NO\r
+       LDA     AX,ATAB1\r
+G4:    CLC\r
+       LSR     Z,GEAR                  ;UPPER OR LOWER HALF BYTE?\r
+       BCS     G6\r
+       AND     I,360\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+G6:    AND     I,17\r
+       STA     Z,TEMP2\r
+       ROL     Z,GEAR\r
+       LDA     I,10\r
+       BIT     Z,TEMP2\r
+       BEQ     G8\r
+       LDA     Z,TEMP2\r
+       ORA     I,360\r
+       STA     Z,TEMP2\r
+G8:    LDA     Z,TEMP2\r
+       LDX     Z,TEMP3\r
+       RTS\r
+;\r
+;STEERING\r
+;\r
+STEER: LDX     I,0\r
+       LDY     I,0\r
+       LDA     Z,FLAGH\r
+       BNE     S15\r
+       BIT     A,STR                   ;ANY CHANGE IN STEERING?\r
+       BMI     S15                     ;NO, BYPASS ROTATION UPDATE\r
+       LDA     I,3\r
+       STA     Z,TEMP1\r
+       BIT     A,STR\r
+       BVS     S16\r
+       LDA     I,375\r
+       STA     Z,TEMP1\r
+S16:   LDA     AY,ROTATE\r
+       CLC\r
+       ADC     Z,TEMP1\r
+       STA     AY,ROTATE\r
+       STA     A,STRES                 ;CLEAR STEERING FLAG\r
+S15:   RTS\r
+;\r
+;COIN ROUTINE\r
+;\r
+COIN:  JSR     A,KOIN                  ;GET COINS\r
+       LDA     I,10.\r
+       STA     Z,CFLAG\r
+       BIT     A,MODE                  ;FIND COIN MODE\r
+       BPL     C50\r
+       BVS     C53                     ;2 COINS 1 CREDIT OR FREE PLAY\r
+       LDA     I,8.\r
+       STA     Z,CFLAG\r
+       LDA     Z,COINS                 ;2 COINS, 1 PLAY\r
+       CMP     I,2\r
+       BEQ     S,+3\r
+       RTS\r
+       DEC     Z,COINS\r
+       BPL     C53\r
+C50:   BVS     C54\r
+       LDA     I,6.\r
+       STA     Z,CFLAG\r
+C54:   LDA     Z,COINS\r
+       BNE     S,+3\r
+       RTS\r
+       BVC     C53                     ;1 COIN 1 PLAY OR 1 COIN 2 PLAYS\r
+       INC     Z,CREDIT\r
+C53:   INC     Z,CREDIT\r
+       DEC     Z,COINS\r
+       RTS\r
+KTEST  =0\r
+       .IF     EQ,KTEST\r
+;\r
+;GET A COIN, 16MS ON MINIMUM AND 16MS OFF MINIMUM\r
+;\r
+KOIN:  LDA     I,9.\r
+       STA     Z,TEMP1\r
+       STA     Z,TEMP1+1               ;INITIALIZE COUNTERS\r
+       STA     Z,TEMP2\r
+       STA     Z,TEMP2+1\r
+5$:    BIT     A,COINAD                ;TEST FOR MUHLAH\r
+       BPL     10$                     ;YES\r
+       BVC     10$                     ;YES\r
+;\r
+;NO COINS ON, EXIT IF DONE\r
+;\r
+       LDA     Z,TEMP1                 ;TEST ON-BOUNCE COUNTERS\r
+       AND     Z,TEMP1+1\r
+       CMP     I,9.\r
+       BNE     10$                     ;SOMEONE IS BOUNCING\r
+       RTS\r
+10$:   STA     A,TREST                 ;WATCH-DOG\r
+       LDX     I,1                     ;SET INDEX\r
+       LDY     I,372\r
+15$:   DEY                             ;1.3 MSEC DELAY\r
+       BNE     15$\r
+20$:   TXA                             ;TEST X REGISTER\r
+       BNE     25$\r
+       BIT     A,COINAD                ;TEST COIN 1\r
+       BVC     60$                     ;YES, ITS ON\r
+       BVS     40$                     ;NO COIN NOW\r
+25$:   BIT     A,COINAD                ;TEST COIN 2\r
+       BPL     60$                     ;GOT ONE\r
+40$:   LDA     ZX,TEMP1                ;TEST IF HAVE A COIN\r
+       BEQ     45$                     ;ALREADY HAVE ONE ON\r
+       LDA     I,9.\r
+       STA     ZX,TEMP1                ;RESET ON COUNTER (-NOISE)\r
+       BNE     80$                     ;DONE\r
+45$:   DEC     ZX,TEMP2                ;OFF COUNTER TEST\r
+       BNE     80$\r
+       INC     Z,COINS                 ;INCR COIN COUNT\r
+       LDA     I,9.\r
+       STA     ZX,TEMP1                ;RESET COUNTERS\r
+       STA     ZX,TEMP2\r
+       BNE     80$\r
+60$:   LDA     I,9.\r
+       STA     ZX,TEMP2                ;RESET OFF COUNTER\r
+       LDA     ZX,TEMP1                ;TEST ON COUNTER\r
+       BEQ     80$                     ;ALREADY HAVE A 16MS PULSE\r
+       DEC     ZX,TEMP1                ;ON COUNTER\r
+80$:   DEX                             ;COIN INDEX\r
+       BPL     20$                     ;DO NEXT COIN\r
+       BMI     5$                      ;CONTINUE\r
+       .ENDC\r
+       .IF     NE,KTEST\r
+KOIN:  LDA     I,9.\r
+       STA     Z,TEMP1\r
+       STA     Z,TEMP2\r
+C1:    BIT     A,COINAD\r
+       BPL     10$\r
+       BVC     10$\r
+       RTS\r
+10$:   STA     A,TREST\r
+       LDY     I,372\r
+       DEY\r
+       BNE     S,-1\r
+       BIT     A,COINAD                ;BIT 6 COIN TEST\r
+       BVC     S,+8.\r
+       LDA     I,9.\r
+       STA     Z,TEMP1                 ;RESET COUNTER ON NOISE\r
+       BPL     C2\r
+       LDA     Z,TEMP1\r
+       BEQ     C2\r
+       DEC     Z,TEMP1\r
+       BNE     C2\r
+       INC     Z,COINS\r
+C2:    BIT     A,COINAD                ;BIT 7 COIN TEST\r
+       BPL     S,+8.\r
+       LDA     I,9.\r
+       STA     Z,TEMP2                 ;RESET COUNTER\r
+       BPL     C1\r
+       LDA     Z,TEMP2\r
+       BEQ     C1\r
+       DEC     Z,TEMP2\r
+       BNE     C1\r
+       INC     Z,COINS\r
+       JMP     A,C1\r
+       .ENDC\r
+MESS:  LDY     I,0\r
+       CMP     I,0\r
+       BEQ     S,+4\r
+       LDY     I,200\r
+       STY     Z,TEMP4\r
+       LDA     AX,MESG\r
+       STA     Z,TEMP1\r
+       LDA     AX,MESG+1\r
+       STA     Z,TEMP1+1\r
+       LDA     AX,POSM\r
+       STA     Z,TEMP2\r
+       LDA     AX,POSM+1\r
+       STA     Z,TEMP2+1\r
+       LDY     I,0\r
+M100:  LDA     NY,TEMP1\r
+       BEQ     M200\r
+       ORA     Z,TEMP4\r
+       STA     NY,TEMP2\r
+       INY\r
+       JMP     A,M100\r
+M200:  RTS\r
+BLANK: LDA     AX,POSM                 ;BLANK ONE LINE\r
+       STA     Z,TEMP1\r
+       LDA     AX,POSM+1\r
+       STA     Z,TEMP1+1\r
+       LDA     I,40\r
+       LDY     I,0\r
+B1:    STA     NY,TEMP1\r
+       INY\r
+       CPY     I,40\r
+       BNE     B1\r
+       RTS\r
+TRACK: STA     A,TREST\r
+       LDA     Z,FLAGP\r
+       BNE     T10\r
+       LDA     Z,TRKN\r
+       BNE     T6\r
+       LDX     I,34.                   ;IF INITIAL TRACK,\r
+T7:    JSR     A,BLANK                 ;BLANK AREA\r
+       INX\r
+       INX\r
+       CPX     I,48.\r
+       BNE     T7\r
+       LDA     Z,TRKN\r
+T6:    ASL\r
+       TAX\r
+       LDA     AX,TADD\r
+       STA     Z,TEMP2\r
+       LDA     AX,TADD+1\r
+       STA     Z,TEMP2+1\r
+       LDY     I,0\r
+T1:    LDA     NY,TEMP2\r
+       STA     AY,TH1\r
+       INY\r
+       CPY     I,6\r
+       BNE     T1\r
+T10:   CLC\r
+       LDA     Z,TH1\r
+       ADC     I,30\r
+       STA     Z,TH4\r
+       LDA     I,0\r
+       ADC     Z,TH1+1\r
+       STA     Z,TH4+1\r
+       LDA     I,1\r
+       STA     Z,FLAGP\r
+       JSR     A,COIN\r
+       LDY     I,0\r
+T2:    LDA     NY,TH1\r
+       AND     I,360\r
+       LSR\r
+       LSR\r
+       LSR\r
+       LSR\r
+       ORA     I,240\r
+       STA     NY,TH3\r
+       LDA     Z,TH3\r
+       CLC\r
+       ADC     I,1\r
+       STA     Z,TH3\r
+       LDA     I,0\r
+       ADC     Z,TH3+1\r
+       STA     Z,TH3+1\r
+       LDA     NY,TH1\r
+       AND     I,17\r
+       ORA     I,240\r
+       STA     NY,TH3\r
+       LDA     Z,TH1\r
+       CLC\r
+       ADC     I,1\r
+       STA     Z,TH1\r
+       LDA     I,0\r
+       ADC     Z,TH1+1\r
+       STA     Z,TH1+1\r
+       LDA     Z,TH3\r
+       CLC\r
+       ADC     I,1\r
+       STA     Z,TH3\r
+       LDA     I,0\r
+       ADC     Z,TH3+1\r
+       STA     Z,TH3+1\r
+       LDA     Z,TH1+1\r
+       CMP     Z,TH2+1\r
+       BEQ     T3\r
+T4:    LDA     Z,TRKN\r
+       BEQ     T2\r
+       LDA     Z,TH1+1\r
+       CMP     Z,TH4+1\r
+       BEQ     T11\r
+       BNE     T2\r
+T3:    LDA     Z,TH1\r
+       CMP     Z,TH2\r
+       BNE     T4\r
+       LDA     I,0\r
+       STA     Z,FLAGP\r
+       BEQ     T110\r
+T11:   LDA     Z,TH1\r
+       CMP     Z,TH4\r
+       BNE     T2\r
+T110:  JSR     A,COIN\r
+       BIT     A,SPARE                 ;OIL SLICKS?\r
+       BMI     T20\r
+       LDA     Z,TRKN\r
+       ASL\r
+       ASL\r
+       TAY\r
+       LDX     I,0\r
+T19:   LDA     AY,OILS\r
+       STA     ZX,TEMP1\r
+       INY\r
+       INX\r
+       CPX     I,4\r
+       BNE     T19\r
+       LDX     I,0\r
+T18:   LDY     I,0\r
+       LDA     I,74\r
+       STA     NY,TEMP1\r
+       LDY     I,1\r
+       LDA     I,75\r
+       STA     NY,TEMP1\r
+       LDY     I,40\r
+       LDA     I,76\r
+       STA     NY,TEMP1\r
+       LDY     I,41\r
+       LDA     I,77\r
+       STA     NY,TEMP1\r
+       INX\r
+       CPX     I,1\r
+       BNE     T20\r
+       LDA     Z,TEMP2\r
+       STA     Z,TEMP1\r
+       LDA     Z,TEMP2+1\r
+       STA     Z,TEMP1+1\r
+       JMP     A,T18\r
+T20:   STA     A,TREST\r
+       RTS\r
+LINE:  LDA     A,2153\r
+       CMP     I,313\r
+       BNE     LIN1\r
+       LDA     A,MES30\r
+       CMP     I,113\r
+       BNE     LIN1\r
+       BIT     A,LFREQ\r
+       BMI     S,+3\r
+       RTS\r
+       BIT     A,AMODE\r
+       BPL     S,-3\r
+       BIT     A,AMODE\r
+       BMI     S,-3\r
+       LDA     I,10.\r
+LAD:   LDY     I,0\r
+       INY\r
+       BNE     S,-1\r
+       SEC\r
+       SBC     I,1\r
+       BNE     LAD\r
+       BMI     LIN1\r
+       RTS\r
+LIN1:  LDA     I,0\r
+       STA     Z,CREDIT\r
+       STA     Z,COINS\r
+       RTS\r
+SCR:   LDA     I,0\r
+       LDX     I,32.\r
+       JSR     A,MESS\r
+       LDA     A,SHSD\r
+       AND     I,77\r
+       CMP     Z,HS3\r
+       BMI     AAA1\r
+       BEQ     S,+4\r
+       BPL     AAA2\r
+       LDA     A,SMSD\r
+       AND     I,77\r
+       CMP     Z,HS2\r
+       BMI     AAA1\r
+       BEQ     S,+4\r
+       BPL     AAA2\r
+       LDA     A,SLSD\r
+       AND     I,77\r
+       CMP     Z,HS1\r
+       BMI     AAA1\r
+AAA2:  LDA     A,SHSD\r
+       AND     I,77\r
+       STA     Z,HS3\r
+       LDA     A,SMSD\r
+       AND     I,77\r
+       STA     Z,HS2\r
+       LDA     A,SLSD\r
+       AND     I,77\r
+       STA     Z,HS1\r
+AAA1:  LDA     Z,HS1\r
+       STA     A,HLSD\r
+       LDA     Z,HS2\r
+       STA     A,HMSD\r
+       LDA     Z,HS3\r
+       STA     A,HHSD\r
+       RTS\r
+TRANS: LDX     I,0\r
+       LDY     I,0\r
+N3:    LDA     ZX,HPOST                ;UPDATE CAR POSITIONS\r
+       STA     ZX,HPOS\r
+       LDA     ZX,VPOST\r
+       STA     AY,VPOS\r
+       INX\r
+       INY\r
+       INY\r
+       CPX     I,4\r
+       BNE     N3\r
+       RTS\r
+;\r
+;SIMPLE SELF-TEST\r
+;\r
+SLT:   LDX     I,0\r
+       LDA     I,1\r
+SST10: STA     AX,2000\r
+       STA     A,TREST\r
+       CMP     AX,2000\r
+       BNE     SST10\r
+SST12: STA     AX,2400\r
+       STA     A,TREST\r
+       CMP     AX,2400\r
+       BNE     SST12\r
+SST13: STA     AX,3000\r
+       STA     A,TREST\r
+       CMP     AX,3000\r
+       BNE     SST13\r
+SST14: STA     AX,3400\r
+       STA     A,TREST\r
+       CMP     AX,3400\r
+       BNE     SST14\r
+       INX\r
+       BNE     SST10\r
+       CLC\r
+       ADC     I,1\r
+       CMP     I,1\r
+       BNE     SST10\r
+       LDA     I,0\r
+       STA     Z,CRASH\r
+;\r
+;ROM CHECKSUM TEST\r
+;\r
+SST15: LDX     I,0\r
+       LDA     I,20\r
+       STA     Z,TEMP2\r
+       LDA     I,5\r
+       STA     Z,TEMP2+1\r
+       LDA     I,0\r
+       STA     Z,LOC\r
+       LDA     I,40\r
+       STA     Z,LOC+1\r
+SST26: LDY     I,0\r
+       LDA     I,0\r
+       STA     Z,TEMP3\r
+       STA     Z,TEMP1\r
+SST20: LDA     Z,TEMP1\r
+       CLC\r
+       ADC     NY,LOC\r
+       STA     Z,TEMP1\r
+       INY\r
+       BNE     SST20\r
+       STA     A,TREST\r
+       INC     Z,LOC+1\r
+       INC     Z,TEMP3\r
+       LDA     Z,TEMP3\r
+       CMP     I,4\r
+       BNE     SST20\r
+SST22: LDA     Z,TEMP1\r
+       CMP     AX,CKSUM\r
+       BEQ     SST25\r
+       LDY     I,0\r
+       TXA\r
+       ORA     I,60\r
+       STA     NY,TEMP2\r
+       INC     Z,TEMP2\r
+SST25: INX\r
+       CPX     I,8.\r
+       BNE     SST26\r
+       LDA     I,324                   ;WRITE OUT GAME OPTIONS\r
+       STA     A,2152\r
+       LDA     I,311\r
+       STA     A,2153\r
+       LDA     I,315\r
+       STA     A,2154\r
+       LDA     I,305\r
+       STA     A,2155\r
+       LDA     I,314\r
+       STA     A,2314\r
+       LDA     I,301\r
+       STA     A,2315\r
+       LDA     I,320\r
+       STA     A,2316\r
+       LDA     I,323\r
+       STA     A,2317\r
+       LDA     I,260\r
+       STA     A,2161\r
+SST30: LDA     I,261\r
+       BIT     A,SPARE\r
+       BVS     S,+4\r
+       LDA     I,262\r
+       STA     A,2312\r
+       LDA     I,40\r
+       BIT     A,GTIME\r
+       BMI     S,+4\r
+       LDA     I,261\r
+       STA     A,2157\r
+       LDA     I,266\r
+       BIT     A,GTIME\r
+       BMI     QB1\r
+       LDA     I,262\r
+       BVS     S,+4\r
+       LDA     I,265\r
+       BMI     S,+6\r
+QB1:   BVS     S,+4\r
+       LDA     I,271\r
+       STA     A,2160\r
+       LDA     I,212\r
+       STA     Z,TEMP1\r
+       LDA     I,4\r
+       STA     Z,TEMP1+1\r
+       BIT     A,MODE\r
+       BMI     QB2\r
+       BVS     QB3\r
+       LDA     I,MES6+7&377\r
+       STA     Z,TEMP2\r
+       LDA     I,MES6+7&177400/256.\r
+       STA     Z,TEMP2+1\r
+       JMP     A,QB4\r
+QB3:   LDA     I,MES10+8.&377\r
+       STA     Z,TEMP2\r
+       LDA     I,MES10+8.&177400/256.\r
+       STA     Z,TEMP2+1\r
+       JMP     A,QB4\r
+QB2:   BVS     QB5\r
+       LDA     I,MES8+7&377\r
+       STA     Z,TEMP2\r
+       LDA     I,MES8+7&177400/256.\r
+       STA     Z,TEMP2+1\r
+       JMP     A,QB4\r
+QB5:   LDA     I,304\r
+       STA     A,2212\r
+       LDA     I,305\r
+       STA     A,2213\r
+       LDA     I,315\r
+       STA     A,2214\r
+       LDA     I,317\r
+       STA     A,2215\r
+       LDX     I,0\r
+       LDA     I,40\r
+QB11:  STA     AX,2216\r
+       INX\r
+       CPX     I,12.\r
+       BNE     QB11\r
+       JMP     A,QB6\r
+QB4:   LDY     I,0\r
+QB7:   LDA     NY,TEMP2\r
+       ORA     I,200\r
+       STA     NY,TEMP1\r
+       INY\r
+       CPY     I,16.\r
+       BNE     QB7\r
+QB6:   BIT     A,BONUS\r
+       BPL     QB12\r
+       LDX     I,0\r
+       LDA     I,40\r
+QB13:  STA     AX,2252\r
+       INX\r
+       CPX     I,13.\r
+       BNE     QB13\r
+       JMP     QB9\r
+QB12:  LDA     I,252\r
+       STA     Z,TEMP1\r
+       LDA     I,4\r
+       STA     Z,TEMP1+1\r
+       LDA     I,MES2+10.&377\r
+       STA     Z,TEMP2\r
+       LDA     I,MES2+10.&177400/256.\r
+       STA     Z,TEMP2+1\r
+       LDY     I,0\r
+QB8:   LDA     NY,TEMP2\r
+       ORA     I,200\r
+       STA     NY,TEMP1\r
+       INY\r
+       CPY     I,13.\r
+       BNE     QB8\r
+QB9:   LDA     I,40\r
+       BIT     A,SPARE\r
+       BMI     S,+4\r
+       LDA     I,74\r
+       STA     A,2352\r
+       BIT     A,SPARE\r
+       BMI     S,+4\r
+       LDA     I,75\r
+       STA     A,2353\r
+       BIT     A,SPARE\r
+       BMI     S,+4\r
+       LDA     I,76\r
+       STA     A,2412\r
+       BIT     A,SPARE\r
+       BMI     S,+4\r
+       LDA     I,77\r
+       STA     A,2413\r
+QB10:  BIT     A,SST\r
+       BPL     S,+5\r
+       JMP     A,PWRON\r
+       STA     A,SBO\r
+       STA     A,SK\r
+       LDX     I,0\r
+SL1:   LDA     AX,GEARAD\r
+       STA     A,TREST\r
+       BMI     S,+5\r
+       STA     A,SK+1\r
+       INX\r
+       CPX     I,3\r
+       BNE     SL1\r
+       LDA     A,GP\r
+       BMI     S,+5\r
+       STA     A,SK+1\r
+       BIT     A,COINAD\r
+       BMI     S,+5\r
+       STA     A,SK+1\r
+       BVS     S,+5\r
+       STA     A,SK+1\r
+       BIT     A,SBI\r
+       BMI     S,+5\r
+       STA     A,SK+1\r
+       JMP     A,SST30\r
+CKSUM: .BYTE   314,121,11,221,^H38,^H2F,^H0AC,^H46,^H30\r
+TADD:  .WORD   20000,20446,21114\r
+       .WORD   21562,22230,22676\r
+       .WORD   23344,24012,24460\r
+       .WORD   25126,25574,26242\r
+MESG:  .WORD   MES0\r
+       .WORD   MES2\r
+       .WORD   MES4\r
+       .WORD   MES6\r
+       .WORD   MES8\r
+       .WORD   MES10\r
+       .WORD   MES12\r
+       .WORD   MES14\r
+       .WORD   MES16\r
+       .WORD   MES18\r
+       .WORD   MES20\r
+       .WORD   MES22\r
+       .WORD   MES24\r
+       .WORD   MES26\r
+       .WORD   MES28\r
+       .WORD   MES30\r
+       .WORD   MES32\r
+POSM:  .WORD   PF+240\r
+       .WORD   PF+100\r
+       .WORD   PF+40\r
+       .WORD   PF+1540\r
+       .WORD   PF+1540\r
+       .WORD   PF+1540\r
+       .WORD   PF+1540\r
+       .WORD   PF+340\r
+       .WORD   PF+240\r
+       .WORD   PF+1540\r
+       .WORD   PF+340\r
+       .WORD   PF\r
+       .WORD   PF+1565\r
+       .WORD   PF+1565\r
+       .WORD   PF+1565\r
+       .WORD   PF+153\r
+       .WORD   PF+56\r
+       .WORD   PF+100\r
+       .WORD   PF+140\r
+       .WORD   PF+200\r
+       .WORD   PF+240\r
+       .WORD   PF+300\r
+       .WORD   PF+340\r
+       .WORD   PF+400\r
+RATIO: .BYTE   14,10,6,5               ;GEAR RATIOS FOR RPM SOUNDS\r
+TUP:   .BYTE   46,70,113,136\r
+MAXVEL:        .BYTE   240,220,200,160\r
+MES0:  .ASCII  /       YOUR CAR IS /\r
+       .BYTE   327,310,311,324,305,40,40,40,40,40,0\r
+MES2:  .ASCIZ  /          EXTENDED PLAY/\r
+MES4:  .ASCIZ  /  SCORE              TIME /\r
+MES6:  .ASCIZ  /        1 COIN PER GAME   /\r
+MES8:  .ASCIZ  /       2 COINS PER GAME   /\r
+MES10: .ASCIZ  /        2 GAMES PER COIN  /\r
+MES12: .ASCIZ  /       RATING/\r
+MES14: .ASCIZ  / BLACK CARS DRIVE AUTOMATICALLY/\r
+MES16: .ASCIZ  /  TRACKS CHANGE AUTOMATICALLY/\r
+MES18: .ASCIZ  /  EXTENDED PLAY FOR   0 POINTS  /\r
+MES20: .ASCIZ  /       PUSH START BUTTON      /\r
+MES22: .ASCIZ  /            GAME  OVER/\r
+MES24: .ASCIZ  /PRO/\r
+MES26: .ASCIZ  /ROOKIE/\r
+MES28: .ASCIZ  /GRANNY/\r
+MES30: .ASCIZ  /KEE  GAMES/\r
+MES32: .ASCIZ  /HIGH SCORE     /\r
+       .REPT   37772-.\r
+       .BYTE   0\r
+       .ENDM\r
+.      =37772\r
+       .BYTE   0,60,74,60,74,60\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
\ No newline at end of file
diff --git a/SPDIAG.INS b/SPDIAG.INS
new file mode 100644 (file)
index 0000000..ddc74ec
--- /dev/null
@@ -0,0 +1,290 @@
+                       SPRINT DIAGNOSTIC PROCEDURES\r
+\r
+\r
+       I. TROUBLE-SHOOT BASIC GAME CIRCUITS.\r
+               (DO THIS STEP W/MPU AND PROGRAM PROMS REMOVED, AND 0 SWITCH IN\r
+               \r                                                                   0\r
+               "ON" POSITION. THIS SHORTS 0  TO  0  TO 0  AND SHOULD ONLY BE\r
+                                           0      0     2\r
+               USED WITH THE MPU REMOVED FROM THE GAME .)\r
+\r
+\r
+               \r
+\r
+               TROULBLE-SHOOT POWER  SUPPLIES AND SYNC AND VIDEO CIRCUITS.\r
+               LEGIBLE ALPHA-NUMERIC CHARACTERS SHOULD BE RANDOMLY DISPLAYED\r
+               ON SCREEN. VERIFY THAT THE 0 AND WRITE PULSE CIRCUITS ARE FUNC-\r
+               TIONING PROPERLY, AS WELL AS THE MNI AND RESET PULSES TO THE\r
+               MPU.\r
+\r
+\r
+       II.     SELF-TEST PROGRAM.\r
+\r
+                       THIS TEST PROGRAM IS CONTAINED IN THE REGULAR GAME PRO-\r
+               GRAM, AND IS ACCESSED BY THROWING THE "SELF TEST SWITCH" TO THE\r
+               "ON" POSITION. IT DOES NOT REQUIRE THAT THE TEST PROGRAM AND\r
+               BUFFER BOARD BE PLUGGED INTO THE GAME BOARD (50-BIN RIBBON CABLE\r
+               CONNECTOR DOES NOT NEED TO BE CONNECTED.)  THE MPU AND PROGRAM\r
+               PROMS SHOULD BE IN AND THE 0 SWITCH SHOULD BE IN OFF POSITION.\r
+\r
+       A.      RAM TEST \r
+\r
+                       THE FIRST PORTION OF THIS TEST VERIFIES THAT THE MPU IS\r
+               CAPABLE OF ACCESSING AND CORRECTLY WRITING TO EACH OF THE 1K \r
+               WORDS OF RAM (2102'S). THE MPU DOES THIS BY ADDRESSING EACH \r
+               WORD  OF THE RAM MEMORY AND WRITING ALL POSSIBLE COMBINATIONS\r
+               OF DATA INTO IT. THE DATA IS THEN READ BACK BY THE MPU TO VERIFY\r
+               THAT IT WAS CORRECTLY STORED IN RAM. AS THE MPU STORES VARIOUS\r
+               DATA CODES INTO RAM, THE VISUAL EFFECT OF THIS TEST WILL BE THAT\r
+               AS EACH DIFFERENT DATA COMBINATIONS ARE WRITTEN INTO RAM, THE\r
+               CHARACTER ASSOCIATED WITH THAT PARTICULAR DATA CODE WILL BE DIS-\r
+               PLAYED ON THE SCREEN. THE ENTIRE SCREEN WILL BE FILLED WITH THE\r
+               CHARACTER BEING ADDRESSED AT THAT TIME, AND WILL CYCLE THROUGH\r
+               THE COMPLETE SET OF ALPHA-NUMERICS. THE RAM BEING TESTED ALSO\r
+               CONTAINS THE ROTATION, HORIZONTAL, AND VERTICAL POSITIONS OF\r
+               THE CARS. BECAUSE OF THIS, THE CARS WILL MOVE ACROSS THE SCREEN                         \r
+               AND ROTATE AS DIFFERENT COMBINATIONS  OF DATA ARE WRITTEN INTO \r
+               EACH RAM LOCATION. THE CARS WILL FIRST APPEAR IN THE BOTTOM\r
+               OF THE RIGHT HAND CORNER OF THE SCREEN, FACING UP. AS THE TEST\r
+               PROGRESSES, THEY WILL MOVE AT A DIAGONAL TO THE TOP LEFT-HAND\r
+               CORNER OF THE SCREEN AND ROTATE A COMPLETE 360 DEGREES AS THEY\r
+               DO SO. THE CARS WILL APPEAR AS ONE, SINCE THEY WILL BE LOCATED\r
+               "ON TOP" OF EACH OTHER, DUE TO IDENTICAL HORIZONTAL AND VERTI-\r
+               CAL POSITION CODES. IF AT ANY POINT IN THE TEST, DATA IS STORED\r
+               OR READ FROM A RAM POSITION THE TEST WILL "FREEZE" AT THAT              \r
+               POINT, AND THE MPU WILL GO INTO A TIGHT LOOP, AS IT CONTINUALLY\r
+               ACCESSES THAT PARTICULAR RAM WORD. \r
+\r
+\r
+       B.      ROM TEST\r
+\r
+                       THIS TEST VERIFIES THE DATA CONTAINED IN THE PROGRAM\r
+               PROMS (ROMS) BY DOING A CHECK SUM OF ALL THE DATA BITS. IF\r
+               AN ERROR IS DETECTED IN ANY PROM (OR ROM), THE NUMBER OF THAT \r
+               PROM IS DISPLAYED ON THE SCREEN (0-7). SINCE THE PROGRAM PROMS\r
+               ARE 1K X 4, AN ERROR DETECTION DISPLAYED ON THE SCREEN COULD\r
+               MEAN EITHER OR BOTH OF THE PROMS ASSOCIATED WITH THAT 1K OF\r
+               ADDRESSING SPACE IS IN ERROR. (SEE CHART BELOW.) AN ERROR\r
+               INDICATION MEANS ONLY THAT THE CHECK SUM OF BITS IN THE INDICATED\r
+               DOES NOT MATCH A COMPARABLE SUM STORED ELSEWHERE IN MEMORY.*\r
+               THE INDICATED PROM IS NOT NECESSARILY BAD, AS IT COULD BE\r
+               CAUSED BY ERRONEOUS ADDRESS OR BAD DATA LINES, ETC.\r
+\r
+\r
+                                       TABLE 1\r
+\r
+               ERROR INDICATION        BAD PROMS       OR      BAD ROM\r
+\r
+                     #0                F0 , F1                   A0\r
+                     #1                H0 , H1                   A0\r
+                     #2                J0 , J1                   C0\r
+                     #3                K0 , K1                   C0\r
+                     #4                L0 , L1                   D0\r
+                     #5                M0 , M1                   D0\r
+                     #6                N0 , N1                   E0\r
+                     #7                P0 , P1                   E0\r
+\r
+       * CHECK SUM TOTALS CONTAINED IN #6\r
+\r
+\r
+       C. SWITCH TEST\r
+\r
+                       THIS TEST VERIFIES THAT THE MPU IS CAPABLE OF RECOG-\r
+               NIZING A SWITCH CLOSURE. THIS PORTION OF THE TEST AUTOMATI-\r
+               CALLY FOLLOWS A SUCCESSFULL RAM TEST. ANY SWITCH (OR SWITCHES)\r
+               WHICH ARE ACTIVATED WILL CAUSE THE SCREECH AUDIO TO BE TURNED\r
+               ON. THE SWITCHES EXAMINED IN THIS TEST INCLUDE: \r
+\r
+                       1ST (1)                 1ST (2)\r
+                       2ND (1)                 2ND (2)\r
+                       3RD (1)                 3RD (2)\r
+                       GAS (1)                 GAS (2)\r
+                       COIN (1)                COIN (2)\r
+                       START (1)               START (2)\r
+                       TRAK SELECT\r
+\r
+\r
+\r
+               IF ALL OF THESE SWITCHES ARE IN THEIR  "UNACTIVATED" POSITION,\r
+               THERE SHOULD BE NO SCREECH AUDIO.\r
+\r
+       \r
+       D.      LAMP TEST\r
+\r
+                       THIS TEST MERELY VERIFIES THAT THE MPU IS CAPABLE OF \r
+               TURNING THE LAMPS ON. DURING THE RAM TEST THE 1 AND 2 PLAYER\r
+               START LAMPS SHOULD BE OFF. AFTER COMPLETION OF THE RAM TEST, \r
+               THESE TWO LAMPS SHOULD COME ON AND REMAIN ON FOR THE REMAINDER\r
+               OF THE SELF TEST PROGRAM.\r
+\r
+\r
+       E.      OPERATOR OPTIONS TEST\r
+\r
+                       THIS TEST VERIFIES THAT THE MPU IS CAPABLE OF READING\r
+               THE OPERATOR ADJUSTABLE "OPTION SWITCHES" LOCATED ON DIP-\r
+               SWITCH PACKAGE J8 1/2 . IT IS ALSO USEFUL IN SETTING UP THESE\r
+               OPTIONS TO THE DESIRED FUNCTION, AS THE PARTICULAR OPTION(S)\r
+               SELECTED IS WRITTEN OUT ON THE SCREEN. THE FOLLOWING TABLE\r
+               CONTAINS THE LIST OF ALL POSSIBLE OPERATOR OPTIONS AND THE \r
+               MESSAGE ASSOCIATED WITH THEM IN THIS TESST PROGRAM.\r
+\r
+\r
+                               TABLE   2\r
+\r
+\r
+                       SCREEN  LAYOUT\r
+\r
+               1) LENGTH OF THE GAME TIME OPTION\r
+               2) NUR OF PLAYERS PER COIN OPTION\r
+               3) EXTENDED PLAY OPTION\r
+               4) CYCLING OF TRAKS IN ATTRACT MODE OPTION\r
+               5) OIL SLICK OPTION\r
+\r
+               SWITCH SETTING                  DISPLAYED MESSAGE\r
+               --------------                  -----------------\r
+\r
+               #1 - ON                         OIL\r
+               #1 - OFF                        BLANK (NOTHING DISPLAYED\r
+                                               IN THAT LOCATION)\r
+\r
+               #2 - ON                         BLANK\r
+               #2 - OFF                        CYCLE\r
+               \r
+               #3 - 0N                         1 COIN PER PLAYER\r
+               #4 - ON \r
+\r
+               #3 - ON                         2 PLAYERS PER COIN\r
+               #4 - OFF\r
+\r
+               #3 - OFF                        2 COINS PER PLAYER\r
+               #4 - ON\r
+\r
+               #3 - OFF                        DEMO\r
+               #4 - OFF                        \r
+               \r
+               #5 - ON                         EXTENDED PLAY\r
+               #5 - OFF                        BLANK\r
+\r
+               #7 - ON                         TIME 150\r
+               #8 - ON                         \r
+\r
+               #7 - ON                         TIME 120\r
+               #8 - OFF\r
+\r
+               #7 - OFF                        TIME 90\r
+               #8 - ON                         \r
+\r
+               #7 - OFF                        TIME 60\r
+               #8 - OFF\r
+\r
+\r
+                       ONCE THESE OPTIONS AND ASSOCIATED MESSAGES HAVE ALL\r
+               BEEN VERIFIED, THE SELF TEST PROGRAM IS CONCLUDED. TURNING THE\r
+               SELF TEST SWITCH OFF SHOULD CAUSE THE GAME TO REVERT BACK TO ITS\r
+               MORMAL ATTRACT MODE IF EVERYTHING IS FUNCTIONING PROPERLY.\r
+               OF NECESSARY, GO ON TO THE MORE DETAILED TEST DESCRIBED BELOW.\r
+\r
+       III.    TEST PROGRAM\r
+\r
+                       CONNECT 50 PIN RIBBON CONNECTOR. TURN SELF TEST SWITCH\r
+               "ON" AND TURN TEST SWITCH "ON". (THE TESST SWITICH PREVENTS\r
+               THE MPU FROM RECEIVING ITS MORMAL RESET AND NMI SIGNALS, SINCE\r
+               THESE ARE IGNORED BY THE TEST PROGRAM.) MPU AND PROGRAM PROMS \r
+               SHOULD BE IN. TO INTIALIZE PROGRAM USSE RESET BUTTON. THE \r
+               TOGGLE SWITCH SETTINGS ARE GIVEN MSB (D5) TO LSB (D0).\r
+\r              \r
+               E.G.\r
+               \r
+               000001 = D5 D4 D3 D2 D1 D0\r
+               \r
+               PB6 = PUSH BUTTON 6 (D6)\r
+               PB7 = PUSH BUTTON 7 (D7)\r
+               \r
+\r
+       A. SELF TEST (REPEAT)\r
+\r
+\r
+                       TOGGLE SWITCH SETTING = 000001; PB7 WILL START THIS \r
+               TEST WHICH IS MERELY A REPEAT OF THE SELF TEST PROGRAM \r
+               PREVIOUSLY DESCRIBED. TO TERMINATE THIS TEST, TURN THE SELF\r
+               TEST SWITCH OFF, AND LEAVE OFF FOR TH REMAINDER OF TESTS.\r
+               \r
+\r
+       B. STEERING TEST\r
+\r
+                       TOGGLE  = 000010; PB7 STARTS THIS TEST. ALL FOUR CARS\r
+               SHOULD BE DISPLAYED ON THE SCREEN. PLAYER 1 STEERING SHOULD\r
+               CAUSE ALL 4 CARS TO ROTATE IN EITHER DIRECTION; PB6 SHOULD \r
+               CAUSE PLAYER 2 STEERING TO NOW CONTROL THE ROTATION OF ALL\r
+               FOUR CARS. PUSHING PB7 SHOULD NOW PREVENT EITHER STEERING\r
+               1 OR 2 FROM CONTROLLING RATATION. PB6 WILL TERMINATE THIS\r
+               TEST.\r
+\r
+       C. COLLISION TEST\r
+               \r
+                       TOGGLE = 000100; PB7 NOW BEGINS THIS TEST, WHICH \r
+               VERIFIES THAT ALL POSSIBLE TYPES OF COLLISIONS WILL BE\r
+               RECOGNIZED BY THE MPU. IF THE COLLISION CIRCUIT IS FUNCTION-\r
+               ING PROPERLY, THE ONLY VISUAL EFFECT WILL BE A QUICK FLASH\r
+               OF VIDEO ON THE LEFT-HAND SIDE OF THE SCREEN. THE TEST IS\r
+               SELF TERMINATING UPON SUCCESSFUL COMPLETION. IF THE MPU\r
+               DOES NOT RECEIVE AN INDICATION OF A COLLISION BETWEEN ANY\r
+               OF THE DESIGNATED OBJECTS, IT WILL "FREEZE"  ON THE COLLI-\r
+               SION NOT BEING RECOGNIZED, WITH THE TWO OBJECTS DISPLAYED\r
+               ON THE SCREEN "ON TOP" OF EACH OTHER. THE ORDER IN WHICH\r
+               THE TEST IS PERFORMED IS AS FOLLOWS: \r
+\r
+                       \r
+                               1) CAR 1 & WHITE "A"\r
+                               2) CAR 1 & BLACK "A"\r
+                               3) CAR 1 & CAR 3\r
+                               4) CAR 1 & CAR 4\r
+                               5) CAR 1 & CAR 2\r
+                               6) CAR 2 & CAR 1\r
+                               7) CAR 2 & CAR 4\r
+                               8) CAR 2 & CAR 3\r
+                               9) CAR 2 & BLACK "A"\r
+                              10) CAR 2 & WHITE "A"\r
+\r
+               \r
+       D. AUDIO TEST\r
+       \r
+                       TOGGLE = 001000; PB7 STARTS THIS TEST. ONCE STARTED\r
+               TOGGLE 0 THROUGH 3 WILL CONTROL THE FREQUENCE OF MOTOR 1.\r
+               \r
+               E.G.\r
+               \r
+               001111 REPRESENTS THE HIGHEST FREQUENCY OF MOTOR 1, 000000\r
+               REPRESENTS THE LOWEST FREQUENCY , ETC. PUSHING PB6 WILL\r
+               CAUSE THE EXISTING TEST TO NOW APPLY TO THE FREQUENCY OF\r
+               MOTOR 2. PUSHING PB7 WILL NOW START THE SCREECH & CRASH TEST.\r
+               TOGGLE 0 THROUGH 3 NOW CONTROL THE CRASH BITS, WITH 0 BEING\r
+               THE LSB AND 3 BEING THE MSB. TOGGLE 4 TURNS SKID 1 ON AND\r
+               OFF. AND TOGGLE 5 TURNS SKID 2 ON AND OFF. PUSHING PB6\r
+               TERMINATES THIS TEST.\r
+\r
+       E. MISCELLANEOUS TEST\r
+\r
+                       TOGGLE = 010000; PB7 STARTS THIS TEST. THE FIRST \r
+               THING THIS TEST DOES IS VERIFY THAT THE MPU CAN READ THE \r
+               SYNC WORD (LINE, VBLANK *, & VRESET). IF FOR SOME REASON\r
+               IT CANNOT READ ANY OR ALL OF THESE SIGNALS CORRESTLY, IT\r
+               WILL "FREEZE" IN A TIGHT LOOP, AS IT TRIES TO READ THE\r
+\r              SIGNAL. IT WILL INDICATE TO THE OPERATOR THAT IT IS HUNG\r
+               BY TURNING ON THE LED LIGHTS, AND LEAVING THEM ON AS LONG\r
+               AS IT IS IN THIS LOOP. UPON SUCCESSFUL READING OF THE SYNC\r
+               WORD, THIS TEST WILL AUTOMATICALLY CONTINUE TO A TEST OF THE\r
+               OPERATOR SELECTABLE SWITCHES (J8 1/2 DIP SWITCH). TURNING ANY\r
+               OF THE SWITCHES ON WILL TURN ON THE SKID AUDIO. TURNING ALL\r
+               OF THEM OFF SHOULD TURN ALL AUDIO OFF.\r
+\r
+\r
+       NOTE: WHEN USING DIAGNOSTIC TEST BOARD 005840 IN TESTING OF SPRINT II\r
+             USE FOLLOWING ASSEMBLY INSTRUCTIONS.\r
+               \r
+                               B1 : 006430 82S115 PROM\r
+                               C1 : 006431   "     "\r
+                               D1 : 006432   "     "\r
+\r
+\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
\ No newline at end of file
diff --git a/SPDIAG.MAC b/SPDIAG.MAC
new file mode 100644 (file)
index 0000000..b0712d0
Binary files /dev/null and b/SPDIAG.MAC differ
diff --git a/SPRINT.DIR b/SPRINT.DIR
new file mode 100644 (file)
index 0000000..450c18b
Binary files /dev/null and b/SPRINT.DIR differ
diff --git a/SPRINT.MAP b/SPRINT.MAP
new file mode 100644 (file)
index 0000000..ae25be3
Binary files /dev/null and b/SPRINT.MAP differ