Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Booting
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Pre integrated-circuit-ROM examples === ==== Early computers ==== Early computers in the 1940s and 1950s were one-of-a-kind engineering efforts that could take weeks to program, and program loading was one of many problems that had to be solved. An early computer, [[ENIAC]], had no program stored in memory but was set up for each problem by a configuration of interconnecting cables. Bootstrapping did not apply to ENIAC, whose hardware configuration was ready for solving problems as soon as power was applied. The [[EDSAC]] system, the second stored-program computer to be built, used [[stepping switch]]es to transfer a fixed program into memory when its start button was pressed. The program stored on this device, which [[David Wheeler (computer scientist)|David Wheeler]] completed in late 1948, loaded further instructions from [[punched tape]] and then executed them.<ref>{{cite journal |author-first=Martin |author-last=Campbell-Kelly |author-link=Martin Campbell-Kelly |title=Programming the EDSAC |journal=IEEE Annals of the History of Computing |date=1980 |volume=2 |number=1 |pages=7β36 |doi=10.1109/mahc.1980.10009}}</ref><ref>{{cite book |author-last1=Wilkes |author-first1=Maurice V. |author-link1=Maurice Wilkes |author-last2=Wheeler |author-first2=David J. |author-link2=David Wheeler (computer scientist) |author-last3=Gill |author-first3=Stanley |author-link3=Stanley Gill |date=1951 |title=The Preparation of Programs for an Electronic Digital Computer |publisher=[[Addison-Wesley]] |url=https://books.google.com/books?id=HwkuAAAAIAAJ |access-date=2020-09-25 |archive-date=2023-02-20 |archive-url=https://web.archive.org/web/20230220131716/https://books.google.com/books?id=HwkuAAAAIAAJ |url-status=live}}</ref> ==== First commercial computers ==== The first programmable computers for commercial sale, such as the [[UNIVAC I]] and the [[IBM 701]]<ref>{{Cite journal |date=1953 |title=The System Design of the IBM Type 701 Computer |url=http://bitsavers.org/pdf/ibm/701/Buchholz_IBM_701_System_Design_Oct53.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/ibm/701/Buchholz_IBM_701_System_Design_Oct53.pdf |archive-date=2022-10-09 |url-status=live |author-last=Buchholz |author-first=Werner |author-link=Werner Buchholz |journal=Proceedings of the I.R.E. |volume=41 |issue=10 |page=1273}}</ref> included features to make their operation simpler. They typically included instructions that performed a complete input or output operation. The same hardware logic could be used to load the contents of a [[punch card]] (the most typical ones) or other input media, such as a [[magnetic drum]] or [[magnetic tape]], that contained a bootstrap program by pressing a single button. This booting concept was called a variety of names for [[IBM]] computers of the 1950s and early 1960s, but IBM used the term "Initial Program Load" with the [[IBM 7030 Stretch]]<ref name="stretch-ipl">{{cite book |title=Reference Manual 7030 Data Processing System |section=IBM 7619 Exchange |publisher=IBM |date=August 1961 |url=http://bitsavers.org/pdf/ibm/7030/22-6530-2_7030RefMan.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/ibm/7030/22-6530-2_7030RefMan.pdf |archive-date=2022-10-09 |url-status=live |id=A22-6530-2 |pages=125β127}}</ref> and later used it for their mainframe lines, starting with the [[System/360]] in 1964. [[File:IBM1130CopyCard.agr.jpg|thumb|Initial program load punched card for the [[IBM 1130]] (1965)]] The [[IBM 701]] computer (1952β1956) had a "Load" button that initiated reading of the first [[36-bit]] [[word (computer architecture)|word]] into [[computer memory|main memory]] from a punched card in a [[punched card reader|card reader]], a magnetic tape in a [[tape drive]], or a magnetic drum unit, depending on the position of the Load Selector switch. The left 18-bit half-word was then executed as an instruction, which usually read additional words into memory.<ref>{{cite book |title=Principles of Operation Type 701 And Associated Equipment |url=http://bitsavers.org/pdf/ibm/701/24-6042-1_701_PrincOps.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/ibm/701/24-6042-1_701_PrincOps.pdf |archive-date=2022-10-09 |url-status=live |publisher=IBM |date=1953 |page=26 |access-date=2012-11-09}}</ref><ref>{{cite book |title=From Gutenberg to the Internet |author=Jeremy M. Norman |date=2005 |page=436 |publisher=Norman |isbn=0-930405-87-0}}</ref> The loaded boot program was then executed, which, in turn, loaded a larger program from that medium into memory without further help from the human operator. The [[IBM 704]],<ref>{{cite book|url=http://bitsavers.org/pdf/ibm/704/24-6661-2_704_Manual_1955.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/ibm/704/24-6661-2_704_Manual_1955.pdf |archive-date=2022-10-09 |url-status=live|title=704 Electronic Data-Processing Machine Manual of Operation|pages=14β15|publisher=[[IBM]]}}</ref> [[IBM 7090]],<ref>{{cite book|url=http://bitsavers.org/pdf/ibm/7090/A22-6535_7090_operGde_Jan62.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/ibm/7090/A22-6535_7090_operGde_Jan62.pdf |archive-date=2022-10-09 |url-status=live|title=Operator's Guide for IBM 7090 Data Processing System|page=34|publisher=[[IBM]]}}</ref> and [[IBM 7094]]<ref>{{cite book|url=http://bitsavers.org/pdf/ibm/7094/GA22-6703-4_7094princOps.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/ibm/7094/GA22-6703-4_7094princOps.pdf |archive-date=2022-10-09 |url-status=live|title=IBM 7094 Principles of Operation|page=146|publisher=[[IBM]]}}</ref> had similar mechanisms, but with different load buttons for different devices. The term "boot" has been used in this sense since at least 1958.<ref>{{cite book |title=Oxford English Dictionary |date=1939 |url=https://archive.org/details/in.ernet.dli.2015.228324 |publisher=[[Oxford University]]}}</ref> [[File:IBM System3 model 10.jpg|thumb|IBM System/3 console from the 1970s. Program load selector switch is lower left; Program load switch is lower right.]] Other IBM computers of that era had similar features. For example, the [[IBM 1401]] system (c. 1958) used a card reader to load a program from a punched card. The 80 characters stored in the punched card were read into memory locations 001 to 080, then the computer would branch to memory location 001 to read its first stored instruction. This instruction was always the same: move the information in these first 80 memory locations to an assembly area where the information in punched cards 2, 3, 4, and so on, could be combined to form the stored program. Once this information was moved to the assembly area, the machine would branch to an instruction in location 080 (read a card) and the next card would be read and its information processed. Another example was the [[IBM 650]] (1953), a decimal machine, which had a group of ten 10-position switches on its operator panel which were addressable as a memory word (address 8000) and could be executed as an instruction. Thus setting the switches to 7004000400 and pressing the appropriate button would read the first card in the card reader into memory (op code 70), starting at address 400 and then jump to 400 to begin executing the program on that card.<ref>{{cite book |url=http://www.bitsavers.org/pdf/ibm/650/22-6060-2_650_OperMan.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.bitsavers.org/pdf/ibm/650/22-6060-2_650_OperMan.pdf |archive-date=2022-10-09 |url-status=live |title=650 magnetic drum data-processing machine manual of operation |publisher=IBM |date=1955 |pages=49, 53β54}}</ref> The [[IBM 7040|IBM 7040 and 7044]] have a similar mechanism, in which the Load button causes the instruction set up in the entry keys on the front panel is executed, and the channel that instruction sets up is given a command to transfer data to memory starting at address 00100; when that transfer finishes, the CPU jumps to address 00101.<ref>{{cite book|url=http://bitsavers.org/pdf/ibm/7040/A22-6741-1_Operators_Guide_for_IBM_7040-7044_Systems.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/ibm/7040/A22-6741-1_Operators_Guide_for_IBM_7040-7044_Systems.pdf |archive-date=2022-10-09 |url-status=live|title=Operator's Guide for IBM 7040-7044 Systems|page=10|id=A22-6741-1|publisher=[[IBM]]}}</ref> IBM's competitors also offered single button program load. * The [[CDC 6600]] (c. 1964) had a ''dead start'' panel with 144 toggle switches; the dead start switch entered 12 12-bit words from the toggle switches to the memory of [[CDC 6000 series#Peripheral processors|''peripheral processor'']] (''PP'') 0 and initiated the load sequence by causing PP 0 to execute the code loaded into memory.<ref>{{cite book|url=http://bitsavers.org/pdf/cdc/cyber/cyber_70/60045000_6600_Computer_System_RefMan_Aug63.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/cdc/cyber/cyber_70/60045000_6600_Computer_System_RefMan_Aug63.pdf |archive-date=2022-10-09 |url-status=live|title=CONTROL DATA 6600 Computer System Reference Manual|page=53|edition=Second|date=August 1963|publisher=[[Control Data Corporation]]}}</ref> PP 0 loaded the necessary code into its own memory and then initialized the other PPs. * The [[GE-600 series|GE 645]] (c. 1965) had a "SYSTEM BOOTLOAD" button that, when pressed, caused one of the I/O controllers to load a 64-word program into memory from a diode [[read-only memory]] and deliver an interrupt to cause that program to start running.<ref>{{cite book |url=http://bitsavers.org/pdf/ge/GE-645/LSB0468_GE-645_System_Manual_Jan1968.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/ge/GE-645/LSB0468_GE-645_System_Manual_Jan1968.pdf |archive-date=2022-10-09 |url-status=live |title=GE-645 System Manual |date=January 1968 |publisher=[[General Electric]] |access-date=October 30, 2019}}</ref> * The first model of the [[PDP-10]] had a "READ IN" button that, when pressed, reset the processor and started an I/O operation on a device specified by switches on the control panel, reading in a 36-bit word giving a target address and count for subsequent word reads; when the read completed, the processor started executing the code read in by jumping to the last word read in.<ref>{{cite book |title=PDP-10 System Reference Manual, Part 1 |url=http://bitsavers.org/pdf/dec/pdp10/1970_PDP-10_Ref/1970PDP10Ref_Part1.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp10/1970_PDP-10_Ref/1970PDP10Ref_Part1.pdf |archive-date=2022-10-09 |url-status=live |pages=2β72 |publisher=[[Digital Equipment Corporation]] |date=1969 |access-date=2012-11-09}}</ref> A noteworthy variation of this is found on the [[Burroughs Corporation|Burroughs]] [[B1700]] where there is neither a [[boot ROM]] nor a hardwired IPL operation. Instead, after the system is reset it reads and executes microinstructions sequentially from a cassette tape drive mounted on the front panel; this sets up a boot loader in RAM which is then executed.<ref name="fff">{{cite book|url=http://bitsavers.org/pdf/burroughs/B1700/1057155_B1700SysRefMan11-73.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/burroughs/B1700/1057155_B1700SysRefMan11-73.pdf |archive-date=2022-10-09 |url-status=live|title=Burroughs B 1700 Systems Reference Manual|page=1{{hyp}}14|date=November 1973|publisher=[[Burroughs Corporation]]}}</ref> However, since this makes few assumptions about the system it can equally well be used to load diagnostic (Maintenance Test Routine) tapes which display an intelligible code on the [[front panel]] even in cases of gross CPU failure.<ref name="fff" /> ==== IBM System/360 and successors ==== {{Anchor|IPL|Initial Program Load}} In the [[IBM System/360]] and its successors, including the current [[z/Architecture]] machines, the boot process is known as [[IBM System/360 architecture#Initial Program Load|''Initial Program Load'']] (IPL). IBM coined this term for the [[IBM 7030 Stretch|7030 (Stretch)]],<ref name="stretch-ipl"/> revived it for the design of the System/360, and continues to use it in those environments today.<ref name="zAPoP">{{cite book |url=http://publibz.boulder.ibm.com/epubs/pdf/a2278324.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://publibz.boulder.ibm.com/epubs/pdf/a2278324.pdf |archive-date=2022-10-09 |url-status=live |title=z/Architecture Principles of Operation |pages=Chapter 17 |publisher=[[IBM]] |date=September 2005 |access-date=2007-04-14}}</ref> In the System/360 processors, an IPL is initiated by the computer operator by selecting the three hexadecimal digit device address (CUU; C=I/O Channel address, UU=Control unit and Device address<ref group="nb">UU was often of the form Uu, U=Control unit address, u=Device address, but some control units attached only 8 devices; some attached more than 16. Indeed, the 3830 DASD controller offered 32-drive-addressing as an option.</ref>) followed by pressing the ''LOAD'' button. On the high end [[System/360]] models, most<ref group="nb">Excluding the 370/145 and 370/155, which used a 3210 or 3215 console typewriter.</ref> [[System/370]] and some later systems, the functions of the switches and the LOAD button are simulated using selectable areas on the screen of a graphics console, often<ref group="nb">Only the S/360 used the 2250; the [[360/85]], [[370/165]] and [[370/168]] used a keyboard/display device compatible with nothing else.</ref> an [[IBM 2250]]-like device or an [[IBM 3270]]-like device. For example, on the System/370 Model 158, the keyboard sequence 0-7-X (zero, seven and X, in that order) results in an IPL from the device address that was keyed into the input area. The [[Amdahl Corporation|Amdahl]] 470V/6 and related CPUs supported four hexadecimal digits on those CPUs which had the optional second channel unit installed, for a total of 32 channels. Later, IBM would also support more than 16 channels. The IPL function in the System/360 and its successors prior to [[IBM Z]], and its compatibles such as Amdahl's, reads 24 bytes from an operator-specified device into main storage starting at real address zero. The second and third groups of eight bytes are treated as [[Channel Command Word]]s (CCWs) to continue loading the startup program (the first CCW is always simulated by the CPU and consists of a Read IPL command, {{Mono|02h}}, with command chaining and suppress incorrect length indication being enforced). When the I/O channel commands are complete, the first group of eight bytes is then loaded into the processor's [[Program Status Word]] (PSW) and the startup program begins execution at the location designated by that PSW.<ref name="zAPoP"/> The IPL device is usually a disk drive, hence the special significance of the {{Mono|02h}} read-type command, but exactly the same procedure is also used to IPL from other input-type devices, such as tape drives, or even card readers, in a device-independent manner, allowing, for example, the installation of an operating system on a brand-new computer from an OS initial distribution magnetic tape. For disk controllers, the {{Mono|02h}} command also causes the selected device to seek to cylinder {{Mono|0000h}}, head {{Mono|0000h}}, simulating a Seek cylinder and head command, {{Mono|07h}}, and to search for record {{Mono|01h}}, simulating a Search ID Equal command, {{Mono|31h}}; seeks and searches are not simulated by tape and card controllers, as for these device classes a Read IPL command is simply a sequential read command. The disk, tape or card deck must contain a special program to load the actual operating system or standalone utility into main storage, and for this specific purpose "IPL Text" is placed on the disk by the stand-alone DASDI (Direct Access Storage Device Initialization) program or an equivalent program running under an operating system, e.g., ICKDSF, but IPL-able tapes and card decks are usually distributed with this "IPL Text" already present. IBM introduced some evolutionary changes in the IPL process, changing some details for System/370 Extended Architecture (S/370-XA) and later, and adding a new type of IPL for z/Architecture. ==== Minicomputers ==== [[File:Digital pdp8-e2.jpg|thumb|PDP-8/E front panel showing the switches used to load the bootstrap program]] [[Minicomputer]]s, starting with the [[Digital Equipment Corporation]] (DEC) [[PDP-5]] and [[PDP-8]] (1965) simplified design by using the CPU to assist input and output operations. This saved cost but made booting more complicated than pressing a single button. Minicomputers typically had some way to ''toggle in'' short programs by manipulating an array of switches on the [[front panel]]. Since the early minicomputers used [[magnetic-core memory]], which did not lose its information when power was off, these bootstrap loaders would remain in place unless they were erased. Erasure sometimes happened accidentally when a program bug caused a loop that overwrote all of memory. Other minicomputers with such simple form of booting include Hewlett-Packard's [[HP 2100]] series (mid-1960s), the original [[Data General Nova]] (1969), and DEC's [[PDP-4]] (1962) and [[PDP-11]] (1970). As the I/O operations needed to cause a read operation on a minicomputer I/O device were typically different for different device controllers, different bootstrap programs were needed for different devices. DEC later added, in 1971, an optional [[diode matrix]] [[read-only memory]] for the PDP-11 that stored a bootstrap program of up to 32 words (64 bytes). It consisted of a printed circuit card, the M792, that plugged into the [[Unibus]] and held a 32 by 16 array of semiconductor diodes. With all 512 diodes in place, the memory contained all "one" bits; the card was programmed by cutting off each diode whose bit was to be "zero". DEC also sold versions of the card, the BM792-Yx series, pre-programmed for many standard input devices by simply omitting the unneeded diodes.<ref>{{cite book|url=http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/DEC-11-HBMAA-E-D%20BM792%20Read-Only-Memory%20and%20MR11-DB%20Bootstrap%20Loader.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/DEC-11-HBMAA-E-D%20BM792%20Read-Only-Memory%20and%20MR11-DB%20Bootstrap%20Loader.pdf |archive-date=2022-10-09 |url-status=live|title=BM792 read-only-memory and MR11~DB bootstrap loader|date=January 1974|id=DEC-II-HBMAA-E-D|publisher=[[Digital Equipment Corporation]]}}</ref><ref>{{cite book |url=http://bitsavers.org/pdf/dec/pdp11/handbooks/PDP11_PeripheralsHbk_1976.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp11/handbooks/PDP11_PeripheralsHbk_1976.pdf |archive-date=2022-10-09 |url-status=live |title=PDP-11 Peripherals Handbook |date=1976 |publisher=[[Digital Equipment Corporation]] |page=4{{hyp}}25}}</ref> Following the older approach, the earlier [[PDP-1]] has a hardware loader, such that an operator need only push the "load" switch to instruct the [[paper tape]] reader to load a program directly into core memory. The [[PDP-7]],<ref>{{cite book|url=http://bitsavers.org/pdf/dec/pdp7/F-75_PDP-7userHbk_Jun65.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp7/F-75_PDP-7userHbk_Jun65.pdf |archive-date=2022-10-09 |url-status=live|title=Programmed Data Processor-7 Users Handbook|page=143|publisher=[[Digital Equipment Corporation]]|date=1965}}</ref> [[PDP-9]],<ref>{{cite book|url=http://bitsavers.org/pdf/dec/pdp9/PDP-9_UsersManual.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp9/PDP-9_UsersManual.pdf |archive-date=2022-10-09 |url-status=live|title=PDP-9 User Handbook|page=10{{hyp}}3|publisher=[[Digital Equipment Corporation]]|date=January 1968}}</ref> and [[PDP-15]]<ref>{{cite book|url=http://bitsavers.org/pdf/dec/pdp15/PDP15RefMan.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dec/pdp15/PDP15RefMan.pdf |archive-date=2022-10-09 |url-status=live|title=PDP-15 Systems Reference Manual|page=10{{hyp}}3|publisher=[[Digital Equipment Corporation]]|date=August 1969}}</ref> successors to the PDP-4 have an added Read-In button to read a program in from paper tape and jump to it. The Data General [[Data General Nova#SuperNOVA|Supernova]] used front panel switches to cause the computer to automatically load instructions into memory from a device specified by the front panel's data switches, and then jump to loaded code.<ref name="how-to-use-the-nova-computers">{{cite book |url=http://bitsavers.org/pdf/dg/DG_NM-5_How_To_Use_The_Nova_Computers_Apr1971.pdf |archive-url=https://ghostarchive.org/archive/20221009/http://bitsavers.org/pdf/dg/DG_NM-5_How_To_Use_The_Nova_Computers_Apr1971.pdf |archive-date=2022-10-09 |url-status=live |title=How To Use The Nova Computers |page=2{{hyp}}30 |publisher=[[Data General]] |date=April 1971}}</ref> ===== Early minicomputer boot loader examples ===== In a minicomputer with a paper tape reader, the first program to run in the boot process, the boot loader, would read into core memory either the second-stage boot loader (often called a ''Binary Loader'') that could read paper tape with [[checksum]] or the operating system from an outside storage medium. [[Pseudocode]] for the boot loader might be as simple as the following eight instructions: # Set the P register to 9 # Check paper tape reader ready # If not ready, jump to 2 # Read a byte from paper tape reader to accumulator # Store accumulator to address in P register # If end of tape, jump to 9 # Increment the P register # Jump to 2 A related example is based on a loader for a Nicolet Instrument Corporation minicomputer of the 1970s, using the paper tape reader-punch unit on a [[Teletype Model 33]] ASR [[teleprinter]]. The bytes of its second-stage loader are read from paper tape in reverse order. # Set the P register to 106 # Check paper tape reader ready # If not ready, jump to 2 # Read a byte from paper tape reader to accumulator # Store accumulator to address in P register # Decrement the P register # Jump to 2 The length of the second stage loader is such that the final byte overwrites location 7. After the instruction in location 6 executes, location 7 starts the second stage loader executing. The second stage loader then waits for the much longer tape containing the operating system to be placed in the tape reader. The difference between the boot loader and second stage loader is the addition of checking code to trap paper tape read errors, a frequent occurrence with relatively low-cost, "part-time-duty" hardware, such as the Teletype Model 33 ASR. (Friden Flexowriters were far more reliable, but also comparatively costly.) ==== Booting the first microcomputers ==== The earliest microcomputers, such as the [[Altair 8800]] (released first in 1975) and an even earlier, similar machine (based on the Intel 8008 CPU) had no bootstrapping hardware as such.<ref>{{Cite web |url=https://www.old-computers.com/museum/computer.asp?c=896&st=1 |title=Oldcomputers: Altair 8800b |access-date=10 December 2019 |archive-date=2020-01-03 |archive-url=https://web.archive.org/web/20200103181235/https://www.old-computers.com/museum/computer.asp?st=1&c=896 |url-status=live}}</ref> When powered-up, the CPU would see memory that would contain random data. The front panels of these machines carried toggle switches for entering addresses and data, one switch per bit of the computer memory word and address bus. Simple additions to the hardware permitted one memory location at a time to be loaded from those switches to store bootstrap code. Meanwhile, the CPU was kept from attempting to execute memory content. Once correctly loaded, the CPU was enabled to execute the bootstrapping code. This process, similar to that used for several earlier minicomputers, was tedious and had to be error-free.<ref>{{cite AV media |url=https://www.youtube.com/watch?v=5zbtNImG2NE |title=Altair 8800 loads 4K BASIC from paper tape |author-first=Glenn |author-last=Holmer |access-date=2016-05-02 |archive-date=2019-07-30 |archive-url=https://web.archive.org/web/20190730073047/https://www.youtube.com/watch?v=5zbtNImG2NE&gl=US&hl=en |url-status=live}}</ref>
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
Booting
(section)
Add topic