Home
GT48 Utilitu Proarams LISP Oisolau Slave by
Contents
1. DISALINE WILL TREAT IT AS A TEMPORARY SETTING FOR THESE VALUES AND UPON EXIT WILL RESTORE THESE VARIABLES TO THEIR VALUES PRIOR TO THE CALL SIMILARLY THE OPTIONAL PENUP ARGUMENT TO DISALINE IS TREATED AS TEMPORARY PAGE 34 ARGUMENTS THAT ARE INTENDED TO SPECIFY LOCATIONS ON THE 348 SCREEN FOR THE FUNCTIONS DISALINE DISAPOINT AND DISCUSS ARE INTERPRETED IN ONE OF FOUR WAYS DEPENDING ON THE SETTING OF THE SLAVE VARIABLE ASTATE 8 RELATIVE MODE THE POINT SPECIFIED IS RELATION TO THE HOME OF THE ITEM ON WHICH THE COMMAND IS ACTING ABSOLUTE MODE X AND Y ARE DIRECTLY INTERPRETED IN THE CO ORDINATES OF THE 340 SCREEN MOD 1824 HITH THE LOWER LEFT CORNER BEING 10 01 INCREMENTAL MODE THE POINT SPECIFIED IS IN RELATION TO THE CURRENT POSITION OF THE PEN OF THE ITEM ON WHICH THE COMMAND IS ACTING POLAR MODE LIKE INCREMENTAL BUT THE ARGUMENTS WHICH MUST BE FLOATING POINT ARE CONSIDERED AS THE RADIUS AND ANGLE FOR A POLAR COORDINATE SYSTEM CENTERED ABOUT THE CURRENT PENPOSITION WITH ZERO DEGREES BEING HORIZONTAL TO THE RIGHT TO EMPHASIZE THE ASTATE MAPPING OF THESE ARGUMENTS WE WILL WRITE ASTATE X Y TO MEAN THE POINT SPECIFIED BY X AND Y N B FUNCTIONS LIKE DISCREATE DISLOCATE AND DISMOTION WHICH PLACE FOR AN 5 HOME IN SOME SPECIFIED LOCATION ALWAYS INTERPRET THE SPECIFICATION IN ABSOLUTE MODE 35 TYPICAL CALLS FUNCTION EXPLANATION DISCREATE X Y LSUBR CR
2. trap 22 characters will cause the next command line to possibly be run on but this is temporary and easily ignored If the user wants to resume his oun display program before starting up his PDP 11 program the follouing sequence is suggested 7 xxxxxx USRBEG set G address 172000 USROPC start user s display program G start user s PDP 11 program BPT VERSION DIFFERENCES FROM JMP VERSION The location RESUME at uhich to start after time out and odd address traps is BEG 34 instead af 48 PAGE 18 A breakpoint in this version consists of the instruction BPT It requires that 1 the user must have set up an appropriate BPT trap vector namelu 14 contains BEG 162 HITBRK URUG s breakpoint handler 16 contains 348 to set CPU priority to 7 2 the user must have set up an appropriate stack pointer in R6 such that the BPT can push its 2 more words without trapping 3 R6 must be so set up before any G command since G ing is done by pushing PS PC and executing an RTI has the advantages that 1 the breakpoint occupies only one 2 the trap vector automatically protects URUG from interrupts 3 the Z V and condition codes are preserved through a breakpoint and proceed sequence 4 the user s processor status be examined and modified 5 URUG code saved allows automatic display restarting see below In the BPT version the saved PS may be examined and
3. 1888 1000 CREATES B HOME AT CENTER TO ADD SOME TEXT ON THE TOP OF THE BOX ASSUMING ASTATE 8 AND THAT B S VALUE IS THE NUMBER OF THE ABOVE ITEM PADE 42 DISCUSS 288 287 HERE IS THE BOX SEE THE BOX 6 2 TO MOVE THE BOX B RIGHT 188 UNITS SETQ FOO DISCRIBE B SETQ LIST CAR FOO CADR FQO DISLOCATE 100 CAR 00 CADR TO PUT A CROSS WHERE THE PEN IS NOW AND SOME TEXT WHERE IT USED TO BE BEFORE THE MOVE DISMARK B 1 DISCUSS CADDR FOO CADDDR FOO TURTLE SLEPT HERE TO BRIGHTEN UP THE BOX AND POINT BUT THE TEXT TURTLE SLEPT HERE WAS ALREADY IN BRIGHTEST MODE SO IT REMAINS UNCHANGED DISCHANGE 2 0 TO FLUSH THE BOX DISFLUSH B TO FLUSH ALL ITEMS ON THE LIST L APPLY DISFLUSH L TO GIVE UP THE SLAVE DISFLUSH PAGE 43 Appendix 2 Relevant ITS Files JDC VTMEM gt JOC VTMEM MEMO VTMEM XGPED MB URUG gt MB UMEMO gt GT48 URUG BIN GT48 VT87 gt 6148 VT87 BIN GT48 VT87 CREF PJ DITS gt SYSENG LD18 gt JOC FDITS gt source for this memo TJG output for teletupes output for xerographic printer Microdebugger PALX source BPT version Microdebugger documentation Microdugger PALX assembled binary file VT87 PALX source VT87 Binary 07 cross referenced PALX listing DRAW SAIL source MIDAS source for LISP display slave file INSRTed into above containing most code SYS ATSIGN 1 SLAV LISP P
4. DP18 display slave e INFO LISP ARCHIV Ail changes to LISP for past several years PAGE 44 Appendix 3 Relevant Humans Credits Michael Beeler Wrote and maintains microdebugger Wrote microdebugger section of this memo Joseph D Cohen Helped write VT 7 adapted LISP display slave for GT48 wrote all but microdebugger and Appendix 1 of this memo Pitts Jarvis Helped write VT87 Adapted DRAW for Jerome Lerman Wrote LISP display slave Guy Steele John L White Maintain ITS LISP and its documentation
5. EATE A DISPLAY ITEM WITH HOME AT DISCREATE X Y ON THE 348 SCREEN DEFAULT OPTION IS TO PLACE HOME 10 01 IF X AND Y NOT GIVEN RETURNS ITEM NUMBER OF NEWLY CREATED ITEM DISINI LSUBR SEIZE AND INITIALIZE SLAVE IF USER DISINI N ALREADY HAS SLAVE THEN REINITIALIZE DISINI N DEVICE AND SET ASTATE TO GIVEN ARGUMENT ALWAYS RETURNS PREVIOUS VALUE OF ASTATE BUT NO ARG GIVEN OR ARG NOT AMONG 8 1 2 3 MAKES NO CHANGE IN ASTATE INITIAL ASTATE 8 IF SEIZING SLAVE AND SECOND ARG GIVEN USE GT48 THROUGH ARG ITS DEVICE EG DISINI 8 T34 DISPLAY ITEM FLAG SUBR TEM ON OR OFF DISPLAY I E MAKE VISIBLE ON SCREEN OR NOT DISCREATE DISCOPY AND DISGOBBLE PLACE THEIR ITEMS ON DISPLAY EVEN NULL DISFLUSH LSUBR DISFLUSH ITEMI ITEMN DISLOCATE ITEM X Y SUBR DISBLINK ITEM FLAG SUBR DISCOPY ITEM SUBR DISMARK ITEM N SUBR DISCRIBE ITEM SUBR DISCHANGE ITEM BRITE SCALE PAGE 36 WHEN OFF DISPLAY THE ITEM IS STILL REMEMBERED BY THE SLAVE UNTIL FLUSHED NO ARG GIVEN MEANS FLUSH WHOLE SLAVE OTHERWISE SIMPLY KILL ITEMS MOVE ITEM S HOME TO LOCATION X Y SELF EXPLANATORY MAKE A COPY OF ITEM AS A NEW ITEM WITH HOME AT SAME LOCATION RETURN NEW ITEM NUMBER IF N 8 REMOVE MARKER FROM ITEM IF lt 0 INSERT STANDARD MARKER IF N gt USE ITEM WITH AN AS MARKER GET LIST OF XHOME YHOME XPENPOS YPENPOS BRI TE SCALE PENUP MARKER FROM ITEM SUBR DISLI
6. ERICAL INDEX OF SOME DISPLAY SLAVE ITEM IT IS A QUANTITY SUCH AS IS RETURNED BY DISCREATE EACH ITEM HAS A BRIGHTNESS LEVEL ASSOCIATED WITH IT RANGING BETWEEN 1 AND 8 DEFAULT VALUE 8 EACH ITEM HAS A SCALE OR MAGNIFICATION FACTOR ASSOCIATED WITH IT RANGEING BETWEEN 1 AND 4 DEFAULT AND NORMAL IS 1 2 DOUBLES THE LENGTH OF DRAWN LINES AND TEXT 3 QUADRUPLES AND 4 MULTIPLIES PAGE 33 BY 8 TEXT LOOKS NICER IF IT IS DRAWN WITH LITTLE MAGNIFICATION GENERALLY 2 IS APPROPRIATE FLAG IS AN INDICATOR TELLING HHETHER A GIVEN ACTION IS TO BE DONE ON NON NIL OR UNDONE BSL IS EITHER NIL IN WHICH CASE THERE IS NO CHANGE OR IS A LIST LIKE BRITE SCALE INDICATING A SETTING OF LEVELS FOR A GIVEN ACTION 121 A WELL KNOWN INTEGER EASILY RECOGNIZED TO BE THE SQUARE OF THE FIFTH PRIME BUT NOT SQ EASILY SEEN AS SUCH EXPRESSED IN OCTAL AS 171 THUS ME USE OCTAL NOTATION EXCEPT THE STRING OF DIGITS IS FOLLOWED BY EACH ITEM HAS ASSOCIATED WITH IT VARIABLES DETERMINING THE BRIGHTNESS SCALE AND VISIBILITY OF POINT AND LINE INSERTION REQUESTS LIKE THE LOGO TURTLE WE THINK THE ITEM AS HAVING A PEN WHICH CAN BE DOWN SO THAT A LINE IS VISIBLE HHEN THE TURTLE IS REQUESTED TO GO FROH ONE PLACE TO ANOTHER OR UP SO THAT NO MARK IS SEEN FOR THE COMMANDS TO AFFECT BRIGHTNESS SCALE OR THE PENUP STATUS B GENERALLY MEANS NO CHANGE COMMANDS WHICH TAKE AN OPTIONAL BSL ARGUMENT NAMELY DISAPOINT DISCUSS AND
7. January Massachusetts Institute of Technology Artificial Intelligence Laboratory 52365068 POPER 95 by Michael Beeler Joseph D Cohen John L White Abstract This memo describes two GT4B programs URUG octal micro debugger and VT87 Datapoint simulator and general display package There is also a description of the MITAI LISP display slave and hou it uses VT07 as a remote graphics slave Work reported herein was conducted at the Artificial Intelligence Laboratory a Massachusetts Institute of Technology research program supported part by the Advanced Research Projects Agency of the Department of Defense and monitored bu the Office of Naval Research under Contact number 08014 70 0362 0005 Working Papers are informal papers intended primarily for internal use Contents Contents Introduction MICRORUG USER S MANUAL 7 Datapoint General Display Package Error Codes LISP Slave Sustem Discrepancies Lies All Lies Appendix 1 LISP Display Slave Commands Appendix 2 Relevant ITS Files Appendix 3 Relevant Humans Credits PAGE 2 PAGE 3 Introduction This memo describes tuo general utility programs for the 6148 URUG Michael Beeler s micro debugger and VT07 two part program consisting of a simulator and a general graphics package written bu Pitts Jarvis and Joe Cohen URUG is a small 1888 byte octal debugger with limi ted breakpoint faci
8. NK 1 1 ITEM2 FLAG DISLIST DISLIST ITEM DISET ITEM N BSL SUBR LSUBR SUBR PAGE 37 BRITE AND SCALE ARE INCREMENTS TO BE ADDED TO THE PARTS OF ITEM LINK OR UNLINK ITEM1 TO ITEM2 2 IS THE INFERIOR OF ITEMI AND HILL BE DISLOCATED DCHANGED DISBLINKED AND DISPLAYED AS A SUBPART OF 1 1 WHENEVER THESE OPERATIONS ARE PERFORMED ON ITEM RETURN LIST OF ALL ITEMS ON DISPLAY RETURN LIST OF ALL INFERIORS OF ITEM SETS THE DEFAULT VALUES FOR PENUP BRIGHTNESS AND SCALE PARAMETERS FOR THE ITEM IF N IS 1 PUT PEN DOUN IF 1 LIFT UP PEN IF 8 LEAVE PEN ALONE SET BRITE AND SCALE FROM BSL FOR MEANING OF BSL SEE CONVENTIONS DISCUSSED ABOVE WHEN CREATED THE ITEM S DEFAULTS ARE PEN IS DOWN BRIGHTNESS IS 8 AND SCALE IS 1 DISALINE ITEM X Y DISALINE ITEM X Y N DISALINE ITEM X Y BSL DISALINE ITEM X Y BSL N LSUBR DISAPOINT ITEM X Y DISAPOINT ITEM X Y BSL LSUBR DISCUSS ITEM X Y TEXT DISCUSS ITEM X Y TEXT BSL LSUBR 38 SET PENUP AND BSL AS INDICATED BY AND BSL SEE DISET ABOVE THEN FROM CURRENT PEN POSITION TO ASTATE X Y LEAVING A VISIBLE LINE ONLY IF THE PEN IS DOWN AND THEN RESTORE THE PENUP AND BSL PARAMETERS DISPLAY A POINT DOES AFFECT 5 PENUP OR BSL PARAMETERS THE CHARACTERS OF THE VALUE OF TEXT ARE INSERTED AS IF PRINC ED INTO THE INTO ITEM BEGINNING AT POINT ASTATE X Y NO CHANGE IN ITEIT
9. S DISMOTION ITEM X Y SPD SUBR DISGORGE ITEM DISGOBBLE ARRAYNAM SUBR SUBR PADE 39 PENUP AND BSL PARAMETERS CAUSES ITEM TO SLOWLY DISLOCATED SO THAT ITS HOME IS AT X Yl IF EITHER X OR Y IS NEGATIVE THEN PLACES TEM UNDER CONTROL OF SPACE WAR CONSOLE 1 THE BUTTON RETURNS CONTROL TO THE TTY SPD IS AN INVERSE MEASURE OF THE SPEED AT WHICH THE ITEM WILL MOVE SPD 8 15 MAXIMUM NOTE WELL ALTHOUGH THE SPACE WAR CONSOLE CONTROL WILL WORK FOR ANY DISPLAY ITEM THE AUTOMATIC SLOW MOTION WILL CURRENTLY WORK ONLY FOR ITEMS CONSISTING SOLELY OF LINES DRAWN BY DISALINE CREATES A GENSYM D LISP ARRAY AND FILLS IT WITH THE 348 CODE FROM ITEM TAKES THE ENTRIES OF THE LISP ARRAY ARRAYNAM AND CREATES A DISPLAY SLAVE PAGE 40 ITEM HITH THOSE ENTRIES PAGE 41 EXAMPLES A SUBROUTINE TO DRAW A LIGHT BOX WITH A MEDIUM POINT INSIDE IT THE CENTER OF THE SCREEN RETURNING A DESCRIPTION OF THE SLAVE ITEM LAMBDA DISALINE 188 188 1 60 TO LOWER LEFT CORNER DISET B 8 LIST 3 BOXSCL s GLOBAL VARIABLE FOR SCALE CHANGE TO PENUP STATUS DISALINE B 200 DISALINE B 288 0 HOW EASY IT IS IN DISALINE 200 INCREMENTAL MODE DISALINE B 288 89 DISINI 9 BUT EASIER TO PUT IN POINT DISAPOINT B 8 8 6 8 RELATIVE MODE NOTE THAT SCALE IS NOT USED HERE DISINI OASTATE RESTORE ASTATE OISCRIBE B DISINI 2 DISCREATE
10. SBLINK Features of the 6740 and VTU7 that LISP does not presently take advantage of are variable line types italice display list subroutining PAGE 30 Discrepancies The GT48 screen is a window on the louer 3 4 of the 348 screen i e the 6740 is 2000 points wide bu 1499 points high The LISP 6148 slave cannot display the results of a DISCOBBLE but it can DISGORGE scale characters or vectors 148 characters are a bit bigger it is impossible to be exact about this because of bugs in the 348 than 348 scale 1 characters Also there is no vertical character mode on the Wraparound DISCHANGE PAGE 31 Lies All Lies There aren t any PAGE 32 Appendix 1 LISP Display Slave Commands IN ORDER TO USE THE SLAVE IT S BEST TO HAVE AVAILABLE THE THERE IS A VERSION THAT WILL ALSO RUN ON THE PDP18 UNDER ITS AT SOME DEGRADATION IN PERFORMANCE BOTH OF THE SLAVE AND ITS THE SHOULD BE IN THE RUNNING STATE AND IF SIMPLY HITTING THE START SWITCH DOESN T KEEP THE RUN LIGHT ON DEPOSIT ZEROS INTO LOCATIONS 48 AND 41 AND START UP AT 48 THE REMAINDER OF THIS DESCRIPTION OF LISP FUNCTIONS FOR THE DISPLAY SLAVE USES THE FOLLOWING CONVENTIONS x Y ITEM BRITE SCALE ARE ASSUMED TO BE INTEGER ARGUMENTS TO LINE DRAWING POINT INSERTING ANO OTHER SUCH FUNCTIONS IS A FIXED POINT NUMERICAL ARGUMENT DESCRIBED UNDER PARTICULAR FUNCTIONS IS ASSUMED TO BE THE NUM
11. aracter after this command wait a while a thirtieth of a second before sending more goodies To just wipe out all display items in the 6748 treat it like a Datapoint and send a home up 35 folloued by a clear to end PAGE 22 of file 37 4 Turn On Item Followed bu the item number Puts the item on the screen 5 Turn Off Item Followed bu item number Takes the item off the screen 6 Copy Item Followed by item number of original item number of the copy Creates an identical copy with the neu item number 7 Move Item Folloued by neu x coordinate uord neu y coordinate This clobbers the x and coordinates into the second and third of your original list The name of this command implies that the whole item moves in response to the command course this is only the case if there are no set point commands in the item other than the expected initial three words 8 Change Mode of Item Followed by item number new mode word This puts the low order 11 bits of the new mode word into the lou order 11 bits of the first word of the item which is assumed to be a set point command By disabling intensity light pen interrupts blinking and PAGE 23 line type everywhere in the item except the first uord one can control these modes for the entire item with this command 9 Add to Item Followed by size of command see Load Item item number additions checksum 10 Subroutinize Item F
12. d depositing into memory locations setting breakpoints and starting up programs There are two versions of URUG one which uses the JMP instruction for breakpoints and one which uses BPT They are similar so the JMP version is described below and then differences in the BPT version are noted PAGE 6 To examine a location type its address octal and a space URUG types the current contents of that location To change the contents type the desired contents and a space new contents are deposited in the location and the display scrolled to present a fresh line for more commands If no argument precedes the space then nothing is deposited and the display is scrolled as usual This also applies to typing a space as the first character on a fresh line no action is taken except to scroll the display If a mistake is made in typing a numeric argument such as an address or new contents typing rubout resets URUG as if none of the argument were typed If a linefeed is typed instead of a space URUG takes the same action but then also types the address and contents of the location after the last location examined If you try to examine an odd numbered location i e the left byte of a word URUG acts as if you typed an address one less URUG s starting address BEG is the first location in URUG often PAGE 7 assembled to be 37000 When URUG is started it saves general registers RB through R6 and r
13. der bits right justified next 4 bits right justi fied and the high order 5 bits right justified Bytes are only transmitted as part of words The first character after the escape character P is a command to the graphics package The length and arguments to commands are determined by each command The only part of a command transmitted a character is the command itself Everything else is uords The commands are B A command further decoded by the next character This command exists to make VT compatible with existing display proram software If the next character is 1 Load Item command identical with 1 belou PAGE 21 2 Delete Item command with the following words being size of the command item numbers to be 1 Load I deleted and a checksun tem Followed by a count of words from the count word to but excluding the checksum item number words in the display item checksum If there is already an item with the same number it will be deleted 87 expects the first three words in your list to be a set graphics mode to set point the x coordinate and the y coordinate The item is initially shown on the screen 2 Delete Item Followed by item number to be deleted 3 Reset Expunges the item from the Restarts the 6148 6748 jumps to its starting address and sets everything up all over again It takes a finite amount of time before the GI4 can accept another ch
14. display slave the initial DISINI which seizes the slave should be given two arguments the second of which is the quoted ITS device of the GT48 For instance DISINI B T34 will try to grab the GT48 T34 The 6748 has less display space than the PDP6 or PDP19 and is probably less efficient in size for most display lists The GT48 slave s advantage is that ITS time is not used to maintain the display and that it makes several displays available The GT48 slave works exactly like the 6 and 18 slaves With exceptions noted in the next two sections Discrepancies describes real permanent differences in the slaves Lies All Lies describes temporary socialist realism type differences which Hill shortly disappear The rest of this section is a description of some of the internal workings and structure of the 6748 slave which can be ignored by anyone not interested PADE 25 delving in its guts order to understand the rest of the differences beetueen 340 and 6148 pictures it s necessary to have some idea of how 348 and 61489 lists are created stored and modified LISP GT48 slave is the same program as the 10 slave If the initial DISINI has a zero or no second argument the program tries to sieze and use the 348 otherwise it doesn t try to grab the 340 and instead sends commands to the 6740 through the specified ITS device display lists are created and amended at the same time a
15. estores them when you ask it to start a program Thus while URUG is running 177788 through 177797 contain URUG s values and not those of the user s program The user s general registers are referenced by typing RB through as addresses Since the locations actually examined are inside URUG linefeed acts strangely Specifically user register contents are stored in every other uord so tuo linefeeds after RB is the same as typing R1 Examining non existent locations such as above 37776 causes a timeout trap through location 4 To avoid losing URUG s copy of the user general registers restart URUG at RESUME instead of BEG that is 48 bytes later breakpoint consists of the instruction JMP BEG where BEG is the starting address of URUG breakpoint is set by typing B If no argument is given the breakpoint is placed at zero f number precedes the B that number is used an address at which to set the breakpoint of the B argument is not checked so trying to set a breakpoint at an odd address causes an odd address error trap through location 4 again restart URUG at BEG 4 When URUG is started or restarted at BEG 48 it checks whether any PAGE 8 breakpoint is set If not it merely scrolls the display and uaits for commands so it restores the contents of the breakpoint location and following word scrolis the display and automatically examines the breakpoint location to let yo
16. eyboard characters typed which have not yet been sent to the 18 Thus it uses at least 4 words and if typing is not rapid only 4 This is fewer words than used in the loading mode as discussed below The echoing mode also uses several locations in lou core mainly for display but also for a pouer fail vector Each character from the PDP 18 is stored a separate uith left byte starting at location 32 Thus after receiving c characters from the 10 the following locations in lou core will be clobbered lt 160000 DISPLAY JUMP 2 lt 166756 TO DISPRG IN LOADER 24 lt 166818 FAIL PC START 10 26 lt 0 FAIL STATUS 38 lt 8 sSTART OF DISPLAY LIST 32 lt charl FIRST CHARACTER 34 lt char2 SECOND CHARACTER etc PADE 13 38 2c lt char sc th CHARACTER 32 2 lt 168888 DISPLAY JUMP 34 2c lt 8 TO 8 36 2c lt 168888 DISPLAY JUMP 48 2 lt 8 TO 8 42 2 and following are clobbered The loading mode uses 8 stack uords The stack pointer is initialized to 15770 instead of 1577042 so the first location on the stack at 15770 is not clobbered next louer 8 locations 15750 through 15766 inclusive clobbered during loading Trying to load into these locations will usually cause random data to be loaded or else transfer to random locations when a loader RTS PC pops loaded data into the PC Both the ec
17. head of 24 bytes in a block seperate from the display list PAGE 28 340 lists have point mode uords scattered throughout When one does a DISLOCATE the slave actually grovels through the entire display item searches out point mode words and modifies them Because of core limitations it was decided that 7 wouldn t have this capability Programs using 07 compensate by not storing anu point mode in their display lists There s only one such uord at the head of the list and everything else is relative to previous display instructions Thus when the 6748 does DISLOCATE it only zaps two words at the start of the display item Intensity level information however is stored by LISP throughout the list This is so that different parts of the same item can have different intensities There is no way that the intensity level of a list can be changed without going through the entire item and finding and changing each intensity word which is why DISCHANGE doesn t work It is suggested that other programs which use 07 store brightness information in the first thus enabling the intensitu of an entire item to be changed uith the Change Mode PAGE 29 command The 6149 has no scaling hardware so it doesn t try to scale It does however have blinking hardware and blink information is stored at the head of each list and can be turned on and off by the Change Mode command LISP DI
18. hoing and the loading modes use three particular locations as 1 0 character buffers 15772 P18IC is clobbered by characters read 15774 is also clobbered by characters read 15776 100 is used for characters to be sent to the PDP 18 and will contain 8 after loading When the loader switches from echoing to loading mode it turns off PAGE 14 the display and no longer references low core iccation Cexcupt to load data into them Thus all the display uords and the pouer fail vector be overwritten by the loading mode The difficulty is if one wishes to merge load tuo or more programs If one of the programs before the last one occupies these lou core locations then restarting the bootstrap uill clobber it There are tuo simple alternatives both involve telling the POP 18 all the programs you want merged before any are loaded 10 then either 1 concatenate all the programs and not give the end of load signal until all are loaded or 2 at the end of each program give the start up program signal With address 166528 LOAD which simply restarts the loading mode After the last program it can give the end of load signal Note a 48 PDP 11 85 quirk 177788 through 177787 are RO through R7 as far as the examine and deposit switches are concerned but MOV Rm 17778 always acts like i e deposits in RB 177700 The data also shows up 177718 apparently a CPU te
19. lity useful for debugging programs in PDPll s with little spare core VT 7 is used to make the 48 into an alphanumerics terminal and a graphics display 97 was designed to meet the needs of higher level languages like LISP It draws heavily on our experience with LOGO where much thought has been given to manipulation of displays within a general high level language This experience led to the incorporation of advanced features such as display list subroutining On the MIT AI system the 6148 is used graphically by the DRAW program and by LISP PAGE 4 This memo discusses all the 6148 programs URUG ROM Loader 07 in detail and briefly outlines the use of VTO7 by LISP PAGE 5 MICRORUG USER S MANUAL M Beeler August 1973 Microrug is an octal debugger for the GT 48 computer disp ay The user should be familiar uith the PDP 11 85 uhich is the minicomputer in the GT 4 Microrug URUG for short occupies 1888 octal consecutive bytes of memory and uses the keyboard for input and the CRT display for output The information displayed is in four lines New information appears on the bottom line and when that line is completed the lines are scrolled upward the previous top line is lost and the new bottom line is blank To help the user tell which line is which a dot is displayed at the left of the screen between the top and second lines URUG is used for three different functions examining an
20. modified as R8 While URUG is running the user s PC and PS are popped off the stack into pseudo R7 and R8 so examining R6 yields the user s Rb before PAGE 11 the and this may be modified uithout losing the PC or PS URUG does not use a stack except for the breakpoint handler and setting up the RTI for the G command The JMP version of URUC never uses a stack The BPT version s 6 command also restarts the display before it starts the user s program The address loaded into the Display Program Counter may be examined and modified as R8 It is initially that of URUG s oun display program Some thought has been given to making URUG position independent It seems unlikely Instead it is suggested that you re assemble it for whatever starting address you want It has assemble time teletype input to specify JMP or BPT version as well as starting address A starting address not ending in zero may cause it to use a few more than 1888 bytes GT 48 BOOTSTRAP LOADER version 589 release R81 The main point of this discussion is explaining uhat core locations the loader clobbers The loader operates in tuo modes First it echoes like a teletupe sending each character from the keyboard to the PDP 18 and displaying PAGE 12 each character from the 18 on the screen The loader in both modes starts its stack at 15770 and works down The echoing mode uses 2 2 stack words where n is the number of k
21. mporary register n B 1 word byte offset B 77 ff offset B 377 PAGE 15 8 HALT 1988 BPL 1 HAIT 1804ff BMI 2 RTI 1919 3 BPT 1814ff BLOS 4 IOT 10280ff BVC 5 1024ff BVS 6 RIT 1838 BHIS 7 77 1934 BCS BLO 100 JMP 28R RTS 218 227 23m SPL 248 277 CC s 20 0 1 cir set 300 SHAB 18 N 4ff BR 4 2 18 86 BNE 14 BEQ 1 28 BGE 24ff BLT 184888 38 86 BGT to EMT 34ff BLE 184377 4RDD JSR 05000 104400 5100 5200 5300 25400 5500 5500 700 n 6800 86100 06200 06300 64mm 6555 5600 5700 7000 15500 25500 135500 45500 55 500 65500 78855 COM B INC B DEC B NEG B ADC B SBC B TST B ROR B ROL B ASR B ASL B MARK MFPI SXT 7777 MOV B CHP B BIT B BIC B BIS B ADD MUL to 104777 106400 106555 105600 186788 PAGE 16 TRAP 186477 UUD MFPD MTPD 107777 UUD 155500 508 PAGE 17 71855 DIV 72855 ASH 73855 17 FPP s 74RDD XOR 75000 76777 UUO 77Ree SOB PAGE 18 07 VT87 be thought of as tuo programs Datapoint simulator and a general purpose display package The strange name 07 is derived from DEC s alphanumeric display terminal VT S etymology of that name is unknown to us Our Datapoint simulator and simple gra
22. nd place as 340 display lists Those 340 display lists sit around in core but are never displayed This explains why DISGORGE works for the 6149 those 340 lists are already there and why DISGOBBLEs can t be displayed the slave doesn t have the opportunity to create 6148 lists corresponding to the 340 lists being gobbled from disk VTO7 does not do compacting garbage collects on its display storage space This means that large items will cause display memory to become full where many smaller items of the same total size would not VT PAGE 27 uses a modification of Knuth s first fit method uith doubly linked liberation with boundary tags Donald Knuth Ihe Art of Computer Programming Volume 1 Fundamental Algorithms Reading Mass 1968 Knuth observes page 447 as a result of some experiments that if M is the total number of memory locations available The memory able to become over 90 filled when the block size was small compared to but uhen the block sizes uere alloued to exceed 1 3M as uel as taking on much smaller values the memory tended to become full when less than 1 2M locations uere in fact needed Empirical evidence strongly suggests that block sizes larger than 1 18M should not be used with dunamic storage allocation if effective operation is expected Currently free storage starts at about 12080 and runs to the top of core making 26008 Each item incurs an over
23. ollowed bys number of calling item number of subroutine item The subroutinized item will be inserted into the calling item in the manner of a LOGO snap not a LISP link I E an item can be called as a subroutine many times by one list and bu more than one list This subroutining is limi ted only by the size of the display pushdown stack currently about 18 deep This is done through a simulated display pushdown instruction in VT 7 If the inferior has no set point display commands other than the expected first three words and has no modes enabled see Change Mode the effect will be to add a copy of the inferior to the end of the superior with the subroutine acquiring the intensity blinking and other mode atributes of the superior PAGE 24 Whenever the inferior is changed by means of the Add to Item command it uill every place it is called as a subroutine 11 Unsubroutinize Item Followed by calling item number subroutine item number The first call to the subroutine from the calling item is deleted Error Codes VTO7 sends error messages back to the VT07 sends error messages to indicate internal error conditions The error characters are 8 Free storage full and 34 other internal error VTB7 does no handshaking on these errors and does not abort a command in which theu occurred so the entire command must be sent PAGE 25 LISP Stave System In order to use the 6748 as a LISP
24. phics package was called VT 6 Datapoint simulator and complicated graphics package is called VI 7 Datapoint The Datapoint simulator works just like a Datapoint except the has both upper and louer case character display and keyboard the AI Lab s only such display screen size is 73 characters wide by 32 characters high various bits of the console suitch register add different non datapoint options uhen on bit 8 don t blink cursor bit 1 italicize all characters PAGE 19 bit 2 insert backspaces 19 into the display list instead nf moving the cursor back This allous overstriking of characters When this mode VT 7 will space forward column not character when it gets a move cursor forward character 38 move cursor back 31 moves back one character not column and line feed and move cursor up 32 move to the same character position not column in the adjacent line VT 7 does not need padding fact it ignores rubout 177 the normal Datapoint padding character and most important P 20 is an escape character indicating that the next character is to be interpreted ae a command by the graphics package 28 General Display Package In this section character means a teletype character word means a PDP 11 16 bit word and bute means a PDP 11 8 bit byte Characters are transmitted as characters Words are transmitted as three characters lou or
25. u know it s just hit and restored the breakpoint Typing B when the breakpoint there is only one is already set is the same as restarting URUG at BEG 4 it restores the breakpoint contents etc Typing G preceded by a number restores the general registers to the user s values and transfers to the argument of the G with no argument transfers to the location last G ed URUG s memory of what this location is may be examined and modified as R7 The G command like B does not check for evenness of its argument If you try to G to an odd address the user values are already restored to the machine s general registers so it does not matter whether you restart at BEG or BEG448 Two details of URUG are equivalent characters and typing too much Because of its simple type in routines carriage return and tab as well as various other control characters have the same effect as PAGE 9 space Although R B and are echoed as upper case they must typed as louer case Except for these characters and the ten digits 9 all characters rubout If more than 24 decimal characters are typed by URUG and or the user before a scrolling occurs then display commands wil be overwritten URUG will probably have to be reloaded to be useful To be exact URUG could still be used to replace the clobbered display instructions at the very top of itself as long as the garbaged commands aren t making the PDP 11
Download Pdf Manuals
Related Search
Related Contents
SPYCL@PS™ Esteira Q-12 Cambridge S90 Engenharia de Software: fundamentos, métodos e padrões User Manual - Radioworld USER MANUAL OLS-100 Optical Light Source Genesis Advanced Technologies GENESIS 5.3 User's Manual 取扱説明書 - Cateye Copyright © All rights reserved.
Failed to retrieve file