QEMU trunk builds for DOS - keyboard bug fix (Announce)
> > But I played with the Qemu v0.91 source for myself and "fixed" the bug.
> >
> > Here is the modified
> > source code.
>
> Thanks! I'll have a look at it.
Rod. P. on news://comp.os.msdos.djgpp mentioned a small QEMU patch of his too, which may or may not be interesting for you:
> QEMU 0.8.2 works on Win98SE, but QEMU 0.9.1 needs some help.
> I posted a patch here. IIRC, it didn't fix cdrom images.
> But, (since I didn't/don't have email to send to them) I don't
> think ever got to the QEMU team:
>
> http://groups.google.com/group/alt.os.development/msg/b4dc0fc1a7d501fc?hl=en
diff -Naur qemu-0.9.1/block-raw-win32.c qemu-0.9.1.win98se/block-raw-win32.c
--- qemu-0.9.1/block-raw-win32.c 2008-01-06 14:38:42.000000000 +0000
+++ qemu-0.9.1.win98se/block-raw-win32.c 2008-02-13 20:37:46.000000000 +0000
@@ -34,6 +34,10 @@
#define FTYPE_CD 1
#define FTYPE_HARDDISK 2
+#if 1
+#define WIN98SE
+#endif
+
typedef struct BDRVRawState {
HANDLE hfile;
int type;
@@ -103,7 +107,11 @@
#ifdef QEMU_IMG
overlapped = FILE_ATTRIBUTE_NORMAL;
#else
+#ifndef WIN98SE
overlapped = FILE_FLAG_OVERLAPPED;
+#else
+ overlapped = FILE_ATTRIBUTE_NORMAL;
+#endif
#endif
if (flags & BDRV_O_DIRECT)
overlapped |= FILE_FLAG_NO_BUFFERING | FILE_FLAG_WRITE_THROUGH;
@@ -131,7 +139,12 @@
memset(&ov, 0, sizeof(ov));
ov.Offset = offset;
ov.OffsetHigh = offset >> 32;
+#ifndef WIN98SE
ret = ReadFile(s->hfile, buf, count, &ret_count, &ov);
+#else
+ SetFilePointer(s->hfile,ov.Offset,&ov.OffsetHigh,FILE_BEGIN);
+ ret = ReadFile(s->hfile, buf, count, &ret_count, NULL);
+#endif
if (!ret) {
ret = GetOverlappedResult(s->hfile, &ov, &ret_count, TRUE);
if (!ret)
@@ -153,7 +166,12 @@
memset(&ov, 0, sizeof(ov));
ov.Offset = offset;
ov.OffsetHigh = offset >> 32;
+#ifndef WIN98SE
ret = WriteFile(s->hfile, buf, count, &ret_count, &ov);
+#else
+ SetFilePointer(s->hfile,ov.Offset,&ov.OffsetHigh,FILE_BEGIN);
+ ret = WriteFile(s->hfile, buf, count, &ret_count, NULL);
+#endif
if (!ret) {
ret = GetOverlappedResult(s->hfile, &ov, &ret_count, TRUE);
if (!ret)
Complete thread:
- QEMU trunk builds for Win32 - rr, 25.02.2009, 23:57 (Announce)
- QEMU trunk builds for Win32 - Japheth, 26.02.2009, 13:34
- QEMU trunk builds for Win32 - rr, 26.02.2009, 21:52
- QEMU trunk builds for Win32 - rr, 26.02.2009, 22:39
- QEMU trunk builds for Win32 - RayeR, 27.02.2009, 23:29
- QEMU trunk builds for Win32 - rr, 28.02.2009, 00:13
- QEMU trunk builds for Win32 - RayeR, 28.02.2009, 02:13
- QEMU trunk builds for Win32 - rr, 28.02.2009, 00:13
- QEMU trunk builds for Win32 - RayeR, 27.02.2009, 23:29
- QEMU trunk builds for Win32 - rr, 28.02.2009, 20:58
- QEMU trunk builds for Win32 - rr, 28.02.2009, 23:22
- QEMU trunk builds for Win32 - rr, 03.03.2009, 23:07
- QEMU trunk builds for DOS - DOS386, 01.03.2009, 13:48
- QEMU trunk builds for DOS - keyboard bug - ecm, 01.03.2009, 16:22
- QEMU trunk builds for DOS - rr, 01.03.2009, 22:00
- QEMU trunk builds for DOS - keyboard bug fix - Japheth, 15.03.2009, 11:52
- QEMU trunk builds for DOS - keyboard bug fix - rr, 15.03.2009, 22:14
- QEMU trunk builds for DOS - keyboard bug fix - Japheth, 16.03.2009, 07:04
- QEMU trunk builds for DOS - keyboard bug fix - Rugxulo, 17.03.2009, 00:42
- QEMU trunk builds for DOS - keyboard bug fix - Japheth, 17.03.2009, 08:31
- QEMU trunk builds for DOS - keyboard bug fix - rr, 17.03.2009, 13:41
- QEMU trunk builds for DOS - keyboard bug fix - Japheth, 17.03.2009, 17:11
- QEMU trunk builds for DOS - keyboard bug fix - rr, 17.03.2009, 13:41
- QEMU trunk builds for DOS - keyboard bug fix - rr, 15.03.2009, 22:14
- QEMU trunk builds for DOS - keyboard bug fix - Japheth, 15.03.2009, 11:52
- QEMU trunk builds for Win32 - rr, 28.02.2009, 23:22
- QEMU trunk builds for Win32 - rr, 09.03.2009, 22:41
- QEMU trunk builds for Win32 - Japheth, 26.02.2009, 13:34