File RE.TK

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

/****** MULTI8 PTR EMULATOR ********
/LAST EDIT: 29-AUG-75, ELC
/CREATED: 20-DECEMBER-74, ELC
/SINGLE PAGE PAPERTAPE READER EMULATOR
/THIS TASK EXPECTS THE FOLLOWING THREE IOT'S FROM THE BACKGROUND:
/
/6011	SKIP-ON-READER-FLAG. THIS IOT IS INITIALY PACHED WITH
/	A SKIP. THIS MODULE WILL TAKE CARE OF ALL SYNCRONISATION
/	THUS THE 6011 IS PURE OVERHEAD THAT CAN BETER BE AVOIDED.
/	WE DO REMEMBER HOWEVER WHERE THE 6011 WAS IN THE USERS
/	PROGRAM. IF WE TIMEOUT THE TAPEREADER AT THE END
/	WE CHANGE THE SKP IN A NOP. NORMALY BG-PROGRAMS COUNT THE 
/	NUMBER OF 6011 THAT ARE NECESARRY TO GET THE NEXT
/	CHAR FROM THE
/	TAPE AND IF IT LASTS TOO LONG THEY DECIDE IT TO BE THE END
/	OF THE TAPE. SUCH A TIMEOUT LOOP WOULD TAKE QUITE SOME
/	TIME IF EVERY 6011 HAS TO BE EMULLATED. THUS BY PATCHING
/	IT WITH A NOP WE CAN LET IT GO AS SMOOTH AS NORMALLY.
/	NOTE THAT THE SAME READER ROUTINE IN THE BACKGROUND CAN'T
/	BE REUSED UNLESS THE NOP IS R
/6012 AND 6016	THIS ISTION. THUS
/	WE KICK THY) AND WAIT FOR THE
/	RE CHARACTER IS ORRED IN
/	THE USERS ACUUMULATOR AND WE RETURN. WHEN THE WAIT
/	EXITS WITH A TIMEOUT ERROR, WE GIVE A CONTROL-Z IN THE
/	USERS ACCUMULATOR, PATCH THE SKP TO A NOP AND MAKE
/	A FINAL EXIT+SWPOUT
/IS CONSIDDERRED SUPERFLO NOP.

"R^100+"E&3777OUT CONNECTED INT'S 0RE THE INTERRESTING THINGS SNA JMP RECLR /AC=0: RELEASE THIS DEVICE TAD C3 /AC IS POINTER TO BG-AREA DCA REUPC TAD REUPC IAC JMS DEFER AND C70 /GET CURRENT INSTRUCTION FIELD TAD C6201 DCA RECDF /SETUP FOR PATCHES STA TAD I REUPC DCA REPNT /POINTER TO CURRENT INSTRUCTION TAD REUPC TAD C2 DCA REUAC TAD REUAC IAC JMS DEFER /GET THE TRAPPED INSTRUCTION RTR SPA CLA JMP RESKP /IOP1: SKIP SNL JMP RENOP /NOT IOP2 RERFC, RFC /IOP2: READ DCA .-1 /RFC ONE TIME ONLY TO START TAPE TAD (-DGNTICK%5!7700 /.2 SECONDS TIMEOUT JMS MONITOR WAIT PTR SZA CLA JMP REEND /TIMED OUT TAD I REUAC RRB RFC /OR-IN NEW CHAR, KICK READER DCA I REUAC /GIVE BACK TO USER RERET, JMS MONITOR RETURN RESKP, ISZ I REUPC /SKIP FIRST TIME TOO TAD REPNT DCA RESAVE /REMEMBER WHERE RSF WAS TAD (SKP-NOP RENOP, TAD (NOP RECDF, CDF /CDF TO USERS INSTRUCTION FIELD DCA I REPNT CDF MONFLD JMP RERET
REEND, TAD RDF TO USERS RSF-FIELD FOR A SMOOT TIMEOUT LOOONFLD TAD I REUAC ANCA I REUAC /OR-IN A ^Z RECLR, TAD (RFC DCA RERFC /REINITIALISE READER ROUTINE JMS MONITOR EXIT SWPOUT /THIS IS THE END REUPC, 0 REUAC, 0 REPNT, 0 RESAVE, 0 $



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