100 / NICOLET DATA CONVERSION 110 120 / PROGRAM TO CONVERT DATA LEFT IN MEMORY BY FOCAL WITH "NPATCH" INTO 130 / P?S/8 OUTPUT FILE(S). 140 150 / LAST EDIT: 23-MAR-1986 13:00:00 CJL 160 170 / MUST BE ASSEMBLED WITH '/J' SWITCH SET. 180 190 / ASSEMBLY INSTRUCTIONS: 200 210 / SET "BUFFLD" TO PROPER FIELD FOR MEMORY DATA (DEFAULT IS 20). 220 230 / SET "N" TO AMOUNT OF P?S/8 BLOCKS PER ORIGINAL READ/WRITE (DEFAULT IS 2). 240 / MUST BE A POWER OF TWO FOR PROPER OPERATION. 250 260 / DEFINITIONS. 270 280 / P?S/8 DEFINITIONS. 290 300 DOLBLK= 0040 /DEFAULT ASCII SCRATCH AREA ($) 310 INCON= 0031 /EQUATED FROM CONSOLE! 320 OUTCON= 0033 /EQUATED FROM CONSOLE! 330 TTY= 0003 /CONSOLE DEVICE CODE 340 SBOOT= 7600 /SYSTEM EXIT HERE 350 SBTFUN= 7602 /SYSTEM BOOTSTRAP UNIT WORD 360 SCRSIZE=7611 /SOFTWARE CORE SIZE WORD 370 SFILES= 7757 /PASSED FILES HERE 380 SOUTFLS=7607 /OUTPUT FILE COUNT 390 SWMX= 7605 /M-/X SWITCHES 400 SYSIO= 7640 /ENTER I/O ROUTINES HERE 410 WRITE= 4000 /SYSIO WRITE BIT 420 430 / OTHER DEFINITIONS. 440 450 IFNDEF BUFFLD /BUFFER FIELD FOR FBLK AND FWRD 460 FILBUFF=3000 /FILE CREATED IN 003000 470 JMSC= JMS . /CURRENT PAGE JMS INSTRUCTION 480 JMSSYSI=SYSIO&177+JMSC /CALL TO SYSIO ON ITS PAGE 490 KCCIOT= TTY^10+6002 /CLEAR KEYBOARD FLAG 500 KRSIOT= TTY^10+6004 /READ KEYBOARD BUFFER 510 KSFIOT= TTY^10+6001 /SKIP ON KEYBOARD FLAG 520 IFNDEF LINE /SEVEN ON A LINE 530 IFNDEF N /NUMBER OF P?S/8 BLOCKS IN READ/WRITE 540 NL0002= CLA CLL CML RTL /LOAD AC WITH 0002 550 NL4000= CLA CLL CML RAR /LOAD AC WITH 4000 560 NL7775= CLA CLL CMA RTL /LOAD AC WITH 7775 570 NL7777= CLA CMA /LOAD AC WITH 7777 580 TLSIOT= TTY+1^10+6006 /OUTPUT TO TELEPRINTER 590 TSFIOT= TTY+1^10+6001 /SKIP ON TELEPRINTER FLAG 600 EJECT 610 *0 /START AT THE BEGINNING 620 630 0 /DON'T USE THIS! 640 FILPTR, SFILES /FILE POINTER 650 660 *10 /DEFINE AUTO-INDEX AREA 670 680 EOLPROT,250 / PROTECTION VALUE FOR FIXED FILES 690 FILCNT, 0 /P?S/8 FILE CREATION COUNT 700 PFFLATE,.-. /LATEST CHARACTER INSERTED INTO FIXED FILE 710 PFFPREV,.-. /PREVIOUS CHARACTER INSERTED INTO FIXED FILE 720 730 *20 /GET PAST AUTO-INDEX AREA 740 750 INCHAR, .-. /LATEST KEYBOARD INPUT CHARACTER 760 P7TEMP, .-. /TERMINAL OUTPUT TEMPORARY 770 780 CHKUP, .-. /CHECK FOR <^C>, ETC. ROUTINE 790 JMS CTLCTST /CHECK FOR <^C> 800 SZA /SKIP IF NOTHING CAME IN 810 TAD [-"Q!300] /ELSE COMPARE TO <^Q> 820 SNA /SKIP IF NEITHER CASE 830 JMP CHKCLR /ELSE FORGET IT 840 TAD [-"S+"Q] /COMPARE TO <^S> 850 PSYSIO, SZA CLA /SKIP IF IT MATCHES 860 JMP I CHKUP /ELSE RETURN 870 JMS CTLCTST /GET ANOTHER CHARACTER 880 TAD [-"Q!300] /COMPARE TO <^Q> 890 SZA CLA /SKIP IF IT MATCHES 900 JMP .-3 /ELSE KEEP GOING 910 CHKCLR, DCA INCHAR /OBLITERATE <^Q>, ETC. 920 JMP I CHKUP /RETURN 930 940 CTLCTST,.-. /CHECK FOR <^C> ROUTINE 950 L7600, CLA!400 /CLEAN UP 960 CHKKSF, KSFIOT /**** CONSOLE **** CIF MCS+10 970 CHKJMP, JMP I CTLCTST /**** CONSOLE **** JMS INCON 980 CHKKRS, KRSIOT/OR KRBIOT /**** CONSOLE **** JMP I CTLCTST 990 AND [177] /JUST SEVEN BITS 1000 DCA INCHAR /STASH THE CHARACTER 1010 NL7775 /-3 1020 TAD INCHAR /COMPARE INPUT TO <^C> 1030 SNA /SKIP IF OTHER 1040 ISZ I [SCRSIZE] /ELSE SET SOFT INDICATOR 1050 SPA SNA CLA /SKIP IF <^D> OR GREATER 1060 JMP I L7600/[SBOOT] /ELSE GOODBYE 1070 CHKKCC, KCCIOT/OR 0000 /**** CONSOLE **** 0000 1080 TAD INCHAR /GET THE CHARACTER 1090 JMP I CTLCTST /RETURN 1100 EJECT