What's Wrong With Load"*",8,1 or LOAD"*",1 on C64

  Рет қаралды 33,700

8-Bit Show And Tell

8-Bit Show And Tell

Күн бұрын

Robin's pedanticism gets set off by incorrect Commodore 64 LOAD statements seen on t-shirts and documentary film trailers. We'll examine what's wrong with them and why, and explain how to fix them. And along the way we might learn a thing or two about loading from cassette and why accuracy matters - at least to some people.
To support 8-Bit Show And Tell:
Become a patron: / 8bitshowandtell
One-time donation: paypal.me/8BitShowAndTell
2nd channel: / @8-bitshowandtell247
The Commodore 64 Revolution (Documentary) Trailer: • The Commodore 64 Revol...
Index:
0:00 Details: A LOADed Rant?
2:09 Load"*",8,1
5:12 LOAD"*",1
7:00 Trying to load * from tape
11:45 How to load the first/next file on tape
13:42 $E4E0 Disassembly: the pause
16:18 PEEK(145) - the skip pause keys
18:30 Vintage mistakes
21:03 Magazine type-ins: accuracy matters
21:58 Thanks to my patrons!

Пікірлер: 314
@blunderingfool
@blunderingfool 6 ай бұрын
Robin, that rant against permissiveness of sloppy practices was just beautiful. People love to 'dunk on' others for being "pedantic" but no one complains when stuff works properly because someone did their work to a high standard.
@Curt_Sampson
@Curt_Sampson 6 ай бұрын
Indeed! I enjoyed the rant greatly, and was an instant thumbs up for the video, particularly at this moment when I'm tutoring someone on address decoding for 8-bit systems. He wants to design and build his own little SBC, but I'm despairing that it will ever work unless he gets his act together and starts getting pedantic, rather than just guessing what the effect might be of the circuits he's showing me.
@TheHighlander71
@TheHighlander71 7 ай бұрын
I have had discussions (some heated) about the meaning and workings of the asterisk in the LOAD command. The commodore manual says that it loads the last file loaded and if the commodore can't determine which file that is, it just loads the first file. As you said in the video. I'm glad you underlined the meaning of the asterisk.
@8antipode9
@8antipode9 7 ай бұрын
There are too many people in the world who take a correction as an attack on their character. I think growing up learning computer programming and later going into the IT field has taught me to value corrections others might make to my work. The other edge of that sword however is that I also don't hesitate to correct mistakes that I see. So yeah...I'm with you completely. :D
@kurtreber9813
@kurtreber9813 7 ай бұрын
In our line of hobby, it's not just an attack on our character, but on our *special* character, and that's just too much.
@DarkSideofSynth
@DarkSideofSynth 6 ай бұрын
Nowadays people take even greetings as an attack ;) Let them suffer from their own "unimportant" mistakes, which - surprise, surprise, suddenly become super important if it affects them, i,e. writing 1,000 instead of 1.000 is alright, no big deal, same thing, right?... unless it's their paycheck ;) No worries, Skynet will take care of them :)))
@NeilRoy
@NeilRoy 6 ай бұрын
I love being corrected if I am wrong. It helps me learn and grow.
@DaleDix
@DaleDix 5 ай бұрын
That's a big problem with the Linux community. Until they get their act together, people will always stay with the devil they know.
@retrofriends
@retrofriends 7 ай бұрын
Maybe the shirt says "?SYNTAX ERROR" on the back? 😂
@bozimmerman
@bozimmerman 7 ай бұрын
Aww, man. After twice saying that the Asterisk loads "the first file on disk", Robin corrected himself the third time. I was so excited to jump into the comments and be pedantic on a video about being pedantic, and now I have to settle for enjoying pedantry vicariously.
@youcrackmeupdude
@youcrackmeupdude 7 ай бұрын
I haven't touched a Commodore since 1994 and immediately knew the issue with the T-shirt. I didn't own a tape drive, so thank you for explaining the ins and outs. My uncle owned a VIC20 and tape drive, and I always wondered how to store more than one program on a tape and how to retrieve it. Now I know. I'm with you 100% regarding the precision of commands. Imagine seeing a T-shirt with a bunch of upper case Linux commands. I just got back from a Cafe Press search, and they do exist.
@BlackHoleSpain
@BlackHoleSpain 6 ай бұрын
Tape drive? Wow... I never called datassettes with that name here in Spain. The odd thing here was a disk drive, as its price was a full monthly salary. In fact, I never saw any original game in disk format at computer shops, only tapes were available, since disks were a luxury good used only in Central Europe and United States. Still nowadays the salaries in USA, Netherlands, Germany or France are 300-400% higher than ours.
@saszab
@saszab 6 ай бұрын
​@@BlackHoleSpain Don't complain about salaries, because in the Eastern block it was much worse. In the late 80s in the USSR we would have had to spend more than half a year's salary to buy a computer like Commodore 64! So the only way for the ordinary people like me to get a computer was to make it by yourself :-) That's why I'm not a Commodore guy but a Spectrum one, because there were no Commodore clones, only ZX Spectrum. So I soldered my first computer ("Leningrad" - a simple 48K clone) in 1991, then the second (ATM Turbo-2) in 1993 was much more complicated: it was a very advanced version of Spectrum 128K with 512 KB of memory, additional video modes (similar to EGA on PC), CP/M mode and a floppy disk drive. But soon the era of PC came, so I saved all my money for 2 years to assemble my first Pentium in 1995-1996.
@darkstatehk
@darkstatehk 7 ай бұрын
This was super interesting! I always thought "*" was universal, but after Robin explained that it was the disk drive interpreting the "*" differently, it all made sense. Still learning so much 35 years on!
@AndyHewco
@AndyHewco 7 ай бұрын
I didn't notice if you mentioned, but just like disk, you can provide the additional parameter for tape too and use LOAD"",1,1. That's not very common of course, as it loads the file into the address it was saved from so it is useful only for specific cases.
@NeilRoy
@NeilRoy 7 ай бұрын
I would love a t-shirt with "L" followed by a shifted "O" from the C64, that graphic and then the rest. Only C64 users would understand it.
@WarrenPostma
@WarrenPostma 6 ай бұрын
Great idea.
@gregor_man
@gregor_man 6 ай бұрын
I have a self-made font of C64 charsets, you can create a graphics of your T-shirt. There are several undertakers for printing a customized image on a T-shirt. Do you need my font?
@PeterMaddison2483
@PeterMaddison2483 6 ай бұрын
It works for ALL commodore machines, not exclusivley the C64 🤪
@NeilRoy
@NeilRoy 6 ай бұрын
@@PeterMaddison2483 Oh really? It didn't work on the Commodore Amiga 500, Commodore Amiga 2000, Commodore Amiga 3000, Commodore Amiga 4000, Commodore Amiga 1200 or any of the Commodore PC machines. I don't think it worked on the Commodore PET either. 🤪
@RogueBoyScout
@RogueBoyScout 5 ай бұрын
@@PeterMaddison2483that's a lie. You're a liar. Why would you lie about something so ephemeral. dopamine is free. But that doesn't mean there aren't better ways to get it.
@KAPTKipper
@KAPTKipper 7 ай бұрын
Those wedges the magazines eventually develop for typing in listing certainly helped. They allowed the checksum to validate the line. Made it a lot easier, but took them forever to create that utility
@leol6406
@leol6406 7 ай бұрын
Back in the day it seemed every magazine program I typed in never worked. Was so frustrating. Great video Robin.
@rotordave81
@rotordave81 7 ай бұрын
I never thought about the type-in experience shaping me into the pedant I became. It might explain a lot. Sometimes I feel that it's like the person who writes something poorly is deferring the task of correcting them (in the readers mind) to the reader, representing a laziness. A computer will not accept this. Why should a reader? So put the effort in! I have even found myself correcting typos before hitting "send" on ChatGPT. Why should I make ChatGPT spend processor cycles first correcting my language before processing an answer? :D Thanks for being pedantic, Robin!
@DrDavesDiversions
@DrDavesDiversions 7 ай бұрын
2:25 You always teach me something! I did not know of the mixed case mode in BASIC, only knew toggle between upper and lower! Perhaps they should just print "? syntax error" on the back of the shirts they've already printed. When someone calls you on your shirt (sic), you just spin around so they can read the back. :)
@DerekLippold
@DerekLippold 7 ай бұрын
I never knew you could even change cases
@OisEucalypt
@OisEucalypt 7 ай бұрын
I grew up with the machine and could feel something was terribly wrong with the shirt but it didn't immediately click it was the case. Informative breakdown.
@TinySmall69
@TinySmall69 7 ай бұрын
Hi, something from the past, even back in the day people thought the last ",1" stands for "autorun" after loading, but of course we knew better :) also I never used ",8,1" a lot and am still alive, and later upgraded to a C128 where I never needed the plain LOAD anyways :) Thanks for picking this up, it always annoys me seeing these commands. 👍
@jnharton
@jnharton 7 ай бұрын
I don't know myself, but if you had no cassette tape perhaps 'LOAD"*",,1' (note the two commas) would do the trick? It's worth remembering that most 8-bit computers shipped with 64K or less of memory and memory-mapped I/O was common. So there really wasn't a lot of room for more sophisticated approaches to dealing with user input or anything else. It was therefore best to address the most common cases and/or stick to consistent behavior. It would also have quite a pain back then to distribute a firmware update, so they put serious effort into debugging any code that shipped in ROM chips.
@jaymartinmobile
@jaymartinmobile 6 ай бұрын
Just a side note you can ALWAYS load the first program by adding a : in front of the asterisk. What that tells the drive OS is to use drive zero and resets the pointer, even if the drive is a single drive like a 1541. It's a leftover from the 4040 and 8050/8250 OS. So to ALWAYS load the first program from disk "load":*",8,1" will always work. The * actually means next found not first, but since inserting a disk resets the pointers when the write protect changes that's why it loads the first, usually.
@Travman63
@Travman63 6 ай бұрын
Perhaps I am not recalling correctly, I thought the * was the last file accessed, not the next. I do recall the ":' used for 1st program on disk. Disk 'speed enhancers' often came with their own set/custom commands. I used Mach-5, Jiffy Dos as well as RAM drive.
@herdware
@herdware 7 ай бұрын
Took me way too long to see what was wrong with the t-shirt...
@Nelwyn
@Nelwyn 7 ай бұрын
Interesting that you can press those other keys to make the tape load faster. I guess Commodore said to use the Commodore key so it doesn't print anything on the screen afterwards, so it was kind of a lazy implementation. In reference to the magazine, I remember typing in from Compute's Gazette and they had a program that you could use to type in the program which gives a checksum code after every line similar to what is shown in that magazine in the video with the 2 letters at the end so you could verify there were no mistakes. It helped a lot in machine language programs.
@8_Bit
@8_Bit 7 ай бұрын
Those checksum systems definitely helped, but this particular listing I've shown still had errors anyway; it had a bug in the program they used to generate the listings and checksums.
@AaronOfMpls
@AaronOfMpls 7 ай бұрын
Damn, I _wish_ a certain children's magazine had done that in their "Basic Training" column. Few things more frustrating than typing a program in _exactly as printed_ and having it not work. 😠 I swear, it turned me _off_ programming altogether until high school, when I started messing around with TI-BASIC on my graphing calculator and basic HTML on my GeoCities website. (It didn't help that I was on a PC when I started in '93-'94, and QBASIC for MS-DOS didn't have great documentation that I could find at the time. Certainly nothing like the VIC-20 and C64 manuals I've seen in more recent retro stuff.)
@Curt_Sampson
@Curt_Sampson 6 ай бұрын
I'm _so_ sick of random internet commenters referring to programmers as "lazy" when something isn't implemented as those commenters, with little knowledge or experience, think it ought to be implemented. The folks who wrote the CBM KERNAL packed in a _lot_ of good features in a fairly decent design (a _very_ good design for the time) all in a fairly small amount of memory. And they wrote it fairly quickly, too. This is all the exact opposite of lazy. Certain tricks such as reading the row, rather than trying to determine an individual keypress, save both execution time and space. You're essentially accusing the author of that bit of code of being "lazy" for not making the ROM larger and slower. So maybe these random internet commenters could take a moment to consider how much they know about the code and why it was written the way it was before slinging insults?
@RacerX-
@RacerX- 7 ай бұрын
I guess I am not the only one that sees those misprints and thinks to myself, "That won't actually work". haha. Thanks! On a side note about some instructions and games including the 0: before the name. I would guess they started doing this after the Save with Replace bug was verified in the magazines and they recommended that you always use the 0: prefix. The reason is, IIRC, is that if you start your session always using the 0: when issuing commands the bug will not occur.
@ge97aa
@ge97aa 7 ай бұрын
That's very true. Not using the drive unit specifier "0:" causes the drive to attempt to initialize the non-existent "drive unit 1". It will fail, as it should, but a very sloppy and obvious indexing bug in the DOS ROM can trigger the save-and-replace bug as well as several other less serious bugs.
@lerkzor
@lerkzor 7 ай бұрын
I knew that [ Load "*",8,1 ] would give a ?syntax error, but I was wrong about why. I thought the lowercase letters were the problem, since I know that C64 BASIC uses all caps for every command. It didn't occur to me that the capital L was the issue, because I never played around with mixed case mode. After seeing your explanation though, it makes perfect sense. Also, typos and syntax errors are the main reason that I love a GUI. BAD SPELLARS OV THE WERLD UNTIE!
@markevans2294
@markevans2294 7 ай бұрын
This is likely in part down to the C64 using PETSCII rather than ASCII. Which only has a single case when unshifted. With the ROM routines which parse the input only caring about the character codes rather than how they display.
@jim_64s8-bitprojects5
@jim_64s8-bitprojects5 7 ай бұрын
Great video - these things bug me too! Since we're being pedantic, I don't like the description of the command# of 1 (e.g. ",1" at the end) indicating that the data is loaded to the memory location "from which it was saved". I think it's more correct to say it causes the data to be loaded to the memory location specified in the file. In many cases, that binary file was cross compiled or generated from a graphic program, so it didn't originate from that memory location on a c64. I looked in the 1541 manual and the description of "LOADed at exactly the same memory location from which it came." is from commodore, so my nit pick is with them!
@8_Bit
@8_Bit 7 ай бұрын
I agree completely, I've think I've said it a bunch of ways between different videos but "as specified in the file" seems like the best way.
@DaveF.
@DaveF. 7 ай бұрын
"A little quality of life feature Commodore put in there, which is kind of strange" - You can't say much truer than that for a C64. Loved the machine. Hated the Basic/OS.
@OscarSommerbo
@OscarSommerbo 7 ай бұрын
When type ins started coming with error checking was a game changer, it really simplified things. The only gripe I have is that it wasn't standardized. Seems like the Ahoy magazine used a small assembler program, but I remember many using a basic loader for assembler with checksums on each DATA statement, crude, but it really cut down on hunting for that one wrong number.
@MegaManNeo
@MegaManNeo 7 ай бұрын
When I was still little, my parents thought it was necessary to list the diskette's contents first and check for the full name of the first program which is why I learned rather late about LOAD"*",8,1 at all.
@rager1969
@rager1969 7 ай бұрын
I didn't grow up using a VIC-20 or C64 so this was informative. And though I've only had limited experience in the past few years, I did know why (kinda) the first example was wrong and guessed the second one would specify the tape rather disk drive. I just didn't know that tape drives would literally try to find a program called *.
@3vi1J
@3vi1J 7 ай бұрын
I completely agree Robin! People like us were conditioned to be exact in our instructions. :) Thanks for the insight on the handling of * by the drive controller vs. using it with the tape load routines in ROM - I'd never thought about that before, but found it very interesting.
@penfold7800
@penfold7800 7 ай бұрын
Yes, regarding manually typing in programs, the "Accuracy is important for Survival" is totally correct. More so if you were unlucky enough that your Computer was a Sinclair ZX81 with a worn Membrane keyboard and the Sinclair 16K RAM expansion. Not only did you have the problem of losing all of your program if the slightest movement upset the connection on the RAM Pack, It also had a tendency to freeze when it overheated due to the strain during the hours of debugging errors in the program and print errors from the magazine. It was common for spaces to be incorrect and badly printed graphics characters to cause havoc when using them to denote machine code within a BASIC program (an odd quirk of ZXBASIC,)
@markevans2294
@markevans2294 7 ай бұрын
Using the ZX printer would be poor quality black on sliver which was not easy to typeset. Using a regular printer resulted in a black and white print which would be more easily typeset and would work with any early 80s machine. But might only be able to print ASCII characters. In some cases Sinclair specific characters ended up being handwritten.
@zidane2k1
@zidane2k1 7 ай бұрын
Reminds me of an NES controller t-shirt a friend had that had an egregious error, much worse than these incorrect commands-the B and A buttons were reversed! I’m wondering if it was officially licensed, since I imagine Nintendo wouldn’t have allowed such a blatant error on a licensed product.
@apostleramswell
@apostleramswell 7 ай бұрын
Wow! Many small "details" I never knew that affected loads! Thank you so much for the clarification. Happy Holidays Charles
@Gattancha
@Gattancha 7 ай бұрын
Being in the UK and having used the ZX Spectrum 48K before getting a C64, I naturally used LOAD "" when trying to load a game from tape. Not having a Disk drive, I didn't know about using ',8,1' or even ',1' until years later Also, one of the best magazines made in the UK for programming was a series called INPUT - It had code for the C64 and VIC20, as well as the likes of the Spectrum (ZX80 & 48k) and even the BBC / Electron. If only I still had a working C64
@merman1974
@merman1974 7 ай бұрын
The tape-handling code was originally put together for the PET and then moved over wholesale for later Commodore machines. That means a lot of patches and changes, and the sort of coding hack that gives the pause. And a little caveat for disk drive owners using LOAD"*",8(,1) - it doesn't automatically check for file type. So if it tries to load in a SEQ, USR or REL file as the first in the directory it can give you an error or FILE NOT FOUND. Best to use a directory editor to make your boot PRG physically the first in the directory. The C128's autoboot can also be affected by having the wrong file type. EDIT: The O instead of zero worked because there isn't a physical "drive O", it's expecting zero or 1 - another feature carried over from earlier drives.
@TheWarzoneHackerIsBack
@TheWarzoneHackerIsBack 7 ай бұрын
I’ve been on every version of commodore since 82. I’ve also only used twin 1541’s and always used CAPS, in white, just like this. I’ve learned two things today. 😮 Okay, three things. 😂❤
@ScottyBrockway
@ScottyBrockway 7 ай бұрын
A lot of commercial tapes will only work with shiftrun or c=run, they will fail to work if you try to manually load. In the northwest of USA we called it "splat" instead of asterisk or star. Interesting to note different computer jargon based on region.
@8_Bit
@8_Bit 7 ай бұрын
I did know a few "splat" people back in the day. I had forgotten about that, thanks for the reminder!
@WarrenPostma
@WarrenPostma 6 ай бұрын
There was even a commodore disk magazine called LoadStar, referencing the name commonly used for asterisks in much of Canada and the USA. I was not aware of "splat" as a term, but it makes sense as a name for a wildcard.
@8_Bit
@8_Bit 6 ай бұрын
Now I'm remembering that the most common time I heard "splat" was when there was a "splat" in a disk directory listing, indicating that the file was bad in some way, usually not closed properly. I think that tied in with the * looking somewhat like a squished bug, and the "splat-file" was a buggy file.
@willllbert1
@willllbert1 7 ай бұрын
Wonderful video, as always! 😄Thank you so much, Robin
@keopsequinox1624
@keopsequinox1624 7 ай бұрын
I never had a c64 but I always find your videos fun to watch.
@JustWasted3HoursHere
@JustWasted3HoursHere 7 ай бұрын
I'm embarrassed to say that I could not figure out what was wrong with what was printed on the T-Shirt... But then again, it's been decades since I messed around on a real C64.
@awilliams1701
@awilliams1701 7 ай бұрын
I almost didn't notice the t-shirt being wrong. I'm so use to the C64 being all upper case that I just ignored it. lol
@Okurka.
@Okurka. 7 ай бұрын
21:27 Typing in the code of Alice in Adventureland would make a great live stream.
@rotordave81
@rotordave81 7 ай бұрын
I agree to the live stream, just make it in Australian time zone! We can actually have the chance to shout at typos
@Papierzeit
@Papierzeit 7 ай бұрын
I was really waiting for this video... thanks for explaining.
@NicolaiDufva
@NicolaiDufva 7 ай бұрын
When you started talking about being traumatized I chuckled at the hyperbole, but then when you opened the magazine at a type-in program and I physically jolted. I guess you're right. I AM traumatized!
@teldinstarstorm
@teldinstarstorm 6 ай бұрын
As someone who grew up with Commodore 64 and had to learn it, this was a fun flashback. The Char sets are things I played with, I also started with only a tape drive before we got a disk drive. It was great.
@DenizTurkmen
@DenizTurkmen 6 ай бұрын
13:21 I used to use the space bar for the FOUND prompt until I had a game which wouldn't start properly if space was in the keyboard buffer. It drove me crazy until I realized what the issue was. I switched to C= key after that :)
@JosipRetroBits
@JosipRetroBits 6 ай бұрын
Great video Robin! LOAD"*",1 is actually a pretty good way to find all programs stored on the tape 😃 Cheers!
@DavidYoud
@DavidYoud 7 ай бұрын
@2:48 I saw that you mentioned on twitter that there's an alternate meaning for "blue angels". I had to google it! :D The Blue Angels flew directly over my house multiple times last month (part of San Francisco's Fleet Week). Good golly they're loud! I assume you've seen the C64 game Blue Angel 69? Sounds like an old yahoo email address, but it's an actual game (Magic Bytes, 1989). @12:48 Cool, didn't know that certain key presses could skip the pause. My tape days were mostly VIC-20. I assume it worked there too?
@8_Bit
@8_Bit 7 ай бұрын
re: Blue Angels, yes, I think it's a regional thing. We'll see how many people get it :) I only learned about Blue Angel 69 in the last couple weeks when someone mentioned that the Accolade game was fairly rare so I looked around online to make sure it had been imaged etc. The VIC-20 doesn't pause at all when it finds a file. It also doesn't blank the screen while loading. I assume the pause was added to the C64 when they found they had to blank the screen due to the VIC-II's cycle stealing which made the existing tape routines unreliable with the display enabled, but I haven't looked into that :)
@deraykrause4517
@deraykrause4517 7 ай бұрын
Just be lucky it's not Blue Waffle.
@andymanaus1077
@andymanaus1077 7 ай бұрын
Pedantry plays an important survival role in respect of spam emails and messages. Most of these contain grammar and spelling errors. If a person doesn't care about spelling and grammar, they are far more likely to fall for a scam, especially one that simply asks you to click on what you think is a trusted web address.
@mikefellhauer3350
@mikefellhauer3350 7 ай бұрын
Back when we used the PET with the INTERNAL Datasette, if we also had an EXTERNAL Datasette we used ,2 to access the external unit. p.s. I also have that Telidon button…I remember seeing Telidon demoed at the CNE in Toronto, Canada.
@8_Bit
@8_Bit 7 ай бұрын
Cool about the Telidon button; I love its design. And yes, and most (all?) later PETs supported two cassettes though of course they were both external.
@ge97aa
@ge97aa 7 ай бұрын
Interesting. On the C64 ",2" specifies the pseudo-RS232 interface on the user port, typically used for modems. The LOAD command is illegal on those devices.
@mikefellhauer3350
@mikefellhauer3350 7 ай бұрын
@@8_Bit I remembered that later. #1 was on the back, and #2 was on the right (usually covered up).
@SJMcK
@SJMcK 7 ай бұрын
I’ve seen that t-shirt. It’s maddening. I would be embarrassed to wear that shirt
@gelfie2208
@gelfie2208 7 ай бұрын
Used a c64 from a round 83 to 90. Never even knew it has a mixed case mode. Also started with a dataset, for the life of me I couldn't remember how to load the first file on the tape. I fared better with the disk command. Again, case threw me. But I remembered that 8 was a device ID. Didn't really know what the 1 one was for. Sometimes it was needed, sometimes it wasn't. I did not know that * could mean last loaded file though. Actually my first instinct was 8 meant the disk drive, and 1 was the drive ID on the bus, in case you had more than one daisy chained. I was one of those peeps that basically just played games ;p. Did some homework in GEOS too.
@jjeeeekk
@jjeeeekk 7 ай бұрын
Maybe it's worth to notice that LOAD"*",8 could be used to load a previously loaded program again. CBM DOS won't search the directory from thr begin if a program was already selected. The asterisk clobbs to the already loaded one again. An unexpected behavior sometimes ...
@RudysRetroIntel
@RudysRetroIntel 7 ай бұрын
Nice catch and video! Thanks for sharing
@chrissawyer1484
@chrissawyer1484 7 ай бұрын
When I first saw that shirt, I thought, "it needs to be all caps. That's how I remember doing that", but I didn't know that about the C64 characters. Always learning something new about the C64. Thanks again!
@bluerizlagirl
@bluerizlagirl 7 ай бұрын
I know exactly what you mean! These youngsters will never know what it meant to type in a game from a magazine and have to work through pages of DATA statements looking for the missing digit or comma that was throwing the order out and crashing the game ..... whether it was graphics in the wrong places, or music that went wrong and crashed leaving something dissonant still playing at full volume .....
@Zhixalom
@Zhixalom 7 ай бұрын
Imagine someone who is unfamiliar with the C64, buying that T-shirt, then getting a C64 sometime afterwards, only to then figure out that what it says on the T-shirt doesn't actually work. If it was me, then that T-shirt would instantly plummet in emotional value. So no, I don't think you're nitpicking at all, Robin. That thing with the asterisk when loading from tape is actually rather obvious, when you think about it. I have just never thought about it until now... and you know I love that kind of stuff. - At some point in the past I began using "LOAD":*",8,1" instead. Which is suppose to always load the first file from the disc. I don't recall reading it anywhere, so someone must have told me about it. I also don't recall whether it skips a "DEL
@8_Bit
@8_Bit 7 ай бұрын
Yes, that LOAD":*",8,1 should always load the first file. I also don't remember where I learned it. It seems to be sort of like the 0 GOTO trick that allows a "parameterless" GOTO, in that preceding the colon *should* be a drive number of 0 or 1 but it seems it can simply be omitted. This will require someone to read the CBM-DOS disassemblies but I assume specifying a drive number (even a nameless/default drive) will cause the drive to disregard any "cached" file that * would otherwise bring up and force it to load the first file from the disk. Lots of room for investigation in this area. Hopefully in the future!
@ScoopexUs
@ScoopexUs 6 ай бұрын
There are many more people without knowledge than with. There are many more people who make mistakes and still succeed than people who rarely do. This means that the history will be written by the victors - the incompetent. The only antidote is to share correct information and hope that many people see it - and to correct people when they're wrong. People like 'why' answers like this one, and you explain in detail. Kudos.
@tYNS
@tYNS 7 ай бұрын
Great episode Robin! I had no idea about the "0:*" / "1:*"
@ProBloggerWorld
@ProBloggerWorld 7 ай бұрын
I saw your comments on Twitter. Nice to see some visuals here.
@ekenpad8482
@ekenpad8482 7 ай бұрын
IIRC, "*",8 will load the first program after a new disk is placed in the drive, OR the last program loaded if a different named one was already loaded. ":*",8 will always load the first program regardless if any other programs were loaded prior to it.
@ge97aa
@ge97aa 6 ай бұрын
You do recall correctly:)
@deraykrause4517
@deraykrause4517 7 ай бұрын
My running gag back in the day was, "I wish this stupid computer would do what I WANT it to do instead of what I TELL it to do".
@uvnoise
@uvnoise 6 ай бұрын
My partner wanted to buy me a Commodore 64 disk load shirt and was turned away from a mixed-case offering because somebody took the time to comment on the product page that the command as written wouldn't work. She found a corrected version and now it's one of my favorite pieces of clothing. I'm surprised at how few people know what it means.
@wimwiddershins
@wimwiddershins 7 ай бұрын
Spotted both right away. *Only because I dug my old C64 out recently and essentially made both these mistakes (and more) trying to remember the commands.
@IanM-id8or
@IanM-id8or 6 ай бұрын
I'd make that: LOAD "0:*",8,1 because of the save-with-replace bug. Got bit by it once or twice back in the day. The 1541 drive thinks it's a dual drive, and if you search for a file, it'll first check side 0 (which exists) and, if it doesn't find it, searches drive 1. Now it thinks it's looking at drive 1, and when you do a save-with-replace, it instead turns your file into a splat file, which appears in the directory as type *. It will grow and it will eat every file on your disk. There was an article about it in either Compute! or Compute's Gazette back in the day. I remain suitably paranoid about splat files and I'm terrified that no-one seems to know about it anymore And, indeed, it IS a throwback to when Commodore disk drives were dual units. They used the same ROM from those drives in the 1541, which is why the 1541 thinks it's a dual drive.
@8_Bit
@8_Bit 6 ай бұрын
It should be fine when just loading programs, but yes, it's definitely something to be concerned about if doing saving, especially save-and-replace. I believe the 1541 ROMs were originally in the 4040 Dual drive, then modified to the 2031 single drive, then modified again to the 1541. Some of the dual drive code was removed or patched out, but not enough!
@janet.snakehole
@janet.snakehole 6 ай бұрын
I am a 90s baby, so this was a bit before my time. I never learned BASIC, so your "pickiness" is incredibly useful to me. It may be obvious to some of y'all but I get so frustrated when I can't get a game to load, but it's just because it was explained to me improperly. Thank you :)
@cbrunnkvist
@cbrunnkvist 7 ай бұрын
Finally I good explanation of the Why Only Some Keys & Why About Eight Seconds 🎉
@eekee6034
@eekee6034 6 ай бұрын
I was sitting here feeling a little bit proud that the Ataris of my childhood were "better" in some little ways, ;) when I understood that Commodore can store multiple, named files on tape. I would have liked that feature! :)
@kilton44
@kilton44 7 ай бұрын
Thanks for the video and really dig the ending song.
@anon_y_mousse
@anon_y_mousse 6 ай бұрын
As a modern day C programmer, I completely agree with this stance. Accuracy and precision are very important for software and I hate how sloppy everyone has become again. I say `again` because the 80's was a very sloppy time, but I feel like the 90's and 00's were less so.
@stevethepocket
@stevethepocket 6 ай бұрын
This sort of thing acts as a pretty convenient shibboleth for how much the people responsible for things like that shirt or that documentary actually care about the subject matter. It's not unreasonable to expect someone who's going to the trouble of actually producing products to sell have the most basic understanding of the thing those products relate to. I look at that shirt and my brain immediately goes to bootleg merchandise that misspells the name or attaches the wrong name to the picture.
@jbmbryant
@jbmbryant 6 ай бұрын
What everyone seems to forget is LOAD "0:×",device # (1 for tape and 8 for disk drive). The 0:× loads the first file found. If no other number is added it would load into BASIC area of memory (#800 hex), if a ,1 was added then machine code area (#801 hex). The 0:× specifier always insured a proper load.
@8_Bit
@8_Bit 6 ай бұрын
LOAD "0:*",1 doesn't work; that's what most of this video is about. Cassette loading doesn't recognize the drive number of 0: and it also doesn't recognize * as a wildcard. For disk loading it's true that LOAD"0:*",8 will force the first file on disk to be loaded. But without an extra ,1 at the end the file will be loaded to the start of BASIC memory which is $0801. With an extra ,1 the file will be loaded to whatever 16-bit load address is specified in the file. It could be $C000, $1234, $0801, or anything else really.
@fluffycritter
@fluffycritter 6 ай бұрын
MC Frontalot's "Penny Arcade theme" has a refrain of "ell-shift O to the quote and then dollar," as a shout-out for how to load and display the directory. of course it's missing the ,8 to specify disk, and it will display a directory of the tape but only if there's no program named "$" on it.
@jsmythib
@jsmythib 5 ай бұрын
"Logic, by its very nature, brooks no denial."- I cant remember... Ok, going back to cleaning :)
@scottmcdonnell7559
@scottmcdonnell7559 7 ай бұрын
Definitely a Canadian. That was the most polite rant I have ever heard. :)
@Meow_YT
@Meow_YT 2 ай бұрын
Those type-in magazine listings, with errors, were a great way of learning though, fixing it was always provided more experience, as my 8-year-old brain experimented with solutions.
@jandjrandr
@jandjrandr 5 ай бұрын
I think this also goes to show the complexity that these commands were created with. So, I think it is no wonder that people got it wrong so often. Just look at the command for creating a scratch disk. It was later in software dev that we realised that when you provide an interface (such as the LOAD command) it should do the same thing in all contexts if possible. These mode specific behaviours make it less approachable in the long run. Still, I love Commodore 64 because it was the first computer that made dev easier for me to do if you glaze over the tape/disk command messiness. That is another one of the reasons Jiffy DOS was made.
@exidy-yt
@exidy-yt 6 ай бұрын
Pedantic it may be, dead on accurate it absolutely is. If you are gonna sell merch based on C64 nostalgia, at least have the goddamn common courtesy to get it right. Excellent video.
@fairhall001
@fairhall001 7 ай бұрын
We always used LOAD"*",8,8 As a typing newbie in the 1980's saved me a tonne of time
@8_Bit
@8_Bit 7 ай бұрын
,8,8 seems slower than ,8,1 as a touch-typist, but if you've got one hand's finger over the 8 and the other hand over the comma, then I can see it being a bit faster :)
@LocalAitch
@LocalAitch 7 ай бұрын
Correct pedantry is the best kind of pedantry
@rotordave81
@rotordave81 7 ай бұрын
I think it is trumped by correcting incorrect pedantry. When someone thinks they're right in correcting you but are hopelessly wrong.
@thorz7304
@thorz7304 7 ай бұрын
i can remember a fast load named "@" on the disk and you had to alter the filename you wanted to load with the fastloader. Maybe with a ":" in front, but i am not sure.
@merman1974
@merman1974 7 ай бұрын
Yes, that would be DOS WEDGE or similar. It's loaded into memory and intercepts the commands before BASIC looks at them. So it spots the character and sends the following filename/command to the disk drive.
@AK-vx4dy
@AK-vx4dy 6 ай бұрын
Your knowledge is impressive, respect! I didn't have my own, most i know (quite so for not owner) is from visits in friends houses, but only 2 wanted more than gaming. I don't know if you check comments to old videos, i wonder about one i left in video on multiply in assembly.
@stelleratorsuprise8185
@stelleratorsuprise8185 5 ай бұрын
New T-Shirt: Load"*",8,1 ?syntax error ready.
@horrorlostplaces
@horrorlostplaces 6 ай бұрын
Robin i need your help as Professor of c64 ;) i got myself a c64 again c64c with 1541-2 like from the past. Just i had always a ActionReplay but now i own a final catridge 3. My Problem... i search webs, Reader manuell up and down... how to cheat with fc3 ?? I get freeze, then i go to Monitor, i change 0913 ( turrican 3) so .m 0913 the Adress i change to 60. Then enter, then x (leave monitor) now im back in Desktop. There is no key to get back in the Running Programm?? My question how to get back in the game. I find only "bar" turns your menu on again and freezer is aviable but i cant get back in the game. Is there an allmighty sys.... to switch back at the point the freeze Was made ? I remember in ActionReplay that you can change memory and just get back into the game. Else the Monitor in FinalCatridge is useless or ?
@8_Bit
@8_Bit 6 ай бұрын
So when you X (exit) the monitor, it goes right back to the desktop, and not the "freezer menu"? Because from the freezer menu you should be able to choose Exit->RUN and the program will continue.
@MichaelDoornbos
@MichaelDoornbos 7 ай бұрын
21:22 I still do this to unwind sometimes. They don’t have a word for what’s wrong with me
@Okurka.
@Okurka. 7 ай бұрын
We call it Dutch.
@MichaelDoornbos
@MichaelDoornbos 7 ай бұрын
@@Okurka.hahaha
@JohnDoe-us5rq
@JohnDoe-us5rq 6 ай бұрын
I never owned nor operated a C64 but videos like this ring with me. There is little more interesting to me than how specifically old computers and their hardware work. Especially when it gets down on how the hardware really works. I'd never thought of the disk drive to actually have a processor and OS on its own. A really interesting hardware design.
@hugoegon8148
@hugoegon8148 7 ай бұрын
Thank you for the video. Yes, small things matter. 😊
@fredrikjohansson
@fredrikjohansson 6 ай бұрын
the first thing I ever learned to write was LOAD”*”,8,1 Return
@techsaverscomputerrepairca2127
@techsaverscomputerrepairca2127 6 ай бұрын
Off topic: I would love to see you make a video where you go over TRSE (Turbo Rascal). I feel like most KZbinrs either don't know what it is or they ignore it.
@jensdroessler3575
@jensdroessler3575 7 ай бұрын
I see you brought your A GAME.
@ronindebeatrice
@ronindebeatrice 7 ай бұрын
I'm so happy I'm just young enough that I missed out on much of the earliest computers. My first machine was a Cc3 and my experience with it didn't progress beyond running a game... If I was a few years older I imagine I would have tried to program the thing. That looks mind twisting.
@ArttuTheCat
@ArttuTheCat 7 ай бұрын
I had the Sega release version (NTSC) of SPY HUNTER on a disk. I remember, when i was loading the game, i typed "LOAD"*",8,1". Somehow, i couldn't get it loading, so i tried another way: I loaded the files from the disk, Then i typed "LOAD"SPYHUNTER",8,1", and as i typed "RUN" - the game loaded completely, and i started to play the game 😺👍🕹️. Also, i should get Load-It tape player. I still use Datassette 😹. And hey, this video - and channel - deserves a big retrospective like 👍🕹️ from Vantaa, Finland 🇫🇮. 😺👍🕹️
@Otakunopodcast
@Otakunopodcast 7 ай бұрын
"Load" I can understand, and even forgive. Modern devices these days love to be "helpful" and do stuff like automatically add punctuation and capitalize things that they think require capitalization. My devices do the same thing to me ALL THE TIME whenever posting/commenting about computer/electronics things. Usually I'm alert enough to catch them in the act, but sometimes I accidentally let one slip through. So whoever made the "Load"*",8,1" shirt may have fallen victim to this. Also capital-L is (technically) grammatically correct ("first word of a sentence should always be capitalized!") so maybe someone at the T-shirt company who was proofing the design and who doesn't know much about retrocomputing, thought "huh... that looks wrong... I'm gonna fix it!" Of course WE know that the correct version would be "lO"*",8,1" assuming your C64 is in upper/lower mode. Oh well, at least they got the ",8,1" part right. :) (unlike the second example you pointed out :) )
@8_Bit
@8_Bit 7 ай бұрын
Yeah, I can understand the t-shirt mistake on one hand, but on the other it's a "you had ONE job" kind of thing. The t-shirt design consists of a single line, and it's not even correct. With the documentary guys, they had dozens of things going on in their 90 second trailer, with a whole bunch of camera set-ups for many shots, organizing all the props, lighting, all the editing, sound work, etc. etc. So from this perspective, the trailer guys got 99% of their work correct, and only 1% error, while the t-shirt is way worse as a percentage :) I'm not really serious about which is worse here, just offering another way of looking at it.
@fattomandeibu
@fattomandeibu 7 ай бұрын
Was always shift+run/stop and then the Commodore key for me. It's what I read in the manual. Talking of run/stop, I notice your C64 must be a different model from mine, as the key cap on mine actually has the slash on the "RUN/STOP". I wonder if that was added later since most games I owned referred to it that way in the manual.
@8_Bit
@8_Bit 7 ай бұрын
I don't recall ever seeing a C64 with a slash on the RUN/STOP key! Is yours a 64C (more modern case) or a C64 (breadbin) model?
@fattomandeibu
@fattomandeibu 7 ай бұрын
@@8_Bit It's a PAL C64C, likely a very late revision, as I(or more accurately, my dad, I was 5) bought it in 1988, but the system itself is likely from 1990 or so, as it is a warranty replacement.
@8_Bit
@8_Bit 7 ай бұрын
@fattomandeibu Interesting, I'll try to keep a look-out for one. I own one PAL 64C but it doesn't have the slash on RUN/STOP. However, I know there were many variations as they continued to cost-reduce it as the years went by.
@sherpya
@sherpya 7 ай бұрын
I found an hack long time ago, games with horizontal rainbow lines loader could be prevented to run automatically by keeping pressed run stop, you could even then save them on floppy
@androxilogin
@androxilogin 7 ай бұрын
I actually questioned this recently and broke it down to ,8,1 is for loading from disk while /1 was for loading from tape. Haven't watched this video yet but that was my generalization.
@uriituw
@uriituw 7 ай бұрын
I wonder where these people get these lines. Certainly not from the manual!
@CZghost
@CZghost 6 ай бұрын
The question is how do you load specifically the program with no name, when an empty string loads the next program?
@zerobyte802
@zerobyte802 2 ай бұрын
A friend and I spent a long time typing in this game, Bunny Hop. We made mistakes. At first the SYNTAX ERROR IN LINE xx told us where to go. After fixing those, the game ran enough to where it redefined the chars so reading the error msgs required hitting Stop+Restore and catching a glimpse of the number as the chars reverted before the screen cleared (about 1 frame later. Then it started running but our next error was a bug that made the game unplayable. What a let-down
@b.o.4492
@b.o.4492 7 ай бұрын
Have to laugh. Those of us that had a C-64 back then spotted it immediately. I saw Press Play On Tape far more though. ;)
@bit-ishbulldog2089
@bit-ishbulldog2089 5 ай бұрын
Loading tapes (shift and run stop) or just type load. To find file then load"file",1 Disk I do keyboard shortcuts.. or use a utility cartridge with shortcuts.
@retrotap
@retrotap 6 ай бұрын
This was superb, I learnt a lot! I'm a "space bar" kinda guy 😂
@redmartian
@redmartian 6 ай бұрын
Great job Robin!
@marknhopgood
@marknhopgood 6 ай бұрын
As soon as I saw the t-shirt it made me think of a typical computer user. I call it assumed magic. When a user assumes that something will work. Clearly not the same.
This Function Destroys Programs: MS-BASIC's VAL()
24:34
8-Bit Show And Tell
Рет қаралды 44 М.
Cracking a C64 Game From Cassette: Livingstone, I Presume?
35:36
8-Bit Show And Tell
Рет қаралды 43 М.
ТАМАЕВ vs ВЕНГАЛБИ. Самая Быстрая BMW M5 vs CLS 63
1:15:39
Асхаб Тамаев
Рет қаралды 4,8 МЛН
Super gymnastics 😍🫣
00:15
Lexa_Merin
Рет қаралды 104 МЛН
Sigma Girl Past #funny #sigma #viral
00:20
CRAZY GREAPA
Рет қаралды 14 МЛН
38911 Bytes Free? Commodore 64's BASIC RAM
29:57
8-Bit Show And Tell
Рет қаралды 36 М.
I was a video game software pirate
11:22
Modern Vintage Gamer
Рет қаралды 584 М.
Understanding how a demo works on the Commodore 64 (English)
8:41
Commodore 64 & 6510 retro-programming
Рет қаралды 3,2 М.
Using a Commodore 64 on the modern internet!
21:08
Veronica Explains
Рет қаралды 695 М.
Best POKE Ever? For Commodore 64
22:21
8-Bit Show And Tell
Рет қаралды 27 М.
One-Line Bouncing Ball: Commodore 64 BASIC
42:34
8-Bit Show And Tell
Рет қаралды 59 М.
How It Was Made: THE COMMODORE 64 factory tour
22:10
Retro Recipes
Рет қаралды 501 М.
How Does Epyx Fastload Make Loading Faster on a Commodore 64?
29:16
Commodore History
Рет қаралды 31 М.
Commodore 64: Opening The Borders (Type-In From Zzap!64 Magazine)
28:13
8-Bit Show And Tell
Рет қаралды 31 М.
My New Favourite C64 One-Liner?
48:09
8-Bit Show And Tell
Рет қаралды 42 М.
WWDC 2024 - June 10 | Apple
1:43:37
Apple
Рет қаралды 10 МЛН
ПОКУПКА ТЕЛЕФОНА С АВИТО?🤭
1:00
Корнеич
Рет қаралды 3 МЛН
Мечта Каждого Геймера
0:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,6 МЛН
Хотела заскамить на Айфон!😱📱(@gertieinar)
0:21
Взрывная История
Рет қаралды 3,3 МЛН