Dumpmaster
    Multi-printer screen dump Rom

    by T. Powys-Lybbe
        • Introduction
          Printers supported
          Summary of features
        • Getting started
          Fitting Dumpmaster
          Calling Dumpmaster on BBC Micro
          Calling Dumpmaster on Master 128
        • The *PRINT command
          Parameters
          On screen help
        • The *PRINT parameters
          Selecting a printer
          Text dumps
          Text windows
          Graphics windows
          Rubber band windows
          Setting a left margin
          Logical colours
          Colour inversion
          Mode 7 printing
          Form Feed option
          Sideways and vertical dumps
          Snapshot dump
          Snapshot save
          Dumpmaster work space
          Setting the default values
        • Standard defaults
        • Sideways and vertical dumps

    Introduction

    Dumpmaster will produce screen dumps in any screen mode for the printers listed below. Full colour dumps will be produced for colour printers, and up to 8 shades will be used to represent the colours on standard printers.

    Printers supported

    Dumpmaster may be used with the following printers:

    ManufacturerModel
    AcornJP101
    AnadexDP9500, DP9501
    BrotherM1009, HR5
    CanonPJ-1080A, PW-1080A
    CentronicsGLP
    Cosmos80
    Datac109V
    Ensign1650
    EpsonALL black and white models
    EpsonJX80 colour
    Facit4510
    GeminiAll models
    Ids480
    IntegrexColour Jet 132
    KagaTaxan KP810, KP910
    Micro PeripheralsMP165
    Mannesmann TallySpirit MT80, MT160
    NEC8023
    OlivettiSpark Jet JP101
    PanasonicKX-P1080
    Quen-DataDP100
    SeikoshaGP80, GP100, GP250X, GP550, GP700
    ShinwaCTI CP80
    StarAll models
    TandyCGP-115, DMP-100

    Summary of features

    • Printer dumps for any screen, in any mode (including mode 7).
    • Full colour or shaded dumps using up to 8 different shades, dependent upon printer capabilities and screen mode.
    • Partial screen dumps, making full use of elastic band windows, text windows and graphics windows.
    • Normal (black on white) or inverse (white on black) dumps.
    • Sideways or vertical printing for most printers.
    • Linear dumps for most printers.
    • Special fast non-graphic dumps for all-text screens.
    • Snapshot facility allowing dumps to be produced at the press of a key, ever while another program is running.

    Getting started

    Fitting Dumpmaster

    Dumpmaster is supplied on a 16k Rom and should be plugged into any vacant sideways Rom socket. If you are not familiar with installing sideways Roms, you should refer to the enclosed Rom fitting instruction sheet.

    You can check that the Rom is correctly installed by typing:
    *HELP
    when you switch your machine on. You should then see the message:
    DUMPMASTER 1.00
    displayed on the screen. The version number may be different to that shown above. Please note the version number of your Dumpmaster Rom and always refer to it in any correspondence.

    Calling Dumpmaster On BBC Micro

    Once fitted in your machine, you may call Dumpmaster at any time by typing: *PRINT
    (Although you are advised not to try this command now, as it will produce a screen dump, which may not be suitable for your printer).

    You may alternatively abbreviate the command to:
    *PR.   for example.

    Note that Dumpmaster follows the standard Beebugsoft protocol. Preceding the command with the letter 'B' will ensure that it is recognised by Dumpmaster provided that the command is wholly in upper case or wholly in lower case (i.e. *BPRINT or *bprint). Similar commands, where the 'B' and the word 'PRINT' are in mixed upper and lower case (eg. *Bprint or *bPRINT), will be specifically ignored by Dumpmaster, and passed on to the next Rom with the 'B' stripped off.

    Calling Dumpmaster On Master 128

    If you are using a BBC Master computer then you MUST prefix the command with a 'B', otherwise the operating system command *PRINT will be executed. Example:
    *BPRINT

    The *PRINT command

    Dumpmaster is called with the *PRINT command, which may be followed by a number of optional parameters which define the type of dump to be produced. The command may be given in immediate mode (ie. just type it in from the computer and press RETURN), or from within a program. The latter method may prove to be of most use, otherwise the *PRINT command will itself appear on your final printed screen.

    Parameters

    The general format of the *PRINT command is:
    *PRINT P,T,W,L,C,I,F,V,A,S,M,D

    The parameters following the *PRINT command will tell Dumpmaster the type of printer you are using and the type of dump that you require. They are all optional and you need only specify those that you require for your particular dump and printer. The parameters may be specified in any order, in upper or lower case and may be separated with either commas or spaces. Some examples of typical commands are:

      *PRINT
      *P. i F v
      *P. p21 L1000, M22 W1 I F
      *PRI. I,F,V
    Whenever the *PRINT command is issued either on its own or with parameters, a screen dump will instantly be produced (apart from certain parameters which will be mentioned later). You should therefore ensure that before the command is given, your printer is connected and in the ready state. If the printer is not on-line, the computer will appear to 'hang'. If this occurs you should connect and switch on your printer, or alternatively press ESCAPE or BREAK to reset the computer.

    As mentioned above, you may specify any number of parameters along with the *PRINT command. Any parameters that are not specified will take a default setting. This means that, for example, if you do not specify which printer you are using Dumpmaster will assume the default, which happens to be for Epson compatible printers. See Section 5 of this booklet for a summary of the Dumpmaster defaults.

    All the Dumpmaster features are activated or de-activated by use of the *PRINT parameters. In most cases, where a feature's parameter is not given and the default is assumed, the feature will remain inactive. The *PRINT parameters will be explained in turn in the following section along with default settings.

    On screen help

    The command
    *HELP PRINT
    provides useful information on Dumpmaster features and current defaults.

    The *PRINT parameters

    Selecting a printer

      Syntax:*PRINT Pnn
      Function:Specify printer type
      Default:nn=0
    Dumpmaster produces screen dumps for a wide range of printers. The P parameter, followed by a printer identification number (PIN) is used to specify which printer is currently in use.

    The following PINs are available:

    PrintersPINs
    Acorn JP10119
    Anadex DP9500 & DP95011
    Brother M10090
    Brother HR52 or 20 (20 is linear)
    Canon PJ-1080A3
    Canon PW-1080A0 or 5 (5 is linear)
    Centronics GLP23 (non-epson compatible)
    Cosmos 800
    Datac 109V0 or 4 (4 is linear)
    Ensign 16500
    Epson - All models0
    Epson LX80 & FX 800 OR 5 (5 is linear)
    Epson JX800, 5 or 22 (22 is linear & colour)
    Facit 45106
    Gemini0
    Ids 4807
    Integrex Colour Jet 1328
    Kaga Taxan KP810, KP9100 or 5 (5 is linear)
    Micro Peripherals MP1650
    Mannesmann Tally Spirit MT809
    Mannesmann Tally MT16010
    NEC 802311
    Olivetti Spark Jet JP10119
    Panasonic KX-P10800
    Quen-Data DP10012
    Seikosha GP80 & GP10013
    Seikosha GP250X14
    Seikosha GP55021
    Seikosha GP70015
    Shinwa CTI CP800 or 12 (12 is larger)
    Star DP-848016 (CJE Micros version)
    Star - All except DP-84800
    Tandy CGP-11517
    Tandy DMP-10018

    You may display the above table at any time by typing:
    *HELP PRINT

    You will note that the currently selected printer is highlighted, and that certain printers appear more than once; for example you may use a PIN of either 0 or 5 for an EPSON FX80. This is because certain printers, including the FX80, are capable of producing what is called a linear graphics dump. This means that it can produce a dump in which the horizontal and vertical axes are in the correct proportions. Non-linear graphics dumps produce an image that is slightly squashed either horizontally or vertically. The default setting for the P parameter is a PIN of 0. Therefore to produce a screen dump for an Epson FX80 or a Canon PW-1080A, this parameter may be omitted. Example: To dump the current screen to an Anadex DP9500 printer (with a PIN of 1):
    *PRINT P1

    Text dumps

      Syntax:*PRINT T
      Function:Select a "Text Only" dump
      Default:Graphics or text dump according to screen mode
    Screen modes on the BBC micro may be thought of in three classifications:
    • Graphics Modes 0,1,2,4,5
      When printing a graphics screen (ie. from Mode 0,1,2,4 or 5) Dumpmaster converts the contents of the computers screen memory into individual dots, which are printed by your dot-matrix printer.

    • Text Modes 3,6
      When a screen is produced in a text mode, the screen can only consist of standard Ascii characters. It is therefore possible for Dumpmaster to produce a much quicker screen dump, using the printers built-in Ascii character set. The PIN does not have to be set for a text dump and this feature will work with all printers, not only those listed as compatible with Dumpmaster.

    • Teletext Mode 7
      Teletext screens are stored by the computer in a special way, and the method of producing Mode 7 screen dumps with Dumpmaster is described in a later section of this manual.
    Whenever a dump is requested in one of the text modes (ie. Mode 3 or 6), a special "text only" dump will automatically be produced. This will be printed faster than the standard graphics dumps (as it makes use of the printers internal character set), and will contain only text (ie. Ascii characters). This type of dump may also be used in the graphics modes (Modes 0,1,2,4 or 5) by specifying the T parameter.

    Such a dump will ignore any colour settings and print only standard Ascii characters. If a non-standard character or a character mis-aligned with the text grid (caused by printing at the graphics cursor after issuing a VDU5) is encountered, dumpmaster will replace the character with a space. Example:

    To dump a Mode 3 screen to an Anadex DP9500:
    *PRINT P1

    To dump a Mode 4 screen containing only text to an Anadex DP9500:
    *PRINT P1 T

    Text windows

      Syntax:*PRINT W1
      Function:Print a text window
      Default:Print entire screen
    If you have defined a text window within your program, you may use the W1 parameter to produce a dump of just the contents of that window. You may be in any mode (except Mode 7) and should have used the VDU28 command (see your <BBC Micro User Guide) to set up a window.

    If the window only contains text, it may be appropriate to use the T parameter in conjunction with W1 to produce a "text only" dump, as described above. It is quite acceptable, however, to produce a graphics dump of the text within a text window, by omitting the T parameter. Example:

    To dump the text window with a text dump for any printer:
    *PRINT T W1

    To dump the text window with a graphics dump for a Brother HR5:
    *PRINT P2 W1

    Graphics windows

      Syntax:*PRINT W2
      Function:Print a graphics window
      Default:Print entire screen
    If you have defined a graphics window within your program, you may use the W2 parameter to produce a dump of just the contents of that window. You should be in a graphics mode (Mode 0,1,2,4 or 5) and have used the VDU24 command (see your BBC Micro User Guide) to set up a window.

    If your graphics window contains only text, you may choose to use the T parameter in conjunction with W2 to produce a "text only" dump, as described above. Example: To dump the graphics window to an Epson FX80:
    *PRINT W2

    Rubber band windows

      Syntax:*PRINT W3
      Function:Print a specific area of the screen
      Default:Print entire screen
    An alternative method of dumping graphics windows is to specify W3 as a parameter on the command line. A rectangular window will then appear on your screen along with a small arrow.

    The cursor keys may be used in the usual way, and will freely move the arrow cursor around the screen. You should now position the arrow close to one of the edges of the window.

    If you then press SHIFT at the same time as one of the cursor keys and move over the edge of the window, you will observe that the edge of the window is "shunted" in the direction of the cursor. In this manner, you should now manipulate the window so that it is located over the area of the screen that you wish to print.

    The speed of cursor movement may be increased by pressing TAB in conjunction with any of the cursor keys.

    When you have created the desired graphics window, press COPY to initiate the graphics dump. If at any stage you wish to abort this process, hold down ESCAPE and press COPY. Example:

    To set up the rubber band window and then perform a printer dump to a Canon PW-1080A:
    *PRINT W3

    Setting a left margin

      Syntax:*PRINT Ln
      Function:Leave a left margin n units wide
      Default:No margin
    This parameter will cause a left margin to be generated as the screen is printed. The entire dump will be shifted to the right by the specified number of positions and the left margin area will remain untouched by the printer. If as a result of this margin, part of the dump is "pushed" off the side of the paper, then it will not be printed. The number after the L parameter specifies the size of the left margin. If a text dump is being produced, the margin size is expressed in units of text characters. If a graphics dump is being produced, it is expressed in graphics units.

    A graphics unit is the standard BBC micro graphics unit as specified with the PLOT and DRAW commands, where there are 1280 units across a screen. The paper width, expressed in graphics units, is given for each printer identification number in Section 6. Example:

    To produce a windowed graphics dump with a left margin half the width of the screen for an Epson FX80:
    *PRINT L640 W2

    Logical colours

      Syntax:*PRINT Cn
      Function:Redefine logical colours
      Default:Logical colours the same as actual colours
    On the BBC micro it is possible to re-define the relationship between "actual" and "logical" colours (see your BBC Micro User Guide) using the VDU19 command. However, Dumpmaster will normally print the "actual" colours, and will therefore reflect what is actually displayed on the screen.

    The Dumpmaster C parameter works in a similar manner to the VDU19 command, and allows Mode 2 and Mode 5 screens to be printed in whatever "actual" colour you choose, regardless of the colours displayed on the screen.

    The C parameter must be followed by 8 digits, which represent the new "actual" colours, in order of "actual" colour number. The "actual" colour numbers are those used by the VDU drivers in the BBC micro, (except that flashing colours are ignored), and are documented in the BBC Micro User Guide.

    The C parameter may only be used in Modes 2 and 5, and all 8 digits must be specified regardless of mode or the number of colours that are to be re-defined. Note also that the flashing colours, "actual" numbers 8 to 15, will be treated as the equivalent non-flashing colours, numbers 0 to 7. Example:

    To set the palette such that all "actual" colours other than white are printed as black, and white is printed as white on an Epson FX80:
    *PRINT C77777770

    Colour inversion

      Syntax:*PRINT I
      Function:Set inversion mode
      Default:Normal printing
    The I parameter can be used to set inversion mode, which causes anything appearing on the screen in white to be printed as white, and anything in black to be printed as black. (Normally the printer will print in black to represent anything white on the screen).

    With the colour printers (Canon PJ-1080A, Seikosha GP700, Intergrex Colour Jet 132, Epson JX80 and Tandy CGP-115), the rest of the colours will remain unchanged. However, on the black and white printers colour 1 becomes colour 6, colour 2 becomes colour 5 and so on. Example:

    To dump a screen with colour inversion to a Mannesmann Tally MT160:
    *PRINT P10 I

    Mode 7 printing

      Syntax:*PRINT
      Function:Print a Mode 7 screen
      Default:Not applicable
    Mode 7 screens are created and stored in the computer in a special way and so cannot be immediately dumped to a printer. Dumpmaster will, however, automatically transfer your Mode 7 screen into a Mode 4 or a Mode 1 screen, which may then be easily printed. To dump a Mode 7 screen, you need to simply give the *PRINT command, with no special parameters. Dumpmaster will then ask if you wish a Mode 4 (two colour) or a Mode 1 (four colour) screen dump to be produced. If you specify mode 1, the four most commonly used colours on your original Mode 7 screen will be used to produce the new screen. In Mode 4 only black and white will be used.

    Dumpmaster will then convert your screen to the appropriate mode and will ask if you wish to save this new screen to disc or tape, before it is printed. It is not possible to specify a window in conjunction with a Mode 7 screen dump, however, if you have saved the newly created (Mode 4 or Mode 1) screen to disc or tape, you may re-load it and use windows in the normal way.

    Owners of the Canon or the Intergrex colour printers may obtain full colour Mode 7 screen dumps. They should choose to convert their Mode 7 screen to Mode 4 and will find that although it appears on the screen in black and white, a special feature of Dumpmaster will ensure that the printer copy is in full colour. (Note that the colour information used by the Canon and Intergrex colour printers is not saved with the Mode 4 screen image, if it is saved to disc or tape). Example:

    To dump a Mode 7 screen to a Canon PW-1080A:
    *PRINT P3

    Form feed option

      Syntax:*PRINT F
      Function:Disable automatic form feed
      Default:Automatic form feed
    After Dumpmaster has completed printing a screen dump, it will automatically issue a form feed. The F parameter will prevent this from happening. Example:

    To print a graphics dump without form feed, for a printer with a PIN of 1:
    *PRINT P1 F

    Sideways and vertical dumps

      Syntax:*PRINT
      Function:Print screen vertically
      Default:Printer dependent
    Because the resolution and ability of printers varies considerably from model to model, a number of the dumps produced by Dumpmaster will be printed vertically, rather than horizontally. This is to ensure that the best results are produced for each individual printer.

    Some of the printers that are able to provide normal horizontal dumps are also capable of producing vertical dumps, if required. The parameter which causes such a dump to be produced is V. This parameter should only be used with printers that are capable of producing both horizontal and vertical dumps in conjunction with Dumpmaster.

    A table is provided in section 6 to show which printers may use this feature. Example:

    To print a vertical screen dump on an Epson printer:
    *PRINT V

    Snapshot dump

      Syntax:*PRINT A
      Function:Instant screen dump
      Default:Inactive
    Dumpmaster offers a special feature which enables a screen dump to be produced at the press of a key, even while another program is running. This snapshot facility is switched on by issuing the *PRINT command with the A parameter.

    Once this has been issued you may load and run other programs, and then press CTRL SHIFT @ when you wish the screen dump to occur. A screen dump will then be produced, defined by any other parameters on the command line in the usual way. Once the dump has finished, your program will continue again.

    Certain programs may be protected to prevent operations of this kind and may either fail to respond to the command or "hang" the computer after the dump has occurred. (Press BREAK to reset the computer if this happens).

    The snapshot facility may be cancelled with the command:
    *PRINT D

    Example: To set up a text dump of the current text window at column 10:
    *PRINT W1 L10 T A (CTRL SHIFT @)

    Snapshot save

      Syntax:*PRINT S
      Function:Instant screen save
      Default:Inactive
    This parameter functions in a similar way to the Snapshot dump feature described above. Once the *PRINT command has been given with the S parameter, pressing CTRL SHIFT @ and then keying a number from 0 to 9, will cause the contents of the screen to be saved to disc or tape. The filename of the screen will be SCREENn where n is the number specified at the time of saving.

    To subsequently re-load the file, make sure that you are in the original screen mode that the file was saved in, and use one of the following commands, as appropriate:

      *LOAD SCREENnfor disc users, all Modes
      *LOAD SCREENn 3000for Modes 0,1 and 2, tape system
      *LOAD SCREENn 4000for Mode 3, tape system
      *LOAD SCREENn 5800for Modes 4 and 5, tape system
      *LOAD SCREENn 6000for Mode 6, tape system
      *LOAD SCREENn 7C00for Mode 7, tape system
    N.B. Tape users: the file is not saved using *SAVE because of the 6845 scrolling, so the relocation address can not be specified at save and also cannot be subsequently altered due to the sequential nature of cassette files.

    The snapshot facility may be cancelled with the command:
    *PRINT D

    Example: To save the screen under the filename of "SCREEN1":
    *PRINT S

    For tape users, now set cassette player to RECORD
    (CTRL SHIFT @ 1)

    Dumpmaster work space

      Syntax:*PRINT Mnn
      Function:Relocate the area of memory used by Dumpmaster
      Default:Page &A used
    Dumpmaster uses one Page of memory as work space to store information about the current command, defaults windows, screen sizes, etc. The default area of memory used for this purpose is Page &A (the cassette and RS423 input buffer).

    Should you wish to use this area for another purpose at the same time as running Dumpmaster, you may specify a different area of memory using the M parameter. The Page number of the new area should be given after the M parameter, and should be expressed in hex. Example:

    To specify that you wish Dumpmaster to use the area from &1500 onwards as the new workspace:
    *PRINT M15

    A technical note

    Dumpmaster stores the address of its work area in the Data Direction Register of the User Port. If anything else uses this area (for example a joystick connected to the user port) this data may become corrupted. If this happens, Dumpmaster will give the message
    Work space corrupted

    You should use the *PRINT command with the M parameter to reset the workspace.

    Setting the default values

      Syntax:*PRINT D
      Function:Alter Dumpmaster default settings
      Default:*PRINT causes immediate dump
    As explained earlier in this manual, the command *PRINT will immediately cause a screen dump to occur. If no parameters are given with the command, the dump will use the standard defaults as shown in section 5 (ie. a dump for printers with a PIN of 0, with no windows set, no left margin etc). If *PRINT is given with parameters, the new settings of those parameters specified replace the default settings for the duration of that one dump. They will then revert to the standard settings.

    The D parameter is very special and operates in a different manner to all of the other parameters. When D is included on the command line, no dump will actually be printed. Instead, any other parameters included with *PRINT D will cause the appropriate default settings to be changed. Once the defaults have been changed in accordance with your requirements, you may then simply issue the *PRINT command to produce the dump that you require. For example:

    To produce a screen dump for a printer with a PIN of 1 a left margin of 50, you could use:
    *PRINT D P1 L50
    *PRINT

    Instead of the usual:
    *PRINT P1 L50

    Both of the above commands will produce the same screen dump. However, after the first example the defaults will have been altered to P1 and L. They will remain set to these values until altered with the D parameter again.

    The command *PRINT D with no other parameters has a special effect. It causes all of the parameters to return to their original default settings, as shown in section 5 of this booklet.

    You may inspect the current default settings of the various Dumpmaster parameters at any time with the command:
    *HELP PRINT

    NOTE

    If the D parameter is used at the same time as either the A or S parameters, in conjunction with a *PRINT command, no dump will occur even after the second *PRINT command has been issued. The computer will be waiting for you to press CTRL SHIFT @ to indicate that the snapshot should be taken.

    Standard defaults

    The initial status of the Dumpmaster defaults are:

    • Printer identification Number set to 0
    • No automatic printing
    • Form feed after every dump (except for Seikosha GP 80/100 and Anadex)
    • White on screen printed black on the paper
    • No left margin
    • Page &A (of the I/O processor) is used for work space
    • Snapshot facility not enabled
    • Text dumps produced in Modes 3 and 6, otherwise graphics dumps
    • Full screen copied to paper, regardless of any windows
    The defaults may be reset to these values at any time, by issuing the command:
    *PRINT D

    If you wish to set the same defaults each time that you use Dumpmaster, disc users may find it convenient to write a !BOOT file to automatically issue the necessary commands.

    It is also possible to directly save and load the section of memory containing the Dumpmaster defaults. If the standard work area for Dumpmaster (Page A) is being used, the commands to do this are as follows:
    *SAVE Default FFFF0A00+40
    *LOAD Default

    Sideways and vertical dumps

    This table shows for each printer type, the default orientation of the dump (sideways or vertical), the number of dots it can print horizontally, and whether Dumpmaster includes a vertical option for that printer.

      PINDfltV-OptWidthAWidthB
      0SYes9601920
      1VNo9901980
      2SYes9601920
      3VNo6401280
      4SYes6401280
      5SYes5761152
      6SNo5761152
      7SNo6721344
      8VNo6401280
      9SYes5761152
      10SYes5761152
      11VNo6401280
      12SYes6401280
      13SNo4801920
      14SNo4801920
      15SNo6401280
      16SNo5281056
      17SNo4801920
      18SNo8801760
      19VNo8801760
      20SYes5761152
      21SNo9601920
      22SNo576
      23SYes960
    Default S = sideways dump

    Default V = vertical dump

    Width A = number of dots each printer is capable of producing horizontally.

    Width B = Width A expressed in standard BBC graphics units.


    FIRST EDITION 1986   -   Beebug Limited