home *** CD-ROM | disk | FTP | other *** search
- Emul_1541 V1.1 by Philippe DEPRUGNEY 1995
-
-
- SHORT:
- ------
- A program that allows you to plug a C64 computer to your parallel port,
- so that you can use your Amiga as a disk drive for the C64, emulating the old
- 1541 drive.
-
-
- WHAT'S THE USE ??!?
- -------------------
- Well, Emul_1541 may be useful to people who have a C64 with a broken
- 1541. Or to nostalgic C64philes that consider buying an old C64 but cannot
- find a 1541. Or to guys like me who are not too fond of floppy disks.
-
-
- WHAT'S NEW
- ----------
- - Isepic files support (faaaast)
- - a printed circuit board schematic of the hardware interface
-
-
- REQUIREMENTS:
- -------------
- - an interface that plugs to your parallel port (more on this later)
- - an Amiga with Kickstart v 2.0+. Any processor should do.
- - a C64 or a C128
- - an IEC cable (standard C64 <-> 1541 cable)
-
-
- USAGE:
- ------
- Emul_1541 [drive number]
- where [drive number] is 8...11 (default is 8)
-
-
- OPERATION:
- ----------
- Open a Shell and execute 'Emul_1541'. If the parallel port is free and
- the interface is plugged in, you can now execute the following commands from
- the C64:
- -LOAD "<program>",8 (or ",8,1").
- -LOAD "$",8. This will load the listing of the current directory
- into the C64.
- -SAVE "<program>",8 . Speaks for itself.
- -LOAD "CD <directory>". This allows you to change the current
- directory of the emulator . It will also transfer the listing of the new
- directory into the C64.
- -you can exit Emul_1541 by typing CTRL C in its window
- - if you want Emul_1541 to temporarily stop listening to the C64
- serial port, type CTRL D in its window and the program will "sleep" until you
- wake it up with another CTRL D or you kill it with a CTRL C. The reason for
- that option is that, ahem, Emul_1541 does not understand (YET) all the
- commands the C64 may send him, which sometimes causes the emulator to
- "freeze". So if you have just loaded a program into the C64 and you're afraid
- that during its execution it may send odd drive commands to Emul_1541, just
- disable Emul_1541 with CTRL D. This should also be useful to C128 owners,
- whose RESET takes too much time for Emul_1541 (maximum allowed: 0.4s).
-
-
- MISCELLANEOUS:
- --------------
- *** Abbreviations are allowed (LOAD "prog*",8 or even LOAD "prog#?",8).
- The same goes for the LOAD "CD <directo*>",8 command.
-
- *** special characters:
- The '_' Amiga character has a rough equivalent on the C64, which can be
- typed using 'SHIFT R'.
- The '\' Amiga character stands for the '/' C64 character.
- Ex: LOAD "/TURBO_TAPE",8 will start the transfer of '\turbo_tape'
- However, you can still type LOAD "CD /" to change the directory to the
- parent of the current one.
-
- *** If you type LOAD "<program>",8, 'Emul_1541' will search for
- <program> in the current directory, and if it can't find it there, it will
- search for it in 'C64:'. You can use this feature to assign 'C64:' to a
- directory where you would store the C64 programs you most frequently use.
- You can also type the full path name of the file you want.
- Ex: LOAD "DH1:C64_GAMES/CHOPLIFTER",8
-
- *** program names are not limited to 16 characters as they are on a
- 1541 drive. Therefore, you can type 'LOAD "<program>",8' with <program>
- having a name longer than 16 characters, and Emul_1541 will transfer it
- correctly. However, if you type 'LOAD "$",8', <program> will have its name
- truncated to 16 characters in the directory listing.
-
- *** when a directory is created, program sizes and free space are
- displayed in blocks, which are worth 254 bytes (on a C64). Due to 16-bit
- limitations, the biggest size displayable is 254*65535 = 15.9 Mb. Therefore,
- any file or directory free space bigger than 15.9 Mb will not have their size
- displayed correctly.
-
-
- ABOUT THE HARDWARE INTERFACE
- ----------------------------
- Included in this package, you will find three files:
- - 'Interface.IFF', a functional schematic of the interface
-
- - 'Interface_PCB.Postscript' is a schematic of the printed circuit
- board, in Postscript format. You should print it on a transparent sheet (like
- the ones used with overhead projectors). I created and printed this layout
- using Art Of Expression. For some reason, Pro Page and Final Writer have
- problems with that layout: they print it without the text annotations, which
- does not make it unusable, but still...
- If you use a laser printer, make sure the transparent sheet you're
- using is photocopy-resistant, or it will melt inside your printer.
-
- - 'Components_placement.IFF' will show you how to solder the components
- to the PCB.
-
- Components list:
- - 1 kohm resistor (x3)
- - a male DSUB DB25 connector, PCB version (that is, not one that can be
- soldered at the end of a cable)
- - a female 6-pin DIN connector, PCB version
- - integrated circuit: 7406
- - a 2-circuit switch (optional)
-
- You will notice the presence of four connection plots, labeled A, B, C
- and D. There are two ways to wire them:
-
- - if you just want to use the interface with Emul_1541, you should
- connect plot A to plot C and plot B to plot D. You do not need the switch.
-
- - if you also want to be able to use this interface with Amiga programs
- that "talk" to a real 1541 drive (like Frodo, etc), you should wire plots A,
- B, C and D to a 2-circuit switch, the way it is shown in
- 'Components_placement.IFF'. Depending on the position of the switch, you will
- be able to connect this interface to a C64 or a 1541.
-
-
- TECHNICAL NOTES:
- ----------------
- *** this program does not multitask while communicating with the C64.
- That is because the C64 expects the 1541 to "listen" to its signals all the
- time. Therefore, if the emulator was interrupted for more than 20µs, it would
- miss some changes of states of the communication signals.
-
- *** 'Emul_1541' uses the timer B of CIA B, which is used by many
- time-sensitive programs, such as music players, emulators and some games.
- Therefore, you should not run any program of that kind at the same time as my
- emulator. Anyway, 'Emul_1541' will warn you if that timer is already
- allocated, and will only take possession of it during transfers, not when it
- is idle.
-
- *** As the Amiga clock is not updated during transfers, 'Emul_1541'
- executes a routine equivalent to 'SetClock LOAD' after every communication
- with the C64. I can only hope that this does not cause any problem on an
- Amiga without a clock, as I could not test that.
-
- *** I have tried to make 'Emul_1541' compatible with real 1541 drives.
- That is, you can daisy-chain the parallel port interface with a 1541 drive,
- provided their device numbers are different, and the C64 will be able to
- access both drives. Note that multitasking will also be disabled while the
- C64 is accessing the real 1541 drive.
-
- *** Sometimes 'Emul_1541' will freeze during a communication sequence
- with the C64, because the C64 has sent an unknown command to the emulator.
- You can usually get out of that situation by pressing your C64 reset button a
- few times. If you do not have a reset button on your C64, I strongly advise
- you to install one.
-
- *** Wild star ('*') is allowed during the execution of 'Emul_1541', and
- is restored to its prior state (that is, allowed / not allowed) after the
- emulator has exited.
-
-
- WHAT 'EMUL_1541' CANNOT DO:
- --------------------------
- *** communicate with fast-loaders: no way, except for Isepic. If you
- have got a FastLoad cartridge, disable it. Games saved with the Freeze Frame
- cartridge will not work. The same goes for any program that uses a loading
- technique different from the standard one.
-
- *** support commands such as 'VERIFY...' or 'OPEN 1,8,15,"..."'
-
- *** reverse entropy
-
-
- THANKS TO:
- ----------
- - Cliff DUGAN, whose A64 gave me the inspiration for this
- - Peter STUER, for DosTrace
- - Morten ERIKSEN, for Dis6502
- - Laurent CLéVY, for being a good friend
- and among the legions of guys who wrote to me for support:
- - Mattias PIHLSTRöM
- - Enriko GROEN
-
-
- TESTED ON:
- ----------
- - A4000/30 with 8Mb FAST RAM, with Kickstart v. 39 and v.37 (using
- SKick)
- - CD 32 (just joking)
-
-
- BUGS:
- -----
- Should you find any, I would like to hear about them. So please send me
- a short description of the problem and of your configuration. A picture of
- your girlfriend wearing outrageous underwear would be much appreciated too.
-
-
- TO DO:
- ------
- - Freeze Frame files support
- - '.d64' files support
- - FastLoad cartridge support
-
-
- LEGAL JU-JU
- -----------
- Emul_1541 is (C) 1995 by Philippe DEPRUGNEY.
- This program may be freely distributed, provided the archive and its
- contents are not modified in any way. It may be included in any public domain
- collection.
- This program is also POSTCARDWARE, which means it would be very nice of
- you to send me a postcard if you use it. You may also take advantage of that
- opportunity to tell me what you like and do not like about Emul_1541, and
- what features you would like me to add to it. Right now, it seems what people
- are most interested in is FastLoad support, so I guess that's what I will
- tackle next.
- Anybody who wants to swap C64 programs (demos, games...) is welcome to
- write to me too.
-
-
- ABOUT THE AUTHOR:
- -----------------
- You can join me at the following address, which is my parents', so it
- should be valid for a good many years (sorry, I have no access to Internet; I
- know, I should be ashamed):
- Philippe DEPRUGNEY
- 20, rue domaine du Château
- 64230 LESCAR
- FRANCE
-
-