Tape to Disc Program Transfer Utility For the BBC Microcomputer Models B and B+
Features
*Tape to Disc Transfer - The Best Currently Available*
*Mid-Game 'Stop and Save' Facility for Games*
*Most Disc to Disc Transfer*
*Displays a 'Stopped' Screen for Printing*
*Mid-Game Pause Facility*
*Game Alterations, eg. Infinite Lives!*
*Keeps Tape Program Protection*

Instruction

Manual

Vine Micros

Marshborough
Nr Sandwich
Kent
CT13 0PG
Telephone (0304) 812276
Introduction
The REPLAY system is a totally new development for the BBC Microcomputer, being a highly sophisticated but easy to use disc utility. It will take any* program in memory and transfer it to disc at virtually any point in time.
This unique ability allows a program to be transfered from tape to disc, from disc to disc (in most cases), and can freeze a game or adventure during play for subsequent replay.
Also included is the ability to display the screen at the point of saving to disc. Thus with a screen printer dump routine (not supplied) a game status can be printed out.
(* A few recent games may need special screen formatting.)
REPLAY ROM and associated Hardware is the copyright of
Vine Micros,
Marshborough,
Sandwich,
Kent,
CT13 0PG.

Hardware and ROM software designed by

Richard P.D. Mallett July 1985.
All rights reserved. Under no circumstances may the REPLAY ROM or any associated hardware be reproduced, stored, transmitted, or photocopied in any form or by any means without the prior written permission of Vine Micros.
This system solely provides transfer of programs to disc, does not break program protection, and cannot be used to copy programs. Each transferred program is individual to the REPLAY system that saved it, it is not possible to load that same program using a different REPLAY system, as it is against our policy to allow piracy by the use of the REPLAY system.
Vine Micros can accept no responsibility for any loss by the use of the REPLAY system.
Contents
1. Starting off
2. Transfering from tape to disc
3. Transfering from disc to disc
4. Turning the cursor back on
5. Displaying saved screens
6. Pausing games
7. When to press the button
8. Different disc formats
9. Editing data files
10. Continuous update files
11. Special screen formats

Drive: 0 Tracks: 40 Sectors: 10
A: B: C:
Press appropriate letter to run a program, or number for a utility :-1) create file 2) delete file 3) display screen 4) edit file 5) initialise disc 6) change drive <SPACE> catalogue REPLAY disc Option ?
Please also see the additional information on Page 19 with reference to the operation of the REPLAY switch
1. Starting off
Please read the following if you are new to the REPLAY system, it gives a step by step demonstration of how to use REPLAY.
Insert a blank formatted disk in drive 0, and type :-
*REPLAY (or just *REP.)
The disc drive will whirr and the main system menu will be displayed.
Note that at this stage the disc in use has not been initialised, so press utility key 5.
A yes/no prompt will then be asked for. Press 'Y' or 'y' to carry on, any other key will go back to the menu. Note that any programs on the disc are irrecoverable after issuing this command.
After initialising, the screen will be as shown, (the exact number of programs displayed will depend on your disc drive and density.)
Press key 1 to create a new file. A file name will then be asked for (maximum 30 characters), so enter, say, 'TEST PROGRAM' and press RETURN .
The disc drive will whirr as the program is being created, and then the program name will reappear next to 'W :', the W signifying that this is a write only file (ie. you cannot read it because nothing has been saved to it yet.
Note that the name will appear in flashing white text. This indicates that whenever the REPLAY switch is activated (to save a game), it is to this file that the program will be saved.
To demonstrate this, press BREAK and then type in a few letters (just to fill the screen with some text.) Then press the switch ONCE. The two keyboard control LEDs will now start flashing, indicating that the REPLAY is active. Press one of the function keys f0 to f3 (corresponding to drives 0 to 3) to select the drive, eg.
Press f0 to save to the disc in drive 0.
REPLAY then starts to access the disc. First the disc is scanned for the correct density (if applicable), and to make sure that it is a REPLAY system disc, then saving will occur; (REPLAY may take a little time to recognise the density.)
Once complete, the computer will carry on functioning AS IF NOTHING HAD HAPPENED, you could even press the button again (though not while the disc is still active) to update the file that has just been saved to.
To recall the file, press BREAK and re-enter the REPLAY system by typing *REPLAY again, or (when a REPLAY system disc is in drive 0) do a SHIFT-BREAK (hold SHIFT down, and then momentarily press BREAK while still keeping SHIFT pressed.)
Once re-entered, REPLAY will look at the program just stored on disc and set up its data file. (The data file contains data such as screen mode, screen size, logical/actual colour definitions and VDU register data.)
To recall a program, simply press the letter next to the program's title (in this case press the letter 'A'.)
Note that the file name is now displayed in blue, indicating that the file is read only.
REPLAY will then load back the program just saved, and will resume processing from the point at which the button was pressed.
2. Transferring programs from Tape to Disc
Because of the way that REPLAY works, there is no tape to disc transfer routine in the ROM itself, (unlike the 'TD ROM' and other similar utilities.)
To transfer from tape to disc, first create a new file on the disc to be saved to using the method as described in the 'Starting off' section. Then press BREAK , type in '*TAPE' to select the tape filing system, and then run the cassette program as normal (usually just *RUN or CHAIN "".)
Once ALL sections have been loaded and the game/program is ready to use, simply press the REPLAY switch and press f0, f1, f2 or f3 to save to drive 0,1,2 or 3 respectively, and let REPLAY save the program to disc as normal. The game will then continue as before.
When the disc drive has stopped press BREAK , (in some games you may have to turn off the computer), enter REPLAY with the disc still in the drive (ie. type *REPLAY x, where x is the drive number - if omitted drive 0 is assumed.)
The menu will be presented, and REPLAY will then set up the program's data file (which contains the screen mode, etc.)
Test the program by running it, (ie. press the letter beside the program name.) The program will re-load from disc, and re-start from where the program was saved.
If for some reason the screen format is incorrect (ie. the screen goes haywire), then please read the section in this manual regarding 'Special screen formats'. Note that although the screen may be bizarre in appearance, the game will still be working, and may correct itself during play or on pressing ESCAPE .
3. Transferring programs from disc to disc
Follow the method as in the section on tape to disc transfer, but instead of loading from tape insert the disc to transfer and run the program as normal, (ie. SHIFT - BREAK in most cases.)
When the program is running, re-insert the REPLAY disc upon which the program is to be saved (this should already have a file created on it.) Press the switch, and continue as in the section on tape to disc transfer.
Note that if you press the switch with your disc which is being transferred still in the drive, REPLAY will realise what you have done and will resume the program without saving to disc, thus allowing you to change discs. REPLAY will NOT save to non-REPLAY discs.
4. Turning the cursor back on
REPLAY automatically turns off the cursor in every program it transfers to disc, since in most cases the cursor is never used (ie. in games.)
To re-enable the cursor simply enter the 'Edit file' option (press 4 from the system menu, and press the correct file letter. You can then turn the cursor on by pressing 'O' ('Cursor on/off.) This will switch the state of register &0A of the video controller, which has a value of "20" for cursor off, and ".." for on. When done, press E to exit. See 'Editing data files' for more information.
5. Displaying Saved Screens
To display a program's screen press option number 3 from the REPLAY System Menu, and enter the program letter. The program's screen will then be displayed, and the ROM will be exited.
Using this option will allow screen dumps of programs to be obtained at any point in their execution, or if a printer routine is available this can be used to give a hardcopy of screen displays.
Note that weird screen formats are still catered for, but the screen is displayed using the mode as set in the data file. Screen formats with different screen widths will be loaded and then 'decoded'. Split-mode screen formats can only be displayed in one screen mode.
To use the option with a printer dump routine, use a BASIC program such as:-
10 *REPLAY
20 ..... printer routine in basic, or a
30 ..... command to call a routine in ROM
When run, the ROM will be entered, so press 3 and the program screen to be dumped. The BASIC program will then be re-entered, thus dumping the screen to the printer.
(Due to the complexity of the ROM it was not possible to include printer routines for a range of printers.)
6. Pausing games
To pause a game, press the switch ONCE. The game will then freeze, with the two keyboard control LEDs flashing. To restart, simply press f6.
This facility is included to allow games without pause buttons to be frozen.
Note that when paused EVERYTHING is frozen, including keyboard (except those keys used by the ROM), screen (ie. no flashing graphic colours and no split modes), and timers - ie. TIME will not give a correct value.
7. When to press the button
In virtually all programs the switch can be depressed at any time.
But if any problems occur then try to press the button when :-
... the game has just loaded (ie. at the title page.)
... no sounds are being generated, ie. at the title page, or when paused (most games have a 'freeze' button.)
... the screen is in mode 7, or any other recognisable standard screen mode. ie. a full size screen.
8. Different disc formats
The number of files that can be saved to disc using different disc drives and densities is as follows :-
tracks sectors programs
Standard Acorn format :-
40 10 3
80 10 6
Solidisk, etc.
40 16 4
80 16 9
OPUS, etc.
40 18 5
80 18 11
This may seem rather wasteful of disc space, but all 32k of the computer memory needs to be saved for any one program.
9. Editing data files
As detailed in the section on 'Special Screen Formats', some programs need data files entered manually, which is where the Edit file utility in the ROM can be used. It can also be used to re-initialise a data file after updating the main program (see 'Continuous Update Programs').
To enter the Edit utility, press 4 from the system menu. You will then be asked which file to edit, so press the LETTER for the corresponding program.
The current data file will then be displayed, consisting of :-

Screen mode and screen size

These are normally set to corresponding settings (ie. mode 2 has a screen size of 20k), but screen size can vary on special screen formats when used to give sideways scrolling on compacted screens (eg. a mode 2 screen with a size of 16k).
6845 Video Registers
16 registers (0 to 15) as detailed in the Advanced User Guide. Registers 12 to 15 are automatically read, (they are the only ones which can be), which are the screen start address and cursor address (hi/lo). The screen start address will change whenever the screen scrolls, and the cursor address will change when the cursor is moved. Two dots '..' indicate that the register is not changed.
Logical/Actual Colours
These define the actual colours displayed on the screen, which can usually be read directly from RAM. Again two dots '..' indicate that the colour is not changed from its normal setting in that mode. Note that no colour definitions are displayed in mode 7 since they cannot be changed.
The data displayed is the data that is used to set up the screen format correctly for the corresponding program.
For normal use this is all set automatically by REPLAY, but it can be altered using the options (see the bottom of the screen) which are:-
Mode - key M
This is used to change the screen mode and screen size. eg. press M and you will be asked what mode to use. Enter the screen mode to be used, pressing RETURN will return you to the edit menu. Then enter the screen size, or just press RETURN to set this to the normal value.
Vdu registers - key V
This is used to change any of the 6845 registers. This is only necessary in the very few programs that REPLAY cannot recognise as having special screen formats. After pressing V you will be asked which register to alter, pressing RETURN will return you to the main menu. Enter this value, and you will then be asked what value to put in this register. Enter the data, or just press return if the old register data is to be deleted.
Alter program - key A
This is reserved for any program modifications which may be released by Vine Micros, such as infinite lives in games, etc.
Colour change - key C
This operates in the same way as the routine to change logical/actual colours. ie. First enter the logical colour number after pressing C and then enter the actual colour value, or just press RETURN to delete the old value.
Initialise - key I
Pressing I will set the data file to the correct settings as seen by the computer. This is done automatically when re-entering REPLAY after saving a
program, but can be used to update the data file of a 'continuous update' file (see 'Continuous update Files'.)
Update - key U
Pressing U will swap between load only programs, and Continuous update programs. A load only file will appear in blue, while a continuous update file will appear in purple. (See 'Continuous update Files'.)
Roms off - key R
Whenever you save a program to disc, EVERYTHING is saved with it, including details of where each ROM is in the computer. Therefore if you decide to move or take out a ROM, this information will change, and if an old program is then loaded back the details of ROM positions will be incorrect. Thus if ROMs need to be accessed during a program, the operating system will get confused and hang up.
To prevent this, there is the option to either turn all the ROMs off, or to update the ROM position table, either of which should cure the problem.

Cursor on/off - key O

Pressing O will switch the state of the video controller cursor register (register &0A.) This has a value of "20" for cursor off, and ".." for cursor on. See 'Turning the cursor back on.'
Exit - key E
Pressing this will update the data file, and will return you to the main system menu.
10. Continuous Update Files
When playing a game, it is often useful to be able to re-save (or update) a file on disc, for replay at a later date. Hence some files can be 'Continuous Update Files', in which case pressing the switch will cause a save to the program just loaded.
To set a program to be continuously updated, simply enter the 'Edit file' mode (option 4 from the main menu), press the program letter, and then once the data file is displayed press U (the program name will change colour to purple, and 'R&W' will appear to the left of the name -ie. read and write.) Then press E to exit the edit mode and re-save the data file.
Once set, a program can be loaded as normal and then at some time during the program execution, the switch can be operated (along with one of the drive keys f0 to f3), and REPLAY will overwrite the old program on the disc.
Note that the data file for the program will not be updated, since this will not normally be necessary. To update the data file press I from the edit file utililty (see 'Editing data files'.) This will then reset the data file to the correct setting, including screen start address and cursor position.

11. Special Screen Formats
When a program is saved to disc using REPLAY, it needs to save the screen format at the time of pressing the switch. For just about every program presently available the data for screen formats is present in RAM along with the program, hence REPLAY can easily recall this and set up the screen correctly on subsequent re-loading.
However, some of the very latest games use special screen formats (ie. squashed in width and/or height) to save memory, and the special data needed to create such a screen IS NOT READABLE (it is impossible !) This is mainly because that only 6 of the 18 registers in the video chip used to create such special screen formats are re-readable by REPLAY, ie. the game will write quite happily to the video chip but REPLAY cannot find out exactly what was written, hence some important screen data is lost. It is for this reason that upon re-loading a screen may appear garbled, though most games do correct themselves in due course.
To resolve this problem, the screen data for most of the recent programs that use special screen formats is held within the ROM itself, and the data files for such programs are automatically set by the ROM. The programs are recognised by their name, hence it is important to give the correct spelling for a program (you can change the name of a program AFTER transferring it if you want to.)
It is also possible to set the screen data manually using the 'Edit file' utility in the ROM (see the section on 'Editing data files'.) To do this it is necessary to be familiar with the 6845 video controller (see the 'Advanced User Guide pp. 359-375.)
The video controller has 18 internal registers as follows:-
Reg. Use
0 Total horizontal bytes (never used.)
* 1 Displayed horizontal bytes (squeeze screen.)
2 Horizontal sync positon (shifts left/right.)
3 Sync widths (never used.)
4 Vertical total lines (never used.)
5 Vertical total lines adjust (never used.)
* 6 Vertical displayed lines (squeeze screen.)
* 7 Vertical sync position (shifts up/down.)
8 Interlace mode (never used.)
9 Scan lines per byte (never used.)
* 10 Cursor data (on/off.)
11 Cursor data (never used.)
* 12 Screen start address High (address/8.)
* 13 Screen start address Low (address/8.)
* 14 Cursor address High (address/8.)
* 15 Cursor address Low (address/8.)
16 Light pen High (read only register.)
17 Light pen Low (read only register.)
* indicates that these registers are commonly used in special screen formats. The Screen start addresses can be read by REPLAY and are automatically set in the data file.
Note that the light pen registers are read only, and hence not displayed in the data file.
The most common form of special screen format is to squeeze the screen vertically using register 6. A value of &20 (32 dec.) means that 32 lines are displayed, etc.
Using the above information you may be able to set your own screen formats for new programs, but if for some reason you are still not able to set the screen format, then write to Vine Micros using the address at the front of this manual. Please state exactly which program you have problems with (please enclose an SAE for a fast response.) Vine Micros will then reply giving details of any new programs with special screen formats.
IMPORTANT
Please note that the enclosed REPLAY has been altered slightly in its operation. (The code number on the side of the box will be prefixed with an 'A'.) When saving or pausing a game (see pp. 4,6,7,10,16), the button should be pressed in and kept in until the keyboard lights start to flash, and only then should it be released. The time taken for the lights to start flashing should be around 1/5 of a second.
The reason for the 1/5 of a second wait is so that if a switch has been incorporated into the REPLAY hardware (to turn the ROM on and off), then switch 'de-bounce' will not cause any problems.
If you wish to save a program when REPLAY has been switched off:
Press the REPLAY button and keep it in.
Turn REPLAY back on.
Wait for the lights to flash.
Release the button.
Press the function key as explained in the Manual.