How Commodore 64 cartridges work + Versa64Cart build

2024 ж. 20 Мам.
19 422 Рет қаралды

Ep 34 : ROM cartridges, bank switching, and memory maps. How they work together to allow the Commodore 64's 6510 CPU to access more than 64KB. Building, programming, and testing the Versa64Cart, an open source multi-ROM project for the C64 and C128.
00:00 Introduction
01:18 Memory Maps, Bank Switching and the PLA
05:12 Building the Versa64Cart
09:12 Programming the EEPROM
14:37 3D Printing the Versa64Case
16:39 Jumper and Switch Settings
19:09 Testing the Cartridge
20:15 Commodore 128 Cartridges
21:11 Conclusion
Support Retro Bits on Patreon - / retrobits
@retrobitstv on Twitter - / retrobitstv
Versa64Cart - github.com/bwack/Versa64Cart
Versa64Case - github.com/svenpetersen1965/V...
Products used and featured - www.amazon.com/shop/retrobits
Hakko FX888D Digital Soldering Station - www.amazon.com/gp/product/B00...
Weller Solder Dispenser - www.amazon.com/gp/product/B00...
Velleman Circuit Board Clamping Kit - www.amazon.com/gp/product/B01...
*Retro Bits earns money from Amazon and eBay Partner Links
Images:
www.c64-wiki.com

