Device manager startup screen.
A device manager rom for your Commodore 128 (D)

If you are using a Commodore 128 together with an Ultimate II cartridge, you probably encountered some oddities for 128 mode, and for 128 D users, you probably found the internal drive gets in the way at times. The Commodore 128 device manager rom addresses those issues, and provides some nice extra features exclusively for your Commodore 128.

This rom supports the Ultimate II cartridge command interface, and some features are not available if the command interface is not enabled, or no Ultimate II is installed.

To use, put the .bin file on a storage device connected to your U2 cartridge, activate the U2 builtin file browser, find the .bin file, press enter and select 'use as cartridge'.
Now go to the U2 setup menu (F2), C64 and cartridge settings, and set cartridge to 'Custom 128 external rom'. Leave the setup menu, and power cycle your 128 (or press F5 while in the U2 file browser, and select 'reboot C64'.

Features:

  • mute or change id of conflicting drives
  • game/demo mode for those demos and games that do not like more than one device on the iec bus.
  • system information, system test and 17xx reu test
  • Syncs clock to the time of day clock of the UII
With exception of the advanced options and game/demo mode device selection menus, all menus will time out after approx 3 seconds, you can use the space bar to cancel this timeout. You can also press space to pause the startup screen.

Why is this usefull?

Let's assume a Commodore 128D with built-in 1571, and an UII+ with drive a enabled. Both devices are set to ID 8.
This would cause a device id conflict, but when using the device manager, this will be detected, and you can decide on how it resolves this.
This means you can select which drive will actually be at id 8 at each boot, and can optionally disable the conflicting drive, or move it to an alternative id.

When you power on or reset your c128, and just let the device manager do its thing, it will detect conflicts between uII drives and physical drives, and will default to changing the device id of the physical drive. Before doing so, it will give you a few seconds to select an alternative action (press space to cancel the timeout). So lets say you want to run some software from UII drive a, and want to have your 1571 available for reading/writing physical floppy disks (lets say.. to run a copy program). You'd use either option 1 or option 3 (default) from the conflict resolution menu, depending on which of the 2 drives you want to be drive 8.

Game/Demo mode

Many demos and games only want to run with one single device enabled. To run those, use game/demo mode. It will let you select which of the available drives to use, and will try to mute all other drives. If it can't mute the drive, it will ask you to disable it or power it off. It will also check for printers.

All this works without having to change ID switches, modify your 128D to add drive enable and ID switches etc.

Notes:

  • Muting of drives is only supported on 154x, 157x and 1581 drives. Drives like the sd2iec, mIEC etc do not support this functionality.
  • Changing device IDs is not supported currently for UII software IEC devices, and any device reported as 'unknown'.
  • This rom can coexist with well behaved function roms, for example, you can have this rom in the external socket, and servant128 in the internal socket.
  • while it is possible to select a 1581 which is not at id 8 as boot device, this does not work properly without a bootable disk in the drive, and may still not work with a bootable disk. This has no effect for 64 mode, but will cause the drive to reset to its original id in 128 mode.

Download

version 1.10 is now available. It requires the most recent (v3.7) firmware for the U2+
version 1.11 beta 1 is now available for testing

Changes

  • 1.11: VDC detection and test, 2 MHZ support, detect incorrect phi2 settings (UII/UII+), improved memory test, early detection of stack and zeropage errors
  • 1.10: remove C128 diag rom and replace it with new system and reu tests. New 1581 mute support, and some minor refinements to sysinfo and bootmanager menus.
  • 1.09: do not destroy reu data when autostarting c64 disk, update diagnostics to rev 789010JB
  • 1.08: autostart disks in 64 mode, add advanced options menu, system info, C128 diagnostics and game/demo mode.
  • 1.07: fix key debouncing between menus, some timing and display fixes
  • 1.06: make menu timeouts more consistent, allow using space bar to stop menu timeouts
  • 1.05: make startup screen more informative, move boot manager to before switching to basic 7 or 64 mode.
  • 1.04: improved error checking, improved handling of unknown devices.
  • 1.03-MIEC: recognize mIEC devices and send proper command for changing their device id.
  • 1.03: better handle unknown drives, cosmetic fixes
  • 1.02: enable go64 feature
  • 1.01: add bootmanager
  • 1.00: rewrite of user interface, fix startup bug with non DCR machines


C64 device #8 selection for game/demo mode

Credits

Gideon Zweijtzer for creating the 1541 Ultimate cartridges.
Scott Hutter for the firmware change that enables drive management on the UII cartridges.
Krill for coming up with this approach for muting 154x/157x devices.
Everyone who helped testing and debugging.