Flopper

### Note: This file was automatically generated from the much higher-quality Flopper.PDF document as a convenience for people who don't like PDF files. However, it lacks most paragraph formatting, and looks "ugly". Therefore, it is strongly recommended that you view or print Flopper.PDF instead of viewing this one.

The Bootable PC Floppy Diskette Emulator

Installation Guide and Manual
www.oldskool.org/pc/flopper/
© 1997-2000 The Flopper Project

Any similarity to any existing project, whether fictional or real, is coincidental and non-intentional. No animals were harmed in the creation of Flopper--unless you count cows, where the beef in the cheeseburgers came from. And the milk for the milkshakes, too.

Table of Contents

Introduction 5

What Flopper is and why you would use it 5

What Flopper Does 5

Other methods of booting diskette image files 6

Installation 8

Requirements, diskette images, vector tables 8

Requirements 8

First-time Installation 8

Diskette Image Files 9

Operation 10

Launching images, switching disks, taking screenshots 10

Launching Flopper 10

The Flopper Menu 11

Load Image 12

Save Image 12

Write Protect/Enable Disk 12

Boot Current Image 13

Return To Image 13

Exit To DOS 13

Screenshots 14

Troubleshooting 15

What to do if Flopper doesn't work 15

Error: This program does not work with Himem.sys installed 15

Error: File not found 15

Error: File not found:vectable.dat 15

Vectable.dat file does not exist even after running install 16

Computer won't boot to the floppy diskette that install created 16

Flopper locks up when a disk image is launched 16

Program complains about being a duplicate and refuses to run 17

Frequently-Asked Questions 18

What makes Flopper tick, and answers to some obvious (and not so obvious) questions 18

Does Flopper boot 3.5" diskette images as well? 18

Can't I just copy my disks to a 3.5" disk and boot them? 18

Can flopper boot diskette images with non-standard sector sizes? 19

How can I switch diskettes? My bootable program comes on more than one disk. 19

Can Flopper save to the image file? (for games that save high scores,
saved games, etc.) 19

How does Flopper work? 19

Why didn't you use the "Virtual 8086" mode of the 80386 and higher? 19

Can flopper take snapshots of text, EGA, and VGA screens? 20

I've done everything right and my game still won't launch! 20

Resources 22

Where to find more information 22

The Flopper Project's Home Site 22

The Floppertalk Mailing List 22

Finding additional bootable diskette images 22

Contacting Us 23

Credits 24

Everyone who has touched Flopper in a positive way 24

The Flopper Project would like to thank the following: 24

Authors 24

Support 24

Suggestions and Comments 24

Appendix A 25

Creating Image Files with DISK2IMG 25

Introduction 25

Appendix B 27

Converting Screenshots to .GIF files with CGA2GIF 27

Introduction 27

Usage 27

Notes 28

Index 29

Introduction

What Flopper is and why you would use it

What Flopper Does

Flopper is a bootable-disk emulator--it reads a diskette image file (a file that contains all the sectors of a floppy disk) and boots it. This way, you can boot (and run) a bootable diskette off of your hard drive. It can also take screenshots (pictures of the screen) and perform speed throttling (slow the CPU down to simulate the speed of an older PC).

