Sunday, 23 March 2025

48K RAM Pack for Jupiter Ace

Here it is, the thing everyone has been waiting for, a 48K RAM pack expansion for the Jupiter Ace.

OK, maybe not everyone. I accept in this case the target audience is almost, but not quite, entirely no one.

I designed this when I was looking at repairing George Beckett's Jupiter Ace 4000, although in the end, it was decided to leave the original owner's late 80s mods intact as a non-functional work of art.

Since then, I have made a few of the 48K RAM packs for various Ace owners, and all reports have been positive.

I was recently contacted again and asked if I could supply one, so I thought it was about time I got around to listing this on Tindie.

It is available in kit or assembled versions.

You can use it like that if you like, but the slightly oddly shape PCB is for a reason.

It is designed to fit into a case from Future Was 8 bit, as used on the divMMC and the SD2PET.

The two button holes have been assigned to be a power LED and a reset button (neither of which the Ace has).

The edge connector fits nicely in the space designed for the slightly longer Spectrum edge connector.

There are cutouts on the case for the SD card and joystick. Neither of those are provided. Maybe one day?

Until then, a second PCB acts as a blanking plate.

This slots into the cutout at the back of the PCB.

"This space has been left intentionally blank". Hmm, seemed like a good idea at the time. (it was actually there to make sure the PCB manufacturer added their serial number onto this side of the board so it wasn't visible from the back. These boards were ordered in 2020, before they added the option to have the number removed. yes it has been sitting around that long, sorry. Some things happened in 2020......)

This cased version kit includes the extra PCB and the case.

This version is supplied with a special LED, a 4mm flat top version which fits neatly in the hole.

When assembling, it need to be mounted proud of the board, you can stand it in the case lid so it sits level with the top surface.

Then place over the PCB and solder. It's not obvious, but the lump on the side is negative, as the shorter leg as normal.

There is also a top hat button for the reset button.

Looks quite neat in the end, and unexpectedly matches the step in the case.

Maybe if you were creative you could add some red stripes? If only I knew someone with a new vinyl cutting machine. Oh wait, I do..... (artists impression)

Thanks to Binary Dinosaurs and Mat Recardo for photos of their upgraded Jupiter Aces.

They have been confirmed the RAM is being detected by the Ace.

I suggested in the manual that version of the RAM size detection, I added the 1- so the value printed is the last byte, rather than the last byte + 1. 65535 is the top of RAM with 48K installed, $FFFF. Without the 1- that would return 0 which is not obvious.

Here are some useful links to get software to make use of all the newly available RAM.

Stop Press

Just as I was finishing writing the original version of this for Patreon, I got a message about an expected package that will be arriving here shortly......


Adverts

The 48K RAM pack for Jupiter Ace is available from my Tindie store. Don't all rush at once.

There are a selection of other repair and upgrade parts for various machines listed on my Tindie store, many of which can be seen on this PET 2001 board.

Be the envy of all your friends with one of the limited edition run of blue PET Diagnostics modules.

Patreon

You can support me via Patreon, and get access to advance previews of development logs on new projects and behind the scenes updates. These are often in more detail than I can fit in here. This also includes access to my Patreon only Discord server for even more regular updates.

Sunday, 16 March 2025

Excelerator Plus disk drive repair

This is an Excelerator Plus drive, also known as various things such as FSD-2 and Oceanic OC-118N.

Not sure what the logo says, DEC? OEC? Oceanic something something?

It is a 1541 clone, with the same specs and performance as the standard 1541. However they claim it is faster, more efficient, has more capabilities, larger buffers etc. I am not sure how that is possible, it seems to be the same 1MHz 6502 with 2K RAM and 16K ROM.

The ROM is interesting. It is not binary identical to the 1541, but that is only because two of the data lines are swapped. With those swapped back, it seems to be almost* the same as the 1541. (* see later)

Indeed it reports the standard 1541 ID string.

It seems to be well made, so I would go with dependable. And I would agree with quieter and smaller. Not sure I would agree it was any faster than a stock 1541, nor would it seem likely to have larger buffers if it is using the same 2K RAM chip and ROM code.

Ignoring those potentially optimistic claims, it is a really nice drive.

Very compact, reliable and a fraction of the weight and size of a 1541.

One bonus it did have, although it is not clear exactly how and when, but some of these drives shipped with factory JiffyDOS ROMs. Those did make the drive faster, if you have the complimentary Jiffy DOS ROM in your computer.

The original drives had two DIP switches accessible via the bottom of the case to set drive ID (which the 1541 didn't have).

I have seen pictures of drives with three DIP switches, the third apparently to switch between the standard 1541 ROM and the Jiffy DOS ROM.

But, I have also seen two switch drives with official (or at least official looking) JiffyDOS ROMs.

The Excelerator plus is smaller even than the 1541-II (lower and narrower, although slightly longer)

It owes more to the design of the 1541-II, external power supply and drive ID DIP switches.

The external power supply is interesting. Externally, it is a 5 pin DIN socket, but if you look at the PCB, it is actually designed for a 4 pin DIN, and they have just removed the middle pin of the 5 pin DIN so the footprints patch.

If you were to fit a 4 pin DIN socket, it would be pin compatible with the 1541-II supply (and the 1581).

I did the same on my 1581 clone build, I fitted a 5 pin DIN socket so that I could use the power cable I made for my Excelerator plus drive.

The power cables is where this particular drive's problems start. The owner had used this for many years but when moving things around the power cable was damaged and remade. Despite checking it twice, the pinout was accidentally reversed, and, well, you can guess what happened. 12V on the 5V rail is not a nice thing to happen.

For reference, this is the correct wiring, 5V (red) nearest the power switch (also red), 12V (yellow) facing the IEC sockets (not red). Grounds in between and the middle pin not connected.

The drive was dead, and when they checked inside, the EPROM and RAM chip were very hot.

With the power connections corrected, a replacement EPROM was tried, but the drive remained dead, just spinning the motor and doing nothing.

And so it appeared on my desk, let's see if I can fix it.

Inside a different Excelerator plus drive, you can see it is a very compact and well thought out design with multiple boards connected together with pin headers. It could easily have ended up a mess of wires, but they have done well.

The drive in for repair does have some extra wires.

It is not like other Excelerator plus drives, this is a sort of Excelerator plus plus.

Yes, it has a built in SD2IEC.

That is quite intricately buried, but unfortunately seems to have been damaged by the power supply (the 12V has probably taken out the regulator). The owner asked me to leave that to them, so I have disconnected it for the moment.

I was sent the second drive to supply donor parts if necessary.

One of the boards on the top is the easiest to remove, that has the clock and various other logic on board. I figured I could easily swap those over and see if the board from the damaged drive will work in the good drive.

This will be a good test to see how much of the drive has survived. It is possibly that some or all of the logic chips have been fried. If that is the case, it could be a lot of work to repair.

Success, that boots and passes some simple tests.

OK, so it's not a total loss, that whole board appears to work correctly.

I am not going to bother with the other smaller boards just yet, I think those are less likely to be an issue, I want to look at the main board.

This is mainly taken up by the ROM, RAM, two 6522 VIA chips and the 6502 CPU, as well as a handful of logic chips and the head stepper motor drive circuitry,

I was planning to try that board in the good drive, but I couldn't get the screws out of the boards on the good drive. They seem to have been over-tightened by a big electric screwdriver with full power and no clutch. Two of them I could not move at all, they were starting to strip, so I left them alone. There is really no need to do screws up this tight, it just makes them impossible to remove.

It looks like this is the happened during of some previous repair work on the good drive, one of the VIA chips is a few years older than all the rest of the chips, so I guess that has been replaced. There is also a visible lack of solder around the legs on the top of the board?

Back to the damaged drive. The EPROM has been swapped with a known good one, and I have checked the supplied new one works fine.

The next suspect is the RAM chip, which was reported to be getting very hot.

I did not wish to risk damaging things further by powering that up, so I removed that and fitted a socket.

I tested the suspect chip in my T48 programmer.

The old RAM chip tested bad, so I put a new 6116 chip in.

The M5M5117P is pin compatible with the standard 6116 2K x 8 RAM chip, as was the V61C16P that was previously fitted.

Great, the drive spun the disk up for a few seconds then stopped with the green light on, ready.

I used the Epyx fastload to send the status command and got back the standard drive ID string.

Great, now to test the disk.

Excellent.

Will it load?

Success.

Before I put it all back together, I did the usual drive things, cleaned the heads with IPA and put some Molykote lithium grease on the rails.

I also labelled up the Jiffy DOS ROM.

To get any benefit from that, I need to have Jiffy DOS on the C64C I am using for testing. I have Jiffy DOS on a breadbin C64 I normally use for testing, but not sure where that is, so I need to convert this one. I have been wanting to upgrade the ROM on this machine for another reason, so I may as well get it done. I have a Jiffy DOS ROM from a dead C64 that's a little worse for wear, so I will transfer that to this one, with a slight update to the ROM image.

Oh great, the ROM is soldered in.

Oh well, time to remove that and fit a socket.

One downside of JiffyDOS (other than having to open the machine and desolder your original ROM) is the datasette routine have been removed to make space for the extra functionality. So if, like me, you still use a datasette, you need to be able to switch between the standard ROM and JiffyDOS as required.

This is why you see lots of C64s with holes on the back for switches like this.

There are two handy pads to the side of the ROM, presumably designed for an additional decoupling capacitor they decided they didn't need, so did not fit.

I use those to fit a small slide switch, the top and bottom pins fit neatly into the 5V and 0V pads on the board, and the middle wire is connected to pin 27 of the EPROM, which is lifted away from the socket (where it would be tied to 5V normally).

That allows me to switch between the ROM versions, and is high enough up the board to be accessible even with the keyboard installed.

Time to give that a go.

You may notice that is not the usual C64 boot screen, it is actually SX-64 colours, and also very reminiscent of the VIC20.

I have been getting sick of my inability to take photos of the normal light blue on slightly darker blue C64 screen.

That is what my camera does most of the time. If I move it around, I can surprise it into taking a slightly better picture, but if I am not fast enough, it soon dissolves back to solid blue.

To get away from that, I changed the default colours of the border, background and text in the two ROM images.

That makes it a lot easier to take pictures for the blog of C64 stuff. I went back and redid all the captures in this post with the new screen colours.

And yes, JiffyDOS is working and both ends

I am used to typing $ for a directory listing with Epyx fastload rather than having to type @$ for JiffyDOS.

Unlike the computer end, the does not seem to be any downside to having JiffyDOS ROM enabled on the drive all the time, so no need for a switch

All good so far, time to try the 1541 demo disk.

It seems to read that fine, time for the performance test.

Blank disk at the ready (actually I have the 1541 Demo disk on a DSDD floppy with a notch on both sides, so I just flip it over for the scratch test disk).

That passed fine.

Do not forget to remove the diskette before turning the power off folks.

That is all done and ready to go back to it's owner to have the SD2IEC reinstated.

Addendum

Earlier, I said the ROM was "almost" the same as the 1541. Well, I was interested to see how close it was, so I wrote a program to untwist the twisted ROM.

It's easy to spot, the file from the Excelerator plus ROM has a section of padding at the start and the end, filled with $B2. As is common with lots of other Commodore ROMs, the 1541 ROM used $AA for padding. Checking the binary representations of those, $B2 is 10110010 and $AA is 10101010, confirming that it is most likely that D3 and D4 are swapped).

The older 1541 drives have two 8K ROMs, the C000-DFFF section is the same from the 1540 to all the 1541 versions, 325302-01 and that is also binary identical to the first 8K of the untwisted Excelerator plus ROM.

The upper 8K had many versions, and the closest seems to be 901229-05, as used on the 1541 short board. The checksum is the same, but there are actually five bytes different. One of those at $1F2F is part of the $AA padding in the Commodore drive and $F0 in the Excelerator plus, and that seems to be there to make the checksum the same.

The other four bytes are more interesting and could be justification for the "faster" claims.

Bytes $3A48 and $3ABB in the combined ROM are $02, in the all Commodore drives, they are both $05.

I managed to locate and build the source for the Commodore ROM:

Looking at that code, the value is described as "settle time", so they have sped things up slightly by reducing the settle time in the motor control section.

The other two changes were in the format code. There the Commodore code writes 28*256 bytes in two places ($3DB6, $3E20), but the Excelerator plus ROM changes this to 08*256 bytes.

OK, so I guess it is faster. I stand corrected.


Advertisements

One of the reason for this, and a few other upcoming disk drive related posts, was to test the turbo loader in the new Penultimate +3. That is shipping now from TFW8b.com.


Tindie

Minstrel 2 and 3 kits are available from my Tindie store, with worldwide shipping. Versions available for ZX81 case or standalone with keyboard, and also Misntrel 3 with ZXpand microSD card interface (and now available as PCB only).

I will slowly be moving things over there from my SellMyRetro store, so if there is anything that you want, let me know and I'll add it.

Patreon

You can support me via Patreon, and get access to advance previews of posts like this and behind the scenes updates. Patreon supporters had advance notice of this new feature, and are currently getting a run of posts as I catch up after spending the last few months testing Turboload. This also includes access to my Patreon only Discord server for even more regular updates.