Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
Go to file
blueswir1 f2d81b3300 Floppy: Properly handle Sense Interrupt Status after FDC Reset
Original text below.

Attached is a patch that changes how the emulated floppy controller replies to Sense Interrupt Status commands immediately after a controller reset. The specs state that after a Reset the 82078 goes into polling mode which needs four Sense Interrupt Status commands to be issued afterwards to clear the status of each drive. Currently we always respond to Sense Interrupt Status with a SEEK END instead of POLLING. This causes a problem with the SCO Openserver installer which is expects a POLLING state after reset. This patch returns a POLLING status for four Sense Interrupt Status requests immediately after a controller reset. This approach mirrors the way Bochs handles this situation. With the attached patch applied Openserver gets further when trying to load storage drivers from the floppy disk (blocked by another issue, patch on its way). I have successfully tested the floppy drive on the following OSs after applying this patch: Windows 98, Windows XP SP2, Linux x86 (SysRescCD 1.1.3 and Ubuntu 8.10).

Justin

Changelog:

Properly handle Sense Interrupt Status after FDC Reset

Signed-off-by: Justin Chevrier <theburner1@yahoo.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6416 c046a42c-6fe2-441c-8c8c-71466251a162
2009-01-24 12:09:52 +00:00
audio Fix NAME2/FIELD2 warnings 2009-01-22 22:09:55 +00:00
bsd-user Fix user emulator breakage, based on patch by Riku Voipio 2009-01-20 16:57:34 +00:00
darwin-user Convert references to logfile/loglevel to use qemu_log*() macros 2009-01-15 22:34:14 +00:00
fpu Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
gdb-xml Add GDB XML register description support. 2008-10-11 17:55:29 +00:00
hw Floppy: Properly handle Sense Interrupt Status after FDC Reset 2009-01-24 12:09:52 +00:00
keymaps Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
linux-user linux-user: add qemu_realloc() implementation to unbreak the build (Gerd Hoffman) 2009-01-23 15:02:20 +00:00
pc-bios Add BIOS fixes from KVM tree 2009-01-21 21:46:20 +00:00
slirp Fix _P use on OpenBSD 2009-01-14 18:04:52 +00:00
target-alpha global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
target-arm global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
target-cris global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
target-i386 global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
target-m68k global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
target-mips global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
target-ppc global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
target-sh4 global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
target-sparc global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
tcg global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
tests Get rid of user_mode_only 2009-01-14 19:40:27 +00:00
.gitignore Extend gitignore (Jan Kiszka) 2009-01-22 17:15:25 +00:00
a.out.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
aes.c Fix miscellaneous minor things, by Andre Przywara. 2007-12-17 03:15:52 +00:00
aes.h AES crypto support 2004-08-01 21:54:53 +00:00
aio.c Make sure to initialize fd_sets in aio.c 2008-10-12 21:19:57 +00:00
alpha-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
alpha.ld alpha support 2003-04-29 20:53:42 +00:00
arm-dis.c Update ARM disassembler. 2007-11-10 17:38:00 +00:00
arm-semi.c Fix more FSF addresses 2009-01-05 18:11:53 +00:00
arm.ld Link ARM prologue closer to code segment to avoid a build failure 2008-07-10 17:21:31 +00:00
balloon.h Add missing file from previous commit. 2008-12-04 20:35:16 +00:00
block_int.h Use an option rom instead of boot sector for -kernel 2008-11-08 16:27:07 +00:00
block-bochs.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-cloop.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
block-cow.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-dmg.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
block-nbd.c Remove unnecessary #includes from block-nbd.c 2008-08-19 19:10:38 +00:00
block-parallels.c Split block API from vl.h. 2007-11-11 02:51:17 +00:00
block-qcow2.c qcow2 format: keep 'num_free_bytes', and show it upon 'info blockstats' (Uri Lublin) 2009-01-22 18:57:34 +00:00
block-qcow.c qcow1: Fix compressed images (Kevin Wolf) 2009-01-08 19:29:03 +00:00
block-raw-posix.c Rename sigev_signo to avoid FreeBSD problems (Juergen Lock) 2009-01-24 11:54:21 +00:00
block-raw-win32.c Expand cache= option and use write-through caching by default 2008-10-14 14:42:54 +00:00
block-vmdk.c fix off-by-one generating vmdk backing files (Avi Kivity) 2008-10-28 14:08:49 +00:00
block-vpc.c Fix char* signedness, by Andre Przywara. 2007-12-16 03:16:05 +00:00
block-vvfat.c Use a hex value instead of possibly ambiguous 8 bit character 2008-12-14 09:30:41 +00:00
block.c qcow2 format: keep 'num_free_bytes', and show it upon 'info blockstats' (Uri Lublin) 2009-01-22 18:57:34 +00:00
block.h qcow2 format: keep 'num_free_bytes', and show it upon 'info blockstats' (Uri Lublin) 2009-01-22 18:57:34 +00:00
bswap.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
bt-host.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
bt-vhci.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
buffered_file.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
buffered_file.h Introduce a buffered file wrapper for QEMUFile 2008-10-13 03:10:22 +00:00
cache-utils.c Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
cache-utils.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
Changelog Update 2008-06-08 01:55:07 +00:00
cocoa.m Let the USB tablet reach the far bottom and right pixels 2008-03-10 19:34:27 +00:00
configure Use kill instead of sigqueue: re-enables AIO on OpenBSD 2009-01-17 06:49:15 +00:00
console.c fix endianness problem sharing the videoram buffer 2009-01-23 19:56:19 +00:00
console.h fix endianness problem sharing the videoram buffer 2009-01-23 19:56:19 +00:00
COPYING COPYING: update from FSF 2008-10-12 17:54:42 +00:00
COPYING.LIB Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
cpu-all.h Add map client retry notification (Avi Kivity) 2009-01-22 16:59:16 +00:00
cpu-defs.h Get rid of user_mode_only 2009-01-14 19:40:27 +00:00
cpu-exec.c global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
cris-dis.c Teach the CRIS disassembler to stay within the provided buffer. 2008-05-06 08:45:10 +00:00
curses_keys.h Control + i and [tab] share keycode in curses, simulate [tab]. 2008-10-28 00:11:06 +00:00
curses.c fix curses interface (Stefano Stabellini) 2009-01-21 18:59:12 +00:00
cutils.c I/O vector helpers (Avi Kivity) 2009-01-22 16:59:20 +00:00
d3des.c Ansify to please sparse 2008-10-27 19:49:12 +00:00
d3des.h Actually add d3des implementation files. 2007-08-25 02:09:50 +00:00
def-helper.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
device_tree.c Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
device_tree.h Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
dis-asm.h Fix OpenBSD linker warnings 2008-08-21 17:58:08 +00:00
disas.c Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
disas.h * Use function pointers for symbol lookup (currently for elf32 and elf64, 2008-10-22 15:11:31 +00:00
dyngen-exec.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
elf_ops.h Use load address when loading ELF images. 2008-10-22 18:20:20 +00:00
elf.h Fix most warnings that would be caused by gcc flag -Wundef 2008-09-06 17:47:39 +00:00
exec-all.h Add noreturn function attribute 2009-01-14 19:00:36 +00:00
exec.c Add map client retry notification (Avi Kivity) 2009-01-22 16:59:16 +00:00
feature_to_c.sh Fix undeclared symbol warnings from sparse 2008-10-26 13:43:07 +00:00
gdbstub.c Rework vm_state_change notifiers (Jan Kiszka) 2009-01-22 17:15:29 +00:00
gdbstub.h User-mode GDB stub improvements - handle signals 2008-12-18 22:44:13 +00:00
gen-icount.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
host-utils.c Code used by the linux-user targets should not use vl.h. 2007-11-05 13:01:41 +00:00
host-utils.h Include <strings.h> for ffs(). 2008-11-12 17:18:41 +00:00
hostregs_helper.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
hpet.h Add a local copy of hpet.h. 2007-09-16 20:03:23 +00:00
hppa-dis.c HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
hppa.ld HPPA (PA-RISC) host support 2008-04-12 20:14:54 +00:00
i386-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
i386.ld Add TLS sections. 2008-05-31 16:21:33 +00:00
ia64.ld ia64 host support (David Mosberger) 2005-04-07 22:20:31 +00:00
keymaps.c Make keysym tables const 2008-10-02 18:26:42 +00:00
kqemu.c Convert references to logfile/loglevel to use qemu_log*() macros 2009-01-15 22:34:14 +00:00
kqemu.h kqemu API change - allow use of kqemu with 32 bit QEMU on a 64 bit host 2008-05-30 20:48:25 +00:00
kvm-all.c KVM: Silence unused s warning 2008-12-18 22:42:51 +00:00
kvm.h kvm: sync vcpu state during initialization (Hollis Blanchard) 2008-12-15 22:20:42 +00:00
libfdt_env.h Implement device tree support needed for Bamboo emulation 2008-12-16 10:43:48 +00:00
LICENSE Add missing newline at the end of file 2008-12-14 08:50:18 +00:00
loader.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
m68k-dis.c Spelling and grammar fixes 2008-11-30 16:25:37 +00:00
m68k-semi.c Fix more FSF addresses 2009-01-05 18:11:53 +00:00
m68k.ld m68k host port (Richard Zidlicky) 2003-08-10 22:14:22 +00:00
MAINTAINERS Update maintainers list. 2008-08-25 22:26:03 +00:00
Makefile install man-pages as non-executables (Andre Przywara) 2009-01-22 17:15:21 +00:00
Makefile.target Consolidate library creation (Avi Kivity) 2009-01-21 18:13:16 +00:00
migration-exec.c Fix brown-paper-bag bugs from live-migration patch (Charles Duffy) 2008-11-12 22:29:11 +00:00
migration-tcp.c Fix brown-paper-bag bugs from live-migration patch (Charles Duffy) 2008-11-12 22:29:11 +00:00
migration.c Reintroduce migrate-to-exec: support (Charles Duffy) 2008-11-11 16:46:33 +00:00
migration.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
mips-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
mips.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
mipsel.ld Linker scripts for MIPS hosts. 2007-05-05 19:24:38 +00:00
monitor.c Add 'set_link' monitor command (Mark McLoughlin) 2009-01-08 19:44:06 +00:00
nbd.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
nbd.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
net-checksum.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
net.c Fix tap downscript argument (Mark McLoughlin) 2009-01-13 19:15:55 +00:00
net.h Add qemu_check_nic_model() and qemu_check_nic_model_list() (Mark McLoughlin) 2009-01-13 19:03:57 +00:00
osdep.c Remove redundant #ifdef _BSD 2008-12-11 19:39:56 +00:00
osdep.h snapshot subcommand for qemu-img (Kevin Wolf) 2009-01-07 17:40:15 +00:00
pci-ids.txt This should have been added in Gerd's previous commit. 2008-12-17 21:32:37 +00:00
posix-aio-compat.c Rename sigev_signo to avoid FreeBSD problems (Juergen Lock) 2009-01-24 11:54:21 +00:00
posix-aio-compat.h Rename sigev_signo to avoid FreeBSD problems (Juergen Lock) 2009-01-24 11:54:21 +00:00
ppc64.ld Correct version of Heikki Lindholms ppc64.ld script 2008-08-20 22:39:24 +00:00
ppc-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
ppc.ld Update ppc.ld to work with newer binutils. 2007-04-28 19:00:30 +00:00
qemu_socket.h sockets: helper functions for qemu (Gerd Hoffman) 2008-11-11 20:46:40 +00:00
qemu-aio.h Refactor AIO to allow multiple AIO implementations 2008-09-22 19:17:18 +00:00
qemu-binfmt-conf.sh Code provision for n32/n64 mips userland emulation. Not functional yet. 2007-09-30 01:58:33 +00:00
qemu-char.c monitor-mux: fix timestamp prefixes (Jan Kiszka) 2009-01-22 17:15:16 +00:00
qemu-char.h add an init function parameter to qemu_chr_open() 2009-01-18 14:08:04 +00:00
qemu-common.h I/O vector helpers (Avi Kivity) 2009-01-22 16:59:20 +00:00
qemu-doc.texi Add -rtc-td-hack option to fix time drift with RTC on Windows (Gleb Natapov) 2009-01-15 20:11:34 +00:00
qemu-img.c qemu-img: info: show highest_alloc and num_free_bytes if exist (Uri Lublin) 2009-01-22 18:57:38 +00:00
qemu-img.texi New qemu-img convert -B option, by Marc Bevand. 2008-06-05 21:53:49 +00:00
qemu-lock.h Remove all traces of __powerpc__ 2009-01-14 18:39:49 +00:00
qemu-log.h Define macros that will become the new logging API (Eduardo Habkost) 2009-01-15 21:52:11 +00:00
qemu-malloc.c Add qemu_strndup: qemu_strdup with length limit. 2008-11-09 00:28:40 +00:00
qemu-nbd.c qemu-nbd: fix options: -b (--bind) expects an argument (IFACE) (Uri Lublin) 2009-01-08 19:34:35 +00:00
qemu-nbd.texi Fix formatting of documentation (Stefan Weil) 2008-09-22 20:41:57 +00:00
qemu-sockets.c Fix some more warnings 2009-01-14 18:34:22 +00:00
qemu-tech.texi Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej) 2008-10-09 18:52:04 +00:00
qemu-timer.h Break up vl.h. 2007-11-17 17:14:51 +00:00
qemu-tool.c Fix warning from sparse (wrong declaration) 2008-11-30 16:25:17 +00:00
readline.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
README Add missing newline at the end of file 2008-12-14 08:50:18 +00:00
rules.mak Consolidate library creation (Avi Kivity) 2009-01-21 18:13:16 +00:00
s390-dis.c Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
s390.ld Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
savevm.c Fix handling of disk-only snapshots (Kevin Wolf) 2008-12-11 21:06:49 +00:00
sdl_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
sdl.c Fix SDL slowness. 2009-01-21 01:50:17 +00:00
sh4-dis.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu_defs.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_exec.h Fix some warnings that would be generated by gcc -Wredundant-decls 2008-08-30 09:51:20 +00:00
softmmu_header.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu_template.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
softmmu-semi.h Suppress gcc 4.x -Wpointer-sign (included in -Wall) warnings 2008-09-20 08:07:15 +00:00
sparc64.ld Map code buffers below 2G on Sparc64 2008-07-26 15:05:57 +00:00
sparc-dis.c Make OpenBSD sparc-softmmu compile warning free 2009-01-14 18:08:08 +00:00
sparc.ld More detabification 2007-10-06 11:28:21 +00:00
sys-queue.h Remove CRs 2008-12-14 08:53:17 +00:00
sysemu.h Rework vm_state_change notifiers (Jan Kiszka) 2009-01-22 17:15:29 +00:00
tap-win32.c Add a -net name=foo parameter (Mark McLoughlin) 2009-01-07 17:48:51 +00:00
texi2pod.pl Update texi2pod.pl. 2008-02-04 14:47:49 +00:00
thunk.c Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
thunk.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
TODO Update 2008-12-04 11:29:42 +00:00
translate-all.c global s/loglevel & X/qemu_loglevel_mask(X)/ (Eduardo Habkost) 2009-01-15 22:36:53 +00:00
uboot_image.h Update FSF address in GPL/LGPL boilerplate 2009-01-04 22:05:52 +00:00
usb-bsd.c Make OpenBSD sparc-softmmu compile warning free 2009-01-14 18:08:08 +00:00
usb-linux.c Suppress a -Werror=format-security warning 2008-12-28 15:45:20 +00:00
usb-stub.c Fix usb-stub compilation 2008-11-25 16:49:33 +00:00
VERSION version change 2008-01-06 17:10:54 +00:00
vgafont.h Some little fixes on QEMU 2008-09-06 16:31:30 +00:00
vl.c Stop VM on error in virtio-blk. (Gleb Natapov) 2009-01-22 19:52:25 +00:00
vnc_keysym.h Make keysym tables const 2008-10-02 18:26:42 +00:00
vnc.c exploiting the new interface in vnc.c (Stefano Stabellini) 2009-01-15 22:17:38 +00:00
vnchextile.h exploiting the new interface in vnc.c (Stefano Stabellini) 2009-01-15 22:17:38 +00:00
x86_64.ld update 2005-01-06 20:50:00 +00:00
x_keymap.c Add statics and missing #includes for prototypes. 2007-11-18 01:44:38 +00:00

Read the documentation in qemu-doc.html.

Fabrice Bellard.