; test-coverage cases not covered by regular tests

    DEVICE ZXSPECTRUM48                     ; errors about wrong device
    SAVECDT EMPTY "BadDevice.cdt"
    SAVECDT FULL "BadDevice.cdt"
    SAVECDT BASIC "BadDevice.cdt"
    SAVECDT CODE "BadDevice.cdt"
    SAVECDT HEADLESS "BadDevice.cdt"
    SAVECDT INVALID "BadDevice.cdt"

    DEVICE NONE
    SAVECDT EMPTY "NoDevice.cdt"            ; error about none device

    DEVICE AMSTRADCPC464
    SAVECDT INVALID "BadDevice.cdt"         ; invalid sub-command
    ; empty filename
    SAVECDT EMPTY
    SAVECDT EMPTY ""
    SAVECDT FULL

    ; BASIC syntax errors
    SAVECDT BASIC "some.cdt"
    SAVECDT BASIC "some.cdt",
    SAVECDT BASIC "some.cdt",""
    SAVECDT BASIC "some.cdt","",
    SAVECDT BASIC "some.cdt","",0
    SAVECDT BASIC "some.cdt","",0,
    SAVECDT BASIC "some.cdt","",0,1,
    SAVECDT BASIC "some.cdt","",0,&
    SAVECDT BASIC "some.cdt","b1",-1,1 ; invalid start address
    SAVECDT BASIC "some.cdt","b2",0x1234,0 ; invalid length
    SAVECDT BASIC "some.cdt","b3",0xFFFF,2 ; invalid start+length
    SAVECDT BASIC "some.cdt","b4",0,0x10000 ; invalid length (64ki block is not possible)

    ; CODE syntax errors
    SAVECDT CODE "some.cdt"
    SAVECDT CODE "some.cdt",
    SAVECDT CODE "some.cdt",""
    SAVECDT CODE "some.cdt","",
    SAVECDT CODE "some.cdt","",0
    SAVECDT CODE "some.cdt","",0,
    SAVECDT CODE "some.cdt","",0,&
    SAVECDT CODE "some.cdt","",0,1,
    SAVECDT CODE "some.cdt","",0,1,&
    SAVECDT CODE "some.cdt","",0,1,0,
    SAVECDT CODE "some.cdt","c1",-1,1 ; invalid start address
    SAVECDT CODE "some.cdt","c2",0x1234,0 ; invalid length
    SAVECDT CODE "some.cdt","c3",0xFFFF,2 ; invalid start+length
    SAVECDT CODE "some.cdt","c4",0,0x10000 ; invalid length (64ki block is not possible)

    ; HEADLESS syntax errors, invalid values
    SAVECDT HEADLESS "some.cdt"
    SAVECDT HEADLESS "some.cdt",
    SAVECDT HEADLESS "some.cdt",0
    SAVECDT HEADLESS "some.cdt",0,
    SAVECDT HEADLESS "some.cdt",0,&
    SAVECDT HEADLESS "some.cdt",0,1,
    SAVECDT HEADLESS "some.cdt",0,1,&
    SAVECDT HEADLESS "some.cdt",0,1,0,
    SAVECDT HEADLESS "some.cdt",0,1,0,2
    SAVECDT HEADLESS "some.cdt",0,1,0,0,
    SAVECDT HEADLESS "some.cdt",-1,1 ; invalid start address
    SAVECDT HEADLESS "some.cdt",0x1234,0 ; invalid length
    SAVECDT HEADLESS "some.cdt",0xFFFF,2 ; invalid start+length
    SAVECDT HEADLESS "some.cdt",0,0x10000 ; invalid length (64ki block is not possible)

    ; FULL syntax errors
    SAVECDT FULL "some.cdt",
    SAVECDT FULL "some.cdt",0,
    SAVECDT FULL "some.cdt",0, 0,0, 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
    ; not testing dangling comma after each optional value... it works, really...
    SAVECDT FULL "some.cdt" ; snapshot of empty machine => error "could not determine the end of the program"

    ; try specific variants (depending on DEVICE state) also in CPC 6128 device
    DEVICE AMSTRADCPC6128
    SAVECDT FULL "some.cdt" ; snapshot of empty machine => error "could not determine the end of the program"