Flopper was created to run older bootable games (and other boot-only programs) from the early era of IBM PC software. Many early PC software titles between 1981 and 1988 came on a 5.25" disk and booted directly, such as the Microprose classics F-15 Strike Eagle and Pirates!. "Booted directly" means that you stuck the disk in drive A: and turned on the machine, and the custom operating system on the diskette took over, booted the computer, and ran the program. The diskette was not formatted with DOS, did not require DOS, and was not even readable by DOS! (Attempts to read the diskette returned the familiar "Abort, Retry, Ignore" message). So, if you have one or more of these old programs and want to run them but don't have a 5.25" drive as your A: drive (or don't have a 5.25" drive at all), Flopper can
help you.

Flopper allows you to boot and run these great old games and programs by emulating the bootable floppy disk process. Here's an overview (described in more detail later in this manual) of how it works:

• Run Flopper's INSTALL.COM program, which guides you through saving the default interrupt vectors (this is a one-time only process)

• Obtain the diskette image of the program you want to run (see "Obtaining Images" later in this document)

• Boot DOS "clean" (or Shut Down to MS-DOS mode)

• Run Flopper with the disk image as an argument

That's it! Flopper will read the diskette image into memory, then "boot" it, right off of your hard disk.

Other methods of booting diskette image files

We'd be lying if we said this was the only way to boot a floppy diskette image off of a hard drive. We are convinced, however, that Flopper is the best and easiest way to do it. To be fair, here are some of the other methods we've tried of booting diskette image files, along with their advantages and disadvantages:

• OS/2: Works, but requires the installation of an additional operating system, which is cumbersome. The process is also non-obvious.

• Linux (dosemu): dosemu doesn't actually boot bootable games, only DOS disks or very close variants, like the bootable games that use Quicksilver's QuickDOS. And of course it requires the installation of an additional operating system.

• VMware (V8086 environment): This works well, but is a massive memory hog; we needed 64 MB of free RAM to get it to work

• Bochs (386 emulator): This has a problem with CGA emulation, and it is very slow.

• MESS and Tand-Em: PC/Tandy emulators, these programs attempt to simulate original PCs and Tandys/PCjrs exactly. They both work well, but don't support some of the ease-of-use features of Flopper, like switching disk images on the fly, write-read and write-only protection, and screenshots.

Installation

Requirements, diskette images, vector tables

Requirements

• 386 or higher CPU

• 2 MB or more of RAM

• A floppy drive (any type)

• A hard drive

• 1 blank diskette for the A: drive of your computer

• A clean boot to DOS (more on this later)

Video requirements are subject to the particular game being booted. Most games will require nothing more than a CGA monitor.

First-time Installation

Run INSTALL.COM. The INSTALL program will guide you through the installation of the emulator. (You will need the blank, formatted diskette for the installation portion only; the diskette is not needed to run Flopper.)

Be sure to close all programs and exit Windows before running install. Install needs to reboot the computer in order to obtain some information
critical to Flopper's operation.

Once the computer reboots, it will then boot to the floppy diskette. (see the FAQ if your computer does NOT boot to the floppy diskette) After booting, a message will appear on the screen telling you to re-run the install program. This is a vital step! Re-run the install program to complete the installation process. Once the install process is complete, a file called vectable.dat will be created in the current directory. (Do not erase this file! Flopper requires it to run. If you delete vectable.dat, or move Flopper to another computer, you will need to re-run the install program. The vectable.dat is customized for each computer it is run on.)

Diskette Image Files

Now that you're ready to run flopper, you'll obviously need some disk images to run. To make an image file of a diskette, copy each track to a file. You can use your own utility to do this, but an easy-to-use utility called DISK2IMG is provided with flopper that does this for you. The default options of DISK2IMG suck in a 5.25" 360K disk located in Drive B: to a file called output.img in the current directory. You can easily customize the operation of DISK2IMG by providing addtional command-line arguments; type "DISK2IMG /?" to see the list of arguments you can use. There is also a section at the end of this manual that describes the operation of all of the supplimental utilities, and lists more complete information about their command-line arguments.

Operation

Launching images, switching disks, taking screenshots

Launching Flopper

Flopper does not work with any memory managers. You must boot "clean" in order to use Flopper. If you run DOS and don't load any memory managers then you're already booting clean. If you have DOS 5.0 through 6.22, you can boot clean (without modifing your system files) by hitting F5 when you see the words "Starting MSDOS...". If you have Windows 95, you can boot clean by hitting F8 when you see "Starting Windows 95...", then by choosing the "Safe Mode -- Command Prompt Only" menu option.

If you run any other operating system (UNIX, Windows NT, etc.), then you must find a DOS or Windows 95 computer to copy DOS off of it to run Flopper. You can do this by sticking a diskette in drive A:, then formatting it with the "system option". In Windows 95, this means making sure the "Copy System Files" check box is CHECKED; if in DOS, use the following command line:

format a: /s

You can then boot off of this newly-formatted disk to "boot clean". (Remember to take the diskette out of the drive after you boot it.)

It is not necessary to keep reformatting the diskette every time you want to boot it, BTW. :-)

