Compucolor.org – Virtual Media

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