LOAD"*",9 : Beyond Device 8 on Commodore 64

Поділитися
Вставка
  • Опубліковано 6 лип 2024
  • Lots of Commodore 64 software is hardcoded to only load from device 8, typically a 1541 disk drive, despite Commodore making it very easy for developers to support other device numbers. Join me as we take an exploratory survey of many productivity and game software packages to assess their compatibility with drive #9, and see if we can make more of them work with a bit of hacking. We also look at how easy it is to support other drive numbers, and finally try to solve a related mystery about using PEEK(186) as a parameter in a LOAD command on C64. It's fun!
    To support 8-Bit Show And Tell:
    Become a patron: / 8bitshowandtell
    One-time donation: paypal.me/8BitShowAndTell
    2nd channel: / @8-bitshowandtell247
    Instructions on changing device number on Commodore 1541 disk drives:
    ist.uwaterloo.ca/~schepers/MJ...
    Index:
    0:00 Device Not Present? Setting to 9.
    3:16 Trying productivity software on device 9: Print Shop, Pocket Writer, more
    8:45 F-15 Strike Eagle
    12:42 Sub Battle Simulator Preview, The Great Nordic War
    17:35 Candidate
    22:00 Galaxian, BMX Racers
    26:34 Monty Plays Scrabble, Final Assault
    30:16 Ms. Pac-Man, Wiz Ball
    34:12 Top Gun, Mail Order Monsters, Ultimate Wizard
    37:34 Skate Rock, Gauntlet
    41:49 Tetris, The Movie Monster Game
    49:10 KERNAL Bug? LOAD"*",PEEK(186),1
    55:51 JiffyDOS works; explained with SuperMON
    1:02:38 Thanks!
  • Наука та технологія

КОМЕНТАРІ • 221

  • @IanM-id8or
    @IanM-id8or 7 місяців тому +7

    There was an article in Ahoy! magazine explaining Commodore error messages.
    For "DEVICE NOT PRESENT", the article stated that the disk drive had not been received as a gift. Since then, that's what I think of when I see that error message in particular

  • @MrMaxeemum
    @MrMaxeemum 7 місяців тому +26

    Here in the UK this problem would have been nice to have. We were so poor we got to lick coal for breakfast once every 2 weeks if we were lucky. Having a C64 on its own meant we were very lucky. So the cassette was the device for loading games, Having a 1541 you were in a well to do family, having 2x 1541s meant you drove disposable Ferraris everyday.

    • @SudaNIm103
      @SudaNIm103 7 місяців тому +4

      Oh come on now, I bet every council estate had at least one aristocrat chav flaunting a Dixon’s “dual cassette” tape deck hooked up to his ZX Spectrum! 😏

    • @MrMaxeemum
      @MrMaxeemum 7 місяців тому +2

      @@SudaNIm103 The Chavs were too well dressed so didn't talk to us in the gutter with our cassette drives.

    • @billant2
      @billant2 6 місяців тому +2

      The Queen of England should have handed out two 1541 disk drives to all loyal C64 users as a royal duty (heck even three of them!). lol
      I don't think it was a deliberate bug, maybe just an unforeseen need for using other than drive 8 for loading programs given the high cost of disk drives.

  • @NeilRoy
    @NeilRoy 7 місяців тому +8

    I'm also Canadian, and we used to run BBSes back in the early '90s. I had, I think, 3 or 4 drives on my C64 I ran my BBS off of. A 1541 or two, and I think a 1571 (double sided) and a 1581 (3 1/2" drive) if I recall. "The Ultimate Wizard" was the first floppy disk game I ever owned and loaded from the 1541. It was also the first commercial game I played that came with a level editor.

    • @BillAnt
      @BillAnt 6 місяців тому +1

      I had a 1541 main drive and an SFD-1001 high capacity IEEE floppy for the "warez". hehe The main drive was 8, second drive 9, and most BBS programs had full support for multiple drives anyway.

  • @JustWasted3HoursHere
    @JustWasted3HoursHere 7 місяців тому +5

    What are the other device numbers? I think the printer was number 4 and the Datasette was number 1, but what were the other numbers? Never mind, I found it on C64-wiki:
    0 - Keyboard
    1 - Datasette
    2 - RS232 or MODEM
    3 - Monitor or Text Screen
    4 - First Printer
    5 - Second Printer
    6 - Usually First Plotter
    7 - Second Plotter or RAM-Disk(!)

  • @OscarSommerbo
    @OscarSommerbo 7 місяців тому +7

    Licensed games are almost by definition the lowest effort games. They pay a ton for the license and then throws together the bare minimum of a game, to save money on coding time.

  • @Ian-xo4vy
    @Ian-xo4vy 7 місяців тому +3

    I wish I'd had this UA-cam channel when I was a kid!

  • @bxdanny
    @bxdanny 7 місяців тому +3

    A word processor called Kwik-Write would silently change device 8 to device 9 when it loaded (or maybe it was to device 11). They told you it could address two disk drives, and you didn't have to make any hardware changes, but to turn the second one on only after the program loaded. Thereafter, when the program referred to device 8, it really addressed device 9 (or 11, I'm not sure now which it was). And when the program referred to device 9, meaning the second drive, it actually addressed device 8.

    • @8_Bit
      @8_Bit  7 місяців тому +3

      Interesting solution! That does seem like a good solution if (and only if) someone has two drives both set to 8. But it sounds like it would fail if someone already the drives numbered 8 and 9, which is necessary for most other software. So for most people, this might be terrible. Still, it's interesting.

  • @mikegarland4500
    @mikegarland4500 7 місяців тому +14

    I certainly found it informative and entertaining. I don't think I'll ever get tired of hearing your gasp of surprise when something unexpected happens: Oh!
    Thanks for another great episode. I sure was hoping Monty Plays Scrabble was going to load. It was the one my grandmother had and passed it down to me. I had forgotten the "Monty Plays" part and always remembered it as just Scrabble.. until I saw this video.

    • @8_Bit
      @8_Bit  7 місяців тому +5

      Haha, was the gasp when I reset Ms. Pac-Man? That was really crazy!
      Thanks, I hoped Monty Plays Scrabble worked too. That was the game my dad played all the time on the C64 for much of the '90s until he finally got a Windows machine around '97 or '98. I think there's a few different releases of it around, some with and some without Monty, but I think sharing some of the same codebase. I've meant to look into that sometime.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому +3

    Haha, I love that little "movie preview" for those other games!

  • @killr0y
    @killr0y 7 місяців тому +8

    Robin, your very thorough, rapid fire content is always awesome. I look forward to it every week! Any chance of doing an episode on how 1541 copy protection was put onto disks? Maybe using something like Greaseweazel to write the errors using magnetic flux? I don't know enough about the copy protection schemes other than many had something to do with reading sector errors. Thanks!

    • @8_Bit
      @8_Bit  7 місяців тому +4

      Unfortunately I don't currently have the equipment to do that sort of thing, but it would be interesting! I did make a video about an extremely simple kind of copy protection that you might have seen already: ua-cam.com/video/moUImlDkjTc/v-deo.html

    • @BillAnt
      @BillAnt 6 місяців тому

      ​@@8_Bit- Perhaps using an inexpensive PC card like ZoomFloppy which can write perfect GCR/MFM flux streams onto C64 floppies. ;)

  • @Lofote
    @Lofote 7 місяців тому +7

    The reason why nobody really bothered about drive 9 was that it was actually not possible with many fastloaders to even have a second drive on the serial bus. Many fast loaders were written that assume only one device is on the bus, so the two information packages "I want to talk to drive 8" and "I am drive 8 and this is my response" are not needed, which also makes timing much easier (which is the prime thing how fast loaders worked: by implementing more optimized timings in everything).
    So for many fast loaders if you have two drives 8 and 9 active at the same time, the fast loader will crash because it will get answers from both drives. Many even didn't like a printer on 4 being turned on, thats why as a child I always had to turn of my MPS-801 printer for many games.
    GEOS 64/128 by the way has great multiple drive support :)...

    • @8_Bit
      @8_Bit  7 місяців тому +4

      That's all true, but it's still easy to support (just) device 9 even with fast loaders as long as they're programmed correctly. For example, a number of the V-Max games worked just fine with device 9.

  • @TbM
    @TbM 7 місяців тому +2

    This makes me want to get my old C64 back from the cellar... With all those 200 games on disks I hope are still working...

  • @herdware
    @herdware 7 місяців тому +20

    One of my pet peeves is when programs don't check the last used device.

  • @ScottyBrockway
    @ScottyBrockway 7 місяців тому +4

    Hey Robin, an interesting video might be covering some of the inaccuracies in reference books. For example mapping the c64, even the revised edition has several errors in it. Like the tape motor on/off bits are inverted, and some of the rom subroutines locations are wrong, and there is no notes about different rom revisions. Also the bugs in some of the rom routines, like how IO init writes to ram under kernal and can corrupt programs.

  • @TheRibsta420
    @TheRibsta420 7 місяців тому +3

    HOLY CRAP!! I just found out that microprose is OR WAS, just a 15 min drive from my house, thats so crazy. I live in northeast baltimore co, they are more to the north baltimore. SO COOL! Anyways awesome show mr robin, keep em comin.

  • @GeoffSeeley
    @GeoffSeeley 7 місяців тому +4

    As soon as you mentioned the bug with the LOAD"*",PEEK(186) my brain instantly thought it was register corruption by one of those functions. Guess I didn't fully lose/suppress those bad memories of chasing these sorts of bugs decades ago 😆

  • @der.Schtefan
    @der.Schtefan 7 місяців тому +3

    A common error that carried on across the decades. The amount of software that assumed "C:\Program Files" existed, or windows DLLs are on "C:\Windows\System32" is endless.

  • @ge97aa
    @ge97aa 7 місяців тому +2

    Conaumer's Distributing! You're bringing back memories. I remember poring through their catalogue as a kid to make my Christmas wish list.

    • @Centar1964
      @Centar1964 7 місяців тому

      Consumers...They were the best. My buddy used to rob them blind because they had a system where you ordered the product and they brought it out to you from the warehouse. He used to order up like 50 items and in the mess leave with 1 or 2 of em.

  • @Papierzeit
    @Papierzeit 7 місяців тому +2

    super nice information, thanx \o/

  • @Ensign_Cthulhu
    @Ensign_Cthulhu 7 місяців тому +3

    52:11 I'm willing to bet that the SX64 Kernal (which doesn't support tape and which defaults to its inbuilt FDD) has LDX #$08 at $E1D9.

    • @Okurka.
      @Okurka. 7 місяців тому +2

      Bet lost. It also has LDX #$01 at that address.
      The SX64 gives an ?ILLEGAL DEVICE NUMBER ERROR when you use LOAD without parameters; it doesn't default to its inbuilt FDD.
      Only SHIFT + RUN/STOP loads from device 8 instead of device 1.

    • @WY.C64-Guy
      @WY.C64-Guy 7 місяців тому

      Scrolled all the way here looking for comments like these, because I had the same thoughts...

    • @Ensign_Cthulhu
      @Ensign_Cthulhu 7 місяців тому

      @@Okurka. My mistake; I understood the situation incorrectly. Thanks for the heads up.

  • @rheller666
    @rheller666 7 місяців тому +2

    Speaking of weird loading of games, I had a real copy of The Movie Monster Game, and the C128/1571. It would auto-boot into the game if you started with the disk in the drive and into 128 mode. I tried every other Epyx game I could get my hands on, and this was the only one that did it.

    • @stevethepocket
      @stevethepocket 7 місяців тому +1

      That makes it the only game I've heard of that even _has_ native 128 support! I feel like they'd have to make completely separate executables for both modes at least, to account for differences in CPU timing and memory mapping; I wonder if the 128 version has any actual improvements or if they just decided to show off that they know how to work with it?

    • @8_Bit
      @8_Bit  7 місяців тому +1

      I wasn't aware that Movie Monster had that trick! I've heard of some other C64 games that will start in C128 mode but then kick over to C64 mode. Probably by Microprose but I can't remember exact titles. Something to investigate sometime, thanks!

    • @8_Bit
      @8_Bit  7 місяців тому +1

      Coincidentally I was just looking at a game I recently purchased called "Up Periscope!" by ActionSoft and it will apparently boot in either C64 or C128 mode, and supposedly has some extra features on the C128 too. Another game that will boot in either C64 or C128 mode is Ultima V, and it has in-game music only when run on a C128.

    • @CRCO1975
      @CRCO1975 7 місяців тому

      I had a Commodore 128 and 1571 back in the day that like almost all others spent 99% of its time in 64 mode. Several games I had (not many, but several) would autoboot in 128 mode, load in quickly, and then reset into 64 mode and continue. I want to say Arkanoid II was one of those by Taito that did that

    • @infindebula
      @infindebula 7 місяців тому

      @@CRCO1975I think Taito’s QIX actually played in 128 mode!

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому +1

    Wow, this video turned out to be more interesting than I even first thought it would be; thanks!

  • @merman1974
    @merman1974 7 місяців тому +1

    Joysticks - I broke my Wico Boss and wanted to play games. I worked out how to do the joystick controls with the keys. Port 1 is Control, left arrow, 1 and 2 with Space for Fire. Port 2 is Space with Z (down), C (left), B (right), M (fire) and F1 (up). I played Green Beret like that, but of course, the Space bar launched the special weapons! In Konami Ping-Pong, you can do a special "cut serve" by holding left arrow and 1...

  • @MrUSFT
    @MrUSFT 7 місяців тому +2

    Boy, i love learning about this stuff! Thank you for making these videos, Robin!

  • @RacerX-
    @RacerX- 7 місяців тому +2

    Very informative and it is a shame using variable drive numbers wasn't a thing from the beginning. I didn't know about the drive number check until I learned it from Loadstar as they used that method in most of their disks.
    I didn't know about the spacebar trick for controlling joystick 2. Glad to learn new C64 tricks after all these years.

  • @mosaton
    @mosaton 7 місяців тому

    I had two 1541 for a time because i had a friend that moved on from his c64 and let me borrow his drive. I loved your videos on xcopy and diskcopy.

  • @c128stuff
    @c128stuff 7 місяців тому +7

    A little bit of trivia about temporary drive id changes. When you run a UI or UJ command on the drive, it will reset to its original hardware id (original 15xx drives, but not for example the sd2iec).
    There are a few situations in which this matters. First one is C128 and the 'boot' command, or when using autoboot. After reading the boot sector, the C128 kernal sends a UJ command to the drive, which means you can't autoboot from a device with a temporary device id.
    A second situation in which this matters is which software which uses the UI command to check the DOS identification string of the device to for example determine its type. This is fairly common for software such as CBM Commander, Dracopy/browse, etc.
    And that is also why the 'official' way to check the type of a drive might be to use the UI command, but it is not the right way to do this if you want to support drives with a temporary id.
    A completely separate issue is there being fastloaders which will not work when there are any other devices on the IEC bus (this is because they abuse the ATN line in a way incompatible with the 'regular' IEC protocol)

  • @humidbeing
    @humidbeing 7 місяців тому +1

    You're right about the PC CD-ROM thing. When I was a kid I added a new hard drive to my Packard Bell 486 computer. The old HDD became drive D and the CD-ROM got pushed back to drive E. I soon encountered many broken CD games that were still looking for the CD on drive D.

    • @AaronOfMpls
      @AaronOfMpls 7 місяців тому

      I had a similar setup on my Win98 PC, and possibly even on our 486 for a while (not sure). An old, smallish hard drive was set as D: (used for little more than the Windows swapfile), and the CD drive was E:. Thankfully our CD-ROM games were a bit better-written, and had no trouble running or installing from E:.

  • @weedmanwestvancouverbc9266
    @weedmanwestvancouverbc9266 7 місяців тому +1

    This should prove useful as I've got a pile of software sitting on diskettes plus a working drive and a sio to SD card solution to load it into

    • @weedmanwestvancouverbc9266
      @weedmanwestvancouverbc9266 7 місяців тому

      Turns out, I can't reuse my SD card reader for my old computer in my new one so I had to get one of those USB key to memory card adapters. But at least virtually all the SD card solutions for my 8-bit computers use the same size card

  • @MyNameIsBucket
    @MyNameIsBucket 7 місяців тому +1

    you still got a better success rate than i did back in the 80s trying to get my crusty old C64 to load programs regularly.

  • @WielkieG1
    @WielkieG1 7 місяців тому +2

    About using keyboard instead of joystick, I had to play games that way as I had no working joystick for quite some time. I used the digit keys though, I think while holding "1". Unfortunately, some games crashed when I accidentally held left+right or up+down at the same time, it was not fun if that happened after a few hours of an adventure game without any save.

    • @8_Bit
      @8_Bit  7 місяців тому

      Yes, the keys I showed for Tetris are the joystick port 2 equivalents. You're probably remembering joystick port 1 games, where it's CTRL, back arrow, 1 and 2 to move, and space to jump.
      Do you happen to remember any of the games that would crash if left+right or up+down were held? I've heard of that being a problem but haven't encountered it myself. But I know that when I was a Game Boy Advance and Nintendo DS game programmer, Nintendo would purposely test games with a broken/modified system that could press those illegal combos together, and reject our game until it was fixed.

  • @paulkocyla1343
    @paulkocyla1343 7 місяців тому +1

    When I was young, only the Queen and Jack Tramiel had two disk drives!

  • @rickyderocher3181
    @rickyderocher3181 7 місяців тому +1

    Cool video! Fender Tucker's "Loadstar programming method" has the PEEK(186) method drilled into my head.

    • @8_Bit
      @8_Bit  7 місяців тому +1

      Yes, I really should have mentioned it was Fender and Jeff that put me onto this!

    • @rickyderocher3181
      @rickyderocher3181 7 місяців тому +1

      @@8_Bit It was around 1992 that Fender started insisting that all programs work from any drive number. Loadstar was ahead of its time in regards to that (also mouse support).

  • @dnorman2134
    @dnorman2134 6 місяців тому

    I got a bit of a chuckle from the closing song. good job to you and your daughter. ;)

  • @dktr2
    @dktr2 7 місяців тому +4

    In your version of Tetris, the music is playing definitely too fast, probably due to PAL/NTSC mismatch. However, that doesn't change the fact that this track is an incredible masterpiece; I've never heard anything as good. I often come back to it on a real C64 connected to a regular stereo.

    • @8_Bit
      @8_Bit  7 місяців тому +3

      That Tetris disk is an official North American commercial release so it can be argued that's how it's supposed to sound in this region :) But yes, it's faster than Wally Beben composed it and faster than (I assume) he intended it to be played back. Still sounds great to me though. I find it a bit too plodding at PAL speeds.

  • @Thedougkile
    @Thedougkile 7 місяців тому +1

    You mentioned the possibility of a similar problem on PCs. I never had the issue with my C64 because I only had one disk drive, but I was aware it could be an issue. For my first DOS machine that I got in 1995 I bought an older game that wouldn't work because it was on a 5 1/4 inch floppy and the copy protection was hard coded to look for the disk on drive A. My machine had a 3 1/2 inch drive for A and the 5 1/4 was on B.

  • @Unfinished80
    @Unfinished80 7 місяців тому +4

    I love these videos. Thanks! Not sure if you've already covered this but it would be interesting to see a video about linking several serial devices together on the c64.

    • @BillAnt
      @BillAnt 6 місяців тому +1

      Back in 80's I had 4 drives daisy chained with hardware modified ID from 8 to 11. ;)

    • @Unfinished80
      @Unfinished80 6 місяців тому +1

      @@BillAnt Nice! Were you the goto kid for copying games?

    • @BillAnt
      @BillAnt 6 місяців тому

      ​@@Unfinished80- You know it, the 0-day warez dude of my neighborhood. ha-ha With Fast-Hack'em I was able to make 3 full disk copies at once on my 4 drive setup. :)

  • @aresaurelian
    @aresaurelian 7 місяців тому +1

    Love the music videos in the end. Thank you both.

  • @kilbabaplays8944
    @kilbabaplays8944 4 місяці тому

    Whoa when you showed that Mavis Beacon Teaches Typing it sent me hurtling back through time. I remember my mum getting it for me and I felt guilty because I never once used it lol

  • @jmtx.
    @jmtx. 7 місяців тому

    Thanks for an awesome blast from the past! As a side note, just for the sake of efficient typing, doing a LOAD"X",9,9 is equivalent to the slower LOAD"X",9,1

    • @8_Bit
      @8_Bit  7 місяців тому

      I think it depends on typing style. If you put your left hand over the 9 (or more usually, the 8) and right hand over the comma, then yeah, you don't have to move them again for the repeated ,9. But if touch-typing then the left hand can be going up to the 1 as the right hand is going down to the comma, and then the left hand doesn't have to go "way over" to the 9 or 8, and it seems all about the same to me, time-wise.

  • @OscarSommerbo
    @OscarSommerbo 7 місяців тому +1

    The load routine setting the "Last used device number" to one is a smart way to safeguard against "random" data in 186. The manual states to used LOAD (with or without filename) to load from tape. And the way it was done cuts down on a routine to check the device number ahead of loading, it protects against garbage data in 186, it follows the manual. Yeah, it sucks that it resets the value, but when you only have 3 registers, resetting values happens all the time.

    • @8_Bit
      @8_Bit  7 місяців тому +2

      Yeah, I think it was the easiest/cheapest way to allow the device 1 default. It could have been done in a smarter or more robust way that would have allowed PEEK(186) as a parameter, but it would have taken more code to support that.

  • @csbruce
    @csbruce 7 місяців тому +5

    23:09 This is what happens when they ★don't★ make full use of the hardware sprites.
    50:19 A Jerry Seinfeld impression!
    50:38 Sounds dangerously like "aboat"!
    1:02:59 Good job getting Randy Bachman to sing your credit song!

    • @8_Bit
      @8_Bit  7 місяців тому +2

      Ha, that was a funny "about" even by my standards! "Aboat", "aboot", "abowt", what's it going to be?
      Apparently Randy was a big fan of Epyx Winter Games!

  • @stephanmantler
    @stephanmantler 7 місяців тому

    Mail Order Monsters! I loved that game so much. That and Pitstop II probably accounted for 80% of my gaming time…

  • @commodorehorizons
    @commodorehorizons 7 місяців тому +1

    Great Video - I suppose this would explain why in Jiffy Dos that if you shift/runstop it will load from disk 🙂

  • @awilliams1701
    @awilliams1701 7 місяців тому +2

    oh....ms. pacman That was a massive argument in my family. It was gifted during christmas one year. That's not in dispute. What was disputed (to this day) is who it was gifted to. All 4 of us seem to think it was gifted to us. The reason it's still an argument is because in 2021 I brought my C64 and had ms pacman on my USB drive for the U2+ cartridge. I know for a fact it was disk based. If there was a cart for it I'm not familiar with it.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому +1

    "Much of my collection is used."
    *All* of it is, unless you have a brand-new release like one of Dave the 8-Bit Guy's games.

  • @jmp01a24
    @jmp01a24 6 місяців тому

    The first Microprose release of their early games was aimed for cassette. I got several US tape releases from Microprose (Solo Flight, etc.).

  • @tarkhan15
    @tarkhan15 7 місяців тому +1

    You arent the only one who got a game boy at Consumers :)

  • @JohnnyWednesday
    @JohnnyWednesday 7 місяців тому +1

    ,9? that would have basically been "The Matrix" to me as a kid - for many years I didn't question ,8,1 it made the games work! I was such a commodore newb! a cewb!

  • @argoneum
    @argoneum 7 місяців тому +4

    Back in 2007 I had a laptop with no drive C:, Windows XP was installed on H:\WINXP\. Not sure how it happened, something to do with partitions. Lots of pendrive / thumbdrive malware wouldn't run, as it tried copying somewhere to C:\, some default directory like WINDOWS, or C:\Program Files\ 😸

  • @jeffreyphipps1507
    @jeffreyphipps1507 7 місяців тому +1

    Actually, in the early IBM PC era, lots of programs were like this. Things wouldn't run from disk or from a secondary hard disk (which was often used when compression was an early thing). So you might not be able to run from drive B: or from drive D: (before CDs came along). This necessitated PATH statements that sometimes worked and sometimes not. As DOS 3 and later relied more on the PATH, this problem largely went away. Windows still relies on paths in certain instances to this day (owing to an evolutionary change to be more Unix/Xenix-like from back in the day). However, there is a limit to what you can add to the path and everything added to the path slows file handling. Windows has default paths that don't require sifting through a list in the main path. The default for a program is the startup location - any additional related files should be stored in that path. Windows used to have DLLs stored in WIN32 that were "common", but that procedure is discouraged since it can clobber system required files. Program DLLs should be stored with the program EXE for fastest execution. "Common" DLLs should be stored in a folder/directory and added to the path.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому +1

    Haha, oh my heck, how funny to see stopped BASIC behind a bitmap! I think I might've seen that before but I can't remember how, why, with what software, or in what situation (other than that it was on this computer). But it's funny to see it now because it's either been a very long time and I had forgotten about it or I really have never seen it before (but I really do think I have and just forgotten).

  • @insanedruid3143
    @insanedruid3143 7 місяців тому

    Oh geee i remember that Tetris. And i remember that awesome music it had and how confused i was when others played to me "that tetris music" and it wasn't this.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому

    Wow, I never knew of a Commodore 64 Tetris back then! I may have seen someone else's video of a Tetris for it before this one, but can't remember for sure. I do remember never having seen one for this back in the heyday.

  • @meneerjansen00
    @meneerjansen00 6 місяців тому

    I'd love to see one of your deep dives into tape loading. With fast loaders, alternatives to the Datasette, etc. 😀

  • @metalfoot7
    @metalfoot7 6 місяців тому

    I never expected our song to pop up as ending credits music. I was listening and I was like... hey, I know that one! :D

    • @8_Bit
      @8_Bit  6 місяців тому

      Sorry, I should have thought to have warned you! :) Thanks again for the collab, it was a good one. Besides the fun lyrics, I really like how the bridge worked out with the olympic musical quotations.

    • @metalfoot7
      @metalfoot7 6 місяців тому

      @@8_Bit It's all good! A very pleasant surprise.

  • @Longuncattr
    @Longuncattr 7 місяців тому +1

    Very cool to see all this stuff.
    What a shame, though, for the 64 to be treated for so long as less modular than it really is.

  • @DavidRomigJr
    @DavidRomigJr 7 місяців тому

    This was fun. I’m surprised just how many games were hardcoded to drive 8.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому +1

    "Some people would wire a toggle switch up to that."
    Or a slide or rotary switch.

  • @miles4711
    @miles4711 7 місяців тому +1

    I wish Robin's outro songs were on Spotify. 🥰

    • @8_Bit
      @8_Bit  7 місяців тому +1

      Thanks :) If you search Spotify for "bedford level experiment" you'll find some of the older music, though I've mostly been using newer songs in the outros lately. But maybe you'll like some of those older songs too.

  • @jjdigitalvideosolutionsllc5343
    @jjdigitalvideosolutionsllc5343 7 місяців тому +2

    I found the hard-coded to device 8 annoying at times with my C128D. Some copy-protected games didn't load properly on my internal 1571 (device 8) but worked fine if loaded from a 1541. I tried soft-switching the device numbers, but it often didn't work for games.

  • @tedthrasher9433
    @tedthrasher9433 6 місяців тому

    53:51 A classic order of operations problem!

  • @CptJistuce
    @CptJistuce 6 місяців тому

    You mention it being like Windows programs that only run from maybe a D: CD-ROM, and I actually know of a few like that! The only one I can remember offhand is Slave Zero.

  • @WyrdieBeardie
    @WyrdieBeardie 7 місяців тому +7

    Who could have guessed! EA releases a broken product and puts effort into making it difficult to fix... 😕

    • @Lofote
      @Lofote 7 місяців тому +1

      This was when EA was great :)...

  • @Lion_McLionhead
    @Lion_McLionhead 7 місяців тому

    Amazing so many disks still have all their data after 40 years. Canadian cold preserves.

  • @vagnhenning
    @vagnhenning 7 місяців тому

    One should never make assumptions about the order of evaluation in compound expressions. If the evaluation order is not explicitly specified in the language specification, one should assume it to be implementation dependent.

  • @AiOinc1
    @AiOinc1 7 місяців тому +1

    If the devs made this work properly the C65 might have been a little less unviable

  • @greggoog7559
    @greggoog7559 7 місяців тому +5

    Actually, there used to be a TON of programs for Windows that only worked if you had a C: drive 🥴

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому +1

    Wow, weird to see a line number mentioned but then not part of the list. I wonder if I've ever seen that before and then forgotten about it.

  • @briangleeson1528
    @briangleeson1528 7 місяців тому

    Oh man, I had The Newsroom, too!

  • @talideon
    @talideon 7 місяців тому +1

    55:40 - it seems like as if BASIC is doing lazy evaluation on the PEEK because otherwise you'd expect the arguments to LOAD to be evaluated before going anywhere near the KERNAL's load routine. That would be deeply, deeply weird.

  • @patton72010
    @patton72010 7 місяців тому +1

    1:29 These go to eleven!

  • @AureliusR
    @AureliusR 7 місяців тому +1

    I tried to get a copy of Pocket Writer 2 running but in VICE (even with default settings loaded) it just locks up either the 1541 or the C64 itself, often printing "There was a LOAD ERROR. Reset your C64 and try again." Don't know if the CSDB copy is corrupted or something, but I'm really interested in word processors for the C64 and would love to give it a try.

  • @ligius3
    @ligius3 7 місяців тому +1

    Sadly, the practice of hardcoding the device is very strong today as well. I regularly have to put up with programs trying to load from C, or wanting to have a folder at the root of a drive. Very strange, must be a cult or something.

  • @stevethepocket
    @stevethepocket 7 місяців тому +1

    _F-15 Strike Eagle_ using an autorunning ML launcher with no LISTable code, only to have that load and run two BASIC programs en route to the actual game, is hurting my brain. I guess it's kind of like the 1980s equivalent of storing critical variables that aren't meant to be messed with in plaintext INI files.
    Also, wow, _Final Assault_ is the only game I've seen that shipped with a built-in crack demo right from the factory. That's how you know Epyx's programmers were, as the kids say, "real ones."

  • @MabuseXX
    @MabuseXX 6 місяців тому

    Danke!

    • @8_Bit
      @8_Bit  6 місяців тому

      Thanks!

  • @HimmelsDaemon
    @HimmelsDaemon 7 місяців тому +1

    55:51 Since that seems to be acting like setting a safe default (although it doesn't default and expects an input, hence "like"), I think I'd ask what could go wrong if that was set to something erroneous. With that, is there a connected reason that JiffyDOS keeps that initial default and adds it's own separate handling for the active drive with the set limit? Would something break if that checking was applied to 186 instead, or is not being done just be to safe it won't and avoid testing/searching/debugging, etc. all of the ROM?

  • @weedmanwestvancouverbc9266
    @weedmanwestvancouverbc9266 7 місяців тому +1

    One curiosity I have, is how the games that need multiple discs worked. I remember some game I had years ago had an extra disc for Steve games and I took a look at the directory but it didn't look like there was anything there.

    • @8_Bit
      @8_Bit  7 місяців тому +2

      The first (or only) disk has to keep at least one file in regular CBM-DOS format so it can be LOADed, but from there developers are free on the rest of the disk and any subsequent disks, to use any format they want. Some have their own custom DOS and storage system that's invisible to CBM-DOS. Some use CBM-DOS but keep their data stored directly in sectors rather than files and somehow manage the location of that data in their code. I believe Ultima IV does this; the map data is written directly to sectors to avoid hundreds of individual tiny files that have to be looked up in the directory and then found and loaded.

  • @rmccombs66
    @rmccombs66 7 місяців тому

    I remember having Ms. Pacman on a cartridge.

  • @SmoggyLambGG
    @SmoggyLambGG 7 місяців тому

    A simple warning message should have sufficed:
    _This game only works on the Commodore 1541 or compatible disk drive set to device 8_

  • @zidane2k1
    @zidane2k1 7 місяців тому

    Apple II disk software has this problem too-many hard-coded slot 6 drive 1 and wouldn’t load properly from any other drive.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому

    So how would a user without JDOS get recourse when buying a problem program like you were talking about with the peek directly as the device #?

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому

    "To exit back out..."
    * "...To exit back." ("Exit" already implies "out.")

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому +1

    Yeah, the A: drive on DOS/Win. Forget thinking about a hard drive if so many devs are so... DUHHH... to not program in some drive address independence! But I wonder if it's an OS-handled thing these days. Actually... hmm... I can't remember if I've tried that. I'll have to try it: Whatever you boot Windows from is your C:. But then what if I install package to external D: or E: and then change their drive letters? It still just works, right? I'll have to try it on a Mac too. I know we could have the OS on the hard disk, and of course we could run stuff straight from the internal floppy disk or install it to the hard disk. But we never had an external floppy drive for any of our Macs. One of my friends' parents did but it never dawned on me to try this and I don't think they still have their original Mac stuff.

  • @JSRFFD2
    @JSRFFD2 7 місяців тому +1

    I remain super curious if any drives would work with a drive number higher than 11. (or 15, really) I figured the IEC had a 4-bit device identifier, but never looked closely into it. You'd probably need a hacked drive ROM to even get it to listen to a higher device number.

    • @8_Bit
      @8_Bit  7 місяців тому +1

      It is a good question! I'd guess each drive would have its own range of device numbers it allows when being software-set. I'm sure some of the CMD drives allow up to around 31 (but I think a bit less due to reserved IDs).

  • @Trevorodunne
    @Trevorodunne 7 місяців тому +1

    The Amiga has a similar problem it would try to load a game from device DF0: even do you have but disk in DF1:

  • @donnierussellii4659
    @donnierussellii4659 7 місяців тому

    One of the last things I did before finishing my last game was to add code to save the device # that was used to boot the game, then use that for further reads/writes from disk. I'm always concerned about someone quickly trying software out and being disappointed right off the bat.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому

    My parents bought Easy Script as our first WP.

  • @weedmanwestvancouverbc9266
    @weedmanwestvancouverbc9266 7 місяців тому

    One word thing is that when I'm trying to run a game on the Commodore with the fast loading attached, and I have the joystick in port one and use it and restarts the computer but it misses the fastload cartridge so it looks like just a normal 64 boot

  • @atkelar
    @atkelar 7 місяців тому

    As for the "why would you"... right now, I have one of these SD Card floppy emulators and while it does work fine, when I use it with the SX-64, I have to use it as device 9... and lots of programs just won't work from there.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому

    Wow, half a minute to clear the RAM? I've never seen that!

  • @jamesdecross1035
    @jamesdecross1035 7 місяців тому +1

    Question - how does the EPYX fast loader interact with different device numbers?

    • @8_Bit
      @8_Bit  7 місяців тому +1

      If I remember right, it defaults to device 8, but if you either POKE 186,9 or access device 9 directly (with a LOAD"blah",9 or whatever) then it will use device 9 from then on. So it's fairly well behaved.

  • @awilliams1701
    @awilliams1701 7 місяців тому

    I suspect super snapshot would with with jiffydos on the U2+. In addition to doing kernel replacements you can still load a cart file. So I don't see why it couldn't do both. I've never tried it. I can do fast loads with ram expansion.

    • @8_Bit
      @8_Bit  7 місяців тому +1

      The actual JiffyDOS ROMs and Super Supershot cartridge get along fine. What doesn't get along is using the EasyFlash3 cartridge ROM replacement and Super Snapshot. Presumably U2+ actually changes the ROMs instead of doing the EF3 style trick, and yeah, they should work together, just like if you actually pulled the KERNAL ROM in a real C64 and replaced it with a JiffyDOS ROM.

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому

    You don't have to take the disk out just to power-cycle the drive, even for data safety reasons. I've never had any problem with that on mine.

  • @SixOThree
    @SixOThree 7 місяців тому

    Can you connect two computers to a single drive? I vaguely remember using my sx-64 as a target device to be used as a second drive by another sx-64.

    • @8_Bit
      @8_Bit  7 місяців тому

      Yeah, two computers can share a single drive and it generally works. Hooking two SX-64s together seems problematic though as you would have *two* drives numbered 8, at least by default, and that seems very unlikely to work well. If one of them was modified to device 9 it would probably be okay though.

  • @jandjrandr
    @jandjrandr 5 місяців тому

    So interesting to me that C64 BASIC executes the command before evaluating the parameters (at least for LOAD anyway) and most modern languages evaluate the parameters before executing the command and JiffyDOS fixes this as well. I wonder if there was a backwards compatible reason for this?

  • @RHoonte
    @RHoonte 7 місяців тому

    1:28 Spinal Tap😊

  • @coryengel
    @coryengel 7 місяців тому +1

    How about a video in which a 1541 is turned into a standalone computer complete with I/O and a display?

    • @8_Bit
      @8_Bit  7 місяців тому +1

      Could be fun, but that kind of hardware hacking is outside my skillset unfortunately!

  • @pomakis
    @pomakis 7 місяців тому

    The loader for The Monster Movie Game (at 47:33) is interesting. It does a X=PEEK(186):LOAD"*",X,1. Wouldn't the "*" cause it to reload the loader again? Is it possible that it loads differently based on whether it's loaded with ,8 versus ,8,1?

    • @8_Bit
      @8_Bit  7 місяців тому

      Good point, I regret not noticing that at the time! I think I had an example like that in my earlier LOAD"*",8 VS. LOAD"*",8,1 video that I clued into, and yes, I think it's a clever way of having an auto-booting game (with ,8,1) that also works with ,8 (if just a little slower / more roundabout way).

  • @HelloKittyFanMan
    @HelloKittyFanMan 7 місяців тому

    I bet that trace that we can cut is there even if we don't open the drive case.