diff --git a/freeway_patched_pds1d.lst b/freeway_patched_pds1d.lst new file mode 100644 index 00000000..5655500b --- /dev/null +++ b/freeway_patched_pds1d.lst @@ -0,0 +1,1506 @@ +PAGE 1 FREEWAY CROSSING PROGRAM + + 1 TITL FREEWAY CROSSING PROGRAM + 2 SAVE + 3 LOAD + 4 EVEN + 5 ORG 100 + 100 034413 6 JMS INPUT /MAIN PROGRAM + 101 034703 7 JMS START1 START UP BY INITIALIZING + 102 034312 8 LOOP1 JMS KEYS /CHECK AND ACT ON KEYBOARD + 103 062713 9 LAC #SETFIRE + 104 002001 10 ASZ NO CHANGE IN POSITION UNLESS SET + 105 034126 11 JMS POS /MODIFY CAR POSITIONS + 106 062714 12 LAC #SCOREINC + 107 032714 13 ISZ #SCOREINC + 110 003021 14 RAR 1 + 111 002004 15 LSZ EVERY SECOND LOOP CHANGE SCORE + 112 010116 16 JMP LOOP2-2 + 113 062713 17 LAC #SETFIRE + 114 002001 18 ASZ + 115 034606 19 JMS SCOREMOD MODIFY SCORE + 116 035420 20 JMS EXEC EXECUTE DISPLAY + 117 010102 21 JMP LOOP1 /LOOP IF SUBJECT NOT MOVING + 120 034126 22 LOOP2 JMS POS /MODIFY CAR POSITIONS + 121 034237 23 JMS SUBJECT /MODIFY SUBJECT'S POSITION + 122 035003 24 JMS CRASH /CHECK FOR CRASH, IF SO ACT ON IT + 123 034773 25 JMS END /CHECK IF SUBJECT CROSSED INTERSECTION + 124 035420 26 JMS EXEC /EXECUTE DISPLAY + 125 010120 27 JMP LOOP2 /END OF MAIN PROGRAM,LOOP + 126 28 POS BSS 1 /GET NEW CAR POSITIONS + 127 004272 29 LAW CARTAB /INDEXING + 130 022715 30 DAC #CARTAB /FOR CAR TABLE + 131 004250 31 LAW RVEL /INDEXING + 132 022716 32 DAC #RVEL /FOR RANDOM VELOCITY + 133 004256 33 LAW VEL /INDEXING + 134 022717 34 DAC #VEL /FOR VELOCITIES + 135 004264 35 LAW POSIT + 136 022720 36 DAC #POSIT /FOR CURRENT POSITIONS + 137 104006 37 LWC 6 /LOOP SIX TIMES + 140 022721 38 DAC #CTR + 141 162716 39 POSLP I LAC #RVEL /GET VELOCITY FOR CAR + 142 102001 40 ASN + 143 010156 41 JMP POSZERO /IF ZERO GO TO NEXT ONE + 144 166720 42 I ADD #POSIT /ADD CURRENT POSITION + 145 002002 43 ASP /SKIP IF POSITIVE, CHECK FOR OFF SCREEN LEFT + 146 034201 44 JMS NEG + 147 072656 45 SUB =2640 /CHECK FOR OFF SCREEN RIGHT + 150 102002 46 ASM + 151 034207 47 JMS PLUS + 152 066656 48 ADD =2640 + 153 122720 49 I DAC #POSIT /STORE + 154 034222 50 JMS CONVERT + 155 122715 51 I DAC #CARTAB + 156 032716 52 POSZERO ISZ #RVEL + 157 032717 53 ISZ #VEL + 160 032720 54 ISZ #POSIT + 161 032715 55 ISZ #CARTAB + 162 032721 56 ISZ #CTR + 163 010141 57 JMP POSLP /LOOP BACK + 164 060272 58 LAC CARTAB + 165 022617 59 DAC CAR1 + 166 060273 60 LAC CARTAB+1 + 167 022623 61 DAC CAR2 + 170 060274 62 LAC CARTAB+2 + 171 022627 63 DAC CAR3 + 172 060275 64 LAC CARTAB+3 + 173 022633 65 DAC CAR4 + 174 060276 66 LAC CARTAB+4 + 175 022637 67 DAC CAR5 + 176 060277 68 LAC CARTAB+5 + 177 022643 69 DAC CAR6 + 200 110126 70 I JMP POS /RETURN + 201 71 NEG BSS 1 /TAKE CARE OF OFF LEFT POSITION + 202 034214 72 JMS RRRR /GET RANDOM VELOCITY + 203 100006 73 CIA + 204 122716 74 I DAC #RVEL + 205 062657 75 LAC =2637 + 206 110201 76 I JMP NEG /RETURN + 207 77 PLUS BSS 1 /TAKE CARE OF OFF RIGHT POSITION + 210 034214 78 JMS RRRR /GET RANDOM VELOCITY + 211 122716 79 I DAC #RVEL + 212 106640 80 LWC 2640 + 213 110207 81 I JMP PLUS /RETURN + 214 82 RRRR BSS 1 /SUBROUTINE FOR RANDOM VELOCITIES + 215 162717 83 I LAC #VEL /GETS RVEL: VEL>=RVEL>=VEL/2 + 216 035076 84 JMS RAND + 217 166717 85 I ADD #VEL + 220 003061 86 SAR 1 + 221 110214 87 I JMP RRRR /RETURN + 222 88 CONVERT BSS 1 /CONVERT TO D LXA + 223 003061 89 SAR 1 + 224 100000 90 NOP + 225 100000 91 NOP + 226 100000 92 NOP + 227 100000 93 NOP + 230 100000 94 NOP + 231 100000 95 NOP + 232 100000 96 NOP + 233 100000 97 NOP + 234 100000 98 NOP + 235 066660 99 ADD =10230 /MAKE D LXA + 236 110222 100 I JMP CONVERT /RETURN + 237 101 SUBJECT BSS 1 /GET POSITION FOR SUBJECT + 240 062723 102 LAC #SUBPOS + 241 066724 103 ADD #SUBVEL + 242 022723 104 DAC #SUBPOS /GET NEW POSITION + 243 003041 105 SAL 1 + 244 034222 106 JMS CONVERT + 245 066661 107 ADD =10352 /MAKE D LYA + 246 022610 108 DAC CAR0 /STORE IN DISPLAY + 247 110237 109 I JMP SUBJECT /RETURN + 250 000040 110 RVEL OCT 40 /STORAGE FOR RANDOM VELOCITIES + 251 000040 111 OCT 40 + 252 000040 112 OCT 40 + 253 177740 113 OCT 177740 + 254 177740 114 OCT 177740 + 255 177740 115 OCT 177740 + 256 000040 116 VEL OCT 40 /TABLE OF VELOCITIES + 257 000040 117 OCT 40 + 260 000040 118 OCT 40 + 261 000040 119 OCT 40 + 262 000040 120 OCT 40 + 263 000040 121 OCT 40 + 264 000000 122 POSIT HLT /TABLE OF CURRENT POSITIONS + 265 000000 123 HLT + 266 000000 124 HLT + 267 000000 125 HLT + 270 000000 126 HLT + 271 000000 127 HLT + 272 128 CARTAB BSS 6 /TABLE FOR CARS + 300 052053 129 TAB1 D JMS LETTER+45 ZERO + 301 051562 130 TAB D JMS B3 /NUMBER TABLE + 302 051567 131 D JMS B3+5 + 303 051575 132 D JMS B3+13 + 304 051602 133 D JMS B3+20 + 305 051610 134 D JMS B3+26 + 306 051615 135 D JMS B3+33 + 307 051624 136 D JMS B3+42 + 310 051630 137 D JMS B3+46 + 311 051640 138 D JMS B3+56 + 312 139 KEYS BSS 1 /KEYBOARD READ ROUTINE + 313 002020 140 KSF /SKIP ON KEYBOARD FLAG + 314 110312 141 I JMP KEYS /OTHERWISE RETURN + 315 100001 142 CLA + 316 001023 143 KRC + 317 046662 144 AND =177 + 320 076663 145 SAM =2 TRANSMIT + 321 010352 146 JMP K2 + 322 062713 147 LAC #SETFIRE + 323 002001 148 ASZ SKIP IF ZERO + 324 010347 149 JMP K3 + 325 100005 150 COA FINISH SETTING + 326 022713 151 DAC #SETFIRE + 327 062664 152 LAC ==X THEN BEGIN A:=A-X; SETBIT15... + 650 /IF -DIV THEN A:=-A + 651 /IF -DSN THEN Q:=-QUOTIENT + 652 /COMMENT QUOTIENT IN Q, REMAINDER IN A + 1215 100010 653 CLL /CLEAR LINK + 1216 102002 654 ASM /DIVIDEND NEGATIVE? + 1217 011222 655 JMP .+3 /NO + 1220 100006 656 CIA /YES,2'S COMP. AC + 1221 100020 657 CML /COMP. LINK (REMEMBER SIGN) + 1222 021307 658 DAC D+73 /DIVIDEND IN Q + 1223 100003 659 STA /-1 TO AC + 1224 102004 660 LSN /DIVIDEND NEGATIVE? + 1225 100001 661 CLA /NO,0 TO DIV(REMAINDER POS) + 1226 021310 662 DAC D+74 /YES,-1 TO DIV (REMAINDER NEG) + 1227 161214 663 I LAC D /DIVISOR TO AC + 1230 102002 664 ASM /DIVISOR NEGATIVE? + 1231 011234 665 JMP .+3 /NO + 1232 100006 666 CIA /YES,2'S COMP DIVISOR + 1233 100020 667 CML /COMP LINK(0=POS QUOT,1=NEG QUOT) + 1234 021311 668 DAC D+75 /DIVISOR IN X + 1235 002001 669 ASZ /DIVISOR=0? + 1236 011242 670 JMP .+4 /NO + 1237 100030 671 STL /YES,SET LINK + 1240 031214 672 ISZ D /INCREMENT PAST DIVISOR TO RTN ADR + 1241 111214 673 I JMP D /RETURN + 1242 100001 674 CLA /CLEAR AC + 1243 021312 675 DAC D+76 /A=0 + 1244 002004 676 LSZ /QUOTIENT POS(LINK 0)? + 1245 100003 677 STA /NO,-1 TO DSN(QUOTIENT NEG) + 1246 021313 687 DAC D+77 /YES,0 TO DSN (QUOTIENT POS) + 1247 104020 679 LWC 20 /-16 TO AC + 1250 021314 680 DAC D+100 /INITIALIZE COUNT IN D?T + 1251 061307 681 LAC D+73 /Q INTO AC + 1252 100010 682 CLL /CLEAR LINK(SET Q(15)=0) + 1253 003001 683 RAL 1 /DOUBLE WORD + 1254 021307 684 DAC D+73 /ROTATE (Q) + 1255 061312 685 LAC D+76 /LEFT (A) + 1256 003001 686 RAL 1 /ONE + 1257 021312 687 DAC D+76 /BIT (A) + 1260 071311 688 SUB D+75 /SUBTRACT X FROM A + 1261 002002 689 ASP /IS A>=X(AC POS) + 1262 011267 690 JMP D+53 /NO, GO ROTATE + 1263 021312 691 DAC D+76 /YES,AC NOW A + 1264 004001 692 LAW 1 /SET BIT + 1265 051307 693 IOR D+73 /15 + 1266 021307 694 DAC D+73 /OF Q + 1267 031314 695 ISZ D+100 /BUMP COUNTER,COUNT=0? + 1270 011251 696 JMP D+35 /NO,LOOP AGAIN + 1271 102001 697 ASN /IF DIVIDEND = 0, A (REMAINDER IN ALGORITH... + 1272 011300 698 JMP .+6 /LEAVE WORD AFTER JMS (REMAINDER) UNTOUCHED + 1273 061312 699 LAC D+76 /REMAINDER INTO AC + 1274 031310 700 ISZ D+74 /REMAINDER NEG? + 1275 100006 701 CIA /NO POS,2'S COMP + 1276 100006 702 CIA /YES 2'S COMP IT + 1277 121214 703 I DAC D /PLACE IT IN WORD AFTER JMS + 1300 031214 704 ISZ D /POINT TO RETURN ADR + 1301 061307 705 LAC D+73 /QUOTIENT Q INTO AC + 1302 031313 706 ISZ D+77 /QUOTIENT NEG + 1303 100006 707 CIA /NO,POS,2'S COMP IT + 1304 100006 708 CIA /YES,2'S COMP IT + 1305 100010 709 CLL /CLEAR LINK (DIVISOR NE 0) + 1306 111214 710 I JMP D /RETURN + 1307 711 BSS 6 /STORAGE + 1315 712 OUTPUT BSS 1 OUTPUT A NUMBER AND A COMMA + 1316 022722 713 DAC #TMP + 1317 100001 714 CLA + 1320 022737 715 DAC #BLANK BLANK INDICATOR + 1321 004012 716 LAW 12 CONVERT TO DECIMAL + 1322 021330 717 DAC ODIV + 1323 021332 718 DAC ODIV+2 + 1324 021334 719 DAC ODIV+4 + 1325 021336 720 DAC ODIV+6 + 1326 062722 721 LAC #TMP + 1327 035214 722 JMS D + 1330 723 ODIV BSS 1 + 1331 035214 724 JMS D + 1332 725 BSS 1 + 1333 035214 726 JMS D + 1334 727 BSS 1 + 1335 035214 728 JMS D + 1336 729 BSS 1 + 1337 035355 730 JMS OUT1 START OUTPUTTING DECIMAL DIGITS + 1340 061336 731 LAC ODIV+6 + 1341 035355 732 JMS OUT1 + 1342 061334 733 LAC ODIV+4 + 1343 035355 734 JMS OUT1 + 1344 061332 735 LAC ODIV+2 + 1345 035355 736 JMS OUT1 + 1346 100005 737 COA CHANGE BLANK INDICATOR FOR LAST DIGIT + 1347 022737 738 DAC #BLANK + 1350 061330 739 LAC ODIV + 1351 035355 740 JMS OUT1 + 1352 004054 741 LAW 54 COMMA + 1353 035371 742 JMS WRITE + 1354 111315 743 I JMP OUTPUT RETURN + 1355 744 OUT1 BSS 1 OUTPUT DIGIT UNLESS BLANK + 1356 022722 745 DAC #TMP + 1357 002001 746 ASZ + 1360 011364 747 JMP .+4 + 1361 062737 748 LAC #BLANK + 1362 102001 749 ASN + 1363 111355 750 I JMP OUT1 RETURN IF BLANK + 1364 100005 751 COA + 1365 022737 752 DAC #BLANK OTHERWISE SET BLANK IND. TO 1 + 1366 062722 753 LAC #TMP + 1367 035371 754 JMS WRITE + 1370 111355 755 I JMP OUT1 RETURN + 1371 756 WRITE BSS 1 SUBROUTINE TO PACK OUTPUT IN BUFFER B + 1372 022744 757 DAC #OTD + 1373 062735 758 LAC #OTC FIRST OR SECOND BYTE INDICATOR + 1374 032735 759 ISZ #OTC + 1375 003021 760 RAR 1 + 1376 002004 761 LSZ + 1377 011406 762 JMP .+7 + 1400 062744 763 LAC #OTD FIRST BYTE + 1401 003043 764 SAL 3 + 1402 003043 765 SAL 3 + 1403 003042 766 SAL 2 + 1404 122734 767 I DAC #OTA PUT IN BUFFER + 1405 111371 768 I JMP WRITE RETURN + 1406 162734 769 I LAC #OTA SECOND BYTE + 1407 066744 770 ADD #OTD + 1410 122734 771 I DAC #OTA PUT IN BUFFER + 1411 032734 772 ISZ #OTA + 1412 100001 773 CLA + 1413 122734 774 I DAC #OTA EXTRA ZERO WORD + 1414 062734 775 LAC #OTA + 1415 076712 776 SAM =10000 RETURN UNLESS BUFFER FULL + 1416 111371 777 I JMP WRITE RETURN + 1417 000000 778 HLT IF SO STOP, NOW MUST OUTPUT AND RESTART AT... + 1420 779 EXEC BSS 1 /EXECUTE ONE DISPLAY CYCLE + 1421 102010 780 DSN + 1422 011421 781 JMP .-1 + 1423 002200 782 SSF + 1424 011423 783 JMP .-1 + 1425 001071 784 SCF + 1426 100041 785 LDA /LOAD DATA SWITCHES + 1427 102002 786 ASM /SKIP IF BIT 0 ON + 1430 000000 787 HLT /OTHERWISE STOP + 1431 006142 788 LAW DIS /GET DISPLAY ADDRESS + 1432 001003 789 DLA + 1433 003100 790 DON /RUN DISPLAY + 1434 111420 791 I JMP EXEC /RETURN + 1435 030330 792 LRD1 INC EB30 + 1436 154330 793 INC 3030 + 1437 154330 794 INC 3030 + 1440 154330 795 INC 3030 + 1441 114230 796 INC D3030 + 1442 114230 797 INC D3030 + 1443 114140 798 INC D30A140 + 1444 004000 799 D NOP + 1445 004000 800 D NOP + 1446 030270 801 LLD2 INC ED-30 + 1447 134270 802 INC D-30-30 + 1450 134270 803 INC D-30-30 + 1451 174370 804 INC B-30-30 + 1452 174370 805 INC B-30-30 + 1453 174370 806 INC B-30-30 + 1454 174140 807 INC B-30A140 + 1455 004000 808 D NOP + 1456 004000 809 D NOP + 1457 004000 810 D NOP + 1460 030230 811 LRD3 INC ED30 + 1461 114230 812 INC D3030 + 1462 114230 813 INC D3030 + 1463 154330 814 INC B3030 + 1464 154330 815 INC B3030 + 1465 154330 816 INC B3030 + 1466 154140 817 INC B30A140 + 1467 004000 818 D NOP + 1470 004000 819 D NOP + 1471 030370 820 LLD4 INC EB-30 + 1472 174370 821 INC -30-30 + 1473 174370 822 INC -30-30 + 1474 174370 823 INC -30-30 + 1475 134270 824 INC D-30-30 + 1476 134270 825 INC D-30-30 + 1477 134140 826 INC D-30A140 + 1500 004000 827 D NOP + 1501 004000 828 D NOP + 1502 004000 829 D NOP + 1503 030330 830 LR5 INC EB30 + 1504 154330 831 INC 3030 + 1505 154330 832 INC 3030 + 1506 154140 833 INC 30A140 + 1507 004000 834 D NOP + 1510 004000 835 D NOP + 1511 030273 836 CAR INC ED-33 /WORD CAR + 1512 124370 837 INC -10B-30 + 1513 170307 838 INC -200-3 + 1514 143720 839 INC 0-320 + 1515 154210 840 INC 30D10 + 1516 151713 841 INC B2313 + 1517 153717 842 INC 2-31-3 + 1520 125370 843 INC D-12B-30 + 1521 114226 844 INC D302-2 + 1522 141703 845 INC B0303 + 1523 154325 846 INC 302-1 + 1524 142765 847 INC 0-1-2-1 + 1525 174230 848 INC -30D30 + 1526 153633 849 INC B2-3D33 + 1527 114303 850 INC 30B03 /SQUARE + 1530 141703 851 INC 0303 + 1531 141703 852 INC 0303 + 1532 174370 853 INC -30-30 + 1533 174370 854 INC -30-30 + 1534 174370 855 INC -30-30 + 1535 174370 856 INC -30-30 + 1536 174370 857 INC -30-30 + 1537 143707 858 INC 0-30-3 + 1540 143707 859 INC 0-30-3 + 1541 143707 860 INC 0-30-3 + 1542 143707 861 INC 0-30-3 + 1543 143707 862 INC 0-30-3 + 1544 154330 863 INC 3030 + 1545 154330 864 INC 3030 + 1546 154330 865 INC 3030 + 1547 154330 866 INC 3030 + 1550 154330 867 INC 3030 + 1551 141703 868 INC 0303 + 1552 141703 869 INC 0303 + 1553 141571 870 INC 03F + 1554 030303 871 UP INC EB03 /LINE GOING UP + 1555 141703 872 INC 0303 + 1556 141703 873 INC 0303 + 1557 141540 874 INC 03A140 + 1560 004000 875 D NOP + 1561 004000 876 D NOP + 1562 030210 877 B3 INC ED10 /ONE + 1563 150320 878 INC B2020 + 1564 130303 879 INC D-20B03 + 1565 141702 880 INC 0302 + 1566 173171 881 INC -2-2F + 1567 030203 882 INC ED03 /TWO + 1570 101722 883 INC 03B22 + 1571 150326 884 INC 202-2 + 1572 167365 885 INC -1-2-2-1 + 1573 177730 886 INC -3-330 + 1574 154171 887 INC 30F + 1575 030330 888 INC EB30 /THREE + 1576 155362 889 INC 32-22 + 1577 174230 890 INC -30D30 + 1600 151362 891 INC B22-22 + 1601 174171 892 INC -30F + 1602 030230 893 INC ED30 /FOUR + 1603 104303 894 INC D10B03 + 1604 141702 895 INC 0302 + 1605 177756 896 INC -3-3-1-2 + 1606 154330 897 INC 3030 + 1607 074571 898 INC FF + 1610 030330 899 INC EB30 /FIVE + 1611 154702 900 INC 3102 + 1612 175370 901 INC -32-30 + 1613 141730 902 INC 0330 + 1614 154171 903 INC 30F + 1615 030203 904 INC ED03 /SIX + 1616 150720 905 INC B2120 + 1617 153366 906 INC 2-2-2-2 + 1620 170362 907 INC -20-22 + 1621 141723 908 INC 0323 + 1622 150326 909 INC 202-2 + 1623 074571 910 INC FF + 1624 030323 911 INC EB23 /SEVEN + 1625 155712 912 INC 3312 + 1626 174370 913 INC -30-30 + 1627 074571 914 INC FF + 1630 030220 915 INC ED20 /EIGHT + 1631 150321 916 INC B2021 + 1632 141371 917 INC 02-31 + 1633 175322 918 INC -3222 + 1634 150326 919 INC 202-2 + 1635 177375 920 INC -3-2-1-1 + 1636 143325 921 INC 0-22-1 + 1637 074571 922 INC FF + 1640 030230 923 INC ED30 /NINE + 1641 151713 924 INC B2313 + 1642 141770 925 INC 03-30 + 1643 173326 926 INC -2-22-2 + 1644 154171 927 INC 30F + 1645 030222 928 CRUNCH INC ED22 /CRUNCH DRAWING ROUTINE + 1646 100366 929 INC 00B-2-2 + 1647 175751 930 INC -33-11 + 1650 151322 931 INC 2222 + 1651 153237 932 INC 2-2D3-3 + 1652 103703 933 INC 0-3B03 + 1653 141702 934 INC 0302 + 1654 154336 935 INC 303-2 + 1655 177370 936 INC -3-2-30 + 1656 110326 937 INC D20B2-2 + 1657 153237 938 INC 2-2D3-3 + 1660 113607 939 INC 2-30-3 + 1661 103606 940 INC 0-30-2 + 1662 177767 941 INC B-3-3-2-3 + 1663 171763 942 INC -23-23 + 1664 171763 943 INC -23-23 + 1665 177376 944 INC -3-2-3-2 + 1666 177376 945 INC -3-2-3-2 + 1667 145713 946 INC 1313 + 1670 174771 947 INC -31-31 + 1671 174771 948 INC -31-31 + 1672 155332 949 INC 3232 + 1673 155373 950 INC 32-33 + 1674 175731 951 INC -3331 + 1675 154763 952 INC 31-23 + 1676 171763 953 INC -23-23 + 1677 156735 954 INC 3-13-1 + 1700 145713 955 INC 1313 + 1701 145737 956 INC 133-3 + 1702 157713 957 INC 3-313 + 1703 145736 958 INC 133-2 + 1704 157336 959 INC 3-23-2 + 1705 151723 960 INC 2323 + 1706 100111 961 INC D00A111 + 1707 011022 962 D LXA 1022 + 1710 020340 963 D LYA 340 + 1711 004000 964 D NOP + 1712 004000 965 D NOP + 1713 030230 966 INC ED30 + 1714 114230 967 INC 3030 + 1715 114230 968 INC 3030 + 1716 144751 969 INC B11-11 + 1717 145703 970 INC 1303 + 1720 170307 971 INC -200-3 + 1721 147755 972 INC 1-3-1-1 + 1722 146660 973 INC 1-1D-20 + 1723 130303 974 INC -20B03 + 1724 141702 975 INC 0302 + 1725 103206 976 INC D0-20-2 + 1726 174370 977 INC B-30-30 + 1727 101202 978 INC D0202 + 1730 143707 979 INC B0-30-3 + 1731 143272 980 INC 0-2D-32 + 1732 173362 981 INC B-2-2-22 + 1733 171322 982 INC -2222 + 1734 151326 983 INC 222-2 + 1735 135270 984 INC D-32-30 + 1736 134307 985 INC -30B0-3 + 1737 143706 986 INC 0-30-2 + 1740 171363 987 INC -22-23 + 1741 171707 988 INC -230-3 + 1742 143706 989 INC 0-30-2 + 1743 135603 990 INC D-3303 + 1744 101357 991 INC 02B-1-3 + 1745 167756 992 INC -1-3-1-2 + 1746 165353 993 INC -12-13 + 1747 165603 994 INC -13D03 + 1750 101603 995 INC 0303 + 1751 101603 996 INC 0303 + 1752 100737 997 INC 01B3-3 + 1753 157733 998 INC 3-333 + 1754 155727 999 INC 332-3 + 1755 153727 1000 INC 2-32-3 + 1756 151723 1001 INC 2323 + 1757 145327 1002 INC 122-3 + 1760 153732 1003 INC 2-332 + 1761 155332 1004 INC 3232 + 1762 143707 1005 INC 0-30-3 + 1763 154731 1006 INC 3131 + 1764 154767 1007 INC 31-2-3 + 1765 173767 1008 INC -2-3-2-3 + 1766 157336 1009 INC 3-23-2 + 1767 157376 1010 INC 3-2-3-2 + 1770 177337 1011 INC -3-23-3 + 1771 157770 1012 INC 3-3-30 + 1772 174370 1013 INC -30-30 + 1773 147717 1014 INC 1-31-3 + 1774 147772 1015 INC 1-3-32 + 1775 175372 1016 INC -32-32 + 1776 167757 1017 INC -1-3-1-3 + 1777 167773 1018 INC -1-3-33 + 2000 175767 1019 INC -33-2-3 + 2001 173767 1020 INC -2-3-2-3 + 2002 171763 1021 INC -23-23 + 2003 177777 1022 INC -3-3-3-3 + 2004 175773 1023 INC -33-33 + 2005 074571 1024 INC FF + 2006 030313 1025 LETTER INC EB13 A + 2007 145712 1026 INC 1312 + 2010 147717 1027 INC 1-31-3 + 2011 147263 1028 INC 1-2D-23 + 2012 174171 1029 INC B-30F + 2013 030232 1030 INC ED32 C + 2014 114366 1031 INC 30B-2-2 + 2015 170362 1032 INC -20-22 + 2016 141723 1033 INC 0323 + 2017 150326 1034 INC 202-2 + 2020 074571 1035 INC FF + 2021 030303 1036 INC EB03 D + 2022 141702 1037 INC 0302 + 2023 154325 1038 INC 302-1 + 2024 147306 1039 INC 1-20-2 + 2025 167365 1040 INC -1-2-2-1 + 2026 174171 1041 INC -30F + 2027 030330 1042 INC EB30 E + 2030 154011 1043 INC 30A11 + 2031 141302 1044 INC B0202 + 2032 154270 1045 INC 30D-30 + 2033 141302 1046 INC B0202 + 2034 154330 1047 INC 3030 + 2035 074571 1048 INC FF + 2036 030303 1049 INC EB03 H + 2037 141702 1050 INC 0302 + 2040 103605 1051 INC D0-30-1 + 2041 154330 1052 INC B3030 + 2042 000703 1053 OCT 703 + 2043 141702 1054 INC B0302 + 2044 074571 1055 INC FF + 2045 030303 1056 INC EB03 N + 2046 141702 1057 INC 0302 + 2047 153727 1058 INC 2-32-3 + 2050 153303 1059 INC 2-203 + 2051 141702 1060 INC 0302 + 2052 074571 1061 INC FF + 2053 030210 1062 INC ED10 O + 2054 150320 1063 INC B2020 + 2055 145702 1064 INC 1302 + 2056 165760 1065 INC -13-20 + 2057 170357 1066 INC -20-1-3 + 2060 143317 1067 INC 0-21-3 + 2061 074571 1068 INC FF + 2062 030303 1069 INC EB03 P + 2063 141702 1070 INC 0302 + 2064 154335 1071 INC 303-1 + 2065 143375 1072 INC 0-2-3-1 + 2066 174171 1073 INC -30F + 2067 030303 1074 INC EB03 R + 2070 141702 1075 INC 0302 + 2071 154335 1076 INC 303-1 + 2072 143375 1077 INC 0-2-3-1 + 2073 174230 1078 INC -30D30 + 2074 153316 1079 INC B2-21-2 + 2075 074571 1080 INC FF + 2076 030201 1081 INC ED01 S + 2077 152730 1082 INC B2-130 + 2100 145771 1083 INC 13-31 + 2101 174713 1084 INC -3113 + 2102 154325 1085 INC 302-1 + 2103 074571 1086 INC FF + 2104 030230 1087 INC ED30 T + 2105 141703 1088 INC B0303 + 2106 141010 1089 INC 02A10 + 2107 154330 1090 INC B3030 + 2110 074571 1091 INC FF + 2111 030303 1092 INC EB03 W + 2112 141702 1093 INC 0302 + 2113 000733 1094 OCT 733 + 2114 157703 1095 INC B3-303 + 2115 141702 1096 INC 0302 + 2116 074571 1097 INC FF + 2117 030230 1098 INC ED30 Y + 2120 141303 1099 INC B0203 + 2121 155410 1100 INC 33A10 + 2122 157571 1101 INC B3-3F + 2123 030232 1102 INC ED32 : + 2124 140203 1103 INC B00D03 + 2125 100700 1104 INC D01B00 + 2126 074571 1105 INC FF + 2127 004000 1106 REST D NOP /DISPLAY WAIT ROUTINE + 2130 004000 1107 D NOP + 2131 004000 1108 D NOP + 2132 004000 1109 D NOP + 2133 004000 1110 D NOP + 2134 004000 1111 D NOP + 2135 004000 1112 D NOP + 2136 004000 1113 D NOP + 2137 004000 1114 D NOP + 2140 004000 1115 D NOP + 2141 004040 1116 D RJM /RETURN + 2142 006000 1117 DIS D HVC /START OF DISPLAY + 2143 004005 1118 D STS 1 + 2144 010230 1119 D LXA 230 /DRAW HIGHWAY + 2145 021154 1120 D LYA 1154 + 2146 004000 1121 D NOP + 2147 004000 1122 D NOP + 2150 004000 1123 D NOP + 2151 004000 1124 D NOP + 2152 004000 1125 D NOP + 2153 051503 1126 D JMS LR5 + 2154 051503 1127 D JMS LR5 + 2155 051503 1128 D JMS LR5 + 2156 051503 1129 D JMS LR5 + 2157 051503 1130 D JMS LR5 + 2160 051503 1131 D JMS LR5 + 2161 051503 1132 D JMS LR5 + 2162 051503 1133 D JMS LR5 + 2163 051503 1134 D JMS LR5 + 2164 051503 1135 D JMS LR5 + 2165 051503 1136 D JMS LR5 + 2166 051503 1137 D JMS LR5 + 2167 051503 1138 D JMS LR5 + 2170 051503 1139 D JMS LR5 + 2171 051503 1140 D JMS LR5 + 2172 051503 1141 D JMS LR5 + 2173 051503 1142 D JMS LR5 + 2174 051503 1143 D JMS LR5 + 2175 051503 1144 D JMS LR5 + 2176 011022 1145 D LXA 1022 + 2177 004000 1146 D NOP + 2200 004000 1147 D NOP + 2201 004000 1148 D NOP + 2202 051503 1149 D JMS LR5 + 2203 051503 1150 D JMS LR5 + 2204 051503 1151 D JMS LR5 + 2205 051503 1152 D JMS LR5 + 2206 051503 1153 D JMS LR5 + 2207 051503 1154 D JMS LR5 + 2210 051503 1155 D JMS LR5 + 2211 051503 1156 D JMS LR5 + 2212 051503 1157 D JMS LR5 + 2213 051503 1158 D JMS LR5 + 2214 051503 1159 D JMS LR5 + 2215 051503 1160 D JMS LR5 + 2216 051503 1161 D JMS LR5 + 2217 051503 1162 D JMS LR5 + 2220 051503 1163 D JMS LR5 + 2221 051503 1164 D JMS LR5 + 2222 051503 1165 D JMS LR5 + 2223 051503 1166 D JMS LR5 + 2224 051503 1167 D JMS LR5 + 2225 021110 1168 D LYA 1110 + 2226 004000 1169 D NOP + 2227 004000 1170 D NOP + 2230 004000 1171 D NOP + 2231 051471 1172 D JMS LLD4 + 2232 051471 1173 D JMS LLD4 + 2233 051471 1174 D JMS LLD4 + 2234 051471 1175 D JMS LLD4 + 2235 051471 1176 D JMS LLD4 + 2236 051471 1177 D JMS LLD4 + 2237 051471 1178 D JMS LLD4 + 2240 051471 1179 D JMS LLD4 + 2241 051471 1180 D JMS LLD4 + 2242 051471 1181 D JMS LLD4 + 2243 051446 1182 D JMS LLD2 + 2244 051446 1183 D JMS LLD2 + 2245 051446 1184 D JMS LLD2 + 2246 051446 1185 D JMS LLD2 + 2247 051446 1186 D JMS LLD2 + 2250 051446 1187 D JMS LLD2 + 2251 051446 1188 D JMS LLD2 + 2252 051446 1189 D JMS LLD2 + 2253 051446 1190 D JMS LLD2 + 2254 051446 1191 D JMS LLD2 + 2255 021044 1192 D LYA 1044 + 2256 004000 1193 D NOP + 2257 004000 1194 D NOP + 2260 004000 1195 D NOP + 2261 051435 1196 D JMS LRD1 + 2262 051435 1197 D JMS LRD1 + 2263 051435 1198 D JMS LRD1 + 2264 051435 1199 D JMS LRD1 + 2265 051435 1200 D JMS LRD1 + 2266 051435 1201 D JMS LRD1 + 2267 051435 1202 D JMS LRD1 + 2270 051435 1203 D JMS LRD1 + 2271 051435 1204 D JMS LRD1 + 2272 051435 1205 D JMS LRD1 + 2273 051460 1206 D JMS LRD3 + 2274 051460 1207 D JMS LRD3 + 2275 051460 1208 D JMS LRD3 + 2276 051460 1209 D JMS LRD3 + 2277 051460 1210 D JMS LRD3 + 2300 051460 1211 D JMS LRD3 + 2301 051460 1212 D JMS LRD3 + 2302 051460 1213 D JMS LRD3 + 2303 051460 1214 D JMS LRD3 + 2304 051460 1215 D JMS LRD3 + 2305 021000 1216 D LYA 1000 + 2306 004000 1217 D NOP + 2307 004000 1218 D NOP + 2310 004000 1219 D NOP + 2311 051471 1220 D JMS LLD4 + 2312 051471 1221 D JMS LLD4 + 2313 051471 1222 D JMS LLD4 + 2314 051471 1223 D JMS LLD4 + 2315 051471 1224 D JMS LLD4 + 2316 051471 1225 D JMS LLD4 + 2317 051471 1226 D JMS LLD4 + 2320 051471 1227 D JMS LLD4 + 2321 051471 1228 D JMS LLD4 + 2322 051471 1229 D JMS LLD4 + 2323 051446 1230 D JMS LLD2 + 2324 051446 1231 D JMS LLD2 + 2325 051446 1232 D JMS LLD2 + 2326 051446 1233 D JMS LLD2 + 2327 051446 1234 D JMS LLD2 + 2330 051446 1235 D JMS LLD2 + 2331 051446 1236 D JMS LLD2 + 2332 051446 1237 D JMS LLD2 + 2333 051446 1238 D JMS LLD2 + 2334 051446 1239 D JMS LLD2 + 2335 020734 1240 D LYA 734 + 2336 004000 1241 D NOP + 2337 004000 1242 D NOP + 2340 004000 1243 D NOP + 2341 051435 1244 D JMS LRD1 + 2342 051435 1245 D JMS LRD1 + 2343 051435 1246 D JMS LRD1 + 2344 051435 1247 D JMS LRD1 + 2345 051435 1248 D JMS LRD1 + 2346 051435 1249 D JMS LRD1 + 2347 051435 1250 D JMS LRD1 + 2350 051435 1251 D JMS LRD1 + 2351 051435 1252 D JMS LRD1 + 2352 051435 1253 D JMS LRD1 + 2353 051460 1254 D JMS LRD3 + 2354 051460 1255 D JMS LRD3 + 2355 051460 1256 D JMS LRD3 + 2356 051460 1257 D JMS LRD3 + 2357 051460 1258 D JMS LRD3 + 2360 051460 1259 D JMS LRD3 + 2361 051460 1260 D JMS LRD3 + 2362 051460 1261 D JMS LRD3 + 2363 051460 1262 D JMS LRD3 + 2364 051460 1263 D JMS LRD3 + 2365 020670 1264 D LYA 670 + 2366 004000 1265 D NOP + 2367 004000 1266 D NOP + 2370 004000 1267 D NOP + 2371 051471 1268 D JMS LLD4 + 2372 051471 1269 D JMS LLD4 + 2373 051471 1270 D JMS LLD4 + 2374 051471 1271 D JMS LLD4 + 2375 051471 1272 D JMS LLD4 + 2376 051471 1273 D JMS LLD4 + 2377 051471 1274 D JMS LLD4 + 2400 051471 1275 D JMS LLD4 + 2401 051471 1276 D JMS LLD4 + 2402 051471 1277 D JMS LLD4 + 2403 051446 1278 D JMS LLD2 + 2404 051446 1279 D JMS LLD2 + 2405 051446 1280 D JMS LLD2 + 2406 051446 1281 D JMS LLD2 + 2407 051446 1282 D JMS LLD2 + 2410 051446 1283 D JMS LLD2 + 2411 051446 1284 D JMS LLD2 + 2412 051446 1285 D JMS LLD2 + 2413 051446 1286 D JMS LLD2 + 2414 051446 1287 D JMS LLD2 + 2415 020624 1288 D LYA 624 + 2416 004000 1289 D NOP + 2417 004000 1290 D NOP + 2420 004000 1291 D NOP + 2421 051503 1292 D JMS LR5 + 2422 051503 1293 D JMS LR5 + 2423 051503 1294 D JMS LR5 + 2424 051503 1295 D JMS LR5 + 2425 051503 1296 D JMS LR5 + 2426 051503 1297 D JMS LR5 + 2427 051503 1298 D JMS LR5 + 2430 051503 1299 D JMS LR5 + 2431 051503 1300 D JMS LR5 + 2432 051503 1301 D JMS LR5 + 2433 051503 1302 D JMS LR5 + 2434 051503 1303 D JMS LR5 + 2435 051503 1304 D JMS LR5 + 2436 051503 1305 D JMS LR5 + 2437 051503 1306 D JMS LR5 + 2440 051503 1307 D JMS LR5 + 2441 051503 1308 D JMS LR5 + 2442 051503 1309 D JMS LR5 + 2443 051503 1310 D JMS LR5 + 2444 011022 1311 D LXA 1022 + 2445 004000 1312 D NOP + 2446 004000 1313 D NOP + 2447 004000 1314 D NOP + 2450 051503 1315 D JMS LR5 + 2451 051503 1316 D JMS LR5 + 2452 051503 1317 D JMS LR5 + 2453 051503 1318 D JMS LR5 + 2454 051503 1319 D JMS LR5 + 2455 051503 1320 D JMS LR5 + 2456 051503 1321 D JMS LR5 + 2457 051503 1322 D JMS LR5 + 2460 051503 1323 D JMS LR5 + 2461 051503 1324 D JMS LR5 + 2462 051503 1325 D JMS LR5 + 2463 051503 1326 D JMS LR5 + 2464 051503 1327 D JMS LR5 + 2465 051503 1328 D JMS LR5 + 2466 051503 1329 D JMS LR5 + 2467 051503 1330 D JMS LR5 + 2470 051503 1331 D JMS LR5 + 2471 051503 1332 D JMS LR5 + 2472 051503 1333 D JMS LR5 + 2473 011000 1334 D LXA 1000 + 2474 020602 1335 D LYA 602 + 2475 052127 1336 D JMS REST + 2476 051554 1337 D JMS UP + 2477 051554 1338 D JMS UP + 2500 051554 1339 D JMS UP + 2501 051554 1340 D JMS UP + 2502 051554 1341 D JMS UP + 2503 051554 1342 D JMS UP + 2504 051554 1343 D JMS UP + 2505 051554 1344 D JMS UP + 2506 051554 1345 D JMS UP + 2507 051554 1346 D JMS UP + 2510 051554 1347 D JMS UP + 2511 051554 1348 D JMS UP + 2512 051554 1349 D JMS UP + 2513 051554 1350 D JMS UP + 2514 004000 1351 SCORE D NOP + 2515 010745 1352 D LXA 745 + 2516 021440 1353 D LYA 1440 + 2517 052127 1354 D JMS REST + 2520 052076 1355 D JMS LETTER+70 S + 2521 052013 1356 D JMS LETTER+5 C + 2522 052053 1357 D JMS LETTER+45 O + 2523 052067 1358 D JMS LETTER+61 R + 2524 052027 1359 D JMS LETTER+21 E + 2525 052123 1360 D JMS LETTER+115 : + 2526 010745 1361 D LXA 745 + 2527 004100 1362 D DYM + 2530 004100 1363 D DYM + 2531 052127 1364 D JMS REST + 2532 005000 1365 D IXM + 2533 005000 1366 NUM1 D IXM + 2534 005000 1367 D IXM + 2535 005000 1368 D IXM + 2536 005000 1369 D IXM + 2537 052053 1370 D JMS LETTER+45 + 2540 011000 1371 D LXA 1000 + 2541 004000 1372 SET D NOP + 2542 010670 1373 D LXA 670 + 2543 020340 1374 D LYA 340 + 2544 052127 1375 D JMS REST + 2545 052076 1376 D JMS LETTER+70 S + 2546 052027 1377 D JMS LETTER+21 E + 2547 052104 1378 D JMS LETTER+76 T + 2550 005000 1379 D IXM + 2551 052013 1380 D JMS LETTER+5 C + 2552 052006 1381 D JMS LETTER A + 2553 052067 1382 D JMS LETTER+61 R + 2554 005000 1383 D IXM + 2555 052076 1384 D JMS LETTER+70 S + 2556 052062 1385 D JMS LETTER+54 P + 2557 052027 1386 D JMS LETTER+21 E + 2560 052027 1387 D JMS LETTER+21 E + 2561 052021 1388 D JMS LETTER+13 D + 2562 011000 1389 D LXA 1000 + 2563 004000 1390 FIRE D NOP + 2564 010670 1391 D LXA 670 + 2565 020340 1392 D LYA 340 + 2566 052127 1393 D JMS REST + 2567 052076 1394 D JMS LETTER+70 S + 2570 052104 1395 D JMS LETTER+76 T + 2571 052006 1396 D JMS LETTER A + 2572 052067 1397 D JMS LETTER+61 R + 2573 052104 1398 D JMS LETTER+76 T + 2574 005000 1399 D IXM + 2575 052111 1400 D JMS LETTER+103 W + 2576 052036 1401 D JMS LETTER+30 H + 2577 052027 1402 D JMS LETTER+21 E + 2600 052045 1403 D JMS LETTER+37 N + 2601 005000 1404 D IXM + 2602 052067 1405 D JMS LETTER+61 R + 2603 052027 1406 D JMS LETTER+21 E + 2604 052006 1407 D JMS LETTER A + 2605 052021 1408 D JMS LETTER+13 D + 2606 052117 1409 D JMS LETTER+111 Y + 2607 011000 1410 D LXA 1000 + 2610 020602 1411 CAR0 D LYA 602 + 2611 052127 1412 D JMS REST + 2612 051511 1413 D JMS CAR + 2613 011000 1414 D LXA 1000 + 2614 020546 1415 D LYA 536 + 2615 052127 1416 D JMS REST + 2616 051562 1417 DIGIT D JMS B3 + 2617 010230 1418 CAR1 D LXA 230 + 2620 020646 1419 D LYA 646 + 2621 052127 1420 D JMS REST + 2622 051511 1421 D JMS CAR + 2623 010230 1422 CAR2 D LXA 230 + 2624 020712 1423 D LYA 712 + 2625 052127 1424 D JMS REST + 2626 051511 1425 D JMS CAR + 2627 010230 1426 CAR3 D LXA 230 + 2630 020756 1427 D LYA 756 + 2631 052127 1428 D JMS REST + 2632 051511 1429 D JMS CAR + 2633 010230 1430 CAR4 D LXA 230 + 2634 021022 1431 D LYA 1022 + 2635 052127 1432 D JMS REST + 2636 051511 1433 D JMS CAR + 2637 010230 1434 CAR5 D LXA 230 + 2640 021066 1435 D LYA 1066 + 2641 052127 1436 D JMS REST + 2642 051511 1437 D JMS CAR + 2643 010230 1438 CAR6 D LXA 230 + 2644 021132 1439 D LYA 1132 + 2645 052127 1440 D JMS REST + 2646 051511 1441 D JMS CAR + 2647 010756 1442 D LXA 756 + 2650 020340 1443 D LYA 340 + 2651 052127 1444 D JMS REST + 2652 004000 1445 CRUNCH0 D NOP + 2653 011000 1446 D LXA 1000 /CENTER BEAM AND WAIT + 2654 021000 1447 D LYA 1000 + 2655 000000 1448 D HLT + 2656 1449 L BSS 1 LITERALS GO HERE + 1450 ORG 3000 + 3000 032734 1451 ISZ #OTA MODULE TO PRINT OUTPUT BUFFER--START HERE + 3001 062677 1452 LAC =B + 3002 022745 1453 DAC #OTB UNPACK COUNTER + 3003 100001 1454 CLA + 3004 022735 1455 DAC #OTC FIRST OR SECOND BYTE COUNTER + 3005 062735 1456 LPP LAC #OTC + 3006 032735 1457 ISZ #OTC + 3007 003021 1458 RAR 1 + 3010 162745 1459 I LAC #OTB LOAD PACKED WORD + 3011 102004 1460 LSN + 3012 013015 1461 JMP .+3 + 3013 032745 1462 ISZ #OTB + 3014 013020 1463 JMP .+4 + 3015 003063 1464 SAR 3 FIRST BYTE + 3016 003063 1465 SAR 3 + 3017 003062 1466 SAR 2 + 3020 002100 1467 TSF SECOND BYTE + 3021 013020 1468 JMP .-1 + 3022 001043 1469 TPC TRANSMIT BYTE + 3023 062745 1470 LAC #OTB + 3024 076734 1471 SAM #OTA CHECK FOR LAST ZERO WORD + 3025 013005 1472 JMP LPP + 3026 000000 1473 HLT PROGRAM END + 3027 1474 B BSS 1 PRINT BUFFER + 2656 002640 + 2657 002637 + 2660 010230 + 2661 010352 + 2662 000177 + 2663 000002 + 2664 062563 + 2665 004000 + 2666 062610 + 2667 000004 + 2670 000001 + 2671 000006 + 2672 000011 + 2673 000017 + 2674 000077 + 2675 077700 + 2676 000037 + 2677 003027 + 2700 051511 + 2701 077777 + 2702 000300 + 2703 005000 + 2704 004000 + 2705 062541 + 2706 020602 + 2707 021176 + 2710 000550 + 2711 051645 + 2712 010000 + diff --git a/src/imsrc/free.way b/src/imsrc/free.way index 60780052..74b7a323 100644 --- a/src/imsrc/free.way +++ b/src/imsrc/free.way @@ -897,7 +897,7 @@ IFN ALPHA,[ DDXM DRJM ] -.ELSE [ +.ELSE [ INC DM30,DM30 INC DM30,DM30 INC DM30,X @@ -1214,7 +1214,7 @@ IFN ALPHA,[ DLXA 1400 ;DRAW HIGHWAY DLYA 4600 ] -.ELSE [ +.ELSE [ DLXA 230 DLYA 1154 ] @@ -1465,8 +1465,8 @@ IFN ALPHA,[ DLYA 3100 ] .ELSE [ - DLXA 745 - DLYA 1440 + DLXA 1000 + DLYA 602 ] DJMS REST DJMS UP @@ -1484,8 +1484,14 @@ IFN ALPHA,[ DJMS UP DJMS UP SCORE: DNOP +IFN ALPHA,[ DLXA 3640 DLYA 6000 +] +.ELSE [ + DLXA 745 + DLYA 1440 +] DJMS REST DJMS LETTER+70 ;S DJMS LETTER+5 ;C