--- title: "Inside Spectrum" id: 64647 type: "computer_media" slug: "inside-spectrum" url: "http://localhost/computer_media/inside-spectrum/" markdown_url: "http://localhost/computer_media/inside-spectrum.md" published_at: "2026-03-05T20:56:54+00:00" modified_at: "2026-03-30T21:43:18+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/03/Inside-Spectrum.png" excerpt: "An interactive PCB diagram of the ZX Spectrum Issue 3 board, with block-graphic components, vector-drawn bus lines, expansion-port pinout, and detailed on-screen explanations of every chip." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" genre: - name: "Education" slug: "education" taxonomy: "genre" url: "http://localhost/type/education/" media_contents: - id: 64613 title: "CATS Library Tape 10" type: "computer_media" url: "http://localhost/computer_media/cats-library-tape-10/" media_type: "Program" download_url: "https://archive.org/download/timex-sinclair-software-archive/Inside%20Spectrum%20%28198x%29%28TS2068%29%28US%29%28Program%29.zip" mediadate: "198x" images: - url: "http://localhost/wp-content/uploads/2026/03/Inside-Spectrum.png" media_type_tags: "Education" --- # Inside Spectrum This program renders an annotated diagram of the ZX Spectrum Issue 3 PCB layout, showing the positions of major ICs and components using block graphics characters and CIRCLE/DRAW vector commands. It provides three interactive viewing modes: a component-title view (key ‘1’), an IC-reference-number view (key ‘2’), and a block schematic diagram (key ‘3’), plus a fourth mode showing the expansion port pinout (key ‘5’) and a Spectrum+ variant overlay (key ‘6’). A lengthy subroutine at line 4000 delivers scrolling text explanations for each labelled component — CPU, ULA, ROM, RAM, address multiplexers, power supply rails, and crystals — with a “press any key” pause between sections. *** ## Program Structure The program is organised into a set of loosely coupled sections reached by conditional branches from a polling loop: 1. **Lines 1–860:** Initialisation and PCB rendering — draws the board outline, all component blocks, the speaker circle, and crystal transistor arcs using `CIRCLE`, `PLOT`, and `DRAW`. 2. **Lines 1085–1190:** Key-selection menu and two label overlays. Pressing `'1'` prints human-readable component names; pressing `'2'` prints IC reference numbers over the same graphic. 3. **Lines 2010–2080:** Spectrum+ overlay (key `'6'`) — superimposes IC27 and IC28 positions replacing several Issue 3 chips. 4. **Lines 4000–4260:** Component explanation text (key `'4'`) — a sequential, colour-coded series of `PRINT` screens with a common “press any key” subroutine at line 4012. 5. **Lines 7000–7920:** Block schematic diagram (key `'3'`) — redraws the board as a bus-level block diagram with extensive `PLOT`/`DRAW` sequences for bus lines, connectors, and component symbols. 6. **Lines 8000–8390:** Expansion port pinout (key `'5'`) — draws connector teeth using a `FOR`/`DRAW` loop and labels all 23 edge-connector signals. 7. **Line 9998:**`SAVE "insideSPEC" LINE 1` — saves with autostart at line 1. ## Rendering Techniques Component blocks on the PCB view are drawn by short `FOR` loops that `PRINT AT` a row of `█`/`▐`/`▌` block-graphic characters with a specific `INK` colour, giving each chip a distinct colour identity (e.g. INK 3 for 16K RAM, INK 2 for 32K RAM, INK 4 for ULA, INK 1 for CPU, INK 5 for ROM, INK 6 for logic chips). Curved elements — the loudspeaker and the two crystal transistor symbols — use `CIRCLE` and arc-`DRAW` (three-argument form) at pixel coordinates, mixing the character-cell and pixel coordinate systems on the same screen. The expansion port pinout at line 8000 generates the edge-connector “teeth” pattern with a `FOR` loop stepping by 9 pixels, issuing five `DRAW` sub-commands per tooth to create the characteristic comb waveform on both rails simultaneously (lines 8020–8055). ## Key BASIC Idioms - **Polling loop without `PAUSE`:** The keypress wait subroutine at line 4012 uses `IF INKEY$<>"" THEN RETURN` inside a tight loop — a common Spectrum idiom, though it will return on any key, not just a specific one. - **Redundant variable initialisation:** Variables such as `q`, `a`, `x`, `c`, `p`, `i`, `y`, `r`, `m`, `f`, `b` are assigned before their `FOR` loops (e.g. `LET q=18` then `FOR q=18 TO 20`); the `LET` is redundant since `FOR` overrides it, likely a beginner habit. - **Multi-statement `PRINT`:** Many lines chain several `AT` clauses in a single `PRINT`, saving line numbers and reducing interpreter overhead. - **Colour-change within PRINT:**`PAPER` and `INK` are embedded as stream modifiers inside `PRINT` statements rather than set globally, allowing fine-grained per-character colouring. ## Navigation and Control Flow The menu system is built entirely from `IF INKEY$="x" THEN GO TO nnnn` chains with a fall-through `GO TO` back to the top of the poll. There is no `PAUSE 0` before the `INKEY$` checks, so the loops burn CPU cycles continuously. Lines 1100–1107 form a secondary poll reached after the label overlay is applied, adding keys `'3'`, `'4'`, `'5'`, and `'6'` to the available choices. Line 2005 (`GO TO 1104`) provides re-entry into the secondary poll after the main diagram is redrawn, and line 6000 (`GO TO 3000`) references a non-existent line 3000 — this is a latent bug that would produce a *Line does not exist* error if ever reached, though no path in the active program leads there. ## Component Colour Map | INK colour | Component | IC references | | --- | --- | --- | | INK 3 (Yellow) | 16K RAM | IC6–IC13 | | INK 2 (Green) | 32K RAM | IC15–IC26 | | INK 4 (Green bg / Cyan) | ULA | IC1 | | INK 1 (Blue) | CPU | IC2 | | INK 5 (Magenta) | ROM | IC5 | | INK 6 (Yellow bg) | Address multiplexers | IC3, IC4 | | INK 0 (Black) | Modulator / misc | MOD, EAR/MIC sockets | ## Source Code ``` 1 BORDER 7: PAPER 7: INK 0: CLS 3 PRINT AT 6,8;" " 4 REM 16k ram 10 LET q=18 20 LET a=1 30 FOR q=18 TO 20 60 PRINT AT q,a; INK 3;"█▐▌█▐▌█▐▌█▐▌" 72 NEXT q 75 REM 32k ram 80 LET z=16: LET x=18 95 FOR x=18 TO 20 100 PRINT AT x,z; INK 2;"█▐▌█▐▌" 105 NEXT x 110 REM ula 120 LET c=10: LET v=10 125 FOR c=10 TO 16 130 PRINT AT c,v; INK 4;"██" 140 NEXT c 195 REM 32k ram 200 LET p=14: LET o=17 210 FOR p=14 TO 16 230 PRINT AT p,o; INK 2;"█▐▌█▐▌" 250 NEXT p 255 REM cpu 260 LET i=6: LET u=21 270 FOR i=6 TO 12 280 PRINT AT i,u; INK 1;"██" 290 NEXT i 295 REM rom 300 LET y=6: LET t=24 310 FOR y=6 TO 10 320 PRINT AT y,t; INK 5;"██" 330 NEXT y 335 REM logic chips 340 LET r=6: LET e=14 350 FOR r=6 TO 8 370 PRINT AT r,e; INK 6;"█ ▐▌" 390 NEXT r 395 REM logic chips 400 LET m=10: LET n=14 410 FOR m=10 TO 12 430 PRINT AT m,n; INK 2;"█ ▐▌ █ " 450 NEXT m 451 LET f=6: LET g=19 452 FOR f=6 TO 8 453 PRINT AT f,g; INK 2;"█" 454 NEXT f 455 REM video 460 LET b=11: LET v=5 470 FOR b=11 TO 13 480 PRINT AT b,v; INK 4;"█" 490 NEXT b 592 REM sockets 595 PRINT AT 4,8;"█▌█▌" 600 PRINT AT 5,8;"█▌█▌" 605 REM mod. 610 LET f=4: LET g=2 620 FOR f=4 TO 8 630 PRINT AT f,g;"█████" 640 NEXT f 645 REM keyboard sockets 650 PRINT AT 15,5;"▀▀" 660 PRINT AT 15,24;"▀▀▀" 665 REM border 670 LET h=4: LET j=0 685 PRINT AT h,j;"▀▀" 688 LET h=4: LET j=0 690 FOR h=4 TO 21 710 PRINT AT h,j;"▌" 720 NEXT h 740 PRINT AT 4,0;"▛" 750 LET h=21: LET j=0 760 FOR j=0 TO 31 770 PRINT AT h,j;"▄" 780 NEXT j 790 LET h=4: LET j=31 800 FOR h=4 TO 21 810 PRINT AT h,j;"▐" 820 NEXT h 830 PRINT AT 4,31;"▜";AT 21,0;"▙";AT 21,31;"▟" 840 PRINT AT 8,7;"▗▄▖" 850 PRINT AT 9,7;"▗▄▖" 855 REM speaker & transistors 860 CIRCLE 220,25,15 980 PLOT 225,60 990 DRAW 0,-6,-PI 1000 DRAW 0,6 1010 PLOT 233,60 1020 DRAW 0,-6,PI 1030 DRAW 0,6 1035 REM IP,REG,C&EXPANSION 1040 PRINT AT 4,28;"██";AT 5,28;"▝▘" 1050 PRINT AT 6,27;"▐██";AT 7,27;"▝▀▀" 1060 PRINT AT 8,28;"██";AT 9,28;"██" 1070 PRINT AT 4,12;"▀▀▀▀▀" 1080 PRINT AT 4,17;"▜_________▌" 1082 PRINT AT 21,12;"Issue 3" 1085 PRINT AT 0,0;"KEY";AT 0,7;" For component titles.";AT 1,0;"KEY";AT 1,7;" For component reference.";AT 0,4; PAPER 1; INK 7;"'1'";AT 1,4; PAPER 2;"'2'" 1087 BEEP 1,0 1090 IF INKEY$="1" THEN GO TO 1110 1095 IF INKEY$="2" THEN GO TO 1165 1097 GO TO 1090 1100 IF INKEY$="5" THEN GO TO 8000 1102 IF INKEY$="6" THEN GO TO 2010 1103 IF INKEY$="3" THEN GO TO 7000 1104 IF INKEY$="4" THEN GO TO 4000 1105 IF INKEY$="2" THEN GO TO 1165 1106 IF INKEY$="1" THEN GO TO 1110 1107 GO TO 1100 1110 PRINT AT 19,2; PAPER 3; INK 7;" 16K RAM " 1112 PRINT AT 11,4;" ";AT 12,4;" " 1115 PRINT AT 12,11; PAPER 4;"U";AT 13,11;"L";AT 14,11;"A";AT 12,5;"V" 1116 PRINT AT 11,5; INK 4;"█" 1120 PRINT AT 7,22; PAPER 1; INK 7;"C";AT 8,22;"P";AT 9,22;"U" 1125 PRINT AT 8,9;"X1";AT 10,7;"X2" 1130 PRINT AT 7,25; PAPER 5;"R";AT 8,25;"O";AT 9,25;"M" 1135 PRINT AT 7,13; PAPER 6;" AM-P" 1138 PRINT AT 6,3; PAPER 0; INK 7;"MOD" 1140 PRINT AT 4,8; PAPER 0; INK 7;"E";AT 5,8;"A";AT 6,8;"R";AT 4,10;"M";AT 5,10;"I";AT 6,10;"C" 1145 PRINT AT 6,28; PAPER 0; INK 7;"5v" 1150 PRINT AT 4,28; PAPER 0; INK 7;"IP";AT 8,28;"C" 1155 PRINT AT 4,18;"EXPANSION" 1156 PRINT AT 11,16; PAPER 2; INK 7;"32K";AT 15,17;"EXTRA";AT 19,17;"RAM" 1157 PRINT AT 16,5;"KB1";AT 14,24;"KB2";AT 18,27;"S";AT 13,26;" Tr " 1160 PRINT AT 1,0;"KEY";AT 1,8;"For an explanation of the component titles. ";AT 3,0;"KEY";AT 3,8;"For exp.port details.";AT 1,4; PAPER 4;"'4'";AT 3,4; PAPER 5;"'5'" 1162 PRINT AT 0,0; PAPER 7;"KEY";AT 0,7;" For component reference.";AT 0,4; PAPER 2; INK 7;"'2'" 1163 GO TO 1190 1165 PRINT AT 6,3; PAPER 0; INK 7;"MOD";AT 4,8;"E";AT 5,8;"A";AT 6,8;"R";AT 4,10;"M";AT 5,10;"I";AT 6,10;"C";AT 6,28;"5v";AT 4,28;"IP";AT 8,28;"C" 1167 PRINT AT 4,18;"EXPANSION";AT 16,5;"KB1";AT 14,24;"KB2";AT 18,27;"S";AT 13,26;"Tr4,5";AT 8,9;"X1";AT 10,7;"X2" 1169 PRINT AT 19,2; PAPER 3; INK 7;"IC6 TO 13 " 1171 PRINT AT 12,11; PAPER 4;"I";AT 13,11;"C";AT 14,11;"1";AT 11,4;"IC";AT 12,4;"14" 1173 PRINT AT 7,22; PAPER 1; INK 7;"I";AT 8,22;"C";AT 9,22;"2" 1175 PRINT AT 7,25; PAPER 5;"I";AT 8,25;"C";AT 9,25;"5" 1177 PRINT AT 7,13; PAPER 6;"IC3,4" 1179 PRINT AT 11,15; PAPER 2; INK 7;" IC ";AT 15,17;"15 TO";AT 19,17;" 26 " 1181 PRINT AT 2,0;"KEY ";AT 2,7;" For Spectrum+ layout.";AT 0,0;"KEY ";AT 0,7;" For component titles. ";AT 1,0;"KEY ";AT 1,7;" For block diagram. ";AT 3,0;"KEY ";AT 3,7;" For exp.port details.";AT 0,4; PAPER 1; INK 7;"'1'";AT 1,4; PAPER 3; INK 7;"'3'";AT 2,4; PAPER 6; INK 0;"'6'";AT 3,4; PAPER 5;"'5'" 1190 BEEP 1,0 2005 GO TO 1104 2010 LET a=6: LET s=16 2015 FOR a=6 TO 12 2025 PRINT AT a,s; INK 6;" ██ " 2030 NEXT a 2035 PRINT AT 6,14;" ";AT 7,14;" ";AT 8,14;" " 2040 PRINT AT 10,14; PAPER 6;"I";AT 11,14;"C";AT 12,14;"2";AT 13,14;"8";AT 11,15; PAPER 7;" " 2050 PRINT PAPER 6;AT 7,18;"I";AT 8,18;"C";AT 9,18;"2";AT 10,18;"7" 2053 PRINT AT 7,13;" " 2055 PRINT AT 15,17; PAPER 2; INK 7;"IC15-" 2060 PRINT AT 0,0; PAPER 6;"IC27(ZX8401) AND IC28(74LS04) REPLACE IC3,4,23,24,25 AND 26. " 2062 PRINT AT 21,11;"Spectrum+" 2065 PRINT AT 19,17; PAPER 2; INK 7;" 22 " 2070 PRINT AT 2,0;"KEY ";AT 2,7;" To return. ";AT 2,4; PAPER 6;"'6'" 2072 BEEP 1,0 2075 IF INKEY$="6" THEN GO TO 1 2078 IF INKEY$="5" THEN GO TO 8000 2080 GO TO 2075 3002 BEEP 1,0 3005 IF INKEY$<>"" THEN GO TO 1 3010 GO TO 3005 4000 BORDER 1: PAPER 1: INK 7: CLS : PRINT "CPU=CENTAL PROCESSOR UNIT, IC2, Z80. THIS IS THE AREA OF THE COMPUTER WHICH PERFORMS ALL THE OPERATIONS NEEDED TO CARRY OUT A PARTICULAR TASK.IT IS MADE UP OF THREE PARTS. A SET OF REGISTERS, AN ARITHMETIC AND LOGIC UNIT,(ALU), AND A CONTROL UNIT." 4002 PRINT "IT IS CLOCKED FROM AN EXTERNAL SOURCE CONTROLLED BY THE ULA CHIP, IC1." 4005 PRINT "THERE ARE THREE MAIN BUS LINES ACCESSING THE CPU. THESE ARE, THE ADDRESS BUS,THE DATA BUS AND THE CONTROL BUS." 4007 PRINT 4008 PRINT "ADDRESS BUS.=CONSISTS OF 16 BITS OF INFORMATION AND PROVIDES THE ADDRESSES FOR DATA EXCHANGES." 4009 GO SUB 4012 4010 GO TO 4017 4012 PRINT AT 21,10; PAPER 0; INK 7;"PRESS ANY KEY" 4013 IF INKEY$<>"" THEN RETURN 4014 GO TO 4013 4017 CLS : PRINT "DATA BUS.=CONSISTS OF 8 BITS OF INFORMATION AND CARRIES DATA BETWEEN THE MEMORY, THE CPU, THE ULA,(IC1), AND ANY EXTERNAL EQUIPMENT." 4020 PRINT "CONTROL BUS.= THE CONTROL BUS IS A COLLECTION OF INDIVIDUAL SIGNALS,WHICH ORGANISE THE FLOW OF DATA ON THE ADDRESS AND DATA BUSES." 4023 PRINT "CLOCK SIGNAL.= IS THE TIMING SOURCE USED TO SYNCHRONISE OPERATIONS WITHIN THE COMPUTER." 4025 GO SUB 4012 4030 BORDER 4: PAPER 4: CLS 4035 PRINT PAPER 0; INK 7;"ULA.=UNCOMMITTED LOGIC ARRAY, IC1, 6C001." 4040 PRINT INK 0;" THE INPUT/OUTPUT SECTION IS CENTRED AROUND THIS CHIP. IT ALSO PERFORMS KEYBOARD SCANNING,TAPE INPUT/OUTPUT AND TV VIDEO COMPILATION.IT ALSO DERIVES AND CONTROLS THE CPU CLOCK USING AN EXTERNAL 14 MHz CRYSTAL X1,AND DRIVES THE LOUDSPEAKER WHEN A 'BEEP' INSTUCTION IS EXECUTED." 4045 PRINT INK 0;" THE VIDEO SECTION OF THE ULA OPERATES IN CONJUNCTION WITH THE MEMORY MAPPED PICTURE DISPLAY AREA IN THE STANDARD 16K RAM,THE COLOUR MODULATOR V,IC14 AND THE UHF MODULATOR MOD. THIS COMBINATION PRODUCES A HIGH RESOLUTION,24 LINE*32 CHARACTER,EIGHT COLOUR TV DISPLAY." 4050 GO SUB 4012 4055 BORDER 5: PAPER 5: CLS 4060 PRINT PAPER 0; INK 7;"ROM.=READ ONLY MEMORY,IC5,EITHER HITACHI OR NEC." 4065 PRINT INK 0;" THIS IS THE TYPE OF MEMORY WHICH IS PROGRAMMED DURING MANUFACTURE.IT CAN ONLY BE USED TO READ THE STORED DATA. ROM'S ARE USED TO STORE DATA OR PROGRAMS WHICH HAVE TO BE HELD IN TACT WHEN THE COMPUTER IS SWITCHED OFF. THE ROM PROVIDES INITIALISATION ON SWITCH ON AND THE PARTICULAR BASIC LANGUAGE USED.etc." 4070 GO SUB 4012 4075 BORDER 3: PAPER 3: CLS 4080 PRINT PAPER 0;"RAM.=RANDOM ACCESS MEMORY. 16K SECTION=IC6-13, 4116. 32K SECTION=IC15-26.TI4532(IC15-22).74LS32N(IC23).74LS00(IC24).74LS157(IC25,26)." 4085 PRINT INK 7;"IC6 TO 13 AND IC15 TO 22 ARE THE ACTUAL RAM CHIPS. IC23,24 ARE THE LOGIC CHIPS, AND IC25, 26 ARE THE ADDRESS MULTIPLEXER CHIPS.THESE CHIPS PROVIDE THE SELECTION AND ADDRESS FOR THE ROW AND COLUMN MEMORY LOCATIONS." 4087 PRINT 4090 PRINT INK 7;" THIS TYPE OF MEMORY IS USED TOTEMPORARILY STORE DATA.DATA CAN BE WRITTEN TO IT AND ALSO READ FROM IT. PROGRAMS, VARIABLES, POINTERS etc. ARE STORED HERE READY FOR EXECUTION." 4095 GO SUB 4012 4100 BORDER 6: PAPER 6: CLS 4105 PRINT PAPER 0;"AM-P.=ADDRESS MULTIPLEXER CHIPS,IC3,4,74LS157N." 4107 PRINT 4110 PRINT INK 0;" THESE CHIPS ARE USED TO PROVIDE INFORMATION FOR ROW AND COLUMN MEMORY LOCATIONS, WHICH ARE RECEIVED FROM THE ADDRESS BUS." 4112 PRINT 4116 PRINT INK 0;"IC25-26 WHICH ARE LOCATED IN THE 32K SECTION, ARE ALSO ADDRESS MULTIPLEXER CHIPS." 4120 GO SUB 4012 4122 BORDER 7: PAPER 7: INK 0: CLS 4125 PRINT "IP.=POWER INPUT SOCKET." 4130 PRINT " THE EXTERNAL POWER SUPPLY PROVIDES AN UNREGULATED 9 VOLTS TO THIS SOCKET. INSIDE THE COMPUTER A 5 VOLT,-5 VOLT AND 12VOLT SUPPLY RAILS ARE DERIVED FROM THE 9 VOLTS INPUT." 4140 PRINT "5V.= 5 VOLT REGULATOR IC.7805." 4145 PRINT " THIS IC. PROVIDES A REGULATED 5 VOLT POWER SUPPLY." 4150 PRINT "C.= COIL": PRINT "Tr.= TRANSISTORS Tr4-Tr5.ZTX650.ZTX213." 4155 PRINT "THE PURPOSE OF THE COIL AND THE TRANSISTORS Tr4, Tr5, ARE TO PROVIDE THE 12 VOLT AND -5 VOLT SUPPLIES." 4160 PRINT "EXPANSION." 4165 PRINT "THE EXPANSION PORT PROVIDES USE OF EXTERNAL EQUIPMENT eg.PRINTERJOYSTICK etc." 4170 GO SUB 4012 4172 BORDER 7: PAPER 7: INK 0: CLS 4175 PRINT "X1.= 14MHZ CRYSTAL." 4180 PRINT "THIS CRYSTAL CONTROLS THE CLOCK SIGNAL WHICH IS DERIVED FROM THE ULA IC1, AND FED TO THE CPU IC5." 4185 PRINT " THE CLOCK SIGNAL IS THE TIMING SOURCE USED TO SYNCHRONISE OPERATIONS WITHIN THE COMPUTER." 4190 PRINT "X2.= 4.43MHZ CRYSTAL." 4195 PRINT "THIS CRYSTAL HELPS TO ENCODE THE COLOUR(CHROMA) SIGNALS." 4200 PRINT "KB1.KB2.= KEYBOARD SOCKETS." 4203 PRINT 4205 PRINT "S.= LOUDSPEAKER." 4210 PRINT 4215 PRINT "USEFUL CIRCUIT CHECKS." 4218 PRINT "CHECK FOR 5 VOLTS AT PIN 9,IC6." 4220 PRINT "CHECK FOR -5 VOLTS AT PIN 1,IC6." 4225 PRINT "CHECK FOR 12 VOLTS AT PIN 8,IC6." 4230 PRINT "CHECK FOR A CLOCK PULSE WAVEFORMAT PIN 32,IC1 AND PIN 6,IC2." 4235 PRINT AT 21,10;"PRESS ANY KEY" 4250 BEEP 1,0 4255 IF INKEY$<>"" THEN GO TO 1 4260 GO TO 4255 6000 GO TO 3000 7000 CLS 7010 LET z=0: LET x=0 7020 FOR z=0 TO 17 7030 PRINT AT z,x; INK 1;"███" 7040 NEXT z 7050 LET c=7: LET v=5 7060 FOR c=7 TO 12 7070 PRINT AT c,v; INK 5;"███" 7080 NEXT c 7090 LET b=6: LET n=11 7100 FOR b=6 TO 13 7110 PRINT AT b,n; INK 2;"███" 7120 NEXT b 7130 LET a=3: LET s=3 7230 LET j=5: LET k=17 7240 FOR j=5 TO 6 7250 PRINT AT j,k; INK 6;"███" 7260 NEXT j 7270 LET q=9: LET w=17 7280 FOR q=9 TO 13 7290 PRINT AT q,w; INK 3;"███" 7300 NEXT q 7310 LET e=6: LET r=23 7320 FOR e=6 TO 14 7330 PRINT AT e,r; INK 4;"███" 7340 NEXT e 7350 PRINT AT 6,28;"██";AT 7,28;"██";AT 9,28;"██";AT 10,28;"██" 7405 PLOT 25,146 7410 DRAW 18,0: DRAW 0,-23: DRAW -2,0: DRAW 3,-3: DRAW 3,3: DRAW -2,0: DRAW 0,23 7415 DRAW 52,0: DRAW 0,-15: DRAW -2,0: DRAW 3,-3: DRAW 3,3: DRAW -2,0: DRAW 0,15 7420 DRAW 46,0: DRAW 0,-7: DRAW -2,0: DRAW 3,-3: DRAW 3,3: DRAW -2,0: DRAW 0,7: 7425 DRAW 80,0: DRAW 0,-15: DRAW -2,0: DRAW 3,-3: DRAW 3,3: DRAW -2,0: DRAW 0,15 7430 DRAW 20,0: DRAW 0,-2: DRAW 3,3: DRAW -3,3: DRAW 0,-2 7435 DRAW -224,0 7440 PLOT 28,160 7445 DRAW -3,3: DRAW 3,3: DRAW 0,-2: DRAW 221,0 7450 DRAW 0,2: DRAW 3,-3: DRAW -3,-3: DRAW 0,2 7455 DRAW -123,0: DRAW 0,-13 7460 PLOT 126,145: DRAW 0,-35: DRAW -11,0: DRAW 0,-2: DRAW -3,3: DRAW 3,3: DRAW 0,-2: DRAW 9,0: DRAW 0,33 7465 PLOT 124,149: DRAW 0,13: DRAW -64,0: DRAW 0,-13 7470 PLOT 60,145: DRAW 0,-22: DRAW 2,0: DRAW -3,-3: DRAW -3,3: DRAW 2,0: DRAW 0,22 7475 PLOT 58,149: DRAW 0,13: DRAW -30,0: DRAW 0,-2 7480 PLOT 191,158: DRAW 3,3: DRAW 3,-3: DRAW -2,0: DRAW 0,-9 7485 PLOT 195,145: DRAW 0,-14: DRAW 2,0: DRAW -3,-3: DRAW -3,3: DRAW 2,0: DRAW 0,14 7490 PLOT 193,149: DRAW 0,9: DRAW -2,0 7495 PLOT 147,119: DRAW 0,-12: DRAW 2,0: DRAW -3,-3: DRAW -3,3: DRAW 2,0: DRAW 0,12 7500 PLOT 150,115: DRAW -3,-3: DRAW 3,-3: DRAW 0,2: DRAW 29,0: DRAW 0,-2: DRAW 3,3: DRAW -3,3: DRAW 0,-2: DRAW -29,0: DRAW 0,2 7505 PLOT 223,118: DRAW -12,0: DRAW 0,-2: DRAW -3,3: DRAW 3,3: DRAW 0,-2: DRAW 12,0 7510 PRINT AT 9,27;">";AT 10,27;">" 7515 PLOT 221,99: DRAW -12,0 7520 PLOT 221,91: DRAW -12,0 7525 PRINT AT 13,26;"<" 7535 PLOT 216,67: DRAW 0,-14: DRAW 1,0: DRAW 5,5: DRAW 0,-10: DRAW -5,5 7555 PLOT 26,173: DRAW 160,0: DRAW 0,-8 7560 PLOT 186,161: DRAW 0,-12 7565 PLOT 186,145: DRAW 0,-17 7600 PLOT 30,46 7605 DRAW -3,-3 7610 DRAW 3,-3 7615 DRAW 0,2 7620 DRAW 222,0 7625 DRAW 0,-2 7630 DRAW 3,3 7635 DRAW -3,3 7640 DRAW 0,-2 7645 DRAW -55,0 7650 DRAW 3,3 7655 DRAW -2,0 7660 DRAW 0,4: DRAW 2,0 7665 DRAW -3,3: DRAW -3,-3 7670 DRAW 2,0: DRAW 0,-4 7675 DRAW -2,0: DRAW 3,-3 7680 DRAW -48,0: DRAW 3,3 7685 DRAW -2,0: DRAW 0,13: DRAW 2,0 7690 DRAW -3,3: DRAW -3,-3: DRAW 2,0 7695 DRAW 0,-13: DRAW -2,0: DRAW 3,-3 7700 DRAW -50,0: DRAW 3,3: DRAW -2,0 7705 DRAW 0,13: DRAW 2,0: DRAW -3,3 7710 DRAW -3,-3: DRAW 2,0: DRAW 0,-13 7720 DRAW -2,0: DRAW 3,-3 7725 DRAW -48,0: DRAW 3,3: DRAW -2,0 7730 DRAW 0,24: DRAW -2,0 7735 DRAW 0,-24 7740 DRAW -2,0: DRAW 3,-3 7745 DRAW -21,0: DRAW 0,2 7800 PRINT AT 9,0; PAPER 1; INK 7;"CPU";AT 10,0;"IC2" 7805 PRINT AT 9,5; PAPER 5;"ROM";AT 10,5;"IC5" 7810 PRINT AT 7,11; PAPER 2; INK 7;"32K";AT 8,11;"RAM";AT 9,11;"IC";AT 10,11;"15-";AT 11,11;"26" 7820 PRINT AT 9,17; PAPER 3; INK 7;"16K";AT 10,17;"RAM";AT 11,17;"IC6";AT 12,17;"-13" 7825 PRINT AT 9,23; PAPER 4;"ULA";AT 10,23;"IC1" 7830 PRINT AT 9,29;"M" 7835 PRINT AT 6,29;"K" 7845 PRINT AT 15,28;"beep" 7850 PRINT AT 0,2; PAPER 1; INK 7;"0";AT 1,2;"C";AT 3,2;"A";AT 16,2;"D" 7855 PRINT AT 5,17; PAPER 6;"AM-P ";AT 6,17;"IC3,4" 7860 PRINT AT 2,31;"E";AT 17,31;"E";AT 12,28;">ear";AT 13,28;"";AT 10,30;"tv" 7885 PLOT 253,99: DRAW -13,0 7900 BEEP 1,0 7910 IF INKEY$="4" THEN GO TO 4000 7920 GO TO 7910 8000 BORDER 6: PAPER 6: CLS 8005 PRINT AT 11,0;"████████████████████████████████" 8010 LET a=2: LET s=87 8015 PLOT a,s 8020 FOR a=2 TO 245 STEP 9 8025 DRAW 3,0: DRAW 0,4: DRAW 3,0: DRAW 0,-4: DRAW 3,0 8030 NEXT a 8035 LET z=2: LET x=80 8040 PLOT z,x 8045 FOR z=2 TO 245 STEP 9 8050 DRAW 3,0: DRAW 0,-4: DRAW 3,0: DRAW 0,4: DRAW 3,0 8055 NEXT z 8060 PRINT AT 11,26;"▌";AT 10,26;" ";AT 12,26;" " 8065 PRINT AT 0,8; PAPER 1; INK 7;"View from rear.";AT 1,8;"TOP";AT 21,8;"BOTTOM" 8070 PLOT 24,75 8075 DRAW 0,-59: DRAW 22,0: DRAW -44,0 8080 PRINT AT 20,0;"BUSACK";AT 18,2;"ROMCS" 8085 PLOT 33,75 8090 DRAW 0,-42: DRAW 20,0: DRAW -36,0 8095 PRINT AT 16,0;"A11";AT 14,1;"A9" 8100 PLOT 15,75 8105 DRAW 0,-12: PLOT 6,75: DRAW 0,-27 8115 PLOT 80,75: DRAW 0,-59: DRAW 16,0: DRAW -40,0: PLOT 87,75: DRAW 0,-42: DRAW 30,0: DRAW -51,0 8120 PRINT AT 20,7;"RESET";AT 18,8;"BUS REQ" 8125 PRINT AT 14,4;"A4";AT 14,8;"A7";AT 16,5;"A5";AT 15,7;"A6" 8130 PLOT 42,75: DRAW 0,-12: PLOT 51,75: DRAW 0,-28: PLOT 60,75: DRAW 0,-20: PLOT 69,75: DRAW 0,-12 8135 PLOT 123,75: DRAW 0,-60 8140 PRINT AT 20,13;"VIDEO" 8145 PRINT AT 14,12;"U";AT 14,14;"Y";AT 15,13;"V" 8150 PLOT 114,75: DRAW 0,-11: DRAW 4,0: DRAW -7,0: PLOT 107,75: DRAW 0,-18: PLOT 98,75: DRAW 0,-11 8155 PLOT 132,75: DRAW 0,-19: PLOT 143,75: DRAW 0,-50: DRAW 47,0: DRAW -59,0 8160 PRINT AT 19,16;"IO RQULA";AT 15,16;"0V" 8165 PLOT 150,75: DRAW 0,-12: PLOT 161,75: DRAW 0,-28: PLOT 169,75: DRAW 0,-20: PLOT 177,75: DRAW 0,-40 8170 PRINT AT 14,18;"A3";AT 16,19;"A2";AT 15,21;"A1";AT 17,21;"A0" 8175 PLOT 186,75: DRAW 0,-11: DRAW 11,0: DRAW -13,0: PLOT 195,75: DRAW 0,-3: DRAW 9,0: DRAW 0,3: DRAW 0,-3: DRAW -3,0: DRAW 0,-30 8180 PRINT AT 14,23;"CK";AT 16,24;"0V" 8185 PRINT AT 20,25;"SLOT" 8190 PLOT 214,75: DRAW 0,-58 8200 PRINT AT 14,27;"9V";AT 15,28;"5V";AT 18,29;"A14";AT 16,28;"A12" 8205 PLOT 223,75: DRAW 0,-12: PLOT 233,75: DRAW 0,-19: PLOT 241,75: DRAW 0,-28: PLOT 250,75: DRAW 0,-45 8210 PLOT 25,91: DRAW 0,28: PLOT 16,91: DRAW 0,12: PLOT 34,91: DRAW 0,60: PLOT 43,91: DRAW 0,12: PLOT 15,160: DRAW 32,0: PLOT 40,112: DRAW 15,0 8215 PRINT AT 8,0;"A10";AT 6,2;"A8";AT 2,2;"RFSH";AT 8,5;"MI" 8220 PRINT AT 6,6;"12V";AT 3,7;"WAIT";AT 2,7;"____" 8225 PLOT 52,91: DRAW 0,3: DRAW 9,0: DRAW 0,-3: DRAW 0,3: DRAW -1,0: DRAW 0,25: PLOT 71,91: DRAW 0,53 8230 PRINT AT 6,9;"-5V";AT 8,10;"WR";AT 7,10;"__";AT 4,11;"RD";AT 3,11;"__" 8235 PLOT 77,91: DRAW 0,28: PLOT 87,91: DRAW 0,12: PLOT 97,91: DRAW 0,44 8340 PRINT AT 2,12;"IO REQ";AT 1,12;"______";AT 4,14;"M REQ";AT 3,14;"_____";AT 6,15;"HALT";AT 5,15;"____";AT 8,16;"NMI";AT 7,16;"___" 8345 PLOT 106,91: DRAW 0,60: PLOT 115,91: DRAW 0,44: PLOT 124,91: DRAW 0,27: PLOT 133,91: DRAW 0,12: PLOT 140,91: DRAW 0,2: DRAW 12,12: DRAW 0,30: DRAW 6,6: DRAW 0,10: PLOT 187,91: DRAW 0,52 8350 PRINT AT 2,19;"INT";AT 1,19;"___";AT 4,20;"D4";AT 6,20;"D3";AT 7,21;"D5";AT 8,22;"D6" 8355 PLOT 149,91: DRAW 0,2: DRAW 8,8: DRAW 0,24: DRAW 6,6: DRAW 0,4: PLOT 161,91: DRAW 0,28: PLOT 170,91: DRAW 0,20: PLOT 178,91: DRAW 0,12 8360 PRINT AT 3,23;"D2";AT 5,24;"D1";AT 7,25;"D0" 8365 PLOT 196,91: DRAW 0,36: PLOT 205,91: DRAW 0,21 8370 PRINT AT 8,28;"D7";AT 6,28;"A13";AT 3,29;"A15" 8375 PLOT 232,91: DRAW 0,12: PLOT 242,91: DRAW 0,28: PLOT 251,91: DRAW 0,52 8380 PRINT AT 21,17; PAPER 4;"ANY KEY" 8383 BEEP 1,0 8385 IF INKEY$<>"" THEN GO TO 1 8390 GO TO 8385 9998 SAVE "insideSPEC" LINE 1 ```