Sunday, 12 October 2025

Changing SD2IEC Device IDs

This question comes up a lot, so I thought I would compile all the various versions into a single post I can point people at.

Background

All Commodore IEC and IEEE-488 devices need a unique ID to talk to the computer. Most disk drives default to device ID #8, but it is common to have secondary drives as #9, #10 or #11.

This is the number in the ubiquitous LOAD "$",8 style commands.

ID #8 is the most useful as that is the one that most things expect. If you press CBM+RUN/STOP on a machine with Turboload, Fastload or Jiffy DOS, it will load and run the default program from drive ID #8.

(Yes that is a real C64, I just have a modified ROM with SX-64 colours to make it easier to take photos.)

If you do SHIFT + RUN/STOP on a Commodore PET or a TED based machine, this will load and run the default program from drive ID #8.

If you use the DLOAD, DSAVE, CATALOGUE etc. commands on those machines, they will again be using ID #8.

Multi-part loaders will often be hard coded to load subsequent parts from drive ID #8, even if you load the first part from ID#9.

Why Change?

If you have a real disk drive like a 1541, or a built in disk drive on an SX-64 or a C128D or an 8296D, those all start off as ID #8, so would clash with an SD2IEC.

Some drives such as the 1541-II have a switch at the back to change the device ID, but most don't. To change the ID of those, it requires cutting a trace between two pads.

You can later return to ID #8 with a solder blob. People sometimes fitted switches to those pads, although drilling holes in drive cases is frowned upon these days.

It might seem tempting to leave the internal drives or real drives set as ID #8 and change the SD2IEC to ID #9, I would advise against that for the reasons given above.

To make your life easy, set the drive you plan to use the most as ID #8. 

In most cases, that would be the fast, reliable and highly capacious SD2IEC, with only occasional use of the real disk drives to copy files off or to transfer disks to images for use with the SD2IEC.

Still Want To Change?

If I haven't persuaded you, there here are a few methods you can use.

Universal Commands

On most systems, you can type in the following commands to change the ID. There are faster options for specific systems I will cover later.

The first command is the one which tells the drive to temporarily change it's ID:

OPEN 1,current address,15,"U0>"+CHR$(new address) : CLOSE 1

In most cases, you could be changing a drive with the default ID of 8 to be ID #9, so the command would be

OPEN 1,8,15,"U0>"+CHR$(9) : CLOSE 1

(I am not sure why it isn't just U0>9, maybe deliberately to avoid accidental triggers, or simply an error that became a feature?)

This will last until the power is removed or the drive is reset. To make it persist, you need a further command: 

OPEN 1,new address,15,"XW" : CLOSE 1

In the above example, that would be

OPEN 1,9,15,"XW" : CLOSE 1

You can now test this out, but remember you need to use ID #9 for everything now.

LOAD "$",9

We've changed out drive letter by mistake

Should you suffer the common symptom of "ID 9 Regret", you can reverse the process using the same commands with the opposite IDs to change from ID 9 back to ID 8.

OPEN 1,9,15,"U0>"+CHR$(8) : CLOSE 1

OPEN 1,8,15,"XW" : CLOSE 1

Easier Methods

VIC20

If you have a VIC 20 and a Penultimate +2 or +3 Cartridge (and if not, why not?), there is a program on the Utilities menu that will do that for you.

This program will prompt you for the current and new device IDs.

It will that run the same commands as above for you.

Commodore 64

There is a version of the above program on the Future Was 8 bit preloaded SD cards, and in the download pack

It lives in the following location:

-cbm/tools_and_utils/sd2iec-id

Once you find that, you can run it as before to change the ID.

And your SD2IEC is now device ID #9

(please don't forget you did that and take it out of the draw 6 months later and wonder why it doesn't respond to LOAD "$",8 - TFW8b had a run of people at one point trying to return "faulty" SD2IECs where they had forgotten they had changed them to ID #9)

What if I have an internal drive #8?

Ah, if you have a C128D or an SX64, then you can't use the above options as the SD2IEC will conflict with the internal drive as they will both be ID #8. The easiest way, if you can, is to plug it into another computer and change the ID on there first.

If you don't have that option, then you can do it using the type in commands above with a slight trick.

You first type in the following, but do not press return yet

OPEN 1,8,15,"U0>"+CHR$(9):CLOSE 1

You then press and hold the drive reset button on the internal drive (under the flap on the SX-64). That should stop the drive responding whilst you have the button held in.

Then with your other hand, press return and the command will be sent to the SD2IEC.

You can then release the drive reset button and you should have the internal drive still responding to ID #8, and the SD2IEC set to ID #9.

As before, if you want to make that permanent, type the second command. This is going to drive ID #9, so no need for the drive reset button trick this time.

OPEN 1,9,15,"XW":CLOSE 1

What about the SD2PET?

That is slightly different. It is designed to be the only device connected to the PET, so it hard coded to ID#8 to avoid any problems. 

If you have an 8296D (lucky you), you can either change the internal drive to be ID #9, which involves cutting the trace in the white circle next to the "1" on the 8250LP board inside. (I think you can also do it by lifting the appropriate leg of the 6532 next to it). Or simply unplug the cable to the internal disk drives.

Adverts

The new SD2IEC and Fastload Combo from The Future Was 8 bit is available now in four colours for those who are picky about such things.

Tindie

I can still ship worldwide from my Tindie store and US orders are now tariffs paid.

Currently it looks like Royal Mail to the US is working. I pay the 10% tariffs as part of the postage to (hopefully) avoid delays and additional costs at customs. The increased US postage costs cover this.

I have recently built some more Mini PET 40/80 Internal boards, since the Mini PET II is still in development but people keep asking, so here they are.



Patreon

You can support me via Patreon, and get access to advance previews of development logs on new projects like the Mini PET II and Mini VIC and other behind the scenes updates. On there you can see the post you would have got this week if Tindie had approved my listings in time. This also includes access to my Patreon only Discord server for even more regular updates (and me moaning about Tindie not approving my listings in time for blog posts)