Archive-name: emulate-apple2-faq Version: 931011 FAQ for alt.emulators.ibmpc.apple2 by James Vera (vera@anna.stanford.edu) and Tom Baker (tombaker@world.std.com). Corrections/suggestions gratefully accepted. 10/11/93 [Note: all mentions of the machine wilbur are referring to wilbur.stanford.edu (36.14.0.36). Index: Part 1, Q&A 1) What's the deal? 2) What's the difference between apl2em and applemu? 3) Where can I get an emulator? 4) I got .zip files off of wilbur but they're corrupted. 5) I got apl2em but when I try to run it I get a complaint about APPLE.ROM missing or some such? Why did the idiot running wilbur not include that file? 6) I have apl2em but I don't have the serial ROM. What can I do? 7) How can I get apl2em to print to my printer? 8) OK, I got an emulator and it runs, now what? 9) Where can I find an image of foobar (where foobar is my favorite old Apple ][ game). 10) I have an Apple ][ and a bunch of disks (or for that matter, ROM files) I want to transfer over to use on the emulator. How do I do it? 11) Can't I just put my Apple disk into my PC and have some magic happen? 12) What about all the freeware/shareware programs available on the net? 13) Um, what were all those disk image formats again and how do I move between them? 14) Gee, can't I just buy an Apple II Emulator somewhere? 15) Nifty keen, how can I help? 16) Hey, I want to talk about "Building Emulators", not using them. Where should I go? Part 2, Database of emulators Part 3, Database of disk images ---------------------------------------------------------------------------- Part 1, Q&A 1) What's the deal? This group is concerned with emulating an Apple ][ (and in particular an Apple][+) on PC compatible hardware running DOS (though we've strayed to just about any hardware/OS). Two freely available emulators for PC/DOS exist and are know here as "apl2em" and "applemu". apl2em was created by Randy Spurlock and its currently at version 2. Rumor is a version 3 is available somewhere but who knows? I don't know who created applemu. 2) What's the difference between apl2em and applemu? apl2em runs on 286s or better, applemu runs on any x86. apl2em seems more sophisticated; it can emulate a serial card and a language card while applemu cannot. applemu seems be be the choice for those who do not have a 286 or better machine. (Folks have taken the apl2em assembler source and converted it to run on 8088/8086 machines; the only change is substituting a bunch of single-shift instructions in for the 286 multiple shift. But the resulting emulator runs too slowly on an 8086). Because of the support for a language card, apl2em can run ProDos while applemu cannot. Both emulators boot up into AppleSoft and take DOS 3.3 disks. Because it is a 64K "machine", apl2em runs INTBASIC by just booting off the master disk. applemu cannot do this (under normal operation) because it is a 48K "machine". However, the wilbur site has a copy of INTBASIC, modified over a decade ago to run in 48K. A big plus for applemu over apl2em is that it handles "disk swapping". You can boot up on, say, the system master disk, then tell applemu "I am taking that disk out and putting another disk in the drive". With apl2em, you specify what disks are in the drive *before* you start, and you have a devil of a time changing them while the emulator runs. (Some folks have said they can do this, with a multitasking system. If you run OS/2, or Desqview, you may find this works.) A *VERY* big plus for applemu over apl2em, however, is that it does not need any extra files, like ROM files. It is self-contained, runs on any PC with most any graphics card, and is up-and-running quickly. 3) Where can I get an emulator? They are available on may ftp sites, but one in particular is wilbur.stanford.edu in the directory /pub/emulators/apple2. 4) I got .zip files off of wilbur but they're corrupted. No they're not. At least not on wilbur. Make sure you use binary mode in ftp. And the files were zipped with info-zip's zip. Some [old] versions of pkzip will not be able to unzip them. A DOS executable unzip is available on wilbur (and many other places). 5) I got apl2em but when I try to run it I get a complaint about APPLE.ROM missing or some such? Why did the idiot running wilbur not include that file? Flatly ... That would be against the law. Apl2em requires a copy of the ROMs inside an Apple ][+. ROM are software on a chip. That software belongs to Apple and I don't think they've given permission for it to be freely distributed. So its not available for anonymous ftp (at least not from wilbur). So are you doomed then? No. If you own an Apple ][+ then you own a copy of the ROMs. Its just a matter of getting them into a form usable by the emulator. The doctrine of "running one copy on one machine" would mean running only one of the emulator or your apple. Maybe only one at a time (but I'm not a lawyer, this is not legal advice,...). So how to dump the ROMs? One way is: [from Nye Liu (nyet@cco.caltech.edu)] On your Apple II or II+, Do: BSAVE SERIAL.BIN, A$C200, L256 (assuming a serial card in slot 2) BSAVE FLOPPY.BIN, A$C600, L256 (assuming a floppy controller in slot 6) BSAVE APPLE.BIN, A$D000, L$3000 Note: after doing that you still need to transfer those files to your PC (See question 8 below). For 64K machines, you'll have to make sure that the upper memory isn't bank switched in such a way as to block the ROMs. There's a file on wilbur in /pub/emulators/apple2/dumping-ROMs which contains some additional tips on this matter. An easier method is to depend on the kindness of strangers. A request to the boards alt.emulator.ibmpc.apple2 or comp.sys.apple2 of the form: I own an Apple ][+ and would like to run the emulator but am unable to dump the ROMS. Would someone please send them to me. will probably get you a hit. Please don't ask me. 6) I have apl2em but I don't have the serial ROM. What can I do? If you don't have a serial card, don't despair. Just edit the build/apple.ini file in the apl2em and change the lines: Type = Serial ; Slot 1 is a super serial card Port = COM1 ; Use COM1 for super serial port Baud = 2400 ; Set baud rate to 1200 Stop = 1 ; Use 1 stop bit Length = 8 ; Word length is 8 bits Parity = None ; No parity generation/checking Pullup = DCD + DSR + CTS ; Pull up the DCD/DSR/CTS lines to Type = Empty Or, of course, you could try to get ahold of the serial ROMs. 7) How can I get apl2em to print to my printer? Good question. I have yet to see an answer though :-( 8) OK, I got an emulator and it runs, now what? Run software, of course. The emulators can run an "image" of an Apple diskette. Think of an image as a single file which contains all of the information on a disk. These files typically have the ".DSK" suffix. As you might imagine, there are many different ways one could choose to copy a disk to a single file so, of course, the authors of apl2em and applemu choose two different methods. An image for apl2em is 143360 bytes. Buzzwords for the apl2em format is that its in Dos3.3 order (DO). An image for applemu is 232960 bytes. Buzzwords for it is that its a nibblized version for the Dos3.3 order (NBO). The disk images stored on wilbur (in /pub/emulators/apple2/DiskImages) are primarily in the apl2em format. A program to convert an apl2em format disk image to an applemu format disk image can be found on wilbur in /pub/emulators/apple2/em2emu.zip Someone may feel free to write an program to convert from the applemu format to the apl2em format. 9) Where can I find an image of foobar (where foobar is my favorite old Apple ][ game). You can't, at least not from wilbur. Believe it or not, those games are still copyrighted and can't be freely distributed. Some Apple ][ software has been release to the public as part of a project on Genie. That software has not yet migrated to a form emulator users can get at. (Hint Hint) 10) I have an Apple ][ and a bunch of disks (or for that matter, ROM files) I want to transfer over to use on the emulator. How do I do it? Two files on wilbur, a2pctr11.zip and senddisk.zip, contain a strategies and several support programs for doing this. It involves a program which runs on the ][ reading the disk and sending it out on the serial card (you need a serial card) which you then connected via a null modem to an PC which had a program running on it to receive the stream and write it to a file. Yuck. Another file diskread.bsc contains a BASIC program by Damon J. Rand (D.Rand@cantva.canterbury.ac.nu) which runs on an Apple //e and creates a disk image in the form needed by the emulators. It has support for breaking an image into multiple pieces. 11) Can't I just put my Apple disk into my PC and have some magic happen? No. They can put a man on the moon but... The problem, according to Eric Smith (eric@america.Telebit.COM) and George Phillips (phillips@cs.ubc.ca) is: Both drives spin at the same speed and transfer bits at the same rate (250 Kbit/s), but use different bit recording schemes. The Apple II uses a GCR channel code, while the IBM compatible world uses the more popular MFM coding. Standard floppy controller chips (uPD765, 8272, and the like) can't read or write GCR. It is supposed to be possible to use the Copy II Option Board from Central Point Software to read and write Apple II disks on an IBM compatible, but I haven't got a card to test. Out of all the emulator FAQs, this is the most "FA" (frequently asked). Everyone who used to use an Apple II and now uses IBMs has this problem. And, it seems, when they first see that there is an "Apple/IBM Emulation Group", their first post is: Can you make my IBM read my Apple Disks? and the answer is: No. 12) What about all the freeware/shareware programs available on the net? In general, I don't know how to get a get a random program into a form usable by an emulator. But some software available on the net is in a form called a "shrunk disk image". They usually have the suffix ".SDK". If its a shrunk Apple ][ disk, here's how to convert it. 1)Uncompress the .SDK file with nulib (this can the done on DOS or UNIX, source for nulib and DOS executables are available on wilbur). This should give you a file whose size is 143360 bytes long. If its a different size, say ~800KB, its probably a IIgs disk and can't be used by the emulators. This file is in ProDos order (PO). 2)If you want an apl2em format (DO) image : Run the mapper program (available on wilbur, source and DOS executables) on the file you got out of nulib. If you want a applemu format (NDO) disk: Run em2emu (available on wilbur) on the file you got out of nulib.. This will give you a file of 232960 bytes. 13) Um, what were all those disk image formats again and how do I move between them? 1) Dos3.3 order (DO): First byte is the first byte of the first sector. The 257th byte is the first byte of sector two. An image in this format is 143360 bytes. APL2EM uses DO images. 2) ProDos order (PO): This looks a lot like a DO image, but the sectors are in a different order. When you pack a disk with Shrinkit on the Apple, then unpack it with Nulib on a Unix or MsDos system, you get this output. An image in this format is 143360 bytes. 3) Nybblized Dos3.3 order (NDO): This is a collection of tracks, just the way they look in a nybble editor. Every three bytes of data have been "bit twiddled" into four bytes, and each sector has an "address field" that has the track and sector numbers. An image in this format is 232960 bytes. Conversions: a) DO to PO Run mapper. b) PO to DO Run mapper. c) (DO or PO) to NDO Run em2emu. d) NDO to (DO or PO) Feel free to write it. 14) Gee, can't I just buy an Apple II Emulator somewhere? Yes! The same folks who wrote "2inaMac" wrote "2inaPC". It costs about $150 retail and runs on any PC with a VGA card or better. Call COMPUTER:applications 12813 Lindeley Drive Raleigh, NC 27614 Phone: 919-846-1411, It emulates an Enhanced IIe, and is supposed to run 80 columns (though I have not seen it). It seems to take Byte Oriented Disks, *BUT* it also simulates a hard disk. The .DSK file used can hold a LOT. Remember, VGA card required. 15) Nifty keen, how can I help? If you have any freely distributable disk images or programs useful in using the emulators please upload them to wilbur.stanford.edu in the directory /pub/emulators/apple2/incoming. 16) Hey, I want to talk about "Building Emulators", not using them. Where should I go? This group does have emulation developers following it and starting threads. Stick around and watch for the really technical talk. Most of the developpers mentioned in Part Three of this FAQ have appeared in the group. Also, the ZaniWok emulation group has a mailing list. See ZaniWok in Part Three. ---------------------------------------------------------------------------- Part 2) Database of emulators 1) PC based emulators A. apl2em - The Randy Spurlock II+ emulator (version 1) 1. where to get it: ftp from wilbur.stanford.edu:/pub/emulators/apple2/a pl2em.zip 2. Author: Randy Spurlock 3. Source Code: ms-dos assembler 4. memory: 64K (16K language card) 5. cpu-min: 80286 6. Serial Support: No. (There are stubs in the code for it, but not implemented.) 7. Graphics Support: HGR. 8. Graphics Required: CGA or better. 9. Hercules Support: With SIMCGA, it runs! (That is one of the CGA simulators for the "old" Hercules card.) 10. Mix Text and Graphics: No. When switched to that mode, the text is not displayed. (One interesting reason for this is that it is an Apple capability that the IBM cannnot do, directly.) 11. remarks: see apl2em-2. B. apl2em-2 The Randy Spurlock ][+ Emulator (Version 2) 1. where to get it: ftp from wilbur.stanford.edu:/pub/emulators/apple2/a ple2em-2.zip 2. Author: Randy Spurlock 3. Source Code: ms-dos assembler 4. cpu-min: 286, with CGA or better. Runs with "old" Hercules cards with CGA simulators, BUT the graphics modes don't seem to work (when I tried it -tb). 5. memory: 80 K (32K language card) 6. roms: serial(c200), disk(c600), lang(d000-ffff) 7. Image format: DO 8. Serial Support: Yes 9. Graphics Support: Yes (Haven't seen it. Does it do DHR?) 10. Graphics Required: CGA or better. 11. Hercules Support: NO. 12. Mix Text and Graphics: ? 13. remarks: NO 80 COLUMNS. Runs Prodos (kermitp.dsk) A *big* problem is "disk swapping". The disks you use at bootup are the ones you must keep. (If you run multi-tasking somehow (Windows or DesqView, for instance), then some folks have ways of swapping the .DSK disk files.) C. applemu - The 48K ][+ Emulator 1. where to get it: ftp from wilbur.stanford.edu:/pub/emulators/apple2/a pplemu.zip 2. Author: This person did not leave their name in the documentation or the code! 3. Source Code: ms-dos assembler 4. cpu-min: 8088 5. memory: 48K (No language card) 6. roms: provided. Two serial roms (for file/serial/printer I/O), one converts CRLF <-> CR, the other doesn't. There is no "apple.rom" file needed. 7. Image Format: NDO 8. Serial Support: Yes 9. Graphics Support: HGR 10. Graphics Required: CGA or better 11. Hercules Support: (Scratch head.) My notes say, with a CGA simulator, "does not work, boot disk never seems to boot.") 12. Mix Text and Graphics: Yes 13. remarks: Truly solid. D. IIinaPC - a commercial product, for $150 1. where to get it: Computer Applications, Inc. 2. Author: Computer Applications, Inc. 3. Source Code: ? 4. cpu-min: 8088, needs VGA display or better 5. Serial Support: Yes 5. Graphics Support: HGR (DHR?) 7. Graphics Required: VGA or better 8. Hercules Support: no 9. Mix Text and Graphics: ? (imagine so) 10. remarks: Costs about $150 retail. Terribly good looking, with lots and lots of support for moving your stuff from the Apple to the PC and back. It's icon based, with about three-quarters of the screen devoted to the "Apple screen" and the rest given over to "tool icons". One tool icon is for serial connections to your real Apple, another is for swapping disks. The IBM's function keys perform different functions, like Control+F12 is the simulated "Reset" button. (Of all the folks who have mentioned IIinaPC in the group, there have been enthusiastic users of it and others who use it now and then. One fellow had problems switching with the "INT" command, and changing modes with the "PR#3" command.) 2) HARDWARE EMULATIONS A. Apple IIe Card for Macintosh Currently at v2.2. Apple Catalog #B1043, retails for $145. Runs on Mac LC, LC II and Color Classic. B. TrackStar Card for IBM PC Made by Diamond Computer Systems Card for PCs. Lets you read Apple diskettes on PC drives by replacing the disk controller. 3) UNIX based emulators A. apple2e (file named ap2e) - 80 col curses, text only ap2egl - 80 col curses with GL graphics 1. where to get it: ftp from grind.isca.uiowa.edu:/unix/apple2/ap2e 3. Author: Randy Frank 4. Source Language: C code for Unix 5. cpu-min: unix 6. memory: 64K 7. roms: CDROM (c100-ffff) 8. Image Format: PO and imports Unix binaries B. a2 - the Rich Skrenta's Unix emulator 1. where to get it: ftp from ftp.uu.net? 3. Author: Rich Skrenta (skrenta@rt.com) (CLI by Tom Markson) 4. Source Code: C code for unix 5. cpu-min: unix 6. roms: disk(c600), language(d000-f7ff), start(f800-ffff) C. apple2 - Peter Koch's Apple ][+ emulator 1. where to get it: ftp from ftp.uni-kl.de:/pub/unix/X11/apple2.shar.Z wilbur.stanford.edu:/pub/emulators/apple2/ap ple2.tar.z 2. Author: Peter Koch (koch@informatik.uni-kl.de) 3. CPU needs X 4. ROMs: character(0000-07ff),controller(c600-c6ff) f800(f800-ffff), d000(d000-d7ff), d800(d800-dfff), e000(e000-e7ff), e800(e800-efff), f000(f000-f7ff) [the above six files are just apl2em's apple.rom broken into 2KB chunks] or (old monitor roms) f800(f800-ffff), e000(e000-e7ff), e800(e800-efff), f000(f000-f7ff) 5. Graphics supported: Lores and Hires 6. Image Format: DO 7. Remarks: supports disk swapping D. zaniWok - an Apple //e emulator 1. where to get it: ftp from ftp.byu.edu:/apple2/emulator 2. Author Mat Hostetter Maintained by Chris Osborn (groucho.sonoma.edu!fozztexx%nvcc) 3. Source Code: C code requires NeXTStep 4 CPU NeXT only 5. ROMS: needs them 6. Image format: I'm not sure, but it looks like the DO format with the following nine bytes prepended to it: ^D^ScY^@^@^@^I^B for a total of 143369 bytes. 7. Remarks: There is a mailing list to discuss this emulator, na2sig@byu.edu; to sign up, email na2sig-request@byu.edu. zaniWok emulates a 128K Apple //e, with 40/80 column text, hi-res graphics (monochrome+color+grayscale), double-hires graphics, sound, dynamically loadable peripheral card objects, Unix filesystem support via Appleshare. Chris Osborn is adding lores graphics, copy and paste capability, keyboard buffering, a decent user interface, and no doubt other things. Some have expressed interest in writing a virtual serial card and a virtual Mockingboard. To emulate the 65c02, zaniWok dynamically translates the 65c02 code into an efficient interpreted form as the program is running. Although I have not yet implemented some of the compile-time optimizations the emulator was designed to support, it still runs at approximately realtime. ---------------------------------------------------------------------------- Part 3, Database of disk images All of these images are available at wilbur.stanford.edu:/pub/emulators/apple2/DiskImages/ All of these images except the last one are in DO format. The last one is in NDO format. hyperC.zip A C compiler and support system. Two disk images and lots of documentation. Images are not bootable. I haven't really tested it. kermitp.zip PRODOS version of Kermit (a terminal emulator, file transfer utility) . inmate.zip A Shareware textual adventure game. samp.zip Someone's experimentation with implementing multi-tasking on a ][ (this disk came with the Unix emulator "a2"). tetrisII.zip A Tetris game, I suppose. I pulled if off cco.caltech.edu and it boots but then just hangs. Let me know if anyone gets it working. berzap.zip Shareware knockoff of old Berserk arcade game. sparkee.zip Shareware graphics language and application; Can also be used as a screen saver. defender.zip Haven't looked it up but I imagine its a defender-like game. shrink.zip Contains IIPlus.UNSHRINK ----- and bcsutil4.zip This image is in the applemu format. It is the Boston Computer Society Utility Disk Number 4. It contains an INTEGER BASIC, a II+ mini-assembler, games, etc. This FAQ is (C) Copyright 1993 by the authors, but available for public use. You are free to distribute it and quote it, as long as the two following conditions are strictly met: 1) It keeps intact this copyright notice and all acknowledgements. 2) No money is made from its distribution (this may be waived for non-profit organizations only if they personally contact the maintainers of this faq and get permission, either in writing or in explicit email. *End of FAQ* MAIL>