Apple 2 Emulator ~~~~~~~~~~~~~~~~ (written and put into the public domain by Claudio Nieder) Version 0.1, 03-Jan-1993 ~~~~~~~~~~~~~~~~~~~~~~~~ This is the first version of an Apple 2 emulator I'm writing. Although this is a alpha test version, it is quite stable. It doesn't produce any enforcer or mungwall hits. It doesn't loose memory. The emulator is written in Modula-2 and was compiled with M2Amiga V4.1. What you need ~~~~~~~~~~~~~ You should have a fast Amiga. I am using it on a 25MHz Amiga 3000. You should have at least 0.5 MByte contiguous memory free, when loading the emulator. You should have at least Workbench 2.04. You should have an Apple 2 from which you can transfer the ROMs and the contents of your Apple 2 floppies to the Amiga. You need a cable to connect the annunciator ouput port 0 (AN0 on the game paddle connector) to the receive data input of the Amiga serial port. You need a way, to transfer the audio output from the Amiga to the Apple 2. This can be either done, by first recording the output of the Amiga on a tape, and then playback it to the Apple, or by a direct cable. I have tried the first method only, using two different tape recorders, so I didn't need to get a special cable. What it does ~~~~~~~~~~~~ Currently it emulates an 48K Apple 2 with two disk drives. Only the text page can be displayed until now. It runs BASIC programs at about 1/10 the speed of an original Apple 2. Disk access can be as slow as 1/60 of an original Apple 2. So you have to be patient when booting. This may take 5-6 minutes. The disk drives are also emulated, i.e. you don't connect directly your Apple 2 disk drives to the Amiga. You can use your Apple 2 to tranfer the contents of a floppy to the Amiga. On the Amiga you can use the floppy for reading and writeing, but at the moment it is not possible to save back a floppy. Setup ~~~~~ First unpack the archive, if you haven't already done it. The archive should contain these files: Apple Apple.info AppleComm AppleComm.info Readme Readme.info Bugs Bugs.info TODO TODO.info AmigaComm.source txt.info txt/Apple.mod txt/Apple.mod.info txt/AppleComm.mod txt/AppleComm.mod.info txt/AppleScreen.def txt/AppleScreen.def.info txt/AppleScreen.mod txt/AppleScreen.mod.info txt/ACASLReq.def txt/ACASLReq.def.info txt/ACASLReq.mod txt/ACASLReq.mod.info txt/ACGadgets.def txt/ACGadgets.def.info txt/ACGadgets.mod txt/ACGadgets.mod.info txt/Base37.def txt/Base37.def.info txt/Base37.mod txt/Base37.mod.info The programs you need are Apple and AppleComm, which should be placed in the same directory. Bugs and TODO are text files. The directory txt/ contains the source of the Apple 2 emulator. The file AmigaComm.source contains the assembler source for the Apple 2 program which can send Disks and ROM contents from the Apple to the Amiga. As a first step, we have to bring the program AmigaComm onto the Apple. Connect a tape recorder to the Amiga audio output. Start the program AppleComm on the Amiga. Start the recorder, and click on the "Send AmigaComm" gadget. When the status line "Sending AmigaComm(31xxx)" disappears, you can halt the tape recorder. Now connect a tape recorder to the Apple 2. On the Apple enter the monitor (CALL -151) and type 8000.8586R. Play back the recording you have just made. When playback is finished, you have the program "AmigaComm" on the Apple 2. This program allows you to send the contents of the needed ROMs and the contents of floppies to the Amiga. You should save the Program to a floppy with BSAVE AMIGACOMM,A$8000,L$587 so you can use it later. As next step you need to transfer the contents of the BASIC ROM and of the PROM on the disk controller. For this you need to connect the annunciator output 0 to the Amiga serial port receive data line. You have to start the AppleComm program on the Amiga, and the AMIGACOMM program on the Apple. Click on the "Receive ROM" gadget on the Amiga, and press the "R" key on the Apple. This will transfer the two ROM contents, and save them in the appropriate files. If you want run programs you already have on Apple 2 floppies, the you can tranfser them too, using AppleComm/AmigaComm. Click on the "Receive Disk" gadget on the Amiga, and after that press "D" on the Apple. After the transfer of the disk, a requester will ask you for a name, on which the disk contents shall be stored. Each floppy will currently use approx. 230kByte. Future version of this emulator will probably store those files in a compressed form. Some explanation to the program Apple ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Menu ~~~~ The Project menu contains only the function Quit. As I'm still debugging this program, this function will not immediately terminate the emulator, but pop up a requester. Click on the gadget "abbrechen" to terminate the emulator. The Disk1 and Disk2 menus are identical. They provide functions for loading a disk, unloading a disk, and write protecting a disk. NOTE: Unloading does not save back the diskette on the file. So at the moment you can't keep changes you've made. Keyboard ~~~~~~~~ The only special key of the Apple 2 is the RESET key. On the Amiga you have to press HELP. Bugs & Questions ~~~~~~~~~~~~~~~~ If you have any bugs to report or questions to ask: Before March 1, 1993, you can send me mail (claudio@chuug.ch). After March 1, 1993, you should ftp the newest AppleOnAmiga.readme from ftp.eunet.ch [146.228.10.15] to see, if the program was updated. claudio