Skip to content

Add npm run qemu / qemu:cdrom scripts#368

Merged
felixrieseberg merged 1 commit into
mainfrom
qemu-npm-scripts
Apr 14, 2026
Merged

Add npm run qemu / qemu:cdrom scripts#368
felixrieseberg merged 1 commit into
mainfrom
qemu-npm-scripts

Conversation

@felixrieseberg
Copy link
Copy Markdown
Owner

Adds two convenience scripts for booting images/windows95.img in QEMU with the device set the image is actually configured for.

npm run qemu

qemu-system-i386 -m 128 -drive file=images/windows95.img,format=raw \
  -device sb16 -M pc,acpi=off,vmport=on -cpu pentium \
  -netdev user,id=mynet0 -device ne2k_isa,netdev=mynet0,iobase=0x300,irq=10
  • ne2k_isa,iobase=0x300,irq=10 — matches the *PNP80D6 ForcedConfig baked into SYSTEM.DAT (and v86, whose ne2k sits at port 0x300 with PIRQA→IRQ 10). Using ne2k_pci here makes Win95 pop the "NE2000 Compatible (0000) is not working properly" dialog.
  • vmport=on — explicit so VBMouse's VMware-backdoor detection finds it (Found VMware protocol version 6 / VMware integration enabled); QEMU's monitor then shows * vmmouse (absolute) as the active pointer.
  • -drive ...,format=raw instead of -hda to drop the "probing guessed raw" write-restriction warning.

npm run qemu:cdrom -- <iso>

Same boot plus -cdrom <iso>, e.g. for mounting an installer ISO as D:.

Boots images/windows95.img with the same device set the image was
configured against:

- ne2k_isa at iobase=0x300, irq=10 (matches the NE2000 ForcedConfig in
  SYSTEM.DAT and v86's port 0x300 / PIRQA->IRQ10)
- vmport=on so VBMouse picks up the VMware backdoor for absolute pointer
- sb16, pentium, acpi=off as before

qemu:cdrom forwards an ISO path: npm run qemu:cdrom -- /path/to.iso
@felixrieseberg felixrieseberg merged commit 3151fff into main Apr 14, 2026
8 checks passed
@felixrieseberg felixrieseberg deleted the qemu-npm-scripts branch April 14, 2026 17:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant