The command to kick the 1571 into double-sided mode on the C64 is OPEN 15,8,15,"U0>M1":CLOSE 15 and to go back to single-sided mode substitute "U0>M0" instead. I made a little cheat sheet of disk commands when I first got my 1571 off eBay a few years ago. It's so nice to have 1328 blocks of space compared to the usual 664 without having to flip the disk. ;)
1:48 made me nostalgic for the golden days when flipping through someone else’s collection of floppy disks was a journey filled with excitement and wonder! Every disk held the promise of a new adventure, a game never played, or a program never used. The words on each label teased endless possibilities, sparking imagination and curiosity. Ah, those were the days when discoveries were made not through a search bar but through a tangible, colorful stack of potential fun and learning!
Load Runner, Defender of The Crown, mrraow, yum - Guess Shadow of the Beast or Turrican would be too new school, lol. On topic tho, C128 is still on my must-have-once-just-for-me-myself-and-i-list, right next to an Acorn Archimedes 3000. Wonder why no UA-camrs collection contains LAZER, was a great game. But there were so many. Pluh.
Loved this! I like to imagine Robin is effortlessly just finding these solutions and fixes during the video without all the hard work and hours of research :P
OMG! The Run Magazine Cover at 1:35! I wrote Address Box 128 when I was 16 years old. I have not seen this cover in literallty 35 Years! Thank you for making my day!
Great research and testing! On the topic of 1571 problems at around 48:00 -- in addition to knowing the exact version of software being tested, it would be equally valuable to know whether the drive used for testing contained the 03 (initial) ROM or the 05 (fixed) ROM, as it has been suggested that they may differ in 1541 compatibility. -- JC
OMG COHEN'S TOWERS! I had this game on my Atari 130XE back in the day and I couldn't for the life of me remember what it was called. I've spent literally years trying to remember. Thanks again Robin! 🙂
Wow, another fantastic video, Robin!! Don't know how many times I wondered what the main differences were between real C64 and C64-within-C128 were. Thanks for the in-depth exposé on the subject. I only had a C128 very briefly, but it was in C64 mode the majority of the time as well. 🙂
Outstanding compilation of discoveries and diagnostics! I wouldn’t be surprised if you pushed compatibility up an extra 0.1% for a 99.9% Frantic Freddy rules; that music brought back good memories!
Hi Robin, nice video! At the end it's not the C128 to be not fully compatibile with the C64, the truth is that some C64 software are buggy but they still run on the actual C64 because it has less registers than the C128, expecially for the VIC II, and so as result it's more tollerant to these bugs types.
This is pretty cool and weird timing as we just put out our c128 pickup vid. Ha ha great stuff! We also made a new AI named 80HD for our channel using the C128. Cheers!
Brilliant video Robin!!! =D I suspect the cassette version of Gryzor may "work" using that capslock test btw! That has a check to determine if the tape is playing still - as it ends loading. (basically its to check you didnt dump it and run from FDD...)
Everyone. Please start sharing robins page with everyone. He doesn’t have near enough the UA-cam subscribers that he should. He should at least be in the 500 k range so help him out
Very interesting video Robin. It is probably not a big surprise that I already knew all the underlying issues causing such incompatibilities, but I never tried many of those games, quite nice. Mostly hidden from the typical user, there are some hardware compatibility issues on the cartridge/expansion port due to timing being slightly different between the 2. The difference is small and more pronounced in 128 mode, but is also there in 64 mode. It is why the 1700 and 1750 REU are ever so slightly different from a 1764 REU, through in reality, this is rarely ever a real issue (ie, a 1750 typically works fine with a C64 and a 1764 typically works fine with a C128). One cartridge which is clearly sensitive to this is the Ultimate II+ cartridge (heh... that reminds me, I *REALLY* should put one in a box and send it to you). But also cartridges which try to do kernal replacement may fail due to this.
The reason you weren't able to find any software that breaks because of the bit differences in address 1 is because it would be programmatically a bad idea to check against the whole byte value when you are only checking for the state of individual bits. You can't control the other bits nor do you want to check them, so the 'correct' thing to do would be to take the value of byte 1 and then AND it against the correct bitmask to check the bits you want. And if programmers did it that way, then it wouldn't be affected by a different bit changing.
Frantic Freddie was one my favourite games when got my early breadbin. The music was incredible and how you had to go up one side of the ladder and down the other side was infuriating but added a different dimension to the gameplay. Also the interlude between levels was like Pac- Man. I really wish Commodore would've built a monitor programme into the C64 like they did with the Plus 4 and C128. I might have learned programming instead of just playing games. Cool video Robin.
The reason, why $D500 doesn't mirror SID anymore on the C128, is because it was used there for other chips: $D500+= MMC of C128 (not accessible in C64 mode, but it also means it doesn't mirror to SID in C64 mode) $D600+= VDC 80col mode of C128 (actually also accessible in C64 mode)
Really interesting! I had friends with 128's (I had a 64), and they spent all their time in 64 mode. We spent a lot of time, nearly 40ish years back, "sailing the high seas" if you know what I mean... and I can't recall them ever having a problem running anything I was running on my 64. Great job finding some exceptions, this was really informative!
58:29 Strange that "Mayhem in Monsterland" doesn't work on the 128. I remember pictures/articles of Apex (Rownlands Brothers) being printed in Commodore Format back in the day, and John Rowlands did all the programming for Creatures on a C128 (I assume he did the same for Mayhem in Monsterland). Also worth noting that they previously published on Thalamus, and there are 3 other Thalamus games on that list.
I suspect the Thalamus problem is in a particular tape loader system that they shared, so the games on disk or otherwise cracked probably work okay. I wasn't able to replicate the Thalamus problems on my C128.
Love it! Thanks so much as this was a great watch. I recall a few times I had to bring out my C64 back in the day because some software wouldn't work on my 128. It was so many years ago that I don't recall which. I know it wasn't very many. I probably still have those disks though.
If we believe Google saying there have been 5,000 - 10,000 games released for the C64… That 99.8% compatibility should translate to about 10-20 incompatible games. I don’t know. Sounds like it is closer to 99.9% compatible based on your research. 😀 Great video Robin. I was actually expecting a few more incompatible games based on the anecdotal hearsay about the C128 / 1571 I’ve heard/read over the years. Nice to see the results of all your research and how even the “confirmed list” isn’t all that confirmed without identification of specific versions.
Great work Robin! Always enjoy your videos! Yes peek (1) is definitely an incompatibility issue and the fix is easy. A software "fix" (other than locking down CAPS LOCK) you can do is to simply mask out the effects of that added pin on the 8502 by peek(1)and63. Voila! Compatible :)
With any register that has multiple flags, you should check for only the bit that you care about by doing an AND with the value that you want. So code should really be 'peek(1) and 16 0' on line 20 and 'peek(1) and 16 16' on line 40. Or, if you want to check the cassette motor bit as well as the cassette switch bit, use the value 48 (bit 5 %00010000 is decimal 32).
Thank you for all your quality videos so far! When it comes to 1541 vs. 1571 (C128D) compatibility problems, I still remember Turbo Nibbler(s) and ever famous Duplicator programs did not work for my copying needs as having a 128D. The big boys then told me Turbo Nibbler was the weapon of choice for the "trickier ones" (krhm... ..originals..) when copying whole disksides... On the other hand I maybe just had "too tricky" disks.. ;-) Still, would be very interesting to know now what caused these problems in the first place and if something could have been done.
Of course, the last v8 is also one of the very rare action games which got a dedicated C128 release, which solves the compatibility issues, and actually has some improvements from what I understand.
Awesome video! I love the C128... I really want to get one but they are hard to find for anything near reasonable prices. I've always wanted to write some software for the C128.
I know Rescue On Fractalus didn't work.....found out how to fix the 2Mhz bug the hard way...thank God for the C64 Programmer's reference guide. Awesome video as always!
I know that Rescue on Fractalus was one of the games that would not work properly on the 128's C64 mode. My friend had a 128 and couldn't get it to run. He figured it was something wrong with the copy, but when I borrowed it from him, it worked on my C64. Star Rank Boxing (Barry McGuigan's boxing in Europe) was another
I tried a few versions of Fractalus as it was on that list on Lemon64 and they all worked fine for me. So it must be a particular version that I didn't find online. Interesting about Star Rank Boxing, I'll see if I can replicate.
Regarding the C128 caps lock, there's a similar annoying issue on the C64 with the shift lock. Many times the C64 refused to work and I had not realized I accidentally pressed the shift lock. A few times I pulled the whole machine apart in an attempt to fix it only to eventually realize it was only the shift lock causing it heh!
That would be very frustrating! I hope you were able to play some of the C128-enhanced games to make them jealous too :) Andrew Braybrook often made his games a little better for the C128.
Kevin Pickell - I knew I recognised the name! He went on to work at EA Sports and in particular on the first FIFA games for the Megadrive, pretty sure they named the players after the development team so I scored plenty of goals as Pickell.
Also 2 other games you needed to add to this list! Infernal Runner and Rescue on Fractalus! This was talked about back in the day! 1571 on a C128 defaults to 1571 mode in C64 mode of C128 so this could be why it fails! Nice to have these bug fixes so those still finding new games which were made back in the early c64 years have came about and may need fixed!
Not sure how I feel about reminiscing through the EARLY days of Commodore gaming, (which were GREAT times), with an Atari box and logo in the frame the whole time??!!?? Another great video Robin!. Frantic Freddie is DEFINITELY a warm, fuzzy classic and you are 100% on Cohens Tower, I vaguely remember saying. "F-this stupid game!!" It's brutally hard!
It's slightly incorrect to say the VIC-II wasn't updated to handle 2 MHz. The VIC-IIe in the C128 is what generates the 1 MHz/2MHz clock, after all. What wasn't updated was the DRAM. The RAM still runs at only 2 MHz, so when the VIC-IIe is generating a 2 MHz CPU clock it can't perform video fetches in every other memory cycle. What you're seeing on the screen is whatever the CPU has on the data bus. $D030 bit 1 (POKE 53296,2) does a bit more than blank the screen. The reason the screen blanks to the border color is because the row counter has been disabled along with vertical sync (you can see your capture device has to resync when you press reset). This has some interesting side effects: With careful timing it is possible to delay vertical sync during v-blank by half a scan line, which is how NTSC/PAL does interlace. By doing this and switching the VIC-II bank or screen/character base on every frame, you can make it do a true 320x400 interlace mode. The other thing you can do (on PAL systems, anyway) is force the chroma 180º out of phase, shifting the hue of all colors to an alternate palette. I don't know why GEOS on that list. It absolutely does work on a 128 in 64 mode, and has support for the 1571 and 1581.
I get what you're saying; I guess I could have said "the VIC-II and RAM system weren't updated to handle 2 MHz" instead. What clocks the DRAM currently? Are you saying the existing VIC-IIe would work perfectly in 2 MHz mode, if only the DRAM were 4 MHz capable? That's cool about all the neat timing stuff you can do with the VIC-IIe. I now recall reading a bit about that but haven't ever looked into it more. Maybe a very early version of GEOS didn't work on 128 or 1571; I tried v1.2, v1.3 and 2.0 and they're of course fine. I don't own copies of GEOS v1.0 or 1.1 - if they ever were released.
@@8_Bit No, the VIC-IIe wouldn't be able to do video fetches at 4 MHz if you had faster DRAM. It is still running from an 8 MHz dot clock and has to be able to clock everything from that. The VIC-II generates every clock in the system by dividing 8 MHz down. ø0: 1 (or 2) MHz into the 6510/8502. ø2 comes out of the CPU, delayed to be in sync with the CPU machine cycle. In the 64 all other chips are driven by ø2 out of the CPU, but not in the 128. This actually causes timing issues with a few C64 cartridges. RAS/CAS: These clock the DRAM. Low byte of the address is latched on RAS, which also refreshes DRAM. If RAM is selected, the high byte is latched on CAS and data goes in or out. Both are 2 MHz clocks at opposite phases from each other. So in 1 MHz mode, RAM is running twice as fast as the CPU and the VIC can get every other access. AEC: Address enable control, this takes the CPU off the bus during video accesses. Normally 1 MHz and opposite ø0 but if the VIC needs more for sprites or character pointers (badlines) it will stop the CPU and hold it low. When the VIC-IIe is put in 2 MHz mode, it doubles ø0 so the CPU runs twice as fast. RAS/CAS stay the same because the DRAM and many parts of the VIC-II cannot run any faster, and it stops asserting AEC so whatever is on the bus during "video fetches" just gets displayed. But wait there's more! The SID, CIA, and even the VIC registers can only run at 1 MHz even when the CPU is at 2 MHz, so in the 128 ø2 comes out of the VIC-IIe and is always 1 MHz, and there's a signal from the PLA to slow the CPU down to 1MHz for I/O access. The Z80 needs a 4 MHz clock, so the VIC-IIe generates that as well.
Yeah I remember my uncle buying one of these when they came out. I absolutely loved the quality of this computer over the C64 I had. But yep was almost 100% in C64 mode... have fond memories of playing Scarabaeus on it... we had no idea what we were doing... :D
Here's a thought. What about adding a decoder that deselects the vic2 when it recognizes that both the address of one of those new Vic 2 registers is being selected, and a switch installed on the back of the computer. That would solve a lot of compatibility issues.
One game I had an issue with on the 1571 was Skyfox. Ran fine on my brother-in-law's C64 w/ Enhancer 2000, would hang/not load on my C128 in C64 mode w/ 1571. Mind, this was in... '88, so I fear I have little in the way of details.
I had a C128D growing up. I used 64 mode almost exclusively as I was never able to find much 128 software. I did have problems with Project Stealth Fighter and had to return it as I couldn't get it to work. The shop verified it didn't work on their 128 either before they would refund my money.
Frantic Freddie was along with Tapper my first games ever played (back in 1985 being 2 years old). Something not a lot of people know, the red monster in Frantic Freddie will always follow you vertically, you can stay in the middle of the ladder and the red monster will always go up and down until you move. Later monsters like green and grey share the same behaviour. Yellow and blue are completely random though, and horizontal direction is random as well for all monsters.
I wasn't aware! I'll see if I can get further with that info. I think level 7 or 8 is the furthest I've ever got. I've heard that level 16 is unbeatable due to some missing ladders, and I've meant to investigate that sometime.
@@8_Bit On real C64, I reached level 13 or 14 .. level 16 is the last level, and at least from walkthroughs Ive seen, it's finishable. Then you access level 17 which is just an ending cutscene using the game engine. Would love to see a Frantic Freddie video where you analyze the code and quircks.
@@DarkMoe Thanks, it seems that whoever thought there was a level 16 bug was confused and it was actually level 17 and the developers deliberately removed the ladders for the ending cutscene in that level.
Fun stuff :) I never had a C64 back in the day and only got a used C128 around the time that Amigas started coming around but I loved it. Was lucky enough to get it with a 1541-II . So some of those games that I never got to work could possibly have not worked due to these little quirks, interesting! Fun fact about playing Bard's Tale 2 via the 1541-II; quite by accident I flipped up the disk lock before moving a wand from one character to the other at an inn (IIRC) and I noticed that it was instead copied, so the original owner still had and the new owner had it as well :D Guess if I used that glitch to have a fighting chance in the beginning :) Guess it should also work on the original 1541 :) Pretty sure I've played both Delta and The Last V8 but the first one could be because I ran it from disc, or maybe it was just the pirated version that works? I'd understand if that solved any copy protection issues but that 2MHz-issue must have been solved by someone... Reminds me that I have to try my copy of Psycho Soldier on the real C64 I have not yet tested. Didn't get my original to work on my C128 when I tried. Seem to remember I had issues on a real C64 as well unless I loaded it in just the right way (copy protection I think...)
I yearned after a Commodore64 because of the "He-Man and the Masters of the Universe", but my cracked copy must've been fixed because it ran fine on my C=128D (once I finally got a C=64-compatible system). It's hilarious hearing it play so sped up because of NTSC! Idea for a video: fixing that with the CIA IRQ replay.
You know, my first C64 experience I can remember was on a commodore 128d. I was around 6yo back then. It is said I could use one of these before I could read.
I probably won't go as early December is a terrible time to travel to Toronto, both due to potentially bad weather, and it being a busy time for my kids with end of school semester and pre-Christmas events. I used to go to WoC fairly regularly and always enjoyed the event and people, but the travelling and particular time away from my family greatly detract from my eagerness to go. I guess I didn't have to explain all that, but that's why :)
@8_Bit I will be going and have a table too. Will be showing my new PET board that I will be selling. It's called PET Companion, which provides external composite video, audio, RGB2HDMI connection, and joystick connection. If you come to the show, I will have one for you for free. Would love for you to review it and keep it. Thanks
C64 mode normally ran in RAM bank 0, but I remember I was able to run it in RAM bank 1. There was no real point in doing that, I just thought it was a neat trick. The 128's reset switch defeated the way some C-64 programs protected themselves from being examined. I remember a terminal program for the 64 that put RAM at the top of memory, changing the reset vector so that, if you had a reset switch connected and used it, the computer would display a message that said "That's a no-no!" and lock up. On the 128 in C-64 mode, that won't happen. (I had wondered if there would be a difference between an external reset switch and the built-in one, with only the built-in one able to break out of 64 mode, but no, there wasn't.)
Hah, very interesting. I had an AppleIIe "mostly compatible" thing called the Laser 128, but I always wondered how good the C128 compatibility was. This was a good demonstration. I went on to have an Amiga 500 which I adore to this day. I wonder if there's any kind of "shim" or something you could hammer in, somehow get between the C64 games and the C128 to catch a bunch of these "common failure points." Thanks for the video. 👍
Hah... I'm only vaguely familiar with how all this stuff works, but I'm fascinated you can change one instruction and everything runs fine. Is it a possibility that one of these changes IS making some kind of difference in the execution of the code, even if it's too small/quick to be perceptible? I'm an old UNIX admin and can only code my way out of a wet paper bag under threat of violence, but it seems like SOMETHING different in the logic would be going on that might affect something, even if the user doesn't notice it. EDIT: Ah ok with the He-Man one you said it might happen... still the ones before it mystify me.
Heh, sounds like you're being a bit harsh on a bunch of non-engineers/non-hackers when they say something that might not always be true. They don't know any better, they're just trying to pass on the info as they understand it.
Anyone who was trying to get the status would use bitwise operations as it is never guaranteed that any value will be in that register... several of my own programs would do memory operations with the first 3 bits to add basic utilities, modify the kernel, etc...
The Ilearth ("Illearth") Stone has to be a reference to the Thomas Covenant novels by Stephen Donaldson. How the game got that name I couldn't say; it doesn't seem that the gameplay has anything to do with the books.
About 10 years ago when I was setting up my (current) C64 system, I'd decided on using a C-128 as the 64, as it was more versatile. It didn't take long to discover that C64 mode was not 100% compatible with a real 64. It only lasted a week before I pulled the 128 and replaced it with a breadbox. Trouble solved.
The VIC-II registers were all mirrored too, in all the 64-byte banks from $D040 through $D3FF. I wonder if the 128's VIC-II is wired up the same way as its SID and can't use those redundant registers either. Did Compute! ever release an updated edition of _Mapping the C64_ with notes on the 128's differences?
They released an updated Mapping the Commodore 64 for the 64c, and a separate Mapping the Commodore 128, which is really good and detailed with regards to 128 mode. A must have for anyone wanting to do some more serious programming on this machine.
Not to sound like I can't figure things out - but how did you get the text to zig-zag in your outro? I know it's BASIC, but I'd sure like to use something like that in some of my programming. :) Might you be able to share some of that coding goodness? In any event, this was a very informative video, and thanks so much for showing us "mere mortals" the INs and OUTs of the two Commodore machines!
Funnily enough, this made me think of the PS1. Not just of the two different chipsets on the original hardware, but also the PS2 and the differences between full backwards compatibility and the DECKARD models' more emulation-reliant solution.
You have a massive collection if disks 😂. Awesome, and I love to see how often the same mistake was made. Must have been a code snippet that was shared, huh? 😁
0:45 Before i start - just watched Computer Chronicles 1988 with C64 shown as "not yet obsolete" at exact same year episode about multitasking on DOS. And i was thinking "hey why Commodore did not provide more RAM, and some special keys to switch between programs, banking RAM or something" allowing CPU running twice as fast or sharing cycles between two screens. Without need to reset any of these. I hope to find out that they make modes switchable in such way we are switching tabs in browser. Did they? I can imagine having C64 switchable F1-F4 just like Linux terminals. And one special mode just like in Linux XFree86 that would be cool for next 10 years! They could also make C64 accelerator for PC to run C64 as Apple MacOS was running Windows 3.1. So much potencial to create awsome machine. Amiga + C64 they could make this platform alive. I don't know answer yet, having separate mode doesn't sound like good idea..
There were some programs available for the C64 and C128 that allowed that kind of task-switching or limited multi-tasking but they required programs to be fairly well-behaved and many were not. If Commodore was more forward-thinking they could have provided better operating system support from the beginning that would have encouraged more programs to be well-behaved. Alternatively they could have provided hardware support for that kind of task-switching in later models, but it didn't seem to be a priority. It would have been really interesting to see if Commodore could have successfully brought their C64/128 line into the future but instead they went somewhat half-heartedly into both the Amiga and MS-DOS platforms.
I knew you could fix that He-Man game! Too bad it wasn't as simple as the Monty fix. Like you, I've always said "GEOS" and "BIOS" the correct way. Don't let 'em change ya now!
Apologies for not giving you a shout-out for the He-Man tip in the video. I try to keep track of that kind of stuff but this video was a more convoluted process than usual where I was working from multiple documents and it got left out :(
These games remoind me of playing Splunker on NES virtual console on Wii which I spent wii points on because I knew it had good music and Didn't own the Cartridge of it.
Huh I had no idea the 128 had that bug with the switch sense line. My Bleepload transfer I recently uploaded to CSDB will fail on the c128 then if you want an actual program to test with.
Hi Scott, good to hear from you! So Bleepload is a particular cassette load system and you've made a program that can automatically archive those tapes? That's awesome! I did a quick search for Bleepload and I guess it was made for multiple platforms? I'm getting more Spectrum and CPC hits but obviously there were a lot of games that used it on the C64 too.
@43:26 So spooky just in time for Halloween, your C128 typed in that program all by itself! :O @45:28 "What a dumb computer" perfect comic timing, made me laugh out loud!
Thanks, it's an unreleased song from an unreleased album from my band. I gotta get around to releasing it. Here's a much earlier/rougher mix of another song that will be on the same album: ua-cam.com/video/U1VKwqUWYa8/v-deo.html
Those “arrows” in Scrolls of Abadon look amusingly like either a hand giving you the finger, or potentially something else the other way around… honestly makes you wonder if the programmers have ever seen an arrow before….
In the first two games, I wonder if maybe it was being ported to C64 and they copied the loop for setting the values and since on C64 the $D02F and $D030 are nothing, they left the loop as it was. Just strange to have a loop that stores to registers that don't do anything. It works I guess, but later doesn't work on the 128.
Yes, I think Frank Cohen was already very accomplished on the Atari and then ported his games to the C64. It'd be interesting if that was the reason for this loop. I just looked up the CTIA/GTIA registers and coincidentally they're also mapped to $D0xx, from $D000 to $D01F, so the original (theoretical) Atari initialization loop would have gone to $20. It's not a huge stretch to think he would just bump it up to a nice round $30 to accommodate the VIC-II's extra registers and not noticing any problems, just move on.
@8_Bit What is interesting now, if this is possibly the case, is what values were in the array at those locations and why? Were they just the beginning of another array? That would be my guess at least. Oh the things that make our brains spin round. Thanks for this fun one Robin.
It was always down to $D030 and the stupid bug on some of the 85xx chips that caused changes in $D020 to show up as a grey pixel that killed off c64 compatibility. I wrote several demos in 6502 machine code on the c64 that looked like trash on the go64 around 1988 :D
me again, sorry one little comment .. when you press the cassete buttons at 45:00 .. you can actually see several times, that the print output is 23 for just one frame .. and then it changes back to 0x55. What's with that intermediate state ?
Yes, I didn't notice that while recording, but it's interesting. I think what's happening is that pressing the cassette button(s) changes bit 4 in the I/O port. Then the KERNAL system interrupt, next time it occurs (within about 1/60th of a second), notices that bit has been changed, and enables the cassette motor control (bit 5). And then when the STOP button is pressed, that bit 4 changes again, then the KERNAL notices, and the motor is disabled within a frame later.
Back to questions about the CPM system on the C128. How does it work with two active CPUs in the system? Does activating CPM totally shut down the 6510 or does it stay awake and communicate with the Z80? If so, how? I know the C128 has its own Video chip but how does the CPM system put out video, does it use the same 80 column video system as the C128?
Bards tale always worked my parents were kids in the 80s with a C128 and 1571 as their only machine and my dad is adamant to this day that bards tale is one of the best games ever made
I guess Frantic Freddie must not use the SID for random number generation (seed etc), or at least the routine that did that used the correct base address, assuming there is any randomness to the monsters etc at all?
Yes, I think there is some randomness to the monster's movement, but it doesn't seem to use the SID at all for that randomness. I assume it's using some other timer or counter that works well enough for the purpose, but I haven't looked into it.
I doubt I'll ever boot up one of these old systems again in my life but I do love living vicariously through others 😂😂😂 (but I do own an old C64 & tape drive, not sure if it works. Too nervous to power it on.)
With old C64 power supplies it's best to test them before use. If you or somebody you know is handy with a multimeter, test the 5 volt line and make sure it's not more than 5.2V or so. Those power supplies fail badly, and destroy otherwise perfectly working C64s.
@@8_Bit I;m more worried about the unit itself, it was not a dry place it was stored. it was on the top shelf of a building that flooded several times.
I suspect at roughly the 50 minute mark any game that relies on the error 27 at a specific track and sector doesn't work on the 1571 as opposed to the 1541 because hardware...
I had never seen that many original commodore software. wow. infact the only original software I had seen is when I bought archon from ebay 5 years ago. I believe since the 80s all the software I had used on c64 (and a500) were pirated. oh wait, my father brought me a copy of antiriad on tape when he visited somewhere in europe where original games were sold :-). It was nice of him, he probably didn't know about piracy.
Curious, how hard would it be to hack the games to run in straight 128k mode? As you can tell I know next to nothing about architecture differences, but nievely, I'd imagine that C128 mode had a reasonable overlap? would be interesting just to see what happens trying to run C64 games in 128 mode :D (course, it could be none work; Though would make an interesting video why that is)
27:49 Unexpected 'Don't Bring Me Down' by ELO :D That first song that plays in the game is apparently Boogie Fever by The Sylvers rather than Daytripper
Hmm.. so maybe my datasette wasn't broken some 35 years ago when I upgraded to a C128. I didn't have too many games on tape, so I never bothered trying to fix or repair it.
Generally the datasette will work on the C128, but some software will fail. Some of those titles should be fixable by pressing the "CAPS LOCK" key before you load. I guess you don't still have it to give it a try :)
The command to kick the 1571 into double-sided mode on the C64 is OPEN 15,8,15,"U0>M1":CLOSE 15 and to go back to single-sided mode substitute "U0>M0" instead. I made a little cheat sheet of disk commands when I first got my 1571 off eBay a few years ago. It's so nice to have 1328 blocks of space compared to the usual 664 without having to flip the disk. ;)
1:48 made me nostalgic for the golden days when flipping through someone else’s collection of floppy disks was a journey filled with excitement and wonder! Every disk held the promise of a new adventure, a game never played, or a program never used. The words on each label teased endless possibilities, sparking imagination and curiosity. Ah, those were the days when discoveries were made not through a search bar but through a tangible, colorful stack of potential fun and learning!
I was about to post something similar. I had a lot of the same games and utilities. The labels are instantly recognizable.
Load Runner, Defender of The Crown, mrraow, yum - Guess Shadow of the Beast or Turrican would be too new school, lol. On topic tho, C128 is still on my must-have-once-just-for-me-myself-and-i-list, right next to an Acorn Archimedes 3000.
Wonder why no UA-camrs collection contains LAZER, was a great game. But there were so many. Pluh.
Loved this! I like to imagine Robin is effortlessly just finding these solutions and fixes during the video without all the hard work and hours of research :P
You think exactly like my boss does.
Given some of these may never have been patched by anybody - you probably now hold a speed-running record for the C128!
@36:07 Nice, you're treating the SID like a 1-bit speaker, and in BASIC no less. Very cool!
OMG! The Run Magazine Cover at 1:35! I wrote Address Box 128 when I was 16 years old. I have not seen this cover in literallty 35 Years! Thank you for making my day!
Ha, I'm glad I happened to choose that issue to show! That's really cool that you had a program published in RUN, congrats!
Great research and testing! On the topic of 1571 problems at around 48:00 -- in addition to knowing the exact version of software being tested, it would be equally valuable to know whether the drive used for testing contained the 03 (initial) ROM or the 05 (fixed) ROM, as it has been suggested that they may differ in 1541 compatibility. -- JC
Educational, interesting and great without being boring! As always! Thanks Robin!
The world needs a conversation video with Bill Herd and Robin discussing these differences and bugs
OMG COHEN'S TOWERS! I had this game on my Atari 130XE back in the day and I couldn't for the life of me remember what it was called. I've spent literally years trying to remember. Thanks again Robin! 🙂
Cool! Was it just as unforgiving a game on the Atari? Were you able to finish the first level?
@@8_Bit The first level I think, but I do remember it being brutal.
Wow, another fantastic video, Robin!! Don't know how many times I wondered what the main differences were between real C64 and C64-within-C128 were. Thanks for the in-depth exposé on the subject. I only had a C128 very briefly, but it was in C64 mode the majority of the time as well. 🙂
Outstanding compilation of discoveries and diagnostics! I wouldn’t be surprised if you pushed compatibility up an extra 0.1% for a 99.9% Frantic Freddy rules; that music brought back good memories!
Hi Robin, nice video!
At the end it's not the C128 to be not fully compatibile with the C64, the truth is that some C64 software are buggy but they still run on the actual C64 because it has less registers than the C128, expecially for the VIC II, and so as result it's more tollerant to these bugs types.
This is pretty cool and weird timing as we just put out our c128 pickup vid. Ha ha great stuff! We also made a new AI named 80HD for our channel using the C128. Cheers!
Brilliant video Robin!!! =D I suspect the cassette version of Gryzor may "work" using that capslock test btw! That has a check to determine if the tape is playing still - as it ends loading. (basically its to check you didnt dump it and run from FDD...)
Very cool, I'll try to track it down!
Everyone. Please start sharing robins page with everyone. He doesn’t have near enough the UA-cam subscribers that he should. He should at least be in the 500 k range so help him out
I've mentioned him as much as possible in my usual hangouts. No idea if anyone has picked up on it yet, but I do make the effort.
Very interesting video Robin.
It is probably not a big surprise that I already knew all the underlying issues causing such incompatibilities, but I never tried many of those games, quite nice.
Mostly hidden from the typical user, there are some hardware compatibility issues on the cartridge/expansion port due to timing being slightly different between the 2.
The difference is small and more pronounced in 128 mode, but is also there in 64 mode. It is why the 1700 and 1750 REU are ever so slightly different from a 1764 REU, through in reality, this is rarely ever a real issue (ie, a 1750 typically works fine with a C64 and a 1764 typically works fine with a C128). One cartridge which is clearly sensitive to this is the Ultimate II+ cartridge (heh... that reminds me, I *REALLY* should put one in a box and send it to you). But also cartridges which try to do kernal replacement may fail due to this.
Thanks for your tireless efforts while researching this video. Fantastic work as always my friend. 👍👍
56:34 You should send them back to Origin, and they will send you a replacement.
The reason you weren't able to find any software that breaks because of the bit differences in address 1 is because it would be programmatically a bad idea to check against the whole byte value when you are only checking for the state of individual bits. You can't control the other bits nor do you want to check them, so the 'correct' thing to do would be to take the value of byte 1 and then AND it against the correct bitmask to check the bits you want. And if programmers did it that way, then it wouldn't be affected by a different bit changing.
Frantic Freddie was one my favourite games when got my early breadbin. The music was incredible and how you had to go up one side of the ladder and down the other side was infuriating but added a different dimension to the gameplay. Also the interlude between levels was like Pac- Man. I really wish Commodore would've built a monitor programme into the C64 like they did with the Plus 4 and C128. I might have learned programming instead of just playing games. Cool video Robin.
I always follow your videos with admiration and I am amazed at how deeply you know the structure of the C64.
Great respect!
The reason, why $D500 doesn't mirror SID anymore on the C128, is because it was used there for other chips:
$D500+= MMC of C128 (not accessible in C64 mode, but it also means it doesn't mirror to SID in C64 mode)
$D600+= VDC 80col mode of C128 (actually also accessible in C64 mode)
Really interesting! I had friends with 128's (I had a 64), and they spent all their time in 64 mode. We spent a lot of time, nearly 40ish years back, "sailing the high seas" if you know what I mean... and I can't recall them ever having a problem running anything I was running on my 64. Great job finding some exceptions, this was really informative!
58:29 Strange that "Mayhem in Monsterland" doesn't work on the 128. I remember pictures/articles of Apex (Rownlands Brothers) being printed in Commodore Format back in the day, and John Rowlands did all the programming for Creatures on a C128 (I assume he did the same for Mayhem in Monsterland). Also worth noting that they previously published on Thalamus, and there are 3 other Thalamus games on that list.
I suspect the Thalamus problem is in a particular tape loader system that they shared, so the games on disk or otherwise cracked probably work okay. I wasn't able to replicate the Thalamus problems on my C128.
Love it! Thanks so much as this was a great watch. I recall a few times I had to bring out my C64 back in the day because some software wouldn't work on my 128. It was so many years ago that I don't recall which. I know it wasn't very many. I probably still have those disks though.
If we believe Google saying there have been 5,000 - 10,000 games released for the C64… That 99.8% compatibility should translate to about 10-20 incompatible games. I don’t know. Sounds like it is closer to 99.9% compatible based on your research. 😀
Great video Robin. I was actually expecting a few more incompatible games based on the anecdotal hearsay about the C128 / 1571 I’ve heard/read over the years. Nice to see the results of all your research and how even the “confirmed list” isn’t all that confirmed without identification of specific versions.
Great work Robin! Always enjoy your videos! Yes peek (1) is definitely an incompatibility issue and the fix is easy. A software "fix" (other than locking down CAPS LOCK) you can do is to simply mask out the effects of that added pin on the 8502 by peek(1)and63. Voila! Compatible :)
With any register that has multiple flags, you should check for only the bit that you care about by doing an AND with the value that you want. So code should really be 'peek(1) and 16 0' on line 20 and 'peek(1) and 16 16' on line 40. Or, if you want to check the cassette motor bit as well as the cassette switch bit, use the value 48 (bit 5 %00010000 is decimal 32).
Thank you for all your quality videos so far! When it comes to 1541 vs. 1571 (C128D) compatibility problems, I still remember Turbo Nibbler(s) and ever famous Duplicator programs did not work for my copying needs as having a 128D. The big boys then told me Turbo Nibbler was the weapon of choice for the "trickier ones" (krhm... ..originals..) when copying whole disksides... On the other hand I maybe just had "too tricky" disks.. ;-)
Still, would be very interesting to know now what caused these problems in the first place and if something could have been done.
lol, the spreadsheet at the end shows the last V8 by Matertronic.... Did they predict the cars movies franchise 20 years earlier? We may never know...
Of course, the last v8 is also one of the very rare action games which got a dedicated C128 release, which solves the compatibility issues, and actually has some improvements from what I understand.
"The Last V8" was named after a line from the original 1979 "Mad Max" movie.
Awesome video! I love the C128... I really want to get one but they are hard to find for anything near reasonable prices. I've always wanted to write some software for the C128.
I know Rescue On Fractalus didn't work.....found out how to fix the 2Mhz bug the hard way...thank God for the C64 Programmer's reference guide. Awesome video as always!
I know that Rescue on Fractalus was one of the games that would not work properly on the 128's C64 mode. My friend had a 128 and couldn't get it to run. He figured it was something wrong with the copy, but when I borrowed it from him, it worked on my C64.
Star Rank Boxing (Barry McGuigan's boxing in Europe) was another
I tried a few versions of Fractalus as it was on that list on Lemon64 and they all worked fine for me. So it must be a particular version that I didn't find online. Interesting about Star Rank Boxing, I'll see if I can replicate.
Thanks. I followed along on both the C64 and C128 core on my MiSTer fpga device. I'd love to hear your oppinion on those one day.
I love Ghost Chaser too! I just love the idea of breaking in to a scary house. Its' like maniac mansion as a platformer.
Regarding the C128 caps lock, there's a similar annoying issue on the C64 with the shift lock. Many times the C64 refused to work and I had not realized I accidentally pressed the shift lock. A few times I pulled the whole machine apart in an attempt to fix it only to eventually realize it was only the shift lock causing it heh!
I remember that one C64/Game Magazine in Germany claimed that 'Rescue On Fractalus' did not run on the C128 in C64-mode.
He-man was the only game I came across that did not work back in the day. I remember feeling annoyed that my friends could play it but not me. 🙂
That would be very frustrating! I hope you were able to play some of the C128-enhanced games to make them jealous too :) Andrew Braybrook often made his games a little better for the C128.
Kevin Pickell - I knew I recognised the name! He went on to work at EA Sports and in particular on the first FIFA games for the Megadrive, pretty sure they named the players after the development team so I scored plenty of goals as Pickell.
Also 2 other games you needed to add to this list! Infernal Runner and Rescue on Fractalus!
This was talked about back in the day! 1571 on a C128 defaults to 1571 mode in C64 mode of C128 so this could be why it fails!
Nice to have these bug fixes so those still finding new games which were made back in the early c64 years have came about and may need fixed!
Star Rank Boxing (Barry McGuigan's boxing in Europe) was another
In one video, you added a number of "new" games to the Commodore 128 ! Another victory for the most famous talking hands in the retro world.
Sounds like the intro tune in Frantic Freddie is actually Crazy Little Thing Called Love by Queen (from their 1980 album The Game)
Yes, and rumours abound that it was Freddie Mercury of Queen that inspired Frantic Freddie's name :)
Thanks. All we can do is try to spread the word. He does great content.
Not sure how I feel about reminiscing through the EARLY days of Commodore gaming, (which were GREAT times), with an Atari box and logo in the frame the whole time??!!??
Another great video Robin!. Frantic Freddie is DEFINITELY a warm, fuzzy classic and you are 100% on Cohens Tower, I vaguely remember saying. "F-this stupid game!!" It's brutally hard!
I would hope so, but I've never tried.
I deliberately put the Atari box in frame in the new video I just recorded ;)
It's slightly incorrect to say the VIC-II wasn't updated to handle 2 MHz. The VIC-IIe in the C128 is what generates the 1 MHz/2MHz clock, after all. What wasn't updated was the DRAM. The RAM still runs at only 2 MHz, so when the VIC-IIe is generating a 2 MHz CPU clock it can't perform video fetches in every other memory cycle. What you're seeing on the screen is whatever the CPU has on the data bus.
$D030 bit 1 (POKE 53296,2) does a bit more than blank the screen. The reason the screen blanks to the border color is because the row counter has been disabled along with vertical sync (you can see your capture device has to resync when you press reset). This has some interesting side effects: With careful timing it is possible to delay vertical sync during v-blank by half a scan line, which is how NTSC/PAL does interlace. By doing this and switching the VIC-II bank or screen/character base on every frame, you can make it do a true 320x400 interlace mode. The other thing you can do (on PAL systems, anyway) is force the chroma 180º out of phase, shifting the hue of all colors to an alternate palette.
I don't know why GEOS on that list. It absolutely does work on a 128 in 64 mode, and has support for the 1571 and 1581.
I get what you're saying; I guess I could have said "the VIC-II and RAM system weren't updated to handle 2 MHz" instead. What clocks the DRAM currently? Are you saying the existing VIC-IIe would work perfectly in 2 MHz mode, if only the DRAM were 4 MHz capable?
That's cool about all the neat timing stuff you can do with the VIC-IIe. I now recall reading a bit about that but haven't ever looked into it more.
Maybe a very early version of GEOS didn't work on 128 or 1571; I tried v1.2, v1.3 and 2.0 and they're of course fine. I don't own copies of GEOS v1.0 or 1.1 - if they ever were released.
@@8_Bit No, the VIC-IIe wouldn't be able to do video fetches at 4 MHz if you had faster DRAM. It is still running from an 8 MHz dot clock and has to be able to clock everything from that. The VIC-II generates every clock in the system by dividing 8 MHz down.
ø0: 1 (or 2) MHz into the 6510/8502. ø2 comes out of the CPU, delayed to be in sync with the CPU machine cycle. In the 64 all other chips are driven by ø2 out of the CPU, but not in the 128. This actually causes timing issues with a few C64 cartridges.
RAS/CAS: These clock the DRAM. Low byte of the address is latched on RAS, which also refreshes DRAM. If RAM is selected, the high byte is latched on CAS and data goes in or out. Both are 2 MHz clocks at opposite phases from each other. So in 1 MHz mode, RAM is running twice as fast as the CPU and the VIC can get every other access.
AEC: Address enable control, this takes the CPU off the bus during video accesses. Normally 1 MHz and opposite ø0 but if the VIC needs more for sprites or character pointers (badlines) it will stop the CPU and hold it low.
When the VIC-IIe is put in 2 MHz mode, it doubles ø0 so the CPU runs twice as fast. RAS/CAS stay the same because the DRAM and many parts of the VIC-II cannot run any faster, and it stops asserting AEC so whatever is on the bus during "video fetches" just gets displayed.
But wait there's more! The SID, CIA, and even the VIC registers can only run at 1 MHz even when the CPU is at 2 MHz, so in the 128 ø2 comes out of the VIC-IIe and is always 1 MHz, and there's a signal from the PLA to slow the CPU down to 1MHz for I/O access. The Z80 needs a 4 MHz clock, so the VIC-IIe generates that as well.
Yeah I remember my uncle buying one of these when they came out. I absolutely loved the quality of this computer over the C64 I had. But yep was almost 100% in C64 mode... have fond memories of playing Scarabaeus on it... we had no idea what we were doing... :D
Here's a thought. What about adding a decoder that deselects the vic2 when it recognizes that both the address of one of those new Vic 2 registers is being selected, and a switch installed on the back of the computer. That would solve a lot of compatibility issues.
One game I had an issue with on the 1571 was Skyfox. Ran fine on my brother-in-law's C64 w/ Enhancer 2000, would hang/not load on my C128 in C64 mode w/ 1571. Mind, this was in... '88, so I fear I have little in the way of details.
I had a C128D growing up. I used 64 mode almost exclusively as I was never able to find much 128 software. I did have problems with Project Stealth Fighter and had to return it as I couldn't get it to work. The shop verified it didn't work on their 128 either before they would refund my money.
Frantic Freddie was along with Tapper my first games ever played (back in 1985 being 2 years old). Something not a lot of people know, the red monster in Frantic Freddie will always follow you vertically, you can stay in the middle of the ladder and the red monster will always go up and down until you move. Later monsters like green and grey share the same behaviour. Yellow and blue are completely random though, and horizontal direction is random as well for all monsters.
I wasn't aware! I'll see if I can get further with that info. I think level 7 or 8 is the furthest I've ever got. I've heard that level 16 is unbeatable due to some missing ladders, and I've meant to investigate that sometime.
@@8_Bit On real C64, I reached level 13 or 14 .. level 16 is the last level, and at least from walkthroughs Ive seen, it's finishable. Then you access level 17 which is just an ending cutscene using the game engine. Would love to see a Frantic Freddie video where you analyze the code and quircks.
@@DarkMoe Thanks, it seems that whoever thought there was a level 16 bug was confused and it was actually level 17 and the developers deliberately removed the ladders for the ending cutscene in that level.
Fun stuff :) I never had a C64 back in the day and only got a used C128 around the time that Amigas started coming around but I loved it. Was lucky enough to get it with a 1541-II . So some of those games that I never got to work could possibly have not worked due to these little quirks, interesting!
Fun fact about playing Bard's Tale 2 via the 1541-II; quite by accident I flipped up the disk lock before moving a wand from one character to the other at an inn (IIRC) and I noticed that it was instead copied, so the original owner still had and the new owner had it as well :D Guess if I used that glitch to have a fighting chance in the beginning :) Guess it should also work on the original 1541 :)
Pretty sure I've played both Delta and The Last V8 but the first one could be because I ran it from disc, or maybe it was just the pirated version that works? I'd understand if that solved any copy protection issues but that 2MHz-issue must have been solved by someone... Reminds me that I have to try my copy of Psycho Soldier on the real C64 I have not yet tested. Didn't get my original to work on my C128 when I tried. Seem to remember I had issues on a real C64 as well unless I loaded it in just the right way (copy protection I think...)
I yearned after a Commodore64 because of the "He-Man and the Masters of the Universe", but my cracked copy must've been fixed because it ran fine on my C=128D (once I finally got a C=64-compatible system). It's hilarious hearing it play so sped up because of NTSC! Idea for a video: fixing that with the CIA IRQ replay.
Great video and explainations. Thank you. 😊
You know, my first C64 experience I can remember was on a commodore 128d. I was around 6yo back then.
It is said I could use one of these before I could read.
Amazing work and video! Will you be going to the World of Commodore this Dec 2 and 3 near Toronto Airport? Thanks for sharing
I probably won't go as early December is a terrible time to travel to Toronto, both due to potentially bad weather, and it being a busy time for my kids with end of school semester and pre-Christmas events. I used to go to WoC fairly regularly and always enjoyed the event and people, but the travelling and particular time away from my family greatly detract from my eagerness to go. I guess I didn't have to explain all that, but that's why :)
@8_Bit I completely understand and thought I would ask :)
@@RudysRetroIntel Thanks for asking, and if you're going, I hope you have a great time :) Maybe it'll still work out for me, but it's unlikely.
@8_Bit I will be going and have a table too. Will be showing my new PET board that I will be selling. It's called PET Companion, which provides external composite video, audio, RGB2HDMI connection, and joystick connection. If you come to the show, I will have one for you for free. Would love for you to review it and keep it. Thanks
C64 mode normally ran in RAM bank 0, but I remember I was able to run it in RAM bank 1. There was no real point in doing that, I just thought it was a neat trick.
The 128's reset switch defeated the way some C-64 programs protected themselves from being examined. I remember a terminal program for the 64 that put RAM at the top of memory, changing the reset vector so that, if you had a reset switch connected and used it, the computer would display a message that said "That's a no-no!" and lock up. On the 128 in C-64 mode, that won't happen. (I had wondered if there would be a difference between an external reset switch and the built-in one, with only the built-in one able to break out of 64 mode, but no, there wasn't.)
35:45 Wait, a Canadian is created for PC-98 and FM Towns games? That's a shock.
Hah, very interesting. I had an AppleIIe "mostly compatible" thing called the Laser 128, but I always wondered how good the C128 compatibility was. This was a good demonstration. I went on to have an Amiga 500 which I adore to this day. I wonder if there's any kind of "shim" or something you could hammer in, somehow get between the C64 games and the C128 to catch a bunch of these "common failure points." Thanks for the video. 👍
Hah... I'm only vaguely familiar with how all this stuff works, but I'm fascinated you can change one instruction and everything runs fine. Is it a possibility that one of these changes IS making some kind of difference in the execution of the code, even if it's too small/quick to be perceptible? I'm an old UNIX admin and can only code my way out of a wet paper bag under threat of violence, but it seems like SOMETHING different in the logic would be going on that might affect something, even if the user doesn't notice it. EDIT: Ah ok with the He-Man one you said it might happen... still the ones before it mystify me.
Heh, sounds like you're being a bit harsh on a bunch of non-engineers/non-hackers when they say something that might not always be true. They don't know any better, they're just trying to pass on the info as they understand it.
Once of those video's where i have no clue whats going on, but i keep watching anyways 🙂Great job!
well, my C64 and C128 Years are over so long but he really explained it well and if you have a little experience with programming that helps too :)
This was awesome Robin!
Just look at those jail bars. Thanks Bil!
Anyone who was trying to get the status would use bitwise operations as it is never guaranteed that any value will be in that register... several of my own programs would do memory operations with the first 3 bits to add basic utilities, modify the kernel, etc...
Oddly I remember Commodore’s International Soccer not working on the C128 in C64 mode.
The Ilearth ("Illearth") Stone has to be a reference to the Thomas Covenant novels by Stephen Donaldson. How the game got that name I couldn't say; it doesn't seem that the gameplay has anything to do with the books.
This is amazing work man!
More CanCon! Enjoyed the video, Robin.
About 10 years ago when I was setting up my (current) C64 system, I'd decided on using a C-128 as the 64, as it was more versatile. It didn't take long to discover that C64 mode was not 100% compatible with a real 64.
It only lasted a week before I pulled the 128 and replaced it with a breadbox. Trouble solved.
The VIC-II registers were all mirrored too, in all the 64-byte banks from $D040 through $D3FF. I wonder if the 128's VIC-II is wired up the same way as its SID and can't use those redundant registers either. Did Compute! ever release an updated edition of _Mapping the C64_ with notes on the 128's differences?
They released an updated Mapping the Commodore 64 for the 64c, and a separate Mapping the Commodore 128, which is really good and detailed with regards to 128 mode. A must have for anyone wanting to do some more serious programming on this machine.
Not to sound like I can't figure things out - but how did you get the text to zig-zag in your outro? I know it's BASIC, but I'd sure like to use something like that in some of my programming. :)
Might you be able to share some of that coding goodness?
In any event, this was a very informative video, and thanks so much for showing us
"mere mortals" the INs and OUTs of the two Commodore machines!
Funnily enough, this made me think of the PS1. Not just of the two different chipsets on the original hardware, but also the PS2 and the differences between full backwards compatibility and the DECKARD models' more emulation-reliant solution.
You have a massive collection if disks 😂. Awesome, and I love to see how often the same mistake was made. Must have been a code snippet that was shared, huh? 😁
Brilliant video again Robin 👏
Ultimate Wizard and Ace of Aces on the original floppy - oh my God.
0:45 Before i start - just watched Computer Chronicles 1988 with C64 shown as "not yet obsolete" at exact same year episode about multitasking on DOS. And i was thinking "hey why Commodore did not provide more RAM, and some special keys to switch between programs, banking RAM or something" allowing CPU running twice as fast or sharing cycles between two screens. Without need to reset any of these. I hope to find out that they make modes switchable in such way we are switching tabs in browser. Did they? I can imagine having C64 switchable F1-F4 just like Linux terminals. And one special mode just like in Linux XFree86 that would be cool for next 10 years! They could also make C64 accelerator for PC to run C64 as Apple MacOS was running Windows 3.1. So much potencial to create awsome machine. Amiga + C64 they could make this platform alive. I don't know answer yet, having separate mode doesn't sound like good idea..
1:00 Oh, it was Z80 so no chance for what i just wrote :O I knew there was better mode but Z80?! WTF
There were some programs available for the C64 and C128 that allowed that kind of task-switching or limited multi-tasking but they required programs to be fairly well-behaved and many were not. If Commodore was more forward-thinking they could have provided better operating system support from the beginning that would have encouraged more programs to be well-behaved. Alternatively they could have provided hardware support for that kind of task-switching in later models, but it didn't seem to be a priority. It would have been really interesting to see if Commodore could have successfully brought their C64/128 line into the future but instead they went somewhat half-heartedly into both the Amiga and MS-DOS platforms.
I knew you could fix that He-Man game! Too bad it wasn't as simple as the Monty fix.
Like you, I've always said "GEOS" and "BIOS" the correct way. Don't let 'em change ya now!
Apologies for not giving you a shout-out for the He-Man tip in the video. I try to keep track of that kind of stuff but this video was a more convoluted process than usual where I was working from multiple documents and it got left out :(
These games remoind me of playing Splunker on NES virtual console on Wii which I spent wii points on because I knew it had good music and Didn't own the Cartridge of it.
Greg Malone, as in Minit Man (mainly on the Apple ][)?
Huh I had no idea the 128 had that bug with the switch sense line. My Bleepload transfer I recently uploaded to CSDB will fail on the c128 then if you want an actual program to test with.
Hi Scott, good to hear from you! So Bleepload is a particular cassette load system and you've made a program that can automatically archive those tapes? That's awesome! I did a quick search for Bleepload and I guess it was made for multiple platforms? I'm getting more Spectrum and CPC hits but obviously there were a lot of games that used it on the C64 too.
I own a c128 I never did have any issue with it ever. Best computer I own in the 80's (still owns it and it still works)
The C128 is a great computer. As shown in this video, the incompatibilities were very rare.
@@8_Bit yes I did not found one of the games I did have.
@43:26 So spooky just in time for Halloween, your C128 typed in that program all by itself! :O
@45:28 "What a dumb computer" perfect comic timing, made me laugh out loud!
Lovely song at the end there, can we get some info?
Thanks, it's an unreleased song from an unreleased album from my band. I gotta get around to releasing it. Here's a much earlier/rougher mix of another song that will be on the same album: ua-cam.com/video/U1VKwqUWYa8/v-deo.html
Those “arrows” in Scrolls of Abadon look amusingly like either a hand giving you the finger, or potentially something else the other way around… honestly makes you wonder if the programmers have ever seen an arrow before….
In the first two games, I wonder if maybe it was being ported to C64 and they copied the loop for setting the values and since on C64 the $D02F and $D030 are nothing, they left the loop as it was. Just strange to have a loop that stores to registers that don't do anything. It works I guess, but later doesn't work on the 128.
Yes, I think Frank Cohen was already very accomplished on the Atari and then ported his games to the C64. It'd be interesting if that was the reason for this loop. I just looked up the CTIA/GTIA registers and coincidentally they're also mapped to $D0xx, from $D000 to $D01F, so the original (theoretical) Atari initialization loop would have gone to $20. It's not a huge stretch to think he would just bump it up to a nice round $30 to accommodate the VIC-II's extra registers and not noticing any problems, just move on.
@8_Bit What is interesting now, if this is possibly the case, is what values were in the array at those locations and why? Were they just the beginning of another array? That would be my guess at least. Oh the things that make our brains spin round. Thanks for this fun one Robin.
It was always down to $D030 and the stupid bug on some of the 85xx chips that caused changes in $D020 to show up as a grey pixel that killed off c64 compatibility. I wrote several demos in 6502 machine code on the c64 that looked like trash on the go64 around 1988 :D
me again, sorry one little comment .. when you press the cassete buttons at 45:00 .. you can actually see several times, that the print output is 23 for just one frame .. and then it changes back to 0x55. What's with that intermediate state ?
Yes, I didn't notice that while recording, but it's interesting. I think what's happening is that pressing the cassette button(s) changes bit 4 in the I/O port. Then the KERNAL system interrupt, next time it occurs (within about 1/60th of a second), notices that bit has been changed, and enables the cassette motor control (bit 5). And then when the STOP button is pressed, that bit 4 changes again, then the KERNAL notices, and the motor is disabled within a frame later.
Back to questions about the CPM system on the C128. How does it work with two active CPUs in the system? Does activating CPM totally shut down the 6510 or does it stay awake and communicate with the Z80? If so, how? I know the C128 has its own Video chip but how does the CPM system put out video, does it use the same 80 column video system as the C128?
Only one of the two CPUs can be active at once in the C128, unfortunately. CP/M mode uses the same 80 column "VDC" as C128 mode.
Bards tale always worked my parents were kids in the 80s with a C128 and 1571 as their only machine and my dad is adamant to this day that bards tale is one of the best games ever made
It's an awesome series, but looked like they could have did a better job with the graphics and audio, looks like ports of an Apple II game.
I guess Frantic Freddie must not use the SID for random number generation (seed etc), or at least the routine that did that used the correct base address, assuming there is any randomness to the monsters etc at all?
Yes, I think there is some randomness to the monster's movement, but it doesn't seem to use the SID at all for that randomness. I assume it's using some other timer or counter that works well enough for the purpose, but I haven't looked into it.
Two Stavros Fasulas games in the list! Well, that's definitely some shared code.
I actually tried to replicate those and couldn't. It might have something to do with the cassette loader rather than the game code itself.
I doubt I'll ever boot up one of these old systems again in my life but I do love living vicariously through others 😂😂😂 (but I do own an old C64 & tape drive, not sure if it works. Too nervous to power it on.)
With old C64 power supplies it's best to test them before use. If you or somebody you know is handy with a multimeter, test the 5 volt line and make sure it's not more than 5.2V or so. Those power supplies fail badly, and destroy otherwise perfectly working C64s.
@@8_Bit I;m more worried about the unit itself, it was not a dry place it was stored. it was on the top shelf of a building that flooded several times.
I suspect at roughly the 50 minute mark any game that relies on the error 27 at a specific track and sector doesn't work on the 1571 as opposed to the 1541 because hardware...
I had never seen that many original commodore software. wow. infact the only original software I had seen is when I bought archon from ebay 5 years ago. I believe since the 80s all the software I had used on c64 (and a500) were pirated. oh wait, my father brought me a copy of antiriad on tape when he visited somewhere in europe where original games were sold :-). It was nice of him, he probably didn't know about piracy.
Another fantastic video again.
What are the lyrics to the song ?
Love this channel - thanks!!
Curious, how hard would it be to hack the games to run in straight 128k mode? As you can tell I know next to nothing about architecture differences, but nievely, I'd imagine that C128 mode had a reasonable overlap? would be interesting just to see what happens trying to run C64 games in 128 mode :D (course, it could be none work; Though would make an interesting video why that is)
My 1570 had issues with several games but did get it swapped out by the software house so it was annoying but they fixed issues quickly.
27:49 Unexpected 'Don't Bring Me Down' by ELO :D That first song that plays in the game is apparently Boogie Fever by The Sylvers rather than Daytripper
I'm a little surprised that the SID issue wasn't more common. Imagine if they did have 2 SIDs that other game would have worked. lol
You are amazing teacher. Thanks ❤
Hmm.. so maybe my datasette wasn't broken some 35 years ago when I upgraded to a C128. I didn't have too many games on tape, so I never bothered trying to fix or repair it.
Generally the datasette will work on the C128, but some software will fail. Some of those titles should be fixable by pressing the "CAPS LOCK" key before you load. I guess you don't still have it to give it a try :)