Hacker News new | past | comments | ask | show | jobs | submit login

My C64 is a bit rusty. But shouldn't that load command end with ",8,1"?



I'm probably equally rusty, but I believe ",8,1" loaded programs written in machine language, and ",8" was for BASIC programs (at least that's what I recall doing). So it looks like the port was written in BASIC.


Looks like you might be right...

,0 The program will be loaded to the start of BASIC memory (2049/$0801)

,1 The program will be loaded absolute, i.e. to its stored location defined by the first two bytes in the binary file. Needed for machine language programs.

http://www.c64-wiki.com/index.php/LOAD


With the ,1 you could do fancy stuff like loading your program and executing it with one command. No need for another run command.


You are correct. Actually any non-zero value after the ,8 caused the load to be relocatable. Kind of a cool feature.


Just because it doesn't have the ,1 doesn't mean it's written in BASIC; it could still be written in machine language with a BASIC stub that executes the actual code (which is loaded into the BASIC memory area but isn't necessarily BASIC) when you type RUN.


This appears to be the case, as I do not believe it would be possible for the game to run with this performance level written in BASIC.


The first argument, ",8" caused the load to come from the attached disk drive, rather than the default cassette interface. The second argument, as explained by others, was to load binary files into their defined locations.

So you could also load binary programs from cassette with a LOAD "*",1,1


I forgot ,1 but it still worked, sorry for the confusion!


It's not loading from disk, right?


It's loading from an SD FDD emulator interface, but I have cut the loading, since it was as long as from an actual disk.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: