The DIY cartridge: JOLLY CARTRIDGE!
Moderator: Moderators
-
- Vic 20 Enthusiast
- Posts: 160
- Joined: Wed Feb 24, 2021 11:32 am
- Location: NC, USA
- Occupation: Engineer
Re: The DIY cartridge: JOLLY CARTRIDGE!
Ah,, that clarifies this for me too. Like Chysn, I thought the U2 jumper was an either-or option, ie you could use a jumper to activate RAM1,2&3 or you could activate BLK1. I didn't realize both were possible at the same time. The more I find out about this cartridge, the more impressed I am
I think what confused me is that on the first page of this thread, you show an example configuration with 8K in BLK5 and either 3K in RAM 1,2 &3 or 24K in BLKs 1-3. In that example, the jumper to activate the 3K is between pins 4 and 5 of J1, but in this case you are able to activate the 3K by jumping between pins 3 & 4. If I understand it correctly, in one case you are assigning the 62256 chip's BLK1 RAM to RAM 1,2&3 and in the other case you are assigning the 65256's BLK5 RAM to RAM1,2&3. Is that correct?
The way this cartridge works is very flexible, but without understanding how it works internally, it's not very easy to understand how to get the maximum out of it.
I think what confused me is that on the first page of this thread, you show an example configuration with 8K in BLK5 and either 3K in RAM 1,2 &3 or 24K in BLKs 1-3. In that example, the jumper to activate the 3K is between pins 4 and 5 of J1, but in this case you are able to activate the 3K by jumping between pins 3 & 4. If I understand it correctly, in one case you are assigning the 62256 chip's BLK1 RAM to RAM 1,2&3 and in the other case you are assigning the 65256's BLK5 RAM to RAM1,2&3. Is that correct?
The way this cartridge works is very flexible, but without understanding how it works internally, it's not very easy to understand how to get the maximum out of it.
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: The DIY cartridge: JOLLY CARTRIDGE!
Yes! That's the pattern, thanks!
Now I can set up some kind of software-based switching system...
Indeed, me too.doug_in_nc wrote: ↑Tue Jan 18, 2022 7:53 amThe more I find out about this cartridge, the more impressed I am
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: The DIY cartridge: JOLLY CARTRIDGE!
Got my Jollies! Thanks!
Re: The DIY cartridge: JOLLY CARTRIDGE!
Thanks to you,
I hope you will have a lot of fun with DreamCart too!
"Two things are infinite, the universe and human stupidity, and I am not yet completely sure about the universe." (Albert Einstein)
-
- Vic 20 Enthusiast
- Posts: 160
- Joined: Wed Feb 24, 2021 11:32 am
- Location: NC, USA
- Occupation: Engineer
Re: The DIY cartridge: JOLLY CARTRIDGE!
I finally got round to refining and printing my 3d printed design for a Jolly Cart case, so I thought it might be useful to other owners. I went through a number of iterations including ones that are direct copies of the Commodore cartridge design, but those are not easy to print reliably, so I went for a simplified one. The case includes a reset button, and is designed to be assembled either with metal inserts for M3 screws or to just clip together (this works on my printer, but may not do so on anyone else's depending on the tolerances). To use the inserts, just clean out the holes on the base section that are currently blanked out. You may need to do a little bit of sanding to get the reset button to fit properly as I designed it to fairly tight tolerances. The PCB should clip in to the base quite snugly without needing screws to hold it.
- Attachments
-
- Jolly_Case.zip
- (86.54 KiB) Downloaded 57 times
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: The DIY cartridge: JOLLY CARTRIDGE!
That's great work! Sadly, my son's 3D printer, the only one in the house, doesn't have a big enough platform to print cartridges. But, it's definitely something on the wish list.
- Lechuck
- Vic 20 Enthusiast
- Posts: 183
- Joined: Wed Nov 11, 2020 7:23 am
- Location: Madrid
- Occupation: IT
Re: The DIY cartridge: JOLLY CARTRIDGE!
Looks great! Thanks a lot for sharing.
Cheers
Cheers
Re: The DIY cartridge: JOLLY CARTRIDGE!
Wonderful, thanks for sharing it!doug_in_nc wrote: ↑Tue Feb 22, 2022 7:24 am I finally got round to refining and printing my 3d printed design for a Jolly Cart case, so I thought it might be useful to other owners. (...)
"Two things are infinite, the universe and human stupidity, and I am not yet completely sure about the universe." (Albert Einstein)
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: The DIY cartridge: JOLLY CARTRIDGE!
I ordered a bunch of HM62256s for my project. Instead, the vendor sent the same number of 27C512s. I requested a return (because I really need the SRAM chips), and the vendor sent the correct chips, while letting me keep the 27C512s.
So now I have the opportunity to try out some new stuff with the Jolly Cart! I'm not sure what. I could load up my three favorite cartridge games onto a single PCB, or.... something. I can think about that while erasing all these EPROMs!
So now I have the opportunity to try out some new stuff with the Jolly Cart! I'm not sure what. I could load up my three favorite cartridge games onto a single PCB, or.... something. I can think about that while erasing all these EPROMs!
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: The DIY cartridge: JOLLY CARTRIDGE!
Okay, Max, I have a configuration question...
I've got a 27C512. I install it in socket U2. My understanding is that if NO jumpers are connected, it will place the 27C512 in Blocks 2 and 3.
Do I need to offset my code within the 27C512 in order for it to be started in Block 2 with SYS 16384?
I've got a 27C512. I install it in socket U2. My understanding is that if NO jumpers are connected, it will place the 27C512 in Blocks 2 and 3.
Do I need to offset my code within the 27C512 in order for it to be started in Block 2 with SYS 16384?
-
- Vic 20 Enthusiast
- Posts: 160
- Joined: Wed Feb 24, 2021 11:32 am
- Location: NC, USA
- Occupation: Engineer
Re: The DIY cartridge: JOLLY CARTRIDGE!
I asked a similar question shortly after MCe announced the JollyCart, and in reply he created a template to show you where to put the data in a 27C512. This is a copy of it.
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: The DIY cartridge: JOLLY CARTRIDGE!
I appreciate this, but what is this BIN file format? My computer doesn't know what to do with these.doug_in_nc wrote: ↑Wed Sep 14, 2022 7:33 am I asked a similar question shortly after MCe announced the JollyCart, and in reply he created a template to show you where to put the data in a 27C512. This is a copy of it.
(Edit: Never mind, got it, thanks!)
(Edit again: All right, cool, I'm all set! Since the blocks are backwards, I wrote a shell script to wrangle the various bits of a single assembly file, using Max's template as padding, where necessary:
Code: Select all
# Build ROM for Jolly Cartridge
# So, block 1 goes to $e000 and block 2 goes to $c000
# Split the file up into two parts
cat ./vic/archivist.bin | head -c 8192 > ./vic/block1.bin
cat ./vic/archivist.bin ./src/jolly.bin | head -c 16384 > ./vic/int
cat ./vic/int | tail -c 8192 > ./vic/block2.bin
rm ./vic/int
cat ./src/jolly.bin | tail -c 49152 > ./vic/int
cat ./vic/int ./vic/block2.bin ./vic/block1.bin > ./vic/archivist.eep
rm ./vic/int
-
- Vic 20 Enthusiast
- Posts: 160
- Joined: Wed Feb 24, 2021 11:32 am
- Location: NC, USA
- Occupation: Engineer
Re: The DIY cartridge: JOLLY CARTRIDGE!
Are you going to include speech in it too? After all, if its got a SYS it's got to have speech too, right?
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: The DIY cartridge: JOLLY CARTRIDGE!
Probably off-topic here, but is there a way to emulate that in VICE? I never had the speech thing.doug_in_nc wrote: ↑Thu Sep 15, 2022 10:49 am Are you going to include speech in it too? After all, if its got a SYS it's got to have speech too, right?
Also, I’ve decided on using regular autostart.
- chysn
- Vic 20 Scientist
- Posts: 1205
- Joined: Tue Oct 22, 2019 12:36 pm
- Website: http://www.beigemaze.com
- Location: Michigan, USA
- Occupation: Software Dev Manager
Re: The DIY cartridge: JOLLY CARTRIDGE!
Here's an updated shell script. This takes a binary file (PROGRAM.bin) of up to 24K and builds a 64K ROM image suitable for use with Jolly Cartridge in blocks 1, 2, and 3. Additionally, it takes a second binary file (AUTOSTART.bin) for block 5, which can be used for autostart, or more ROM, or both.
Code: Select all
# Build ROM for Jolly Cartridge
# So, block 1 goes to $e000, block 2 goes to $c000, block 3 goes to $6000
# Autostart for $a000 goes to $4000
# Split the binary file (PROGRAM.BIN) up into three parts
cat ./vic/PROGRAM.bin ./src/jolly.bin | head -c 24576 > ./vic/block1-2-3.bin
cat ./vic/block1-2-3.bin | head -c 8192 > ./vic/block1.bin
cat ./vic/block1-2-3.bin | head -c 16384 > ./vic/block1-2.bin
cat ./vic/block1-2.bin | tail -c 8192 > ./vic/block2.bin
cat ./vic/block1-2-3.bin | tail -c 8192 > ./vic/block3.bin
rm ./vic/block1-2.bin
rm ./vic/block1-2-3.bin
# Make 16k padding and autostart
cat ./src/jolly.bin | head -c 16384 > ./16k
cat ./vic/AUTOSTART.bin ./16k | head -c 8192 > ./vic/autostart.eep
# Generate entire Jolly Cartridge image
# 0-4 $4000 $6000 8-c $c000 $e000
cat ./16k ./vic/autostart.eep ./vic/block3.bin ./16k ./vic/block2.bin ./vic/block1.bin > ./vic/PROGRAM.eep
rm ./16k