Everything2
Near Matches
Ignore Exact
Full Text
Everything2

LOAD "*",8,1

created by Infinity

(thing) by Infinity (4.4 y) (print)   ?   (I like it!) 1 C! Sat May 27 2000 at 7:28:55

Ahh, the memories...

This was what you typed into a Commodore 64 to load the first program on the floppy disk.

Followed by RUN...

(idea) by Accipiter (2.8 y) (print)   ?   (I like it!) Wed Nov 15 2000 at 0:20:46

                         **** COMMODORE 64 BASIC V2 ****
                     64K RAM SYSTEM  38911 BASIC BYTES FREE.

READY.
FASTLOAD
LOAD"*",8,1

SEARCHING FOR *
LOADING

(idea) by bearded_yak (8.1 mon) (print)   ?   (I like it!) Sun Feb 25 2001 at 4:57:54

LOAD "*",8,1 In the version of Microsoft BASIC provided with Commodore 64, 64c, 128, and 128-D, this line was intended to load the first program on the first 5.25" Floppy Disk Drive into memory for immediate execution. If immediate execution was not supported by the program in question, LOAD "*",8 would suffice. In either case, if the program did not automatically execute, RUN would usually execute the program.

(idea) by Milen (1.6 mon) (print)   ?   (I like it!) 1 C! Sun Feb 25 2001 at 5:58:06

Ah, such memories indeed! Although I hate to say that you all have got it slightly wrong...

LOAD "*",8, without the comma-one, will load the first file on the disk to the beginning of BASIC memory, at location 2049 (decimal) in the C64's address space, regardless of where the file was MEANT to be loaded, stored in the file's header. (C64 programs were generally not relocatable.) This broke some code, most particularly that which was intended to run in the cassette buffer or in the "safe zone" of memory, protected from BASIC, at 49152. It also tended to assume the program in question was a tokenized BASIC program. If it was a binary file, such as machine code, then if you tried to LIST in the computer's Immediate Mode BASIC interpreter you tended to mess up your screen, and sometimes lock up the machine.

LOAD "*",8,1 would load a file directly to the portion of memory from which it was saved. Now, since the SAVE command in C64 BASIC didn't support the saving of raw data, only BASIC programs, this presented a bit of a problem for would-be coders of machine language. To actually cause the necessary data in the file to load where it was supposed to, you had to either directly hack the saved file to change its load address in the header, or you had to make direct use of a few I/O routines in the C64's BIOS-like ROM (the "Kernal," and this is the correct spelling in this context).

Some programs managed to automatically run themselves, when loaded using this method, by way of a neat little trick. Some people figured out that the C64 BASIC's LOAD command, in ,8,1 mode, would actually load the file's data directly to the location specified in the file's header, no questions asked, even if it overwrote important areas in the first 2K of memory. The screen defaulted to 1024, the cassette buffer was at 828, and everything before was Soft Underbelly. The stack, if memory serves, was 256 bytes beginning at 512, and before that came the essential system variables. Overwrite the right values in these places, and you can make the machine do any arbitrary thing you want, if you understand it well enough. Since the C64's soul was entirely in its ROM, open to disassembly by all, eventually many people came to understand it well enough.

Final notes: If you use the ,8,1 suffix to load an ordinary BASIC program it won't work right, because while the data will be loaded where it's supposed to go, the pointer to the end of the BASIC program (I think it was at memory 44-45) will not be updated, and that can cause Problems.
Some machine language programs were designed so they could be loaded with a ,8 suffix. They masqueraded as a one-line BASIC program, usually something like SYS 2067, immediately transferring execution to the machine code that was loaded right after, but still requiring the user to type RUN. In particular, I believe Infocom's Z machine games for the C64 had to be started in this way.


(idea) by Jope (9 mon) (print)   ?   (I like it!) Thu Feb 24 2005 at 11:43:39

Loading the "asterisk" file from a CBM floppy drive means that you want to "load the previous file again."

First load any file you want, then clear the BASIC mem by typing NEW and then load asterisk from the drive. You'll get your previous piece of software.

Some people mistakenly assume it always gives the first file of the disk. This only happens if the drive was just reset or switched on.

The method for getting the first file is:

LOAD ":*",8

Add a colon in front of the asterisk and the drive will know to load the first file.


printable version
chaos

Fast Load Cartridge Getting a free soft drink anywhere in North America Commodore 64 I secretly admire Cruella De Vil. PETA will be kicking down my door any second.
Was not cleanly unmounted, check forced sys 49152 kernal Nintendo Seal of Quality
LOAD "",1 Z Machine COBOL run
shift-run/stop Action Replay Mk VI Hydrogen peroxide IIRC
werd Numerator Loading Press play on tape
crazy like a fox Zork 711
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
Things you could have written:
aircraft carrier
wind
The Imperial Roman Army
The E2 Toronto Invitational & Scavenger Hunt ...of Peril
The world from a Vespa
Watching "a long good-bye," caring for an Alzheimer's patient
Pledge of death
Zippo
Jackalope
Ringworld
Taoist alchemy
SKS
Too Shy to be Pretty
New Writeups
BookReader
Fear the Cold(dream)
Pavlovna
Kathleen MacInnes(person)
stainedglass
1(fiction)
kalen
Three "T"s(idea)
octillion369
Undead(idea)
archiewood
Ico(fiction)
Heisenberg
Why I love Everything2(log)
octillion369
Death Knight(person)
XWiz
Are you hoping for a miracle?(review)
santo
The Host(review)
LostPsion
"Shut the Fuck Up" Theaters(idea)
beatrice
You've been slowly taking me over for nearly a year, do you know that?(idea)
Berek
YouTube(thing)
shaogo
How to Pretend to Have a Job(idea)
hapax
Les Provinciales(review)
This affordable entertainment brought to you by The Everything Development Company