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,1Where 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?
04 Answers
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.
8is 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.
5Wikipedia has some info on Commodore DOS.
LOAD "*" ,8,1Load "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,1Load "Everything" ("*")
from the second 1541 floppy drive (Device 9)
to the C64 MCU (Device 1)
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.