Is your io_os.bin in any way prepared for getting patched by a boot info table which overwrites bytes 8 to 63 ? If not, then omit option -no-emul-boot .
If not the size of io_os.bin is 2048 bytes and it is not prepared for a boot info table, then omit option -boot-load-size 4 .
If your .bin is actually a disk image, then try what happens if you omit option -no-emul-boot to get floppy emulation, or if you replace it by option -hard-disk-boot to get hard disk emulation. You will probably need to read the El Torito Bootable CD-ROM Specification. Wikipedia points to: https://web.archive.org/web/20080218195330/http://download.intel.com/support/motherboards/desktop/sb/specscdrom.pdf