Пікірлер
  • Best explanation of memory mapping I have seen for the 64. I feel like I need one or more wall size layouts and maybe they would make for a cool manage décor some day

    @msuc5vette@msuc5vette3 ай бұрын
  • I learned a lot thank you ! kuddos for not forgetting about the C128.

    @jda4887@jda48873 жыл бұрын
  • Really loving those soldering timelapses. Great work as always

    @matt4193@matt41933 жыл бұрын
  • Great work, and thanks for the link. I just want to make a shout out to Sven Petersen for the new doc and revision of the board.

    @bwack@bwack3 жыл бұрын
    • Thanks to you both for all of your contributions to the retro scene!

      @retrobitstv@retrobitstv3 жыл бұрын
  • Great video that clearly shows the combinations. Super job!

    @RacerX-@RacerX-3 жыл бұрын
  • Great detail Matt, well done. 👍

    @75slaine@75slaine3 жыл бұрын
  • Excellent video. Just what I was looking for!!!

    @minombredepila1580@minombredepila15803 жыл бұрын
  • Well done! That was fun :)

    @mgas1237@mgas12373 жыл бұрын
  • I'll keep this video as a reference if I decide to build one. Thanks

    @dvuemedia@dvuemedia3 жыл бұрын
    • Awesome, hope it can be of use!

      @retrobitstv@retrobitstv3 жыл бұрын
  • Just a few more steps Matt and you can be the Ben Eater of C64's. Build a c64 from scratch!

    @fulcrumxp13@fulcrumxp133 жыл бұрын
  • Wooowww! Amazing video! Very clear, structured and competent! Thank you for your great work! I hope we'll see more of them?! Best regards, Doc64!

    @doktor6495@doktor64953 жыл бұрын
    • Thanks! Glad you enjoyed it :)

      @retrobitstv@retrobitstv3 жыл бұрын
  • Well explained😁

    @johneygd@johneygd7 ай бұрын
  • I got a VeraCart finished yesterday, it's like you read my mind;-) Good video as usual.

    @MichaelDoornbos@MichaelDoornbos3 жыл бұрын
    • Hah nice, good timing then! Have fun with it :)

      @retrobitstv@retrobitstv3 жыл бұрын
  • This was good info, I was having difficulty understanding the C64 user manual

    @alphahr@alphahr2 жыл бұрын
  • I like the little glass monitor stand as well.

    @darkstatehk@darkstatehk3 жыл бұрын
  • Excellent walk through. I have a bunch of these PCBs lying around, guess I will take stab at getting my own diag cartridge assembled soon.

    @ddelin100@ddelin1003 жыл бұрын
    • Cool, good luck and have fun with it!

      @retrobitstv@retrobitstv3 жыл бұрын
  • Neat stuff

    @CityXen@CityXen3 жыл бұрын
  • Just subscribed to your channel. I love anything 8-bit, especially Commodore.

    @michaelturner4457@michaelturner44573 жыл бұрын
    • Welcome aboard!

      @retrobitstv@retrobitstv3 жыл бұрын
  • The Bwack Vera64Cart PCB is very cool! I converted a plain old Dead Test cart into a 4in1 Dead Test/Diag cartridge with a Versa64Cart inside.

    @michaelcarey@michaelcarey2 жыл бұрын
    • Nice, that's a great upgrade! I need to update mine to include Jani's 1541 test cart as well.

      @retrobitstv@retrobitstv2 жыл бұрын
  • Thank you !

    @KC2YTZ@KC2YTZ8 ай бұрын
    • You're welcome!

      @retrobitstv@retrobitstv7 ай бұрын
  • @5:48 cutting towards the other hand had me really worried

    @eric67361@eric6736110 ай бұрын
  • What a great idea for info to share with us, Matt. I just watched Adrian's [Digital Basement] video q(The "Kung Fu Flash" Cart for the C64 and the Bad Idea Barta Board) and was like .oO( There are different kinds of C64 carts? ) I've had these things since Starpost and Kickman (both of which pretty much stink), but never knew much of how they worked!

    @DrDavesDiversions@DrDavesDiversions3 жыл бұрын
    • Same here :) I picked up an XPander 3 a while ago and wasn't sure what all the switches to toggle certain signals were supposed to be used for. This project has been instructive!

      @retrobitstv@retrobitstv3 жыл бұрын
  • The 6th file you added was the crt file not the bin wasnt it at 13:45?

    @MartinSteed@MartinSteed3 жыл бұрын
    • Haha, I was waiting for someone to notice that! I totally mis-clicked on the .crt file when doing the screen capture :P

      @retrobitstv@retrobitstv3 жыл бұрын
  • I wonder if the hobby was this approachable back when 64s first came out?

    @temporarilyoffline@temporarilyoffline3 жыл бұрын
    • I would say yes, it was. There were a number of excellent print and disk magazines, and a ton of books that taught you programming, maintaining and troubleshooting hardware, gave you free type in programs like games and utilities, etc. And there was a Commodore-centric online service called QuantumLink where you could connect with Commodore users from across the USA. If you preferred to talk to fellow users in person, many cities had user groups where you could meet and swap software or buy/sell hardware. The toughest thing about that era was being a kid with limited funds to get the coolest new gadget or game.

      @LeftoverBeefcake@LeftoverBeefcake3 жыл бұрын
    • Commodore user groups were everywhere back in the day. STCCC for the win.

      @charlesheinle9908@charlesheinle99083 жыл бұрын
    • If nothing else, the information is certainly more accessible. Instead of pouring over books, magazines, and online services at 1200 baud, the good stuff has been distilled over the years into nice file collections, wiki pages, and KZhead videos that can be instantly Googled.

      @retrobitstv@retrobitstv3 жыл бұрын
    • @@retrobitstv Ya, we didn't know sh*t about the inner workings of some of these design decisions back then. Certainly more accessible, and also the folks that did this seem like peers now... err, well gods then... and now. ;)

      @DrDavesDiversions@DrDavesDiversions3 жыл бұрын
  • I was just planning to make a cart episode for Fairlight TV but given that you have already done it beyond great, there is no point. I will just reference this and add the few additional things I would like to cover 🙂 Generally, I guess I would like to see the chip being a battery backed RAM chip, to be able to skip the PROMMING stage. In an ideal world, I guess I would also like to see that the switches were registers you could poke. That would mean you could have a menu and never needed to open up a 3D printed case for every time you wanted to select one of the other segments. 3D printed stuff tends to be fragile - how many openings would you say it could withstand before the hinges starts breaking? And I would also suggest having a look at KickAssembler to build the image. I use it to import and patch data and then export it to a file again. Not the intended primary usage, but it works great for that as well. A lot better than fiddling with a GUI. Sorry if this sounded grumpy - it's really not. GREAT video!

    @FairLight1337@FairLight1337 Жыл бұрын
    • Thanks for the feedback! I had to really dial in my printer to get the top to work reliably since the rail it rides on and the locking mechanism are pretty small. I've opened/closed it dozens of times so far and it's holding up well but the first few prints I made broke immediately. This board really is designed to be a low cost option, often one you'll just set via the solder pads and forget. There are a lot of other more fully-featured multicarts out there but I haven't tested any of them yet so I can't speak with any authority.

      @retrobitstv@retrobitstv Жыл бұрын
  • youtube recommended your channel

    @josephneale10215@josephneale102153 жыл бұрын
  • Does that sound plausible to have a relatively generic method to transform C64 games and programs that are loaded via tape or disk into cartridge ? The loading experience of cartridge is so much more convenient !

    @ennio5763@ennio5763 Жыл бұрын
    • This question is a little outside my wheelhouse but I'll try and answer it generally and others can weigh in if they know better. Basically, if a piece of software can fit in its entirety into 16KB or less, then it can be run from a standard C64 cartridge. The code would need to be modified to map into the correct address space and the cartridge header would need to be added. While early C64 software did fit into this small amount of space, later tape and disk-based titles were often larger in size and scope which is why later games were so much more technically advanced than the earlier stuff. Later cartridge formats like Ocean, EasyFlash, GMOD2, etc. use bank switching to accommodate larger software titles up to 1MB, but the software needed to be coded specifically to take advantage of this. So yea, nothing is impossible with enough effort!

      @retrobitstv@retrobitstv Жыл бұрын
    • @@retrobitstv Thanks for the detailed answer! Yeah it doesn't sound "generic", looks like each software needs to be directly modified. I was somehow hoping that one could imagine a "drive emulator" using bank switching cartridge instead of actual floppy. But that would require intercepting commands sent to the drive and redirecting them towards the emulator. That could be too complex to execute.

      @ennio5763@ennio5763 Жыл бұрын
  • Very good information i was looking for something like this.So you can use any kind off ROM file for commodore64/128. thank you.

    @dree6212@dree62123 жыл бұрын
    • Yup, as long as it's a 8 or 16 KB generic or ultimax cart it will work. Any cartridge that has special hardware like ram expansions, freezers that have buttons on them, or internal bank switching won't work though.

      @retrobitstv@retrobitstv3 жыл бұрын
  • Can you add passive cooling to the pla to protect them from failure?

    @usermanico@usermanico2 жыл бұрын
    • Adding a heatsink is a common preventative measure and certainly can't hurt to try. While heat is thought to be a major contributor to PLA failure, there are other reasons these chips can expire of old age including moisture/oxidation seeping into the package due to cost compromises and material technologies of the time, vibration, ESD and the breakdown of the dialectric material due to electron movement. For a deeper dive into the subject, checkout Bil Herd's talk on Component Aging and Heat at kzhead.info/sun/g719np2hm56NlWw/bejne.html

      @retrobitstv@retrobitstv2 жыл бұрын
  • Few questions I've been mulling over: Are EEPROMS still easy and cheap to source? What would be a decent EEPROM burner with software compatible with Linux? Are there any more modern memory types that could be used as EEPROM replacement?

    @ramsa410@ramsa4103 жыл бұрын
    • I've been buying packs of 10 Winbond EEPROMs for 3-4 bucks shipped on eBay from a vendor in China. They're billed as new, but that doesn't mean they aren't pulls/refurbs, or are even authentic. I have had no problems with them at all though. There are also plenty of legit new units available from e.g. Digikey for a couple bucks apiece, so no issues with availability. As these are EE, they are much more convenient than the old UV erasable EPROMs already :) I believe the TL866 burners like the one I use work under Linux. I'm sure I've seen Ben Eater use them this way in his videos, but I haven't tried it myself. The XGPro software also apparently works under Wine, so that's also an option.

      @retrobitstv@retrobitstv3 жыл бұрын
  • I LOVE C64 👍🥂🎩

    @dr.ignacioglez.9677@dr.ignacioglez.96772 жыл бұрын
  • would it be possible to get GEOS onto a ROM for booting purposes? Have it boot from the ROM then access the disk drives as usual once booted. (yes I know everyone's setup would be slightly different but the main prg could be ROM and the rest of the system config reside on the floppy drive

    @MatteoPascolini@MatteoPascolini3 жыл бұрын
    • GEOS128 had a ROM boot option, but I don't think anything like that was available for the 64. It is possible for GEOS on the 64 to boot quickly using an REU though.

      @retrobitstv@retrobitstv3 жыл бұрын
  • Where did you get those "grips" for holding the PCB please?

    @methanoid@methanoid3 жыл бұрын
    • Here's a link: www.amazon.com/gp/product/B01GOL7786/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=B01GOL7786&linkCode=as2&tag=retrobitstv-20&linkId=7274bd88488ef720fbbc888abc7dff33

      @retrobitstv@retrobitstv3 жыл бұрын
  • "I ordered the PCBs from a popular Chinese manufacturer" ..I see you still have an opening for PCB sponsor!

    @teejmiller@teejmiller3 жыл бұрын
    • Haha yea. I think one company's retro KZhead ad campaign has been pretty successful. Who did you think of first? :)

      @retrobitstv@retrobitstv3 жыл бұрын
    • @@retrobitstv OSHPark, of course!

      @teejmiller@teejmiller3 жыл бұрын
  • I don’t understand why you don’t have more views and followers. Which EPROM programmer is that, a TL866?

    @mechaform@mechaform9 ай бұрын
    • Thanks! KZhead can be tough :P Yep, it's a TL866 that I bought from AliExpress years ago before they were plagued with unauthorized copies. Oh, the irony.

      @retrobitstv@retrobitstv9 ай бұрын
    • @@retrobitstv ouch! So I take it one has to be super careful where they buy the programmer in order to get a good one?

      @mechaform@mechaform9 ай бұрын
    • @@mechaform The original TL866 that I have had been superceded by a newer model. I think it's called the T48 but don't quote me in that! Check out the XGecu website for more info.

      @retrobitstv@retrobitstv9 ай бұрын
  • Where did you get that usb joystick adaptor from?

    @Mula381@Mula3813 жыл бұрын
    • It's a 64jpx and lets you use a Genesis, NES or SNES controller. I like it because it lets you map the second fire button to autofire or up/jump. www.64hdd.com/64jpx/64jpx.html

      @retrobitstv@retrobitstv3 жыл бұрын
  • You did a mistake and grabbed the crt file instead the bin file at 13:45

    @ElectroDrome@ElectroDrome Жыл бұрын
    • Haha, good eye! Yea, I didn't notice at the time but discovered that mistake later and fixed it :P

      @retrobitstv@retrobitstv Жыл бұрын
  • These PCBs are standard HASL and absolutely no gold plating! Hello cartridge port wrecker! www.tsb.space/bl0g/ultimate64-cartridge-slot-problem/ Every cartridge Commodore ever made for the VIC-20 and the C64 had gold plating on them. At 18:00 you can clearly see how scratched the surface of the contacts is after only one or two insertions.

    @francoisleveille409@francoisleveille4092 жыл бұрын
    • Great info, thanks for sharing. I absolutely cheaped out when I ordered these and went with the least expensive option available since I figured I'd only have to use this cart once in any given machine (hopefully).

      @retrobitstv@retrobitstv2 жыл бұрын
    • @@retrobitstv If you know you're not going to use a cart often then using HASL can be ok. However, there are many people on eBay and elsewhere selling carts with HASL contacts that are either games so they will be inserted/removed often or diagnostic carts destined to be used on many machines to be tested.

      @francoisleveille409@francoisleveille4092 жыл бұрын
  • Nobody else noticed he messed up and picked the .crt for the last file XD

    @ivannasha5556@ivannasha555612 күн бұрын
  • DOOD!

    @tenminutetokyo2643@tenminutetokyo26433 жыл бұрын
  • the versa64cart is ok but better to use a magicdesk 1m cart much more versatility with ocean carts

    @mrsnaglepops1876@mrsnaglepops18762 жыл бұрын
  • "...When one... arrive"? Oops!

    @HelloKittyFanMan.@HelloKittyFanMan.2 жыл бұрын
  • ti cart mmm hmmm

    @jhoughjr1@jhoughjr12 жыл бұрын
  • You should invest in a 3D printer. It is worth it if you are into retro-computing.

    @infinitecanadian@infinitecanadian Жыл бұрын
    • I have a basic Creality CR-6 SE :)

      @retrobitstv@retrobitstv Жыл бұрын
  • You should use gloves to avoid washing out the lighting and zoom in so we can see the work

    @johnjoyce@johnjoyce Жыл бұрын
KZhead