GideonZ / 1541ultimate

Official GIT archive of 1541 ultimate II sources
GNU General Public License v3.0
173 stars 45 forks source link

internal drive disabler #356

Open Flexmaen opened 1 year ago

Flexmaen commented 1 year ago

This is a feature request, maybe it's worth mentioning:

There is a software called S.T.F.U. that is able to disable your internal drive on your C128. This is useful since the internal drive is on # 8 if you don't modify your C128, but even if you added an 8/9 switch many modern demos don't like a 2nd drive on the bus. However, you need to load S.T.F.U. from disk (DMA load won't work) and apply the fix everytime you restart your computer, and then change the 1541U back to # 8, so this always takes some time.

Maybe you could add a "automatically disable internal drive" feature to the 1541U, so that it will automatically do this after restart as long as the option is enabled.

BTW, S.T.F.U. worked on both the metal and plastic C128 but it didn't work on my SX64. No idea if you can disable the internal drive via software there too.

xahmol commented 1 year ago

You could use the Device Manager ROM of Bart van Leeuwen to do exactly that. It includes the S.T.FU. code/functionality. And much more.

https://www.bartsplace.net/content/publications/devicemanager128.shtml

And Facebook group for the 2.0 alpha testing:

https://m.facebook.com/groups/c128dm/?ref=share

Flexmaen commented 1 year ago

You could use the Device Manager ROM of Bart van Leeuwen to do exactly that. It includes the S.T.FU. code/functionality. And much more.

Thanks, I'll have a look on that it might be useful. However, just a simple "automatically disable internal drive" option in the 1541-U still might be great, since these software solutions are great but not really quick and straight forward.

And Facebook group for the 2.0 alpha testing:

Unfortunately you cannot see any content without facebook account.

xahmol commented 1 year ago

Of course it is for Gideon, not me, to decide, but as I think most users that seriously use an Ultimate II device on a C128D or DCR already use Device Manager ROM, I expect that adding it to the UII firmware directly will not have much prio.

By the way: Device Manager ROM is not just software like STFU, but a C128 Function ROM that is, if selected as cartridge in the UII settings, automatically started on every C128 boot. So it is as quick as adding it to the UII itself would be. And it is really straight forward: setting it up once and never look at it again.

And yes, it is a pity the much improved 2 version of it is for now still only accessible via Facebook. You could reach out to Bart of course. And the STFU functionality is already in the version that is publically online (as that was exactly the reason it was written in the first place).

By the way: Device Manager ROM has the option to either disable the internal drive, but also to change it device ID automatically on start. So in normal use I actually do not disable the internal drives on my 128D and 128DCR, but let it automatically be changed to the first free ID (typically 10). And use the demo mode of Device Manager ROM to in one go disable all devices but the one on 8 to be able to run demos.

bvl1999 commented 4 months ago

Note version 2 is publicly available from https://www.bartsplace.net/content/publications/devicemanager128.shtml

Some things to know...

See https://www.bartsplace.net/content/publications/drivemute.shtml for some background on how drive muting works (the article is mostly about using drive muting to ensure only one drive on the iec bus, but the exact same method works for muting internal drives). The article includes sample code in case you'd want to make something yourself.

Last but not least.. yeah, it would be nice if the UII+ includes such functionality out of the box, but, in practise, what should happen after power-on/reset very much depends on what exactly you are going to run, which makes this less straightforward than it would seem at first glance. A solution doesn't just have to work for your usecase, it should work for most usecases, and not get in the way for those who do not need it.