Once you've booted clean, you can run Flopper. To run Flopper, simply type:

flopper <image filename>

where <image filename> is a valid floppy diskette image file. For example, typing:

flopper jumpman.img

...will load and "boot" the game Jumpman from the jumpman.img file.

The Flopper Menu

Once the diskette image has been booted, you can press the F12 key at any

time to bring up the Flopper menu. You will be presented with the following

screen with these options:

Welcome to chooser!

Current image is: 5aside.img

1. load image

2. save image

3. write [protect] disk

4. boot current image

5. return to image

ESC exit to DOS

Note: Any game that over-writes the BIOS keyboard interrupt routines (INT 9) will not be able to bring up the chooser menu. Games often over-write this BIOS service routine to increase performance on the
slow 4.77MHz machines of long ago. We aplogize for any inconvience this might cause and we assure you finding a solution to this problem is a top priority for us.

Load Image

Selecting 1 off the chooser menu allows you to load in a new disk image. After selecting 1, you will be presented with the following prompt:

Enter new image filename:

Type in the full path and name of the desired disk image at the prompt and press ENTER. If the file does not exist, you will be returned to the chooser menu and no new image will be loaded. If the file does exist, the new file will be loaded into memory and the "current image is:" line will reflect the changed disk.

(Future support for this feature will include a file system with highlightable/selectable file menu.)

Save Image

Selecting 2 off the chooser menu saves the contents of the currently booted diskette to a file on your hard drive. This feature is useful for saving a "modified" disk (high scores have changed, saving a game, etc.) back to the hard drive so that changes are not lost the next time the disk is "booted".

(Currently there is no means of changing the current filename before saving the image file. Future versions of Flopper will have a full featured file system with the ability to change filenames, drives, and directories.)

Write Protect/Enable Disk

Selecting option 3 from the chooser menu allows
you to enable write access to the currently booted disk image. This is the same as using those old clunky write protect tab stickers on a 5.25" diskette. Each time option 3 is pressed, the current status of the disk will change from "protected" to "enabled".

The default value for a booted disk is write protected for security reasons. In order to make any changes to the booted image (for high score updates, saved games, or other reasons) this setting will have to be changed.

(Future versions of Flopper will have an override command line switch to force write protect to be disabled at 1st bootup. This option may also be worded differently to remove any confusion.)

Boot Current Image

This option allows you to "reboot" to the currently loaded disk image. Your computer does not physically reboot, but the disk image is loaded in exactly like a reboot did occur, and the new disk image will be loaded. This is useful for trying out a different game or testing a new bootable program image.

Return To Image

Selecting 5 from the chooser menu resumes where you left off--it returns you to the point in the program where you originally pressed F12.

(Note: It is possible that any strange palettes might not be restored properly on program exit.)

Exit To DOS

Pressing the ESCAPE key at the chooser menu will exit you back to DOS. If the contents of the current floppy image have been changed, a warning message will be displayed on the screen before exiting.
If you do not want to save any changes, pressing ESC again will contine the exit to DOS; any other key will return you to the chooser menu.

Screenshots

Another feature of Flopper is its ability to take screenshots. At any time, pressing the PrintScreen key will capture the contents of the screen and save it to a file called IMAGE00.CGA. Consecutive presses of the printscreen key will incremement the filename to IMAGE01.CGA, IMAGE02.CGA etc, up to a maximum of 100 screenshots. After IMAGE99.CGA has been created, it will be overwritten for each printscreen keypress thereafter. You will have to exit Flopper to restart the image counter. Each image file is 16k in size and must be converted to a standard (ie .GIF) format before it can be viewed. Use the Flopper utility CGA2GIF.EXE to convert image files.

Flopper has support for CGA screenshots only. Support for EGA screenshots may be available in a future version.

Troubleshooting

What to do if Flopper doesn't work

Error: This program does not work with Himem.sys installed

Flopper refuses to run with EMM386.EXE, 386MAX.EXE, HIMEM.SYS, or QEMM386.SYS loaded because of the way Flopper handles memory. It is completely incompatible with all protected-mode memory managers. You MUST boot clean to run Flopper.

Error: File not found

You have supplied an invalid diskette image filename. Check the filename and extension of the file and run it again. Also make sure the diskette image files are sitting in the same directory as your flopper files.

Error: File not found:vectable.dat

You need to run the install program; vectable.dat is created by the install program. Vectable.dat is a copy of the interrupt vector table as it appeared before the operating system was loaded, and is vital to the proper operation of Flopper. Run install and follow the directions carefully.

Vectable.dat file does not exist even after running install

INSTALL.COM modifies the boot sector on a floppy diskette, then reboots the computer to boot to the floppy diskette. After the floppy diskette is booted to, you need to run install AGAIN to create the vectable.dat file from the information that was saved to the disk. (As a side benefit, INSTALL.COM will also restore your original boot sector to whatever it was before.)

Computer won't boot to the floppy diskette that install created

You will need to go into your computers setup/configuration to change the boot order of your computer. Typical boot order is A:, then C:, but some newer computers allow a "quick-boot" feature which only boots to C:. You will need to turn off "quick-boot" or change the boot order to A: first in order to boot to the install floppy. After booting to the A: drive and re-running install, you may change the boot order back to C: then A:.

Doing this requires getting into your computer's BIOS or CMOS setup, which is differs from PC to PC. A message should appear on the screen during initial power up telling you how to get into setup. Typically, it is either the DEL key or F2. Check your manufacturer's documentation or ask your computer geek friends to help with this.

Flopper locks up when a disk image is launched

Flopper can boot older programs, but whether or not they'll run is up to the way they were programmed. Some particularly old games use self-modifying
code or undocumented 8088 behavior to achieve better performance; such games might have problems running on newer chipsets. (Also, see next problem:)

Program complains about being a duplicate and refuses to run

Try some known good diskette images. The Flopper home page has a few known good images that you can use as a reference. If you are trying to boot your own image, it is possible that there is copy protection from the program that is keeping you from running the image under flopper; if so, see the section on copy protection in the Frequent-Asked Questions section later in the manual. It is also possible some images just won't work under floppper for unknown reasons. Please contact us (see the contact information at the end of this document) for more help.

Frequently-Asked Questions

What makes Flopper tick, and answers to some obvious (and not so obvious) questions

Does Flopper boot 3.5" diskette images as well?

Yes, flopper has support for 720k disks. Flopper does not support any high density disks, simply because there aren't any known programs that boot only to 1.2 or 1.44mb disks. Adding support for these formats is very easy, however, if needed; contact us if you need this capability..

Can't I just copy my disks to a 3.5" disk and boot them?

You can try, with a diskette copying program like Disk Copy Fast, or a dedicated utility like CopyWrite or CopyIIPC. But it doesn't always work, and with Flopper, you can store the diskette images on your hard drive, take screenshots, slow down the CPU to play the game properly, and exit to DOS--all of which you cannot do if you copy the 5.25" disk to a 3.5" disk. Best of all, you can make backups of your bootable programs, now that they can be run from DOS.

Can flopper boot diskette images with non-standard sector sizes?

Preliminary support for odd sector sizes has been added to Flopper, and is in this release. However, since it is a new feature that we are testing, no documention on getting odd sector sizes to work has been provided.

How can I switch diskettes? My bootable program comes on more than one disk.

Press the F12 key, select 1 from the menu, type in the new filename and press enter. The new disk will be loaded.

Can Flopper save to the image file? (for games that save high scores, saved games, etc.)

Yes. Press F12, select 2 from the menu, and the disk image will be written to the hard drive.

How does Flopper work?

Flopper emulates the BIOS diskette services interrupt 13h. Whenever a diskette read service is required by the game, flopper takes over and "reads" the proper data from memory instead of from sectors off the diskette.

Why didn't you use the "Virtual 8086" mode of the 80386 and higher?

Lack of time and knowledge. :-) The Virtual 8086 mode of the 80386 and higher processors would probably have been a more elegant solution,
but we simply didn't have the proper knowledge to implement Flopper this way. Can you help?

Can flopper take snapshots of text, EGA, and VGA screens?

While Flopper is technically capable of this, we didn't build it into the program because we were only capable of finding a handful of bootable diskettes in our extensive collection that would require this (John Elway's Quarterback, Defender of the Crown, etc.). If you have a bootable diskette that utilizes EGA or another screen mode and want to capture it, contact us (contact info is later in this document). Be prepared to submit a working image file or diskette for us to use during testing. As for VGA screens, we were unable to find any bootable game or program that utilized VGA, so that support is unnecessary.

I've done everything right and my game still won't launch!

If you've done everything right and the program being booted still won't run, or it complains about "being a copy" or "unauthorized duplicate", then you've probably hit the wall of copy-protection. Older games usually put special or hidden data on a diskette that isn't readable with standard disk utilities. When the game runs, it checks for that special data, and if it's missing, the game refuses to run. Game companies did this to stop software pirates (people for whom copying software illegally is a hobby) from lowering profits.

Unfortunately, this practice also prevented legitimate owners of the software from making a backup
copy--and that's precisely what you're trying to do so that you can store your diskette images on your hard drive or CDROM where they can last for a lot longer than a 20-year-old diskette! If you have such a game, you have some options available to you:

• Crack the game. If you have mad coding skillz and a copy of Soft-ICE for DOS, you can debug and remove the copy-protection routines. Do this on as best a copy of the disk as you can, since if you damage the original of uber-ultra-rare last-copy-in-the-world Game X, you will kick yourself for eons.

• Send a special diskette image of the game to us. We have had a lot of experience reverse-engineering the copy-protection of bootable games in an effort to improve Flopper; maybe we can help. Contact us in advance so that we can send you a special imaging program that analyzes the diskette more heavily than standard utilities.

• Check our home page. The Flopper Project's home page has links to other websites that contain diskette images; one of those images may be a cracked version of the game you're trying to run.

• Wait for a new release of Flopper. We are working on including special support for copy-protected disks into Flopper, including a program that coverts between standard, non-standard, and raw diskette image types. Look for this in a future release.

Resources

Where to find more information

The Flopper Project's Home Site

The website of Flopper is: http://www.oldskool.org /pc/flopper/. New releases will always be here first.

The Floppertalk Mailing List

There is a mailing list that you can join that talks all about the use and development of Flopper, called FlopperTalk. To subscribe, send a message to "minordomo@oldskool.org" with a Subject: of "subscribe floppertalk". You will be subscribed automatically from the email address you email from. This is the place to go for troubleshooting not covered in this document, talking about the use and/or development of Flopper, or just as a place to hang out with other people who love old bootable games.

Finding additional bootable diskette images

You may be wondering how to make images of diskettes if you don't have a 5.25" drive to make the images from. You can't. You still have options, however:

• A Friend. Get a friend with both types of drives to make an image for you; he can then give you the image either on a diskette you can read, or via modem or the Internet.

• Another computer with a 5.25" drive. If you have an older PC with only a 5.25 drive and a serial port, you can use a null-modem cable connected to both serial ports to transfer DISK2IMG to the old PC, make the image, then transfer the image back. Laplink, FastLynx, and other cable-transfer programs exist that can do this for you.

• Us. If you have a 5.25" but no means of making an image of it, then mail us the diskette in a protective mailer and we'll make an image of the disk for you. Please write us first via email to let us know of your intentions (contact info is at the end of this document).

• The Flopper Project Home Page . Our home page has links to other web pages where you can find diskette images of bootable games and programs. Keep in mind, however, that it's illegal to obtain diskette images of disks you did not purchase or otherwise currently own.

Contacting Us

The best way to get in contact with everyone involved with Flopper is to subscribe to the FlopperTalk mailing list, as listed above, and post your questions there. One or more of the authors will see your message and reply if necessary.

Credits

Everyone who has touched Flopper in a positive way

The Flopper Project would like to thank the following:

Authors

Jeff Leyda - Original program code, programming

Daniel Backman - Programming, utilities

Support

Jim Leonard - Webspace, documentation, utilities

Suggestions and Comments

Scott Duplichan <sduplichan@worldnet.att.net>

...and thanks to everyone else we forgot to mention. (If you want to be mentioned, contact us.)

Appendix A

Creating Image Files with DISK2IMG

Introduction

DISK2IMG is supplied as a generic yet flexible diskette dumping utility. It can dump most 160K, 180K, 320K, and 360K disks without incident, and provides command-line options to dump more exotic formats. The output file then contains all the raw data in a format that can be used with Flopper, recreate the diskette at a later time, etc.

DISK2IMG is not "smart", meaning that it does not understand copy-protected diskettes and will most likely not create a working image of such diskettes. For any sector that cannot be read, a "dummy" sector filled with exclamation points ("!") is written to the image file instead. If you try an image with Flopper and it doesn't work, check the image file to see if there are any sections filled with exclaimation points; if so, you have attempted to dump a copy-protected (or damaged!) diskette and will need to contact the Flopper team for further help. (see Contact Info earlier in this document).

To get a list of command-line options, run DISK2IMG with the "/?" command-line parameter. Doing so returns the following display:

Usage is: "DISK2IMG filename.ext [options]", where:

Option Description Default

~~~~~~ ~~~~~~~~~~~ ~~~~~~~

/Dx selects what Drive to work on /dB

/N do Not build the sector display FALSE

/Txx number of Tracks /t40

/Sxx number of Sectors per track /s9

/Hx number of Heads /h2

/Zx sector siZe /z512

/R Recover mode (ignore errors and retry) FALSE

/Q Query boot sector to get disk parameters FALSE

Built-in settings reflect a 360K diskette in drive B:

If no filename is specified, the name "output.img" will be used.

Examples:

"DISK2IMG mygame.img /da" dumps the disk in A: to "mygame.img". "DISK2IMG bootdisk.img /db /q" query tracks, etc. from disk before dumping.

Running DISK2IMG with no arguments will attempt to dump a 360K diskette residing in drive B: to a file called output.img in the local directory; these are the defaults built into the program. Use the above options to modify this behavior.

Appendix B

Converting Screenshots to .GIF files with CGA2GIF

Introduction

CGA2GIF is a program that reads Flopper screenshots, displays them, lets you make minor adjustments to the background color and palette if necessary, and then save them as a GIF file.

CGA2GIF saves highly-optimized GIF files, suitable for inclusion on a web page without any further modification. (In fact, some editing programs have problems trying to open them.) Rest assured that they display properly in all web browsers.

Usage

CGA2GIF is an interactive program: After the screendump is loaded, you can use some keys to modify the palette and/or background, then save the image. Those keys are:

Adjustment: (use these if the screen doesn't look quite right)

P Cycle through the different palettes

B Cycle through the different background colors

File operations:

S Save the screenshot as a GIF file

Control options:

ESC Exits the program

Notes

Helpful Trick: CGA2GIF only creates highly-optimized GIF files. If you need a Flopper screenshot in a format other than .GIF, just run CGA2GIF and then take a snapshot with your own favorite capture program/process while the screenshot is being displayed.

While CGA2GIF previews the screenshot in CGA, it currently requires a VGA card to build the .GIF file. This is due to laziness, pure and simple. CGA2GIF also does not currently have any command-line options to facilitate batch processing. If If someone out there wants me to fix these problems, let me know at trixter@oldskool.org and I'll fix them.
Index

A

Authors 24

B

booting clean 10

C

contact information 23

copy protection 17,20,25

D

disk

images

copy protection 21

finding 22

sizes 25

DISK2IMG

copy protection 25

default settings 26

introduction 9

E

Error Messages

Abort, Retry, Ignore 5,15

EMM386.EXE 15

File not found: vectable.dat 15,16

File not fount 15

HIMEM.SYS 15

I

INSTALL.COM 8,15,16

Installation

First Time 8

INSTALL.COM 8

K

keyboard interrupt 11

M

mailing list 22

N

non-standard sector sizes 19

Q

quick-boot 16

R

Requirements 8

S

saving games 12,19

screenshots

converting to .GIF 27

editor program compatibility 27

taking 14

switching diskettes 19

V

vectable.dat 9

The Flopper Project

www.oldskool.org/pc/flopper