37

In the good old days of Commodore (64 and 128), the command to type to load the first program off a disk was:

LOAD "*",8,1

Where I take it that "*" was probably a wild card that would just effectively give all the contents of the disk to LOAD which would then successfully load whatever happened to be the first loadable (i.e. executable) item on the disk.

But what are the other two parameters for?

0

7 Answers 7

41

LOAD "*",8,1

The general syntax is:

LOAD ["<filename>"[, <device number>[, <secondary number>]]]
  • The filename * means the first file on the the disk, as you mentioned in your question.

  • The first number parameter is a device number. 8 is the device number for the first disk drive. From the Wikipedia article on Commodore DOS:

By convention, the first disk drive unit on a system has device number 8, the second drive, if present, 9, etc., up to a maximum of 15

This seems to come from the IEEE-488 bus, which the Commodore PET used.

  • The second number parameter, in this case 1, means to load the stored program into memory, starting at the memory location specified by the first two bytes in the file you are loading. This is generally used for machine language programs. 0, by contrast, is the default value, and would load the stored program to $0801 (the beginning of BASIC memory)

A full description is available at the C64 wiki page for the LOAD command.

6
  • 21
    You just killed all the mystic. It's worse than when I found out about Santa. :D Oct 23, 2014 at 19:21
  • Yup and for those of use that used tapes we didn't need to worry about the ,8,1 stuff. Just LOAD "asterix". I think you could add in a ,1,1 if you so desired, but it was optional. I don't think we need the "asterix" either. Apologies my memory is slowing seeping away.
    – rayzinnz
    Jul 1, 2017 at 2:59
  • @rayzinnz yep, that's all correct. The default values are covered in the article I linked at the bottom. I tried a few times after your comment to add more info on the default values, but I didn't find a way to do this without simply cluttering up the answer. I would like the mention why the default values were what they were ("Personal Computers" were meant to be programmer friendly, hence the BASIC shell, defaulting to cheap cassette storage, etc), but I don't really have a good way to slide that commentary in without making the answer a lot longer. Jul 2, 2017 at 22:30
  • 2
    @rayzinnz No need for asterisk on tapes. Just type LOAD, and press return. then you'll be instructed to PRESS PLAY ON TAPE...
    – svin83
    Nov 26, 2018 at 14:59
  • On other models you were loading from a 360K 5 1/4" floppy, or from a cartridge, so you DID need the parameters... Sep 4, 2019 at 3:27
0

Wikipedia has some info on Commodore DOS.

0
LOAD "*" ,8,1

Load "Everything" ("*")
from the 1541 floppy drive (Device 8) to the C64 MCU (Device 1)

If you had two 1541's attached to the C64

LOAD "*" ,9,1

Load "Everything" ("*")
from the second 1541 floppy drive (Device 9) to the C64 MCU (Device 1)

0

According to the Commodore 1541 Disk Drive User Manual, page 11:

If only the "•" is used for the name, the last program accessed on the disk is the one LOADed. If no program has yet been LOADed, the first one listed in the directory is the one used.

0
0

The * is the placeholder for the last used program name. If there was no name like after a reset, only then the first available programm will be loaded. If you LOAD"PROGRAM",8, and then RUN or type NEW, the next LOAD"*",8 will again load PROGRAM.

0

FYI, as a daily user of a Commodore 64 with a 1541 disk drive, the 'load' command with an "*", if true, I wish I had known this.

A very common usage for me was: Load "$",8,1 .. whereas $ = Load the directory. 8 = from device (1541), 1 = a scroll pause for the directory load screen (the first, "press spacebar to continue" that I'm aware of).

-2

The 8 is the disk drive. So kinda like C:. The 1, I believe, is the communication channel. It's kinda like a PORT in the TCP sense.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .