******************************************************************************** * * * BACKWARD II, The ST emulator for FALCON 030 * * * * © 1993-94 C.Dupuydauby, written with Devpack II and Interface. * * * * V 2.52, released the 2nd Februar 1994. * * * ******************************************************************************** ATTENTION, BACKWARD III COMING. PRELIMINARY NOTE : THIS IS A SHAREWARE. It does mean you should send a donation to its author if you intend to use it. Donations will be used to cover charges created by user support. If you send a donation, you'll be a registered user. This way you will receive the lastest version of Backward, extra files etc... You may also send any remark, demand of improvment or anything else. They will be read and if possible followed. Further information about GETTING REGISTERED will be found later in this file. PLEASE GET REGISTERED, it will helpful and encouraging. UNLESS WRITTEN AGREEMENT : COMMERCIAL USAGES ARE FORBIDDEN, no extra fee can be charged, except mailing and/or duplication fees. --------- |SUMMARY| --------- (I) Introduction. (II) Inventory. (III) How to run Backward™. (IV) Backward Set Up. (V) Disk Library. (VI) Minidesk™ manual. (VII) Tips. (VIII) Messages. (IX) Unknown Roms. (X) Getting Registered. (XI) Future Improvements. (XII) Tech Notes. (XIII) Backward History. (XIV) Thanks. (XV) Bugs Report. ------------------ (I) INTRODUCTION : ------------------ Since most of FALCON's owners are former ST's owners (and sometimes still ones, like me), they want their ST games to run on the Falcon. But if the GEM compatibility is rather good, hardware differences prevent a lot of games to work. That's why I created Backward, which is supposed to handle hardware differences and so you'll get a compatibility rate of about 75%. The first versions of Backward were rather good, but were far to be user-friendly. This version has the same efficiency as the former ones (even a bit better) and has a library. This avoids to reconfigure Backward each time it is used. It's a precious tool for me, and I hope you'll enjoy it. Backward II works with 'Disks', which are, in fact, set-ups associated to floppy disks. You can freely add, modify or associate set-ups to disks. Disks are indentified with checksums of the boot sector. When Backward is run, it reads the disk (if any) and tries to find it in its library. Disk name is then printed in reverse video on screen, and the associated set-up becomes the current one. ----------------- (II) INVENTORY : ----------------- The Backward Package consists at least of : - READ_ME.TXT This file. - BACKWARD.APP The program file. - BCKWUSA.RSC Its ressource file. You may also have the following files : - BACKWARD.INF The Default Options file. - BACKWARD.DAT The Library File (very precious). - various BCKW???.RSC Ressource for other languages. - various READ_ME.??? Documentation for other languages. You must at least have program and ressource files, but you must spread this package with ALL FILES. -------------------------- (III) HOW TO RUN BACKWARD: -------------------------- Install : --------- Backward needs a FALCON 030 with at least four megs of memory; a hard disk is strongly recommended but not necessary. Copy all files in a directory on your harddisk. Backward runs in any video mode, but 640x400 video mode is strongly recommended. Setting-up is impossible with 40 colons video modes. Use : ----- There are two steps. First, you run Backward to select your set-up, you install Backward (with/without Backward). Then Backward is resident. Insert the Disk you intend to run, then double click on BACKWARD.APP. Main screen consists of a window listing the disk library and a menu bar. Library Window : This Window shows the Library of 'Disks'. Each name is a set-up associated to a disk. The slide box and arrows let you list the library. The selected 'Disk' (if any) is printed in reverse in window and printed in info bar. Clicking on a disk name selects it, which means that it becomes the current set up. Double clicking on a name associates the set-up with the disk in drive. Let's see an example : You've got a copy of Dungeon Master, and there is a specific set-up called Dungeon Master; but Backward doesn't seem to indentify Dungeon Master. You must then reassociate disk with the set-up. Just insert Dungeon Master disk, then double click on Dungeon Master in window. Now it's Ok, just save the library and from now on, Dungeon Master will be automatically identified. Menus : - Desk menu : - About...... : Just the classical About which gives some information. - File menu : - Makes resident ! : Keep backward in memory without rebooting. Less efficient than rebooting, but faster. Backward will keep about 150 Kb of memory. - Reboot ! : Reboot computer with backward resident. Except if ROMS are unknown, just select this and keep your disk in drive. Everything is automatic now ! - Save Default : It saves the preferences in the Backward.inf file. - Quit : Well, it lets you leave Backward. - Library Menu : - Add Disk... : Just insert a disk in drive, then select this. Then type in disk name, and it will be added in library associated to the current set-up. - Delete Disk : Allow to delete a disk from library. - Rescan Disk : Use it to force backward to read the disk in drive and find the associated set-up (if any). - Save Data : Let's you save library. Don't forget to do this each time you alter it. - Options : - Register : if you are a registered user, enter here your name and code to use the full version. - Configure... : Use this to alter the set-up of the current disk (or default one if none is selected). Each option will be explained below. Then there are one or more presets : - Best Compatibility : Backward II at its very best. - Intermediate : Middle option compatibility and speed. - Lowest : Just install TOS patches. Real-Time Set Up : When Backward is resident, you can now alter set up with key combinations. [Alternate]+[Control]+ (numeric keypad) : '(' MC68030, 16Mhz. ')' MC68030, 8Mhz. '/' 16Mhz, Blitter. '*' 8Mhz, Blitter. '7' Instruction cache on. '8' Instruction cache off. '9' Data cache on. '-' Data cache off. '4' Sound louder. '5' Sound softer. ---------------------- (IV) BACKWARD SET UP : ---------------------- Here are listed existing options. A selected option is printed in reverse video mode, option in brackets ('[...]') works only with boot install mode : -MC68030 options : Options which configure the 68030. - Frequency : ST's frequency was 8Mhz, Falcon's 16Mhz. Some disk loading routines don't like 16Mhz. But most of the cases you may stay at this frequency. Select 8Mhz if the game runs too fast (try Space Harrier !). - Caches : The 68030 has onboard caches, which improve its efficiency. But 68000 hasn't any cache. With this option you can select which caches are on (if any). Instr. stands for instruction cache. Data cache's most important effect is speed improvement, and could be kept on, but instruction cache is a cause of non-compatibility. - Exception's Table : Unlike on ST, the exception vectors can be moved in memory. It allows backward to correct some errors. But it slows down the computer a very little bit, so you can turn off this by selecting Kept, but I don't see any reason to do this. -Hardware options : Options which deals with hardware differences. - Blitter Frequency : Same as for MC68030, except you can select the blitter's frequency. It's only a way to slow down your computer, it won't improve compatibility to turn it to 8 Mhz! - Errors : It's the most important option. Access to ST's sound coprocessor (YM 2149) has a bit changed and may cause Bus error. This option let you choose the way such errors will be handled : - Left : Nothing is made, if an error happens, the Falcon will simply crash. - Corr. : Stands for Corrected. Each time an error occurs, Backward redoes the access itself. Efficient but it slows down everything. Some games can cope with this, others can't. - Spec. : Stands for Special. When an error occurs, Backward attempts to modify the program which caused it. If it can't be done, just redo the access. The best option so far, but as before, there is no guarantee of success with it. - Stmode : Any illegal access will simply be ignored. This choice offers the best compatibility but digitized sounds may be very disturbed and moisy. - DMA Sound Int. : STE's DMA digitized sound uses two exceptions. There is only one available on Falcon. So if the game you're testing makes a long whistle or stops after a few seconds of music, try to alter this option. It should be Timer A. -[Memory Size]: Well, you can select here the amount of memory you want to use. Most games will be fine with a single meg. -Others options : - TOS's patches : Patches the TOS to improve compatibility. - The physical address of the screen has been changed a bit. You may correct this with this option. - Jokers are handled for file functions. - And a patch in memory management. - Esc codes for printing. - a patch for Blitmode call. - Internal Speaker : Well, please keep it off ! But some programs turn it on anyway. -[Hard Disk Boot]: You can choose to discard your harddisk (it's a good idea, most games dislike hard drives). It doesn't work with unkown ROMS, then this only solution is to keep [ALTERNATE] pressed while rebooting. -[GEM]: you can turn GEM on/off. Turning it off increases available memory at boot time. But you can't access to GEM desktop, neither GEM prgs (see Minidesk manual for further details). -------------------- (V) 'DISK' LIBRARY : -------------------- The 'Disk' library allows you to record your set up for each of your disk and to select automatically the good one. What is a 'Disk' ? Picture just that it is a piece of paper on which is written the name of the disk (for example : Dungeon Master), the number of the disk (because computer prefers numbers to names) and the set up to use with this game. How to create a 'Disk' ? Insert the disk you want to add in the drive. Then Just select 'Add Disk...' in the Library menu. Then enter a name to identify your disk. Backward will read your disk to compute the number it will use to identify your disk automatically. Now the name you just typed-in appears in the library window. You can alter the set-up, then save the library with 'Save Data' in the Library menu. How to use Backward with my disk ? Once you've created a 'Disk' as explained before, you just have to insert your disk in drive, double click on Backward. The disk will be identified and the set-up will be altered accordingly. You just have to select Reboot Now... or Makes Resident ! and then run your game. May I do this manually ? Yes. There is two way. First, you can insert your disk after Backward started to run, then select 'Scan Disk' in the File Menu. If the disk is not identified automatically, you can select a set-up with a single click on his name in the window. Can somebody give me his library ? Of course, there is only a minor problem. Using the example of the piece of paper mentionned before, the numbers of your friend's disks may be different from yours. Which means your disks won't have the same numbers. But Backward allows you to correct the number recorded. Just double-click on the 'Disk' name (with the disk associated in drive), then save library. Your disk will be identified from now on. What happens if the library is full ? There is room for 2000 'Disks'. If your library is full, just copy the Backward's files in another directory and destroy the BACKWARD.DAT file. You have now a second copy of Backward wich will allow you 2000 more 'Disks'. Note : Window title is changed when library is altered (there is an '*'). ----------------------- (VI) MINIDESK™ MANUAL : ----------------------- When you turn GEM off, and there is no AUTO prgs on your boot disk, Minidesk is launched. It shows a list of files and directories (directories are in brackets, e.g. '[AUTO]'). Cursor keys change current selection. Pressing ENTER on a directory name change current directory, pressing ENTER on a filename execute the selected file. Pressing a letter key changes current drive. ------------ (VII) TIPS : ------------ Default set-up should offer the Best Compatibility. That is : - 68030 and Blitter: 8Mhz. - Cache : None. - Exceptions : Moved. - Errors : STmode. - Memory : 1 Meg. - TOS's patches : On. - Hard Disk : Off. - DMA Sound Exc. : Timer A. - GEM : Off. If your game does'nt work with this Set Up, change memory amount and GEM mode. Fast Set Up (speed and compatibility): - 68030 and Blitter: 16Mhz - Cache : Data. - Exceptions : Moved. - Errors : Special. - Memory : 2 Meg. - TOS's patches : On. - Hard Disk : Off. - DMA Sound Exc. : Timer A. - GEM : On. Special and Corrected handling modes need 16Mhz most of the time. Keeping hard disk with 512Ko option is *NOT* recommended. ----------------- (VIII) MESSAGES : ----------------- Here are listed messages Backward may give you, and the associated explainations. - No RSC found : The ressource file is missing. Get at least BCKWUSA.RSC. - This is not a Falcon : well, it's not a Falcon emulator for ST or TT, sorry. - Not enough memory : Backward needs at least about 400Kb to run, please free some memory. - Disk is already in library : This disk is already in library. Perhaps you have two disks with the same Boot sector. Then try to copy your disk with the desktop. - Name is already in library...: You have a 'Disk' with the same name. Alter the new name to create a new 'Disk'. - Can't read disk !: Perhaps there is no disk in drive, or the disk is corrupted. You can retry access, cancel action or ignore it. - Library is full : Well you already have 2000 disks. Write to me to get more room if you need it. - Unkwown ROMs...: Backward doesn't know your TOS version (4.01 and 4.02 are known). It still runs but you can't turn off automatically hard disk on boot. You'll have to keep the [ALTERNATE] key pressed while booting to do this. Contact me or find a new version which identifies your ROMs. ------------------ (IX) UNKNOWN ROMS: ------------------ If Backward prints this message, it's because it can't identify your TOS version. Then, it means that Rebooting with Backward is a bit more difficult. In fact, it's the same method as for earlier version : - remove any disk from drive. - select 'Reboot Now'. - wait for the ATARI logo. - Drive LED flashes once. - press now [ALTERNATE] and keep it pressed (for preventing hard disk to boot). - The Backward screen appears. - Insert your disk. - Press [SPACE] to continue. ------------------------ (X) GETTING REGISTERED : ------------------------ To get registered, send donations to the following address : Mr DUPUYDAUBY Cyrille 53 domaine des aigles 60500 Chantilly FRANCE Please give me the EXACT version number of Backward and don't forget to give a mail address for response. Reasonnable donations would be 100FF, £10, $20, 30DM. Those donations will be use for user support (see below) and improvment of my coding tools (that means improvment of Backward). User Support : As mentionned, being registered offers many advantages. First, you'll a disk with the last version of Backward (or with the next version, if you've already got the lastest), and other products I have coded. You may ask questions, send advice, demands or even support. Each message will have a response. Registered users will also be warned when new versions will be released and the way to *freely* receive them. Registration is now done with a registration key (which you will receive when getting registered). If you are already registered, and have no key, please write to me. If you don't want to be registered users, please keep using older version of Backward: they are Freeware. ------------------------- (XI) FUTURE IMPROVMENTS : ------------------------- Possible improvments are listed in decrease interest. That means first listed, first coded. Compatibility Improvements : - TOS differences handling. Interface Improvements : - Priting of Library. - Merging Libraries. Features Improvements : - Snapshot. ------------------ (XII) TECH NOTES : ------------------ - Backward will cause a cold RESET on the next restart to let the Falcon get rid off it. - Cache option may have no effect if ROMs are unknown. - MiNT and Backward dislike eachother. - Frequency configurations are made throught an undocumented address, so Backward may not work on future FALCONs. I refuse to give this address (you can still disassemble BACKWARD to see) because it's undocumented, it should be used only for emulation, no for special FXs or anything else. - Backward was written using DEVPAC ST II and INTERFACE. - YM special access option uses TRAP calls (#3 to #10). - Disabling caches is made by remapping ROM in RAM and altering code. - Boot modifications are made the same way. - _memtop sysvar is also modified. It's equal to _phystop on Falcon and to _v_bas_ad on ST(E). It's corrected. - Memory size hasn't any effect when you make Backward resident. - Old ROM addresses are remapped to new ones with Pmmu. - Jokers are handled for Fopen and Pexec. - Free memory is a bit underestimated because the new TOSs need extra memory when creating a Basepage (done for Cubase V1.00, at least). - Unused memory (above _memtop) is protected by Pmmu. So games can't erase Backward when computing memory size. - Backward protects himself (set up in high memory). - Esc codes are handled. - 'Official' LineF calls (MOVEM/UNLK/RTS) are supported. - An antivirus check is made at boot time. THINGS THAT MAY NOT BE CORRECTED : - Format errors : difference between the 68000 and 68030 for stack frames. Causes the 14 bombs error. - Stack frames : same as above, but for private TRAP handling routines. IF YOU THINK YOU HAVE A SOLUTION, PLEASE WRITE IT TO ME. ------------------------ (XIII) BACKWARD HISTORY: ------------------------ - Idea : 5 april 1993. - beta version : 10 april 1993. - V 1.00 running : 12 april 1993. - V 1.10 running : 16 april 1993. - V 1.20 running (first release) : 21 April 1993. - V 1.30 running : 28 april 1993. - V 1.32 running : 1 May 1993. - V 1.40 running : 1 May 1993 (yeah the same day, two versions). - V 1.43 running : 21 May 1993. - V 1.44 running : 21 July 1993. - V 1.43 rewrited to V 2.00 : July, from the 16th to the 31th. - V 2.01 running : 1 August 1993 (first Shareware version). - V 2.02 running : 7th August, 1993. - V 2.11 running : 3rd September, 1993. - V 2.22 running : 16th September, 1933. - V 2.24 running : 24th November, 1933. - V 2.30 running : December 1993, the 6th. - V 2.31 running : December 1993, the 8th. - V 2.40 running : December 1993, the 13th. - V 2.41 running : January 1994, the 2nd. - V 2.50 running : January 1994, the 18th. - V 2.52 running : Februar 1994, the 2nd. -------------- (XIV) THANKS : -------------- Thanks to Patrice BENSOUSSAN for his suggestions (which have been reckoned) and his active support. Thanks to Peter Segerdahl for the same reasons. Thanks are sent to Mathias AGOPIAN, whose article help me a lot improving BACKWARD (essentially moving PMMU and Blitter frequency). Thanks to my first registered users who gave me the strength to write this version. ------------------ (XV) BUGS REPORT : ------------------ V 2.52 ------ Improvments : - Sound Handling ! With keyboard shortcuts. - SCC interruption vetors are protected. V 2.50 ------ Improvments : - New option: GEM on/off ! - Built in Minidesk™. - Autostart with Control key. Bugs corrected : - Stack size has been extended; may correct some bugs ? - Problems with TOS 4.01 fixed. Those bugs were mentionned only by one person ! Bugs : - There may be some bugs with Minidesk. V 2.41 ------ Improvments : - Memory protection. - Antivirus check. Bugs corrected : - TOS 4.04 should now be really handled. Unchecked ! - 'Remove Disk' option used to remove two Disks at a time. Corrected now! V 2.40 ------ Improvment : - Line F emulation has been reintroduced (it was removed since V 2.00). Bugs corrected : - A few minor fixes. - Handling of unknown ROMs should work correctly now. V 2.31 ------ Bugs corrected: - A silly (really silly) bug when double clicking on a Disk has been corrected. V 2.30 ------ Improvments : - TOS 4.04 Handling (Unchecked !). - New feature (Delete Disk). Bugs : - Still redraw bugs with Winnix. - It seems there are some problems with GEMRAM (not sure). V 2.24 ------ Improvments : - Minor modifications to interface (some nice icons now). Bugs : - A few redraw problems under Winnix (don't know which is un fault). - some problems with TSR's program if ROMs are unknown. Bugs corrected : - A LOT of redraw bugs (found thanks to Winix). - A MAJOR bug: Backward could not reboot if ROMs were unknown; thanks to those who pointed this out. V 2.23 ------ Improvments : - Blitmode call resets colormap to default. Backward corrects it now. V 2.22 ------ Bugs corrected : - A big lurking bug made impossible to use hard disk on V 2.21. Sorry! V 2.21 ------ Bugs : - None found ? Bugs corrected : - Memory management has been improved, 512Ko option should work correctly. Improvments : - Esc codes. - Presets menu. - Usage of two cookies :PMMU and BCKW. V 2.11 ------ Bugs : - Memory managment must be improved while rebooting. Bugs corrected : - 512 Ko option is now available. Improvments : - Real-time set up. - Interface redesigned with Interface II. - 'Disk' Names can be modified. V 2.02 ------ Bugs : - 512K option still disabled. Improvments : - Jokers in Pexec and Fopen. - Memory handling (freemem). - Memory protection. V 2.01 ------ First Shareware version. ############# # REWRITTED # ############# Bugs : - 512K option still disabled. Bugs corrected : - Coroner protocol has been removed. It was heavy and useless. V 1.44 ------ Last Freeware version. Bugs : - Forget the 512K option. Bugs corrected : - The random crash while booting has disappeared. - A bug about instruction cache has been corrected. V 1.43 ------ Bugs : - Sometimes backward crashes for no reason. Try again. - 512 Ko option will certainly never be coded. Bugs corrected : - Ym correc access code has been improved. Trap vectors are set only when they're used. - A lot of minor bugs have been corrected from the unreleased V1.41 and V1.42. - Screen address emulation was only effective after a resolution change on Desktop. It has been fixed. V 1.40 ------ Bugs : - Still nothing for 512 Ko. V 1.31 ------ Bugs: - 512 Ko Option still disabled. - Cache options were wrong till version 1.30 (flushing them instead of turning them off). It's corrected now. But the TOS seems to reset them! V 1.30 ------ Bugs: - 512 Ko Option doesn't work. It seems that the Falcon refuses to run with so little memory. Not yet corrected (if ever). Bugs corrected: - Setting DMA Sound Interrupt Timer A may had no effect in V1.20. It's corrected since V1.30. - Turning off DATA cache hadn't any effect. Corrected since V1.30