1000 REM SAVE"0:SYMLISTER",8 1010 REM * 21 FEB 87 - J.A.SPENCER 1020 REM * INDENTS ALL LINES STARTING 1030 REM * WITH 6510 OPCODES 1040 REM * SYMASS MUST INSTALLED 1050 : 1060 IF PEEK(700)=76 THEN 1120 1070 : 1080 PRINT "** SYMASS NOT INSTALLED **" 1090 PRINT "LOAD/RUN SYMASS FIRST" 1100 END 1110 : 1120 PRINT "SYS 828 TO ENABLE" 1130 PRINT "SYS 831 TO RESTORE PREVIOUS LIST VECTOR" 1140 : 1150 SYS700 1160 *=$033C 1170 ; 1180 SPACES = $08 ; # SPACES TO INDENT 1190 SRCAD = $5F ; CODE ADDRESS 1200 AD = $7A ; CHR(null)T & SYMASS 1210 IQPLOP = $0306 ; STD LIST JMP VEC 1220 SYMPTR = $02BD ; SYMASS VECTOR 1230 REGLST = $A71A ; NORMAL LIST CODE 1240 OUTDO = $AB47 ; PRINT CHAR 1250 FINDOP = $0000 ; DUMMY VALUE 1260 WORD = $0000 1270 ; 1280 JMP VECSET ; ENABLE 1290 JMP LISDIS ; DISABLE 1300 ; 1310 ; ALTER THE LIST VECTOR (IQPLOP) 1320 VECSET = * 1330 LDA IQPLOP ; PICK UP 1340 STA RGL+1 ; CURRENT 1350 LDA IQPLOP+1 ; 'LIST' 1360 STA RGL+2 ; VECTOR 1370 LDA #LVEC ; VECTOR 1400 STA IQPLOP+1 1410 LDA SYMPTR ; CALC ADDR OF 1420 CLC ; 'FINDOP' 1430 ADC #$9D ; ROUTINE 1440 STA OPFD+1 1450 LDA SYMPTR+1 ; & INSERT IN 1460 ADC #$03 ; CODE BELOW 1470 STA OPFD+2 1480 CLC 1490 LDA SYMPTR ; CALC ADDR OF 1500 ADC #$FA ; 'WORD' 1510 STA WRD+1 ; ROUTINE 1520 LDA SYMPTR+1 ; IN SYMASS 1530 ADC #$05 1540 STA WRD+2 1550 RTS 1560 ; 1570 ; NEW ROUTINE FOR LISTING 1580 LVEC CPY #$04 ; CHECK ONLY 1590 BEQ OPSRCH ; 1ST WORD 1600 ; 1610 REG LDA (SRCAD),Y ; ON LINE 1620 ; 1630 RGL JMP REGLST 1640 ; 1650 OPSRCH STY $49 1660 JSR CALCAD 1670 ; 1680 WRD JSR WORD ; GET LEN OF 1690 JSR CALCAD ; WORD ($59) 1700 ; 1710 OPFD JSR FINDOP 1720 BCC JREG ; NOT MNEMONIC 1730 ; 1740 LDX #SPACES 1750 ; 1760 CON2 LDA #$20 ; INSERT SPACES 1770 JSR OUTDO 1780 DEX 1790 BNE CON2 1800 ; 1810 JREG LDY $49 ; RESTORE Y REG 1820 BNE REG 1830 ; 1840 ; SUBROUTINE TO SET UP SEARCH 1850 ; ADDRESS 'AD' IN SYMASS 1860 CALCAD = * 1870 LDA $49 ; ADD .Y TO 1880 CLC ; CURRENT 1890 ADC SRCAD ; ADDR 1900 STA AD 1910 LDA #$00 1920 ADC SRCAD+1 1930 STA AD+1 1940 RTS 1950 ; 1960 ; SYS TO DISABLE LIST FORMATTER 1970 LISDIS = * 1980 LDA RGL+1 ; RESTORE LAST 1990 STA IQPLOP ; VECTOR 2000 LDA RGL+2 2010 STA IQPLOP+1 2020 RTS 2030 ; 2040 .END