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.