Listing of file='TUTE5.BAS;01' on disk='vmedia/asmtut_disk3-sector.ccvf'
100 REM TUTE5 MEMORY MAP ETC 14/8/81 110 GOTO 170:REM 150 W/O MENU 120 Z= CALL (0):PLOT 3,0,31,11:RETURN 130 PLOT 3,62,31:POKE KB,0:Z= CALL (18) 131 IF PEEK (KB)= 0THEN 131 132 GOSUB 120:PRINT "/":GOTO 120 133 GOSUB 120:GOTO 120 134 PLOT 6,2,3,0,31:RETURN 140 FOR I= 1TO 1000:NEXT :RETURN 150 POKE 32941,191:POKE 32940,172:CLEAR 100:PLOT 27,4:PRINT "LOA SCROLL.PRG":PLOT 27,27 160 POKE 33283,173:POKE 33284,191 170 PLOT 27,24,12,27,4:PRINT "LOA MEM2.DSP":PLOT 27,27 200 KB= 33278:DU= 49113:POKE DU,255 210 PLOT 3,13,0,6,8:PRINT " SYSTEM DESCRIPTION AND MEMORY MAP " 220 FOR I= 20TO 12STEP - 2:Z= CALL (I):NEXT 230 PLOT 6,2,3,0,25:PRINT "IN THIS TUTORIAL WE WILL LOOK MORE CLOSELY AT HOW THE CCII" 240 PRINT "UTILISES THE 64K OF MEMORY WHICH IT IS ABLE TO ADDRESS.":PRINT 250 PRINT "UP UNTIL NOW WE HAVE USED THE ABBREVIATED MEMORY MAP SHOWN" 260 PRINT "ABOVE.":PRINT 270 Z= CALL (18):INPUT "THROUGHOUT, TO ADVANCE THE TEXT, PRESS ENTER ";Z:PLOT 28,11:PRINT "/":GOSUB 120 280 PRINT "THAT MAP REMAINS USEFUL FOR AN OVERVIEW OF THE TOTAL MEMORY":GOSUB 120 290 PRINT "BUT WE WILL NOW PRODUCE SCHEMATIC MAPS FOR SMALLER AREAS.":GOSUB 130 300 PRINT "THE FIRST AREA TO LOOK AT IS THE ROM AREA WHICH OCCUPIES":GOSUB 120 310 PRINT "THE FIRST 16K OF MEMORY FROM 0000 - 3FFF.":GOSUB 130 320 PRINT "THE CONTENT OF THIS AREA IS FIXED AND IT INCLUDES:":GOSUB 133 330 PRINT "THE RESTART VECTORS AND INITIAL VALUES.":GOSUB 120 340 PRINT "THE OPERATING SYSTEM - FCS AND CRT.":GOSUB 120 350 PRINT "THE BASIC INTERPRETER.":GOSUB 130 360 PRINT "SOFTWARE VERSIONS 6.78 AND 8.79 CONTAIN ESSENTIALLY THE SAME":GOSUB 120 370 PRINT "DATA BUT, IN ADJUSTING FOR 4 PHASE DRIVES, A FEW OTHER":GOSUB 120 380 PRINT "AMENDMENTS WERE MADE.":GOSUB 130 390 PRINT "THE MOST OBVIOUS IS THE SWAPPING OF THE RELATIVE POSITION":GOSUB 120 400 PRINT "OF THE INTERPRETER AND THE OPERATING SYSTEM.":GOSUB 130 410 PRINT "THE RESTART VECTORS FROM 0000-003F ARE IDENTICAL IN BOTH ROMS":GOSUB 120 420 PRINT "HOWEVER.":GOSUB 120 430 PRINT "THE 8080 RST INSTRUCTIONS (0-7), WHEN EXECUTED, PLACE THE":GOSUB 120 440 PRINT "ADDRESS OF THE NEXT INSTRUCTION ON THE STACK AND JUMP TO":GOSUB 120 450 PRINT "0000, 0008, 0010, 0018, 0020, 0028, 0030, & 0038 RESPECTIVELY.":GOSUB 130 460 A$= "0000 0008 0010 0018 0020 0028 0030 0038 " 470 PLOT 8:PRINT A$:GOSUB 134 480 PRINT "WE WILL REPRESENT THIS AREA AT THE TOP OF THE SCREEN.":GOSUB 120 490 PRINT "EACH RESTART ADDRESS HAS 8 BYTES FOR A ROUTINE OR AS DONE":GOSUB 120 500 PRINT "IN THE CCII, A 3 BYTE JUMP TO A ROUTINE AND 5 BYTES FOR":GOSUB 120 510 PRINT "DATA TABLES.":GOSUB 130 520 PLOT 3,0,2,6,25,11,28,11:PRINT "BASIC" 530 PLOT 3,48,1:PRINT "6.78 0040-211B" 540 PLOT 3,48,2:PRINT "8.79 1F26-3FFF" 550 PLOT 3,0,4,6,34,11,28,11:PRINT "FCS/CRT" 560 PLOT 3,48,3:PRINT "6.78 211C-3FFF" 570 PLOT 3,48,4:PRINT "8.79 0040-1F25":GOSUB 134 580 PRINT "V6.78 HAS BASIC FROM 0040 TO 211B AND FCS/CRT FROM 211C TO 3FFF":GOSUB 133 590 PRINT "V8.79 HAS FCS/CRT FROM 0040 TO 1F25 AND BASIC FROM 1F26 TO 3FFF":GOSUB 130 600 PRINT "WE WILL RETURN TO THESE AREAS LATER TO DISCUSS THE USEFUL":GOSUB 120 610 PRINT "ROUTINES AVAILABLE IN THE SYSTEM AREAS.":GOSUB 130 620 PLOT 3,0,5,6,57,11:PRINT "PROM":PLOT 3,55,5:PRINT "4000-5FFF":GOSUB 134 630 PRINT "SPACE HAS BEEN PROVIDED FOR EXPANSION OF FIXED MEMORY IN THE":GOSUB 120 640 PRINT "FORM OF PROMS FROM 4000 TO 5FFF (8K).":GOSUB 120 650 PRINT "AS THIS AREA IS NOT YET IMPLEMENTED, IT WILL RECEIVE ONLY":GOSUB 120 660 PRINT "PASSING REFERENCE.":GOSUB 130 670 PRINT "IN THE CCII, THE SCREEN IS MEMORY-MAPPED.":GOSUB 120 680 PRINT "THIS MEANS THAT ALL OF THE INFORMATION ON THE SCREEN AT ANY":GOSUB 120 690 PRINT "INSTANT IS HELD IN RAM TYPE MEMORY, AND THAT THE ":GOSUB 120 700 PRINT "DISPLAY GENERATOR CONTINUOUSLY MONITORS THAT PORTION OF":GOSUB 120 710 PRINT "MEMORY AND TRANSLATES IT TO THE CRT.":GOSUB 130 720 PRINT "THE SCREEN IS 64 CHRS. WIDE BY 32 ROWS DEEP ALLOWING":GOSUB 120 730 PRINT "2048 CHARACTERS TO BE DISPLAYED.":GOSUB 120 740 PRINT "IN ORDER TO PROVIDE FOR COLOR, BLINK, AND PLOTTING,":GOSUB 120 750 PRINT "EACH CHARACTER POSITION IS MAPPED INTO TWO ADJACENT BYTES":GOSUB 120 760 PRINT "OF SCREEN MEMORY THUS REQUIRING 4096 OR 4K BYTES.":GOSUB 130 770 PRINT "THE FIRST BYTE (6000,6002,6004,...6FFE) CONTAINS EITHER:":GOSUB 133 780 PRINT "IN CHARACTER MODE, THE ASCII VALUE OF THE CHARACTER.":GOSUB 120 790 PRINT "IN PLOT MODE, A VALUE GIVEN BY ORRING THE VALUES OF EACH":GOSUB 120 800 PRINT "PLOT BLOCK SET. (SEE MANUAL P72)":GOSUB 130 810 PRINT "THE SECOND BYTE (6001,6003,6005,...6FFF) HOLDS THE CCI STATUS":GOSUB 120 820 PRINT "WHICH IS DERIVED BY SETTING BITS AS FOLLOWS:":GOSUB 120 830 PRINT "BIT 0, IF SET PROVIDES RED FOREGROUND.":GOSUB 120 840 PRINT " 1, ' ' GREEN '":GOSUB 120 850 PRINT " 2, ' ' BLUE '":GOSUB 120 860 PRINT " 3, ' ' RED BACKGROUND.":GOSUB 120 870 PRINT " 4, ' ' GREEN '":GOSUB 120 880 PRINT " 5, ' ' BLUE '":GOSUB 120 890 PRINT " 6, ' ' BLINKING FOREGROUND.":GOSUB 120 900 PRINT " 7, ' TREATS THE CHARACTER AS A GROUP OF PLOT BLOCKS.":GOSUB 130 910 PRINT "IN THIS WAY, TEXT AND PLOTTING CAN BE MIXED PROVIDING":GOSUB 120 920 PRINT "PLOT BLOCKS DO NOT ENCROACH ON TEXT CHARACTERS.":GOSUB 120 930 PRINT "ALSO COLOR AND BLINK MAY BE SET INDIVIDUALLY FOR EACH":GOSUB 120 940 PRINT "CHARACTER POSITION.":GOSUB 130 950 PRINT "COMPOSITE COLORS FOR BOTH BACKGROUND AND FOREGROUND ARE":GOSUB 120 960 PRINT "OBTAINED BY SETTING MORE THAN ONE BIT IN EITHER B/G OR F/G.":GOSUB 130 970 PLOT 3,0,6,6,16,11:PRINT "SCREEN":PLOT 11,3,48,6:PRINT "FAST 6000-6FFF" 980 PLOT 3,48,7:PRINT "SLOW 7000-7FFF":GOSUB 134 990 PRINT "THE SCREEN MEMORY IS ONLY 4K WIDE PHYSICALLY BUT IT IS":GOSUB 120 1000 PRINT "ADDRESSED IN TWO DISTINCT WAYS:":GOSUB 120 1010 PRINT "AS 6000-6FFF FOR HIGH PRIORITY OPERATIONS SUCH AS":GOSUB 120 1020 PRINT "ERASE PAGE AND ERASE LINE.":GOSUB 120 1030 PRINT "AS 7000-7FFF FOR OPERATIONS WHICH COULD OVERTAX THE DISPLAY":GOSUB 120 1040 PRINT "GENERATOR CIRCUITRY.":GOSUB 120 1050 PRINT "WHEN CHARACTERS ARE SENT VIA >=7000, THE SCREEN CONTROLLER":GOSUB 120 1060 PRINT "CHIP GETS PRIORITY ON THE ADDRESS LINES TO ALLOW IT TO KEEP":GOSUB 120 1070 PRINT "TRACK OF IT'S HOUSEKEEPING CHORES SUCH AS SCROLLING AS":GOSUB 120 1080 PRINT "CHARACTERS ARE INPUT TO IT.":GOSUB 130 1090 PRINT "WHEN YOUR PROGRAM IS FILLING SCREEN MEMORY DIRECTLY AND DOING":GOSUB 120 1100 PRINT "IT'S OWN HOUSEKEEPING, THE PRIORITIES ARE UNDER PROGRAM":GOSUB 120 1110 PRINT "CONTROL AND YOU MAY USE EITHER ADDRESS AREA WITH NO PENALTY.":GOSUB 130 1120 PRINT "WHILE THE SCREEN DISPLAY REFLECTS THE CONTENTS OF MEMORY":GOSUB 120 1130 PRINT "FROM 6000-6FFF, IN ORDER TO ALLOW SCROLLING THE SCREEN VIEWS":GOSUB 120 1140 PRINT "THIS BLOCK OF MEMORY AS A CYLINDRICAL SURFACE WITH VARIABLE":GOSUB 120 1150 PRINT "ORIGIN AND WRAPOVER FROM 6FFF DIRECT TO 6000 AGAIN.":GOSUB 130 1160 PRINT "THE HOME POSITION CAN, AS A RESULT OF SCROLLING, BE:":GOSUB 120 1170 PRINT "6000, 6100, 6200,.......6F00.":GOSUB 130 1180 PRINT "FOLLOWING INITIALIZATION OR AN ERASE PAGE, HOME CORRESPONDS":GOSUB 120 1190 PRINT "TO 6000. IN NORMAL SCROLLING MODE, AS SOON AS THE CURSOR":GOSUB 120 1200 PRINT "VERTICAL CO-ORDINATE REACHES 32 (RANGE 0-31), THE SCREEN":GOSUB 120 1210 PRINT "SCROLLS TWO SMALL CHARACTER LINES OR 100H.":GOSUB 120 1220 PRINT "THE SCREEN THEN DISPLAYS MEMORY FROM 6100....6FFF,6000..60FF.":GOSUB 130 1230 PRINT "NOTE THAT THE CURSOR CO-ORDS RELATE TO THE SCREEN AND NOT":GOSUB 120 1240 PRINT "MEMORY SO THAT IN THE PREVIOUS EXAMPLE, Y=32 WOULD BECOME":GOSUB 120 1250 PRINT "Y=30.":GOSUB 120 1260 PRINT "NOTE ALSO THAT THE MEMORY FROM 6000-60FF IS ALSO ERASED":GOSUB 120 1270 PRINT "AND THAT IT NOW CONTAINS ONLY WHAT IS WRITTEN AFTER THE":GOSUB 120 1280 PRINT "SCROLL OCCURS.":GOSUB 130 1290 PRINT "IN PAGE MODE HOWEVER, UPON Y EXCEEDING 31, IT BECOMES Y=1 AND":GOSUB 120 1300 PRINT "NO ERASURE OCCURS. ALSO NO SHIFT OF ORIGIN OCCURS BUT THE":GOSUB 120 1310 PRINT "HOME POSITION IS NOT NECESSARILY 6000 UNLESS NO SCROLLING":GOSUB 120 1320 PRINT "HAS OCCURRED SINCE AN ERASE PAGE AND BEFORE ENTERING PAGE":GOSUB 120 1330 PRINT "MODE.":GOSUB 120 1340 PRINT "THEREFORE IF YOU WISH TO ADDRESS THE SCREEN MEMORY DIRECTLY,":GOSUB 120 1350 PRINT "EXECUTE AN ERASE PAGE AND ENSURE NO SCROLLING OCCURS PRIOR":GOSUB 120 1360 PRINT "TO SUCH AN ATTEMPT.":GOSUB 130 1370 PRINT "ANOTHER IMPORTANT USE FOR THE SCREEN MEMORY IS AS A BUFFER":GOSUB 120 1380 PRINT "SUCH AS DURING A DISK DELETE OR COPY OPERATION.":GOSUB 120 1390 PRINT "YOU COULD EVEN USE IT AS A BUFFER IF YOU WERE SHORT OF RAM":GOSUB 120 1400 PRINT "FOR A MACHINE LANGUAGE ROUTINE PROVIDED YOU DID NOT MIND":GOSUB 120 1410 PRINT "TEMPORARILY MESSING UP YOUR SCREEN!":GOSUB 130 1420 PRINT "WE CAN SIMULATE THIS BY READING AN ASCII FILE INTO THE":GOSUB 120 1430 PRINT "SCREEN ABOVE:":GOSUB 130 1440 PLOT 27,4:PRINT "LOA TEST.RND,6600":PLOT 27,27 1450 PRINT "MESSY BUT EFFECTIVE!":GOSUB 130 1460 FOR I= 12TO 21:PLOT 3,0,I,11:NEXT :PLOT 3,0,31 1470 PRINT "THE NEXT AREA OF MEMORY IS LIKE THE SCREEN MEMORY IN THAT":GOSUB 120 1480 PRINT "IT IS READ/WRITE BUT NOT AVAILABLE FOR PROGRAM STORAGE.":GOSUB 120 1490 PRINT "THIS IS THE SYSTEM SCRATCH PAD FROM 8000-81FF AND WHICH":GOSUB 120 1500 PRINT "IN BASIC, EXTENDS UP TO 8299.":GOSUB 130 1510 PLOT 3,0,10,6,25,11,28,11,28,11:PRINT "SCRATCH PAD":PLOT 3,46,8:PRINT "SYSTEM 8000-81FF" 1520 PLOT 3,37,10:PRINT "BASIC EXTENSION 8200-8299":GOSUB 134 1530 PRINT "THIS SYSTEM RAM AREA KEEPS TRACK OF VARIOUS PARAMETERS FOR":GOSUB 120 1540 PRINT "THE OPERATING SYSTEM SUCH AS POINTERS TO RESERVED AREAS OF RAM,":GOSUB 120 1550 PRINT "CURSOR POSITION, TIME CLOCK VALUES, DEFAULT VALUES OFTHINGS":GOSUB 120 1560 PRINT "SUCH AS CCI STATUS, TRACK AND SECTOR NUMBER OF DRIVES,":GOSUB 120 1570 PRINT "AND VARIOUS FLAGS FOR INPUT AND OUTPUT.":GOSUB 130 1580 PRINT "THIS AREA ALSO CONTAINS INPUT BUFFERS FOR ENTRY OF BASIC":GOSUB 120 1590 PRINT "COMMANDS OR PROGRAM LINES AND A COMMAND LINE BUFFER FOR FCS.":GOSUB 130 1600 PRINT "THE LIST IS VERY LONG AND REFERENCE TO APPENDIX #3":GOSUB 120 1610 PRINT "WILL PROVIDE FURTHER DETAILS OF SYSTEM RAM LOCATIONS, BUT NOT":GOSUB 120 1620 PRINT "HOWEVER THOSE RELATING TO BASIC.":GOSUB 130 1630 PRINT "A FEW ARE WORTH DISCUSSING HERE THOUGH -":GOSUB 120 1640 PRINT "THE FCS STACK OCCUPIES 8000-8041 AND THIS ACCOUNTS FOR THE":GOSUB 120 1650 PRINT "OCCASIONAL SCREEN BLOBS WHICH SOMETIMES OCCUR WHEN LOADING":GOSUB 120 1660 PRINT ".LDA FILES AS THIS ROUTINE INVOLVES DEEP STACK LEVELS AND IT":GOSUB 120 1670 PRINT "SIMPLY OVERFLOWS INTO SCREEN MEMORY WHICH IS IMMEDIATELY":GOSUB 120 1680 PRINT "BELOW THE STACK.":GOSUB 130 1690 PRINT "THE ASSEMBLER MANUAL PROVIDES DETAILS OF THE TWO FILE PARAMETER":GOSUB 120 1700 PRINT "BLOCKS IN THIS AREA WHICH CAN MANAGE AN 'OLD' FILE AND A 'NEW'":GOSUB 120 1710 PRINT "ONE FOR FILE UPDATES. IT ALSO DETAILS THE DIRECTORY BLOCK":GOSUB 120 1720 PRINT "WHICH HOLDS ONE DIRECTORY BLOCK (80H BYTES) AT A TIME WHILE":GOSUB 120 1730 PRINT "THE SYSTEM SEARCHES IT OR UPDATES IT.":GOSUB 130 1740 PRINT "THREE USER VECTORS ARE ALSO CONTAINED THERE:":GOSUB 120 1750 PRINT "THE CALL(X) JUMP FOR BASIC AT 8202.":GOSUB 120 1760 PRINT "THE USER ESCAPE JUMP VECTOR [ESC] [^] AT 81BF.":GOSUB 120 1770 PRINT "THE USER INPUT JUMP VECTOR #31 WHICH JUMPS TO 81C5.":GOSUB 120 1780 PRINT "AS THESE ARE IN RAM, ADDRESSES MAY BE POKED INTO THEM TO BE":GOSUB 120 1790 PRINT "VECTORED TO UPON RECEIPT OF A JUMP TO THEIR LOCATION.":GOSUB 120 1800 PRINT "THE FIRST BY EXECUTING CALL(X) IN BASIC,":GOSUB 120 1810 PRINT "THE SECOND BY TYPING [ESC] [^] AS IN CALLING FREDI,":GOSUB 120 1820 PRINT "THE THIRD BY POKEING 1F INTO THE APPROPRIATE INPUT FLAG WILL":GOSUB 120 1830 PRINT "VECTOR THERE ON RECEIPT OF DATA FROM THAT INPUT SOURCE.":GOSUB 130 1840 PLOT 6,48:FOR I= 21TO 11STEP - 1:PLOT 3,0,I,11:NEXT 1850 PRINT "USER RAM"TAB( 59)"8200":PLOT 3,58,12:PRINT "(829A)" 1860 PLOT 3,54,20:PRINT "16K BFFF":PLOT 3,54,21:PRINT "32K FFFF":GOSUB 134 1870 PRINT "USER RAM EXTENDS FROM THE TOP OF SYSTEM RAM TO THE TOP":GOSUB 120 1880 PRINT "OF AVAILABLE MEMORY.":GOSUB 130 1890 PRINT "THE SYSTEM PROVIDES A SERIES OF KEYBOARD (OR SOFTWARE)":GOSUB 120 1900 PRINT "ESCAPE JUMPS TO USER RAM.":GOSUB 130 1910 PLOT 6,48,3,0,21:PRINT "ESC I -> 9000, ESC S -> A000, ESC T -> 8200":GOSUB 134 1920 PRINT "THESE PROVIDE A CONVENIENT METHOD FOR VECTORING TO PROGRAMS":GOSUB 120 1930 PRINT "AT THESE LOCATIONS. (SEE ABOVE)":GOSUB 130 1940 PRINT "V 8.79 ALSO PROVIDES JUMPS TO PROM AREAS:":GOSUB 120 1950 PRINT "ESC P -> 4000, ESC Z -> 4800, ESC \ -> 5000, ESC ] -> 5800":GOSUB 130 1960 PLOT 6,48,3,10,12:PRINT ">=8200 h YOUR PROGRAM BYTES h" 1970 PLOT 3,18,15:PRINT "< YOUR FLAGS AND POINTER BYTES >" 1980 PLOT 3,18,16:PRINT "< YOUR DATA BUFFERS >" 1990 PLOT 3,18,19:PRINT "s YOUR STACK BUILDS FROM HERE s":GOSUB 134 2000 PRINT "UNLIKE BASIC WHICH ONLY NEEDS TO KNOW HOW MUCH RAM IS":GOSUB 120 2010 PRINT "AVAILABLE TO IT AND THEN PROCEEDS TO DYNAMICALLY MANAGE IT,":GOSUB 120 2020 PRINT "IN MACHINE LANGUAGE YOU MUST ALLOCATE YOUR OWN MEMORY AND":GOSUB 120 2030 PRINT "KEEP PROGRAMS, DATA, AND STACK CLEAR OF ROM AND SYSTEM RAM.":GOSUB 130 2040 PRINT "IN GENERAL YOU MAY LOAD PROGRAMS FROM 8200,":GOSUB 120 2050 PRINT "PROVIDE STORAGE FOR DATA ABOVE THE PROGRAM AND,":GOSUB 120 2060 PRINT "PROVIDE YOUR OWN STACK ABOVE ALL OF THOSE, SUBJECT ONLY TO":GOSUB 120 2070 PRINT "TOP OF AVAILABLE MEMORY.":GOSUB 130 2080 PLOT 6,48:FOR I= 19TO 11STEP - 1:PLOT 3,0,I,11:NEXT 2090 PLOT 3,12,11:PRINT "829A BASIC PROGRAM STORAGE" 2100 PLOT 3,18,14:PRINT "SIMPLE VARIABLES" 2110 PLOT 3,18,15:PRINT "ARRAY VARIABLES & FILE BUFFERS" 2120 PLOT 3,18,17:PRINT "BASIC'S STACK" 2130 PLOT 3,18,18:PRINT "BASIC'S STRING SPACE" 2140 PLOT 3,18,19:PRINT "TOP OF BASIC RAM" 2150 PLOT 3,18,20:PRINT "YOUR PATCH":GOSUB 134 2160 PRINT "WITH PATCHES FROM BASIC HOWEVER YOU CAN USUALLY USE BASIC'S":GOSUB 120 2170 PRINT "STACK AND THE PROGRAM MUST LOAD ABOVE RESERVED RAM.":GOSUB 130 2180 PRINT "IF THE M/L PROGRAM IS TO BE LOADED FROM A BASIC MENU AND":GOSUB 120 2190 PRINT "RETURN TO THAT MENU ON COMPLETION, THEN IT MUST LOAD AT":GOSUB 120 2200 PRINT ">=829A, IN ORDER TO PRESERVE BASIC'S POINTERS IN THE SCRATCH":GOSUB 120 2210 PRINT "PAD. TYPICALLY, SUCH PROGRAMS LOAD AT 9000 IF THERE IS":GOSUB 120 2220 PRINT "SUFFICIENT ROOM.":GOSUB 130 2230 PRINT "YOUR PROGRAM MAY READ AND WRITE TO SCREEN MEMORY SUBJECT TO":GOSUB 120 2240 PRINT "WHAT HAS BEEN SAID ABOVE. AT A PINCH IT COULD EVEN BE RESIDENT":GOSUB 120 2250 PRINT "IN IT BUT THAT WOULD BE BOTH MESSY AND RISKY!":GOSUB 120 2260 PRINT "YOU MAY ALSO ADDRESS THE SCREEN VIA THE SYSTEM BY CALLING":GOSUB 120 2270 PRINT "ROM ROUTINES LO AND OSTR, WHICH WILL ACCEPT CONTROL CHARACTERS":GOSUB 120 2280 PRINT "AS WELL AS ASCII. WE WILL LOOK AT THESE LATER.":GOSUB 130 2290 PRINT "YOU MAY READ VALUES FROM THE SCRATCH PAD, AND JUDICIOUSLY":GOSUB 120 2300 PRINT "ALTER THEM.":GOSUB 130 2310 PRINT "THE PROM AREA IS AVAILABLE FOR LATER INSTALLATION OF":GOSUB 120 2320 PRINT "APPLICATION SOFTWARE SUCH AS A RESIDENT EDITOR/ASSEMBLER OR":GOSUB 120 2330 PRINT "RESIDENT FREDI.":GOSUB 130 2340 PRINT "ROUTINES IN THE ROM AREA MAY BE CALLED FOR A WHOLE VARIETY OF":GOSUB 120 2350 PRINT "PURPOSES INCLUDING SEQUENTIAL FILE ACCESS. WE WILL LOOK AT":GOSUB 120 2360 PRINT "MANY OF THESE LATER.":GOSUB 130 2370 PRINT "YOU MAY EVEN USE THE INPUT RST VECTORS BY MEANS OF THE":GOSUB 120 2380 PRINT "INPUT JUMP VECTOR #31, NOTED ABOVE.":GOSUB 130 2390 PRINT "THEREFORE IN M/L, YOU ARE IN COMMAND AND THE RESULTS YOU":GOSUB 120 2400 PRINT "CAN ACHIEVE ARE ALMOST UNLIMITED ONCE YOU KNOW YOUR SYSTEM":GOSUB 120 2410 PRINT "WELL AND HAVE SOME PROFICIENCY IN PROGRAMMING.":GOSUB 130 2420 PRINT "IN THE NEXT TUTORIAL WE WILL LOOK AT ASSEMBLY LANGUAGE FORMAT":GOSUB 120 2430 PRINT "AND USING TEXT EDITORS AND THE ASSEMBLER.":GOSUB 130 2440 GOSUB 3010 2450 INPUT "BACK TO MENU, ON TO TUTORIAL #6, OR TERMINATE? ";YN$:GOSUB 3000:PLOT 12 2460 IF YN$= "B"THEN PLOT 1 2470 IF YN$= "6"THEN LOAD "TUTE6":RUN 2480 PLOT 27,11:END 3000 FOR I= 24TO 8STEP - 2:Z= CALL (I):NEXT 3010 FOR I= 8TO 24STEP 2:Z= CALL (I):NEXT :RETURN