Meaning of parameters in classic 'LOAD "*",8,1' Commodore command

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.

Tags:

Commodore