Details for this version of C128DM 2.0

Included in this archive:

c128dm_u2-<version>.crt:     

 C128 hardware type 1, subtype 2 virtual cartridge for use with 
 the 1541 UII and Ultimate II+ cartridges.

c128dm_standalone-<version>.bin

 .bin file for use on a 27256 or equivalent e(e)prom for the U36
 socket of a C128 or with VICE as external function rom. 
 This version includes the boot manager, directory/file browser,
 diagnostics and 'game/demo mode', but does not include any UII(+)
 related functionality.

With that out of the way... what is new in this version:

- includes Servant128 version 4.85
  More information about this update: 
  https://github.com/ytmytm/c128-theservant-sd2iec

Because of the cartridge rom banking support, there exist 2 
separate versions, which are based on the same code but with different
modules included:

- A UII/UII+ specific version, distributed as .crt file. 
- A standalone version distributed as .bin file, which does not
  include any UII/UII+ functionality and is intended to be used
  in U36 or on a regular cartridge.

The 'restore' key

As long as software does not modify the NMI vector at $0318, the restore key
has some additional functionality:

Press alt + restore to enter the C128DM freeze menu
      control + restore to reload VDC character set
      c= + restore to safely enter the UII+ menu (always on 40 column display!!)

The freeze menu lets you mount disks while a program is running, and stores a
snapshot of the currently running program in /temp/


Usage instructions for the directory browser:

First of all, the browser has various modes:
  - select image (used for starting a disk in 64 mode and booting
    from one in 128 mode)
  - select a program (currently unused)
  - select either a program or image, browser will decide what to
    do with the selected file.
  - when selecting a program, you can use the C= key to force
    starting it in 64 mode, or ctrl to force starting it in 128 mode.
  - when selecting an image, hold the C= key to force starting it in
    64 mode.

If you select 'start disk in 64 mode', and you select one of
drive a or b, you will be asked to select an image to mount.
Pressing escape in the browser will exit it, and try to start
whatever is already mounted, if anything.

If you try to boot 128 mode from either drive a or b, you will
also be asked to select an image to mount on the selected drive.
Again, escape will exit the browser, and whatever is already
mounted will be booted.

If you start the browser directly (from the boot menu), you can
select an image (which will for now be booted in 128 mode) or
a prg file, in which case the browser will try to detect what
mode it is for, and start it in the appropriate mode.

Use the cursor keys to navigate, up/down to scroll through the
list, cursor left to go up one directory or leave the current
image, cursor right to enter the currently selected directory
or image.

Instead of the cursor keys, you can also use a joystick connected
to port 2, or a snes controller connected using the snes adapter
from the 8 bit guy.

Enter performs the default action on the currently selected item
(enter dir, mount image, start program) (primary button on controller
does the same)

You can force using 128 mode when starting a program by holding the
control key, or 64 mode by holding the c= key.

The browser supports the 'hyperspeed' drive (and software iec)
but also supports the sd2iec and floppy drives.

It should also support the pi1541, but this is untested.

Ah.. use +/- to change the current drive.


Snapshots, crashdumps etc

In the dm config menu, you can enable the 'extended break handler',
this will make DM write a ram dump to /temp/ when a BRK instruction
is encountered. See crashdump.txt for information on the ram dump.

This functionality is intended for developers.

The crashdump format and the snapshot format are identical, the
difference between the 2 is in the included metadata. 

You can 'run' a snapshot, which will continue the program from
where it was interupted. You can also run a crashdump, which will
drop you into the ml monitor as if the system had just encountered
a break, with the ram contents restored.

Running a snapshot will only work when software doesn't have open
files and isn't running any code on drives. You may need to mount
any disks the program needs before running a snapshot.


