diff --git a/ntapi.local.patch b/ntapi.local.patch
deleted file mode 100644
index d69de09..0000000
--- a/ntapi.local.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-diff --git a/include/ntapi/nt_mount.h b/include/ntapi/nt_mount.h
-index 8a7258a..cf2deac 100644
---- a/include/ntapi/nt_mount.h
-+++ b/include/ntapi/nt_mount.h
-@@ -10,6 +10,10 @@
- #define __DEVICE_PATH_PREFIX_LEN	(8 * sizeof(wchar16_t))
- #define __DEVICE_PATH_PREFIX_HASH	(0xDA6FA40B)
- 
-+/* {'\\','D','e','v','i','c','e','\\',M','u','p','\\'} */
-+#define __DEVICE_MUP_PATH_PREFIX_LEN	(12 * sizeof(wchar16_t))
-+#define __DEVICE_MUP_PATH_PREFIX_HASH	(0x0CEBB5F6)
-+
- /* {'\\','?','?','\\','V','o','l','u','m','e','{'} */
- #define __VOLUME_PATH_PREFIX_LEN	(11 * sizeof(wchar16_t))
- #define __VOLUME_PATH_PREFIX_HASH	(0xFEBA8529)
-diff --git a/src/fs/ntapi_tt_statfs.c b/src/fs/ntapi_tt_statfs.c
-index 114cc8e..8bc43e2 100644
---- a/src/fs/ntapi_tt_statfs.c
-+++ b/src/fs/ntapi_tt_statfs.c
-@@ -23,7 +23,7 @@ int32_t __stdcall __ntapi_tt_statfs(
- 	nt_oa			oa;
- 	nt_iosb			iosb;
- 	nt_unicode_string *	sdev;
--	uint32_t		hash;
-+	uint32_t		hash,hash_mup;
- 	wchar16_t *		wch;
- 	wchar16_t *		wch_mark;
- 	uint32_t		offset;
-@@ -156,6 +156,14 @@ int32_t __stdcall __ntapi_tt_statfs(
- 	if (hash != __DEVICE_PATH_PREFIX_HASH)
- 		return NT_STATUS_INVALID_HANDLE;
- 
-+	hash_mup = __ntapi->tt_buffer_crc32(
-+			0,
-+			sdev->buffer,
-+			__DEVICE_MUP_PATH_PREFIX_LEN);
-+
-+	if (hash_mup == __DEVICE_MUP_PATH_PREFIX_HASH)
-+		sdev->buffer[__DEVICE_MUP_PATH_PREFIX_LEN - 1] = 0;
-+
- 	wch_mark = sdev->buffer + __DEVICE_PATH_PREFIX_LEN/sizeof(wchar16_t);
- 	wch = wch_mark;
- 	while (*wch != '\\') wch++;
-@@ -190,6 +198,9 @@ int32_t __stdcall __ntapi_tt_statfs(
- 	statfs->nt_control_flags = 0;
- 	statfs->nt_padding = 0;
- 
-+	if (hash_mup == __DEVICE_MUP_PATH_PREFIX_HASH)
-+		return NT_STATUS_SUCCESS;
-+
- 	if (!(flags & NT_STATFS_VOLUME_GUID)) {
- 		statfs->nt_drive_letter = 0;
- 		pguid = (uint64_t *)&(statfs->nt_volume_guid);
-diff --git a/src/fs/ntapi_tt_open_physical_parent_directory.c b/src/fs/ntapi_tt_open_physical_parent_directory.c
-index 68d282b..742607d 100644
---- a/src/fs/ntapi_tt_open_physical_parent_directory.c
-+++ b/src/fs/ntapi_tt_open_physical_parent_directory.c
-@@ -37,6 +37,9 @@ int32_t __stdcall __ntapi_tt_open_physical_parent_directory(
- 		return NT_STATUS_BAD_FILE_TYPE;
- 
- 	wch = path->buffer + (path->strlen / sizeof(uint16_t));
-+	if ((&wch[-1] >= path->buffer) && (wch[-1] == '\\') &&
-+			(&wch[-2] >= path->buffer))
-+		wch = &wch[-1];
- 	while ((--wch >= path->buffer) && (*wch != '\\'));
- 
- 	if (wch == path->buffer )
diff --git a/psxscl.local@lucio-vm.local.patch b/psxscl.local@lucio-vm.local.patch
deleted file mode 100644
index 1b3b9c0..0000000
--- a/psxscl.local@lucio-vm.local.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-diff --git a/src/iofn/psx_iofn_fsdir.c b/src/iofn/psx_iofn_fsdir.c
-index 53b3380..8bdd7d8 100644
---- a/src/iofn/psx_iofn_fsdir.c
-+++ b/src/iofn/psx_iofn_fsdir.c
-@@ -52,10 +52,34 @@ static int32_t __fastcall __psx_iofn_fsdir_open_next(
- 		path.buffer++;
- 	}
- 
-+	/* XXX */
-+	uint32_t		status;
-+	static char		name_buffer[1024];
-+	nt_unicode_string *	dev_name,full_path;
-+	
-+	iosb.info = 0;
-+	if ((status = __ntapi->zw_query_object(
-+			path_info->hat,NT_OBJECT_NAME_INFORMATION,
-+			name_buffer,sizeof(name_buffer),(uint32_t *)&iosb.info)))
-+		return status;
-+	else {
-+		dev_name = (nt_unicode_string *)name_buffer;
-+		if ((dev_name->strlen > 2) && 
-+			(dev_name->buffer[(dev_name->strlen - 1) / 2] != '\\')) {
-+			dev_name->buffer[dev_name->strlen / 2] = '\\';
-+			dev_name->strlen += 2;
-+		}
-+		__ntapi->tt_generic_memcpy(&dev_name->buffer[dev_name->strlen / 2],
-+			path.buffer,path.strlen);
-+		dev_name->strlen += path.strlen;
-+		full_path.maxlen = (full_path.strlen = dev_name->strlen) + 2;
-+		full_path.buffer = dev_name->buffer;
-+	}
-+
- 	/* oa */
- 	oa.len = sizeof(nt_oa);
--	oa.root_dir = path_info->hat;
--	oa.obj_name = &path;
-+	oa.root_dir = 0;
-+	oa.obj_name = &full_path;
- 	oa.obj_attr = path_info->ntobjattr;
- 	oa.sec_desc = 0;
- 	oa.sec_qos  = 0;
-@@ -73,6 +97,45 @@ static int32_t __fastcall __psx_iofn_fsdir_open_next(
- 		0,0);
- }
- 
-+static int32_t __stdcall __psx_iofn_fsdir_open_parent_directory(
-+	void **		hparent,
-+	void *		hdir,
-+	uintptr_t *	buffer,
-+	uint32_t	buffer_size,
-+	uint32_t	desired_access,
-+	uint32_t	open_options,
-+	int32_t *	type)
-+{
-+	uint32_t			status;
-+	nt_io_status_block		iosb;
-+	nt_file_internal_information	fii_hdir,fii_hroot;
-+	struct __psx_tlca *		tlca;
-+
-+	tlca = __tlca_self();
-+	status = __ntapi->zw_query_information_file(
-+			hdir,&iosb,&fii_hdir,sizeof(fii_hdir),
-+			NT_FILE_INTERNAL_INFORMATION);
-+	if (status)
-+		return status;
-+	status = __ntapi->zw_query_information_file(
-+			tlca->ctx->root.hfile,&iosb,&fii_hroot,sizeof(fii_hroot),
-+			NT_FILE_INTERNAL_INFORMATION);
-+	if (status)
-+		return status;
-+	if (fii_hdir.index_number.quad == fii_hroot.index_number.quad) {
-+		*hparent = hdir;
-+		*type = PSX_FD_OS_FS_ROOT;
-+		status = NT_STATUS_SUCCESS;
-+	} else
-+		status = __ntapi->tt_open_physical_parent_directory(
-+			hparent,hdir,
-+			buffer,
-+			buffer_size,
-+			desired_access,
-+			open_options,type);
-+	return status;
-+}
-+
- int32_t	__stdcall __psx_iofn_fsdir_getvents(
- 	void *			hfile,
- 	void *			hevent,
-@@ -133,6 +196,6 @@ void __fastcall __psx_iofn_fsdir_init(struct __iovtbl * iovtbl)
- 	iovtbl->getdents		= __ntapi->zw_query_directory_file;
- 	iovtbl->getvents		= __psx_iofn_fsdir_getvents;
- 
--	iovtbl->open_logical_parent  = __ntapi->tt_open_logical_parent_directory;
--	iovtbl->open_physical_parent = __ntapi->tt_open_physical_parent_directory;
-+	iovtbl->open_logical_parent  = __psx_iofn_fsdir_open_parent_directory;
-+	iovtbl->open_physical_parent = __psx_iofn_fsdir_open_parent_directory;
- }
-diff --git a/src/path/psx_path_parse.c b/src/path/psx_path_parse.c
-index ff4d933..08431b6 100644
---- a/src/path/psx_path_parse.c
-+++ b/src/path/psx_path_parse.c
-@@ -48,8 +48,8 @@ int32_t __fastcall __psx_parse_normalized_path_utf8(
- 			ch,
- 			++(path_info->depth));
- 
--		if (*(++ch)=='/') {
--			ch++;
-+		if (ch[1]=='/') {
-+			ch+=2;
- 		}
- 	}
- 
-diff --git a/src/path/psx_path_resolve.c b/src/path/psx_path_resolve.c
-index 2bd615c..705e646 100644
---- a/src/path/psx_path_resolve.c
-+++ b/src/path/psx_path_resolve.c
-@@ -260,7 +260,7 @@ static int __fastcall __path_swap_at(
- 	int32_t			status;
- 
- 	/* swap */
--	if (path_info->pathflags & PSX_PATH_CLOSE_AT)
-+	if ((path_info->pathflags & PSX_PATH_CLOSE_AT) && (path_info->hat != path_info->hfile))
- 		if ((status = __iovtbl[path_info->fdtypeat].close(path_info->hat)))
- 			return status;
-
-diff --git a/src/process/_execve.c b/src/process/_execve.c
-index a623d2a..80dd4a9 100644
---- a/src/process/_execve.c
-+++ b/src/process/_execve.c
-@@ -232,7 +232,7 @@ intptr_t __sys_execve(const unsigned char * path, const char ** argv, const char
- 			NT_SECTION_QUERY|NT_SECTION_MAP_EXECUTE,
- 			&oa,&ssize,
- 			NT_PAGE_EXECUTE,
--			NT_SEC_IMAGE,
-+			NT_SEC_RESERVE,
- 			image->info.hfile)))
- 		return __execve_return(tlca,0,target,-ENOEXEC);
-