File MAP.TK

Directory of image this file is from
This file as a plain text file

/******* MULTI8 COREMAP PRINTER *******
/LAST EDIT:  5-OCTOBER-75, JV
/LAST EDIT: 14-JULY-75, JV
/LAST EDIT: 15-MAY-75, JV

/NAME:	MA	(MAP.PA)
/LENGTH: ONE PAGE
/FUNCTION: TO PRINT THE COREMAP ON THE DEVICE WHERE THE
/	TASK IS CALLED FROM. IT PRINTS 20 PAGES ON A LINE,
/	IDENTIFYING THE NAME OF THE TASK THAT BELONGS TO
/	THE OCCUPIED PAGE.
/CONCEPT:THE MODULE LOOKS INTO ALL COREMAP ENTRIES
/	AND INTERPRETS THEM IN THE FOLLOWING WAY:
/	0000	FREE: PRINT ..
/	7777	OCCUPIED BY BUFFER: PRINT [[
/	7776	OCCUPIED BY BUFFER: PRINT ]]
/	7775	OCCUPIED BY MONITOR: PRINT $$
/	NEGATIVE: OCCUPIED BY SOME TASK: PRINT TASK NAME
/	POSITIVE: SOME RELEASED TASK: PRINT "-" TASK NAME
/
/	THE TASK IS CALLED WITH THE NAME OF THE CALLING
/	KB I.E. "K1" IN THE AC. WHEN CALLED WITH AC=0,
/	THE DEFAULT OUTPUTDEVICE "T1" IS TAKEN.
/
/	THE TASK CONTAINS ONCE-ONLY CODE, SO AFTER COM-
/	PLETION A SWPOUT IS DONE, FORCING A NEW COPY TO
/	BE TRANSFERED INERY CALL,
/	ALSO LEAVINSKS.
/
/USE:	TAD ("K^1EYBD NAME
/	JMS MONITOR+"A&3777	/NAME OF TASK
/	 BUSY RETURN		/AC AND DF UNCHANGED
/	NORMAL RETURN		/AC=0;DF=MONFLD
/
/OR CALL IT WITH THE FOREGROUND COMMAND DECODER:
/	>R MAP
/
/
/A MAP COULD LOOK LIKE THIS:
/ 4000420044004600500066007000720074007600
/  $$ -TE  MA  $$  $$  $$-DK  SP  [[  ]]  PT  ..  ..  ..  ..
/1 ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  ..  $$
/
/AS YOU WILL NOTICE, THE TASK "MA" WILL ALWAYS APPEAR IN
/THE MAP. THAT DOESN'T MEAN IT REMAINS IN CORE. IT'S LIKE
/A FRIGIDAIRE: YOU NEVER CAN SEE IF THE LAMP REALLY STOPS
/BURNING, WHEN THE DOOR IS CLOSED ...

"M^100+"A&3777 MAPTEM, 200 /LENGTH ONE PAGE 0 MAP, SNA /ENTER WITH NAME OF KEYBOARD TASK IN AC JMP MAP1 /TAKES DEFAULT TAD ("T-"K^100 DCA MAPONAM MAP1, JMS MAPTYP JMS MAPTYP /PRINT 2 SPACES MAPLP1, TAD MAPM4 RTR AND (MAPBEG-CORMAP%4&4+23 /AND (23 OR (27 JMS MAPTYP /PRINT LOCATION WHERE MAP STARTS TAD MAPM4 CLL RAL AND C7 TAD (260-240 JMS MAPTYP /PRINT "0 OR "4 TAD (260-240 JMS MAPTYP /PRINT "0 TAD (260-240 JMS MAPTYP /PRINT "0 ISZ MAPM4 JMP MAPLP1 JMS MACRLF IFNZRO MAPBEG-CORMAP&17 < TAD (-MAPBEG+CORMAP&17 7760 DCA MAPM4 MAPLP2, JMS MAPTYP /PRINT ENOUGH SPACES JMS MAPTYP TAD C4 /("$-240 JMS MAPTYP /AND "$$" (MONITO ISZ MAPM4 JMP MAPL17 > MAP4, TAD (-20 /NE4 /20 ENTRIES ON ONE LINRINT SPACE ISZ MAPTR /NEXT ENTRY TAD I MAPTR /FETCH ENTRY SMA SZA CLA TAD ("--240 /PRINT "-" JMS MAPTYP /ELSE SPACE
TAD I MAPTR TAD C3 CLL /CODE CAN BE: 0=FREE ROOM TAD M4 / -1=BUFFER SNLP MADOT / -3=MONITOER TO TCB SMA / .GT /INVERT RELEASED ENTRY B-4 /COMPUTE ENTRY IN NAMLST CLL RTR RAR /DIVIDE BY 8 TAD (NAMLST JMS DEFER JMP .+4 MADOT, TAD MATAD DCA .+1 /TAKE "NAME" FROM TABLE HLT DCA MAPTEM TAD MAPTEM /GET FIRST CHARACTER IFZERO PDPTYP-PDP8E < BSW SPA > IFNZRO PDPTYP-PDP8E < CLL RTR RTR RTR SZL > IAC /SECOND CHAR ABOVE 300 ? TAD (40-3 /SUBTACT BITS OF SECOND CHAR. AND C77 /AND MAKE CHAR IN RANGE 240-337 JMS MAPTYP TAD MAPTEM /GET SECOND CHARACTER TAD C240 AND C77 JMS MAPTYP ISZ MAPCNT /ALL DONE? JMP MAPNXT TAD (215-240 JMS MAPTYP TAD (212-4240 /ALLOW INTERRUPTIONS NOW JMS MAPTYP JMS MONITOR EXIT SWPOUT MAPNXT, ISZ MAPM4 JMP MAPLUP /N JMS MACRLF /20 DONE ON ONE LINE JMP MAP4
MACRLF, .-. /PRINT CRLF & FIELD # TAD (215-240 JMS MAPTYP TAD (212-4240 /ALLOW INTERUPTIONS NOW JMS MAPTYP ISZ MAFLD MATAD, TAD MAFLD CLL RAR JMS MAPTYP /PRINT FIELD # JMP I MACRLF MATABL, "$^100+"$ /$$, DO AS IF THESE ARE TASKNAMES+"] /]] ".^100+". /.. D MAFLD, MAPBEG-CORMAP%D COUNTER MAPCNT, MAPEN MAPTR, MAPBEG-1 /PTR IN COREMAP MAPM4, -20 /TYPE NAME, POINTED AT BY MAPTEM MAPTYP, .-. TAD (4240 /CLAIM THE OUTPUT TASK JMS MONITOR CALL MAPONAM, "T^100+"1&3777 JMP .-3 CDF MONFLD /OUTPUT TASAPTYP $$$$



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search