public boolean saveSpecificPalette(Component parentComponent, NESPaletteListener listener, int palType, int start, int dur){
		if(palType != PPUConstants.IMAGE_PALETTE_TYPE && palType != PPUConstants.SPRITE_PALETTE_TYPE){
			System.err.println("Invalid palType:" + palType);
			return false;
		}
		if(start < 0 || start >= 16){
			System.err.println("Invalid palette starting point:" + start +" needs to be between 0<=N<16");
			return false;
		}
		if(dur <= 0 || dur > 16){
			System.err.println("Invalid palette duration:" + dur +" needs to be 0 < N <=16");
			return false;
		}

		File selectedFile = FileUtilities.selectFileForSave(parentComponent);
		if(selectedFile == null){
			return false;
		}

		return FileUtilities.saveBytes(selectedFile,
				((palType ==  PPUConstants.IMAGE_PALETTE_TYPE) ?  (getCHRModel().imagePalette) :   (getCHRModel().spritePalette)),
				start,
				dur
		);
	}