GUIDE PSY-Q CD Emulator setup and tech info

Discussion in 'Sony Programming and Development' started by ASSEMbler, Jun 1, 2006.

  1. ASSEMbler

    ASSEMbler Administrator Staff Member

    Joined:
    Mar 13, 2004
    Messages:
    19,394
    Likes Received:
    1,054
    This is a rough guide missing the pictures. It's for quick search and reference
    as basically I am tired of having to answer so many questions :icon_bigg.
    ----------------------------------------------------------------------------------------




    CD Emulator Manual
    The Development System Tool to which this manual relates is supplied pursuant to and subject to the terms of the Sony PlayStation
    Licensed Developer Agreement.
    This manual is intended for distribution to and use only by Sony PlayStation Licensed Developers in accordance with the
    Sony PlayStation Licensed Developer Agreement. The information in this manual is subject to change without notice.
    Unauthorised reproduction, distribution, lending, rental or disclosure to any third party of the whole or any part of this manual is
    expressly prohibited by law and by the terms of the Sony PlayStation Licensed Developer Agreement.
    The content of this manual is Confidential Information of Sony for the purposes of the Sony PlayStation Licensed Developer
    Agreement and otherwise.
    PlayStation and Sony Computer Entertainment names and logos are trade names and/or trademarks and/or copyright artwork of Sony
    Corporation (or its subsidiaries).
    © 1994 Sony Electronic Publishing Limited/Sony Computer Entertainment Inc.
    Ownership of the physical property of this manual is retained by and reserved to Sony Electronic Publishing Limited.
    Alteration to or deletion from all or any part of this manual, its presentation or its contents are prohibited.
    Published Feburary 1995.
    Sony Computer Entertainment America
    919 East Hillsdale Blvd.
    Foster City, CA 94404
    Emissions information.
    The PC ISA card supplied with this manual has been tested for, and complies with, the following emission regulation standards.
    For Europe - EN 55 022 Class A Information Technology Equipment.
    For Germany - VDE 0871/6.78 Class A
    GERMAN RFI DECLARATION FOR CLASS B SELF-CERTIFICATION
    Hermit wird bescheinigt daß der Psy-Q CD Emulator PSYQ/PSX04 in Übereinstimmung mit den Bestimmungen der Vfg
    243/1991 funk-entstort ist.
    Der Deutschen Bundespost wurde das inverkehrbringen dieses Gerates angezeigt und die Berechtigung zur
    Uberprüfung der Serie auf Einhaltung der Bestimmungen eingeraumt.
    Psygnosis Ltd, South Harrington Building, Sefton Street, Liverpool England L3 4BQ
    We hereby certify that the Psy-Q CD Emulator PSYQ/PSX04 complies with the RFI suppression requirements of the
    Vfg 243/1991. The German Postal Service was notified that equipment is being marketed. The German Postal
    Service has the right to re-test the equipment and verify compliance.
    Also this device was tested and complies with the CFR Title 47, FCC Rules, part 15, subpart B, Class A (Digital Devices).
    Awaiting certification.
    VCCI Class 1 Information Technology Equipment.
    This equipment is Type 1 Data Processing Equipment and is intended for used in commercial and industrial districts.
    When used in residential districts, or their peripheral areas, radio and TV receiver units may be subject to radio
    interference. VCCI-1
    Information in this document is subject to change without notice. No part of this document may be transmitted in any form or by any
    means, electronic or mechanical, for any purpose, without the express permission of Psygnosis Ltd.
    © 1993,1994 Psygnosis Ltd. All rights reserved.
    Psygnosis Ltd.
    South Harrington Building,
    Sefton Street,
    Liverpool L34BQ



    Introduction

    I N T R O D U C T I O N
    This CD Emulator has been designed for use exclusively with the Sony Playstation Development tool
    DTL-H2000. If you incorrectly install this equipment or attempt to connect it to devices other than
    described herein, you may destroy this emulator and the equipment it is connected to.
    We recommend that you install the DTL-H2000, libraries and Psy-Q development software first, and
    take time to familiarise yourself with how it functions prior to installing the CD-emulator.
    Please take a few minutes to read the following chapter describing the emulators design and function. An
    understanding of the system components and how they function will lead to a quicker and easier
    installation.
    As part of our commitment to you the developer, we have designed this system with flexibility and
    upgradability in mind. We have tried to include all the functions we think you may require in the
    development of CD based products. However, if there are functions that you feel are missing, the
    Playstation development support group for your territory will be happy to forward your suggestions to
    us. We cannot guarantee that all suggestions will be included in future updates but we will do our best to
    try.

    System Overview

    SYSTEM OVERVIEW
    Once installed, the emulator will provide you, the user, with a device that mimics the functions of a real
    CD-Rom drive. Normally the command signals generated by the DTL-H2000 would go directly to a CD-
    Rom drive, which would respond and retrieve data from a CD. However, the DTL-H2000 can be
    configured (under software control) to switch these command signals so that they are sent to the CD
    emulator. The emulator then responds as if it were a CD-Rom drive, but in this case retrieving data from a
    hard drive connected to the emulator.
    This emulator consists of three (logically) different sub sections:-
    the emulation hard drive(s)
    an interface to the PC
    an interface to the ‘CD command channel’
    Within the electronics of the emulator we have implemented a SCSI bus which connects each of the above sections in
    the following way:-
    DTL-H2000 CD PC Command/Data Channel
    Command/Data Channel (ISA Bus)

    SCSI BUS
    Fig 1.
    Up to eight ‘devices’ can be connected to a SCSI bus. In this design we have used two of the eight ‘devices’ to
    implement command channels to and from the PC and the DTL-H2000, leaving six free for connection to emulation
    hard drives. We do not anticipate many users will need more that one hard drive (HD). However, if you do wish to
    connect more than one HD then please refer to chapter 7.
    The emulator has been designed so that either external or internal HDs can be connected. Internally using the 50 -50
    ribbon connector and/or externally using the 1 m cable. External connection is very simple using the cable provided,
    however, internal connection requires a little more work in mounting the HD in a free drive bay and routing of the cable.


    System Overview
    To be able to emulate a double speed CD Drive a certain data transfer rate needs to be maintained between the
    emulation HD and the DTL-H2000 CD command channel. We have found that some hard drives cannot maintain this data
    transfer rate. The manufacturer’s specifications for HDs declare an average rate which may seem enough to satisfy
    the emulators requirements. However, most drives need to re-calibrate themselves periodically to account for thermal
    changes. During this period the data rate on some drives fall off and lead to stalls in the emulation data flow. This is
    observed as glitches in film playback or interruptions in sound replay.
    Currently the only ones we have tested and found reliable are :-
    Micropolis 411 0AV
    *IBM Spitfire (0662)
    *IBM Pegasus
    *Please ensure that the auto start jumper is set prior to use of any IBM drive or it will not appear to work.
    Drive manufacturers are constantly updating their range of drives; please contact Sony Technical Support for a list of
    currently available drives.
    (Initially we recommended the Digital DSP31 07L hard drive. However during extended testing we have found that after
    resetting, the drive occasionally re-calibrates after 30 seconds. This causes a once only stall in the data flow, after this the
    drive operates within specifications.)
    Now you have a basic understanding of the system the next thing to do is get it installed and working. The following
    chapter describes the following installation steps:-
    i how to configure your emulator card.
    ii plugging the card into the PC
    iii connecting the emulation HD
    iv connecting the emulator to the DTL-H2000
    v installing the software
    vi setting up the emulation HD ready for image building and emulation
    vii building and testing the example program.
    and once complete the CD emulator is ready for use.





    Installing the System
    INSTALLING THE SYSTEM
    The Psy-Q CD emulator board should be fitted into an empty 16 bit slot in the host PC.

    CAUTION: This board is sensitive to static electricity; hold by the metal support bracket when handling it.
    The Connectors
    C1 external SCSI connector
    C2 CD command channel (connects to DTL-H2000)
    C3 internal SCSI connector
    J1 & J2 DMA channel select ( both must be set the same )
    Possible settings are (from left to right) 7,6 or 5
    J3 Interrupt request setting. Possible settings are (from left to right) 15,12,11,10,7 and 5
    J4 I/O base address select. Possible settings are (from left to right)
    300,308,310,318,380,390,398
    J5 SCSI ID device number (also software selectable) Possible settings are from 7-0. This
    is a 3 bit binary selection so with the top two jumpers closed the ID will be 6
    [ J5 is set to 7 (all three jumpers connected). This is the PC command channel device number. See Fig 1.
    Note: this is also configurable from the command line.]
    The default settings have been chosen so that the possibility of contention with other internal boards is minimised.
    Nevertheless, care should be taken that settings on the Psy-Q CD emulator board do not conflict with any other cards in
    your system.



    Turn off your PC and disconnect from the supply. Remove the cover and check all the cards in your system noting
    down their base addresses, irq settings and dma channel usage. Determine which channels/addresses are free and set
    the jumpers on the emulator card appropriately.
    Install the emulator board in an ISA slot adjacent to the PIO board of the DTL-H2000. Referring to Fig 2. connect
    between C2 and the similar socket on the top edge of the PIO board using the small ribbon cable provided.
    To External Emulation Hard Drive


    CD Emulator Board
    PIO Board} DTL-H 2000
    CPU Board
    Fig 3.
    If you intend to use an internal HD with the emulator, then now is the time to mount it in a free bay. Connect it to the
    emulator board using the large ribbon cable provided (connector C3). Normally there is a free power connector for
    extra drives within the PC, connect this to the power socket of the HD. Note down the SCSI ID setting of the drive you will
    need this later (refer to manufacturer’s instructions on how to set this).
    Replace the cover on the PC.
    If you are using an external drive then connect this now.
    Note
    NEVER connect or disconnect any hard drives without first removing ALL sources of power.



    3.1 Installing the software
    You will have already created a PSYQ directory into which you have copied the assemblers etc. Copy all the files from the
    CD-Emulator disk into this directory.
    e.g. COPY A:*.* C:\PSYQ
    DEXBIOS.COM is a driver which you will be familiar with. It allows the code development system to communicate with the
    DTL-H2000. Similarly, we have provided CDBIOS.COM to provide communication services to the CD emulator (in
    addition to DEXBIOS.COM, not as a replacement).
    You will probably have installed DEXBIOS.COM by adding a line to your AUTOEXEC.BAT file which automatically loads
    DEXBIOS.COM. The addition for CDBIOS is of the form:-
    CDBIOS /aADDR /dDMA /iIRQ, where ADDR is the I/O address, DMA is the dma channel and IRQ is the interrupt
    request number of the board. (Refer to Fig 2.)
    For Example:-. CDBIOS
    /a308 /d7 /i15
    will install the driver to use the emulator board with its factory settings.


    Preparing for Emulation
    PREPARING FOR EMULATION
    How to use CDDISK.
    4.1 CDDISK Introduction
    CDDisk is the general emulation disk manager program, performing these functions -
    Initialisation of the HD
    Installation of the emulator card ‘emulation program’
    Partitioning of the HD(s) into pseudo ‘CDs’
    Setting the ‘active’ partition.
    It operates in one of two modes, direct command line actions or menu mode and takes the general command line
    form -
    CDDISK [option] [disk SCSI ID]
    Valid options are

    -a<part_id> -
    b<filename> -
    n

    and
    set the active partition (No menus)
    (Re) Install the emulation program (No menus)
    Disk is new, initialises the partition sector

    ‘disk SCSI ID’ is the ID number set on the emulation HD.
    Generally HDs are shipped with an ID of zero and can be plugged without change into the emulator card. However,
    when using more than one HD then special installation instructions need to be followed (see chapter 7) and its ID must be
    different from each of the ‘devices’ on the local SCSI bus.
    ( Free IDs are 1,2,3,4,5)
    For the following examples it will be assumed that the Hd has an ID of 0.
    So when the system is first installed, or a new HD is added, then it must be initialised with the following-
    CDDISK -n 0
    This places the disk into a known state ready to accept emulation images. The user will then be asked to confirm this
    action because ALL information previously written will be destroyed.



    4.1.1 Installing the emulator ‘ boot’ data
    The ‘cd command/data device’ will, upon reset, make contact with each device on the bus in turn from device 0 -7. It is
    looking to identify an emulation HD and once found it then looks for a ‘boot’ partition on that device. Data in this (small)
    partition is then loaded into the emulation card. This is the emulation program that interprets the signals coming from the
    DTL-H2000. Booting in this way allows for future upgrades to the emulation system should it be necessary.
    Only one of these ‘boot’ partitions needs to exist in multiple HD configurations and it is recommend that it be placed onto
    the HD with the lowest SCSI ID. NOTE: without this ‘boot’ partition in place the emulator CANNOT function. Assuming
    the emulator software was installed as described above then...
    To install the ‘boot’ program directly -
    CDDISK -bC:\PSYQ\CDBOOT.BIN 0
    If this command was completed successfully then it will return without errors.
    To install the boot program using the menu system -
    CDDISK 0
    Please select the ‘Load Boot Program’ option from the menu.
    Type in the full pathname to the file CDBOOT.BIN
    e.g. C:\PSYQ\CDBOOT.BIN
    Providing all is well no errors will be reported.
    4.1.2 Creating partitions
    A partition on the emulation HD is effectively a pseudo CD. It is not limited to being a standard CD size of 72 Minutes
    for example but can be any size. This provides flexibility for the developer who may only require an effective 10 minute CD
    but wishes to have 5 versions or one CD of up to 99 mins. ( there is little point in defining a partition larger than this
    because the CD directory structure does not cater for this.)
    Partitions can be defined in units of either MBytes, Frames (CD frames) or Sectors.
    One Frame is 5 sectors (allowing for extra information needed for emulation), there are 75 frames per second. From this
    information you can calculate the size of partition you require.
    For Example -
    a 60 Min CD will require a partition size of 270,000 frames or 1,350,000 sectors or 660 Mb.
    So to create the first partition on disk 0, use-
    CDDISK 0
    Please select the ‘Create Partition’ option from the menu.



    Select the size type you wish to define this partition in. 1 for sectors 2 for Mbytes and 3 for frames. We will define this one
    in frames so enter 3 and then type in the size. For this example we will define a 60 min CD needing 270000 frames.
    To allow for easy identification you will now need to provide a partition name.
    e.g. 60 Min CD.
    You will now see this added to the list. Partition 0 being the boot partition and partition 1 being 60 Min CD.
    4.1.3 Setting the active partition
    The act of creating this partition (above) has made this the currently active partition. this means that when the DTL-
    H2000 issues CD commands it is from currently active partition that the data is read. Only one partition on each HD can
    be marked active at any one time and can be viewed as being equivalent to inserting a real CD into a drive.
    If you have more than one HD then the active partition on the HD with the lowest number ID will be considered as the
    current partition. Activating partition 0 (the boot one) effectively de-selects all partitions on that HD.
    To set an active partition - e.g. Disk 0 partition 1
    CDDISK -a1 0
    or CDDISK 0
    select the ‘Select active partition’ option from the menu
    and type 1
    You will notice that the currently active partition is indicated in red.
    4.1.4 Modifying partition sizes
    This can only be achieved through the option menus. Select the partition you wish to resize and enter the new size
    (only in sectors!). NOTE re-sizing a non-active partition will NOT set it as the active partition.
    4.1.5 Deleting a partition
    Select the partition number of the partition you wish to delete and confirm the action.


    Generating Emulation Images
    GENERATING EMULATION IMAGES - How to use B U I L D C D
    5.1 Buil dCD Introduction
    BuildCD is a program to create PsyQ CD emulator images and ISO9660 files. It takes source files at various levels,
    automatically generates directory and marker information and generates the relevant subcode information.
    The program requires users to have a reasonably good idea of the structure of a CD as the control language is quite low-
    level. The command set is structured to force users to work in a manner consistent with CD structure.
    Central to the running of the BuildCD program is the concept of the control file. This defines the order and structure of the
    intended Compact Disc and directs the program as to the outputs it should produce.
    5.1.1 The structure of a CD
    A CD is arranged as a continuous anti-clockwise spiral of data leading out from the centre of the Compact Disc. The
    smallest logical division of this spiral is a frame, this being the amount of data that an audio data requires for 1/75th of a
    second’s playback. A frame contains 2352 bytes of data and 98 bytes of subcode.
    The CD spiral is divided logically into Tracks. The track nearest to the centre is called the leadin track, it is then followed
    by a number of data tracks (up to 99) and the they are then followed by a leadout track. The leadin contains the CD’s
    table of contents stored in the subcode (which is what a CD player spins up and reads when a new CD is put in). The
    table of contents details the positions of all the tracks on the disc in terms of time offset from the start of the disc,
    BuildCD automatically generates this. The last track is another dedicated track called the leadout track, this is just a marker
    to flag the end of the disc. Neither the leadin or leadout tracks should have any data in them.
    All tracks other than the leadin and leadout can be used freely for holding data. These can either be standard Audio
    tracks or can hold Data in a variety of Modes.
    Mode0 sectors can only hold empty records.
    Mode1 frames can hold up to 2048 bytes of data and automatically include cyclic redundancy checks and error
    correction. For critical data (such as executable programs) where data integrity has to be maintained, Mode1 should
    always be used.
    Mode2 frames can hold up to 2336 bytes of data but afford no cyclic redundancy checks or error correction. For non-
    critical data (such as graphics) where data integrity needed not be worried about too much, Mode2 frames can be used.
    XA frames are a modification to the mode2 frame standard and allow two types of data record that can be freely
    interleaved.
    Form1 mirrors mode1 in that it can hold up to 2048 bytes of data and also automatically includes cyclic redundancy
    checks and error correction.
    Form2 mirrors mode2 in that it can hold 2324 bytes of data but again has no error correction.



    5.1.2 Buil dCD’ s output
    The BuildCD takes a control file as primary input, pulling all specified files as and when required. The Outputs from this
    program are all for specific purposes detailed below. None of the outputs will be produced without the correct command
    line switch being present when the executable is invoked. The inputs and outputs for the BuildCD program can be
    viewed as:
    Control File


    Fig1. BuildCD program I/O.


    Image File -
    Scsi Device Image -
    Track File -
    Text Map File -
    Binary Map File -
    Part Files -
    Sony CD Generator-
    Save File -
    Interleaved Output File -



    An image file is a complete
    representation of all CD data. This
    is the final output of the BuildCD
    program and can be used for future
    cutting onto disc via a CD writer.
    An image file can be written
    automatically to the Scsi drive
    resident in the CD emulator. Written
    here it can be used by the CD
    emulator directly.
    A track file is a representation of
    an ISO9660 volume. This type of
    file output can be written directly
    into a data track however if any of
    it’s contents were to change then it
    would have to be recreated.
    A text map file is a textual
    representation of what has gone
    into the image file. This can be used
    by the UpdateCD program to check
    the source file datetimes and sizes
    to ensure that the image is up to
    date, and on finding any out-of-date
    sections automatically updating the
    relevant files. A text map file will
    only be written if an entire image is
    being created.
    The binary map file is a binary
    representation of the image
    specifying where the source files
    and part files of the image can be
    found. This file is for use by the
    Software and Hardware emulators
    to build images on the fly.
    The Part Files are automatically
    generated sections of track files that
    have to be created (rather than the
    source files which are already
    resident on disk). In fact these are
    binary representations of the CD
    Directories, PathTables and Volume
    headers. These Part files for use in
    conjunction with the Binary Map
    File. Flagging the output of the
    Binary Map File will automatically
    cause the creation of the Part Files.
    The CD generator save files can
    be used by Sony's CD Generator
    program to import
    the CD specification creation of
    CD's prior to direct writing from
    within the BuildCD program.
    Interleaved output files are in the
    same format as those files
    imported using an XASource
    command within the control file
    command language. Interleave
    files are produced only when a -g
    command line argument is used and
    the output filename is specified in
    the XAInterleavedFile control file
    command.


    5.1.3 Buil dCD parameters
    BuildCD has the following parameter structure:
    BuildCD [options] [[[d:]path]control_filename.ext]
    As is normal for DOS, Options are distinguished from normal parameters by being preceded by either a “-†or “/â€
    character. The Options available to the BuildCD program are detailed on the help screen which is displayed whenever the
    program is invoked without any parameters. The valid parameters are:


    -1
    -2 -
    b[<FileName>] -
    d<var>=<var> -
    e<num> -
    g[<FileName>]
    output. -
    i[<FileName>] -
    m[<FileName>] -
    p[<dir>]
    -s<s_id>:<p_id>
    -t[<FileName>] -
    w


    Ensur
    es that
    all file
    and
    directo
    ry
    names
    on the
    CD
    are
    check
    ed for
    being
    ISO
    level
    1.
    Ensur
    es that
    all file
    and
    directo
    ry
    names
    on the
    CD
    are
    check
    ed for
    being
    ISO
    level
    2.
    Enabl
    es the
    output
    of any
    Binary
    Map
    File
    specifi
    ed
    within
    the
    Contr
    ol
    File.
    Prede
    fines
    a
    string
    substit
    ution
    to be
    used
    upon
    the
    Contr
    ol
    File.
    Restricts the
    number of error
    messages
    output.
    Enables the
    output of Sony
    CDGenerator
    save files and
    enables output of
    InterleavedFile
    file
    Enables the
    output of the
    Image File.
    Enables the
    output of any
    Text Map File
    specified within
    the Control File.
    Causes output of
    Part Files, if a
    directory is
    specified then
    they will be
    output there. The
    Part Files will be
    automatically
    output if Binary
    Map File output
    is enabled.
    Causes output
    of the image to a
    SCSI device.
    s_id is the SCSI
    id and the p_id
    is the partition
    id. Enables the
    output of Track
    Files.
    Suppresses all
    warning
    messages.


    Writing Buil dCD control files
    It should be noted that the structure of the control file is dependent on the level at which the command is being
    specified. There is a hierarchy of levels into which the program descends and from which it then rises. The easiest way
    to see how a control file has to be specified is to look at the Examples in Appendix A. These examples show all the
    allowable commands at least once and also show the two entry points to the command sets.
    It should be noted that all commands are case insensitive, i.e. the case of the command is ignored although error
    messages do echo the case of characters within the control file faithfully.
    BuildCD has been written to run in conjunction with UpdateCD, a program that works from the Text Map File to ensure
    that the contents of the image and all other output files are still up to date. UpdateCD cannot move internal image file
    structures around, if it had to do this then the increase in size of a source file at the start of the image would cause a
    ripple effect that would take longer than writing the image from scratch. UpdateCD will simply inform the user that the
    source file has outgrown it’s allotted area and stop before writing anything. An image can however be written with
    extra space to allow for this eventuality using the MinLength and AddLength commands at the File Command level. If a
    file is likely to grow then it is suggested that these commands are used.
    Another ‘trick’ that has been used by developers is when they know in advance that more files than exist at the
    moment are going to be required. The incorrect solution adopted has been to build an image with the ‘vapour’ files
    being sourced from existing files, in the hope that the source for these files can be later swapped. Unfortunately this
    would cause an inconsistency with the existing control file and therefore is not allowed. The correct way to prepare for the
    future source files is to create dummy files, potentially even empty files, and again use the MinLength and AddLength
    functions to ensure that there is enough space for the eventual files to reside. When the files have been created they
    need only be copied over the dummy files for the UpdateCD program to correctly load them.



    5.2 GLOBAL COMMANDS
    Global commands are valid at any point in the control file. They fall into the following categories.
    * Defining of default values and substitution strings. Define, GreenwichOffset
    * Status message output during program execution. Echo, ShowDefines
    * File inclusion. Include
    D e f i n e
    Function Defines substitution variables for replacement within the control file(s)
    Syntax Define <var> <value> [<var> <value> [...]]
    Default BuildCD has the following predefined variables:
    program executing program name
    version current program version number
    edition current program edition number
    second present DOS second of minute
    minute present DOS minute of hour
    hour present DOS hour of day (24hr clock)
    day present DOS day of month
    month present DOS month of year
    year present DOS year
    weekday present DOS day of the week
    (Monday = 1 , ... , Sunday = 7)
    yearday present DOS day of the year
    Remarks All strings enclosed within square braces in the control file will be substituted for the values previously defined. If a
    substitution is attempted for a variable that is undefined then an error will be output.
    Substitutions are not recursive, nor can they be nested. When the program encounters a replacement string it looks for
    the first closing square brace and then attempts to match all characters between. Matches are case in-sensitive. Once
    matched, the string and the square braces are replaced by the defined replacement string.
    There is no limit (barring memory limitations) to the number of strings that can be defined or the number of
    substitutions allowable in a single line.



    Substitution strings can also be defined in the command line using the -d option.
    Substitution strings can be redefined at any point, to effectively undefine a string it has to be redefined to a null string.
    i.e. Define PsyQ “â€
    See also Page 5-3 - Command line arguments
    Example Define PsyQ c:\psyq\bin
    E c h o
    Function Outputs all arguments to the Echo window of the output screen
    Syntax Echo <argument1> [...]
    Remarks All arguments are echoed to the appropriate output window. Output is not buffered.
    All substitutions will have been performed before output.
    All comments are ignored.
    Example Define PsyQ c:\psyq\bin Echo
    PsyQ var = [PsyQ]
    would output the string :
    PsyQ var = c:\psyq\bin





    G r e e n w i c h O f f s e t
    Function Sets the default Greenwich offset which is to be used whenever a date is specified without an explicit value.
    Syntax GreenwichOffset <OffsetValue>
    Default The greenwich offset defaults to a value of 0.
    Remarks The greenwich offset is a value defined within the ISO9660 document. Basically it is a time offset from Greenwich
    Mean Time based on the number of 15 minute intervals that the author’s time zone is from London. Greenwich offsets
    range from -48 (west) to 52 (east).
    Typical examples are :
    New York -20
    Tokyo 32
    Example GreenwichOffset -15
    I n c l u d e
    Function Includes the contents of the specified file into the control file at the specified point.
    Syntax Include <FileName>
    Remarks Include files can be nested. There is no imposed limit to the number of nested include files, stack space and memory
    allowing.
    Example Include psyqgame.cti





    S h o w D e f i n e s
    Function Outputs details of all defined substitution strings to the Echo window of the output screen.
    Syntax ShowDefines
    Remarks All defined substitution strings are output to the window whether they are defined in the control file, defined in the
    invocation arguments or predefined within the program. Output is not buffered.
    See also Define
    Example Define PsyQ c:\psyq\bin
    ShowDefi nes
    would result in a typical output of:
    versi on
    1.00
    edi tion
    1.00
    prog ram
    C:\PSYQ\BIN\BUILDCD.EXE
    second
    23
    minute
    02
    hour
    15
    day
    27
    month
    07
    year
    1994
    weekday
    03
    yea rday
    208
    PsyQ
    c: \psyq\bi n






    5.3 OUTERMOST LEVEL COMMANDS
    Outermost level commands are the highest level of command for a control file, only global commands can be
    recognised before an outermost level command.
    There are two outermost level commands Disc and Volume. The Volume command at this level is identical to the
    Volume command at the Track level of a disc definition.
    D i s c


    Function
    Marks the start of the definition of a disc and defines the primary output file for the program.
    Syntax
    Disc <DiscType> [<ImageFileName>]

    Remarks
    Valid disc types are:


    CDDA, CDAUDIO or AUDIO
    - audio discs

    CDROM or ROM
    - data and audio discs

    CDROMXA or XA
    - CDROM XA discs

    CDROMXA_PSX or XA_PSX
    - Standard XA discs with PSX restrictions and extensions

    The Disc statement specifies the default image output file name. No image file will be written unless the -i command line
    parameter is used when the program is invoked. Any image file name specified in the command line will override this
    image file name if specified.
    For a PSX_XA disc there are certain restrictions on the general XA format. Most notably: -
    the hierarchy path tables must all appear and be in a fixed order. - volume
    descriptors can only be written once
    - only primary and termination volume descriptors can be defined. -
    system identifier must be PLAYSTATION.
    - SubSource definitions cannot be made.
    - no mode 1 track can appear within the image.
    The Disc statement enables the Disc commands until an EndDisc statement is encountered.
    Example Disc CDROM state.qmu





    Outermost Level Commands
    V o l u m e
    Function Marks the start of the definition of a track volume and defines the primary output file for the program.
    Syntax Volume <VolumeType> [<TrackFileName>]
    Remarks The Volume statement specifies the default track output file name. No track file will be written unless the -t command
    line parameter is used when the program is invoked. Any track file name specified in the command line will override
    this track file name if specified.
    The only valid volume type is ISO9660.
    The Volume statement enables the Volume commands until an EndVolume statement is encountered.
    Example Volume ISO9660 psyqtrk.trk






    5.4
    DISC COMMANDS

    Disc commands define the highest level of disc structure. They fall into the following categories.
    * Defining the position of tracks within the disc. LeadIn, Track, LeadOut
    * Disc specific definitions. CatalogNumber, MapFile, CDGeneratorFile
    * Disc specific checks. CDSize
    * Disc definition termination. EndDisc
    C a t a l o g N u m b e r
    Function Allows for the definition of the CD catalog number that describes the disc and appears in the Q subcode channel.
    Syntax CatalogNumber <Number>
    Remarks If no catalog number is defined then it will not be included within the disc’s Q subcode channel. The catalog number
    can be up to 13 digits long, if it is less than this the leading digits will be padded with zeros.
    Example CatalogNumber 622345
    C D G e n e r a t o r F i l e
    Function Specifies the name of the default Sony CDGenerator output save file.
    Syntax CDGeneratorFile <FileName>
    Remarks The CDGeneratorFile statement specifies the default save file name. No file will be written unless the -g command line
    parameter is used when the program is invoked. Any CDGenerator file name specified in the command line will
    override this filename.
    Example CDGeneratorFile c:\devel\outcdg.ccs


    C D S i z e
    Function Specifies the size of the target CD in minutes.
    Syntax CDSize <NumMinutes>
    Default The CDSize defaults to the standard CD length of 74 minutes.
    Remarks The value specified by this command is used to test for CD overflow. This command can be used to adjust the
    checked length of the CD. The input value is not checked against any specific criteria except for being a valid
    positive integer.
    Example CDSize 20
    E n d D i s c
    Function Marks the end of the disc definition.
    Syntax EndDisc
    Remarks The End Disc statement should be the last statement in any control file. Only at the end of the control file will the image be
    built.
    Example EndDisc
    L e a d I n
    Function Marks the start of a LeadIn track definition.
    Syntax LeadIn <TrackType>
    Remarks The LeadIn statement specifies the start of the leadin track definition.
    Valid track types are:
    CDDA, CDAUDIO or AUDIO
    Mode0, Data0, ROM0 or CDROM0
    Mode1, Data1, ROM1 or CDROM1
    Mode2, Data2, ROM2 or CDROM2
    - audio track
    - Mode0 data track -
    Mode1 data track -
    Mode2 data track
    Each disc has one LeadIn track that must be the first track defined. The LeadIn track contains the disc’s table of
    contents (TOC) in the Q subcode channel. It is generally expected that the data portion of the sector contains nothing but
    zeros. A minimum of length of 150 frames is allowable although 500 is recommended as a minimum and upwards of 1500
    is usual. The LeadIn statement enables Track commands until an EndTrack statement is encountered.
    See also EndTrack, Empty
    Example LeadIn Mode0



    L e a d O u t
    Function Marks the start of a LeadOut track definition.
    Syntax LeadOut <TrackType>
    Remarks The LeadOut statement specifies the start of the leadout track definition.
    Valid track types are:
    CDDA, CDAUDIO or AUDIO - audio track
    Mode0, Data0, ROM0 or CDROM0 - Mode0 data track
    Mode1, Data1, ROM1 or CDROM1 - Mode1 data track
    Mode2, Data2, ROM2 or CDROM2 - Mode2 data track
    Each disc has one LeadOut track that must be the last track defined. The LeadOut track contains a disc end marker in the
    Q subcode channel. It is generally expected that the data portion of the sector contains nothing but zeros.
    A minimum of length of 150 frames is allowable although 500 is recommended as a minimum.
    The LeadOut statement enables Track commands until an EndTrack statement is encountered.
    See also EndTrack, Empty
    Example LeadOut Mode0
    M a p F i l e
    Function Specifies the name of the default text map file.
    Syntax MapFile <FileName>
    Remarks The MapFile statement specifies the default text map file name. No map file will be written unless the -m command line
    parameter is used when the program is invoked. Any text map file name specified in the command line will override this
    map filename.
    See also Chapter
    Example MapFile c:\devel\outmap.txt





    T r a c k
    Function Marks the start of a standard track definition.
    Syntax Track <TrackType>
    Remarks The Track statement specifies the start of a standard track definition.
    Valid track types are:
    CDDA, CDAUDIO or AUDIO - audio track
    Mode0, Data0, ROM0 or CDROM0 - Mode0 data track
    Mode1, Data1, ROM1 or CDROM1 - Mode1 data track
    Mode2, Data2, ROM2 or CDROM2 - Mode2 data track
    Up to 99 standard tracks can defined on a disc.
    The Track statement enables Track commands until an EndTrack statement is encountered.
    See also EndTrack
    Example Track Mode0



    5.5 TRACK COMMANDS
    Track commands define the highest level of track structure. They fall into the following categories.
    • Defining the component blocks of a
    track.
    • Track label definitions.
    • Subcode source file specification.
    • Audio track specific definitions.
    • Track definition termination.
    Empty, Pause, PostGap, PreGap, Source, Volume, XASource
    Index, ISRC
    SubcEmpty, SubcSource
    Channels, Copy, PreEmphasis
    EndTrack

    C h a n n e l s
    Function Specifies the number of Audio channels for an audio track.
    Syntax Channels <NumberOfChannels>
    Default The number of channels defaults to 2.
    Remarks This command is only valid within an audio track and specifies the number of audio channels that the data has been
    recorded for. This information is included in the Q subcode channel. Valid numbers of channels are:
    2 or 4
    THIS COMMAND IS RECOGNISED BUT HAS NOT BEEN IMPLEMENTED.
    Example Channels 4





    C o p y
    Function Specifies the state of the copy protection flag on an audio track.
    Syntax Copy <Boolean>
    Default The copy protection flag defaults to FALSE.
    Remarks This command is only valid within an audio track and specifies the state of the track’s copy protection flag.
    Valid boolean values are:
    true, on, yes or 1 false, off, no or 0
    Example Copy On
    E m p t y
    Function Specifies a section of track to contain empty frames.
    Syntax Empty <NumFrames>
    Remarks This command specifies that the next <NumFrames> frames of data will be zero filled. A frame is 1/75th of a second of
    data.
    This command is particularly useful for defining the length of LeadIn and LeadOut tracks that shouldn’t technically
    contain any data.
    Example Empty 150
    E n d T r a c k
    Function Marks the end of the track definition.
    Syntax EndTrack
    Remarks The EndTrack statement closes the definition of a track and returns control to the previous command level.
    Example EndTrack



    I n d e x
    Function Places an index point into the track at this point.
    Syntax Index
    Remarks The Index statement positions an index point within the track. Each index point increments the index count by 1, the
    index count is automatically set to 1 at the start of the track. The index count can have a maximum value of 99.
    Indices must be separated by at least 1 frame of data.
    Indices can only be defined in Audio tracks that are not LeadIn or LeadOut tracks.
    Example Index
    I S R C
    Function Allows for the definition of a track ISRC number to be placed in the Q subcode channel.
    Syntax ISRC <IsrcNumber>
    Remarks If no ISRC number is defined then it will not be included within the disc’s Q subcode channel. The ISRC number is 12
    digits long, made up of the following fields :
    Country code 2 uppercase letters or digits
    Owner code 3 uppercase letters or digits
    Recording Year 2 digits
    Serial Number 5 digits
    An ISRC cannot be defined in LeadIn or LeadOut tracks.
    Example ISRC US2PD9443001



    P a u s e
    Function Specifies a Pause section for the track.
    Syntax Pause <NumFrames>
    Remarks This command specifies that this track will be preceded by a pause of <NumFrames> frames of data. Pause frames are
    always zero filled and will always be placed at the start of the track. A frame is 1/75th of a second of data.
    A Pause cannot be defined in LeadIn or LeadOut tracks.
    A Pause must always be defined in the first standard track of the disc and in any track where the preceding track is of a
    different data type.
    A Pause must be a minimum of 150 frames, and it is recommended that Pauses are greater than 1000 frames.
    Example Pause 1500
    P o s t G a p
    Function Specifies a PostGap section for the track.
    Syntax PostGap <NumFrames>
    Remarks This command specifies that this track will be followed by a gap of <NumFrames> frames of data. PostGap frames are
    always zero filled and will always be placed at the end of the track. A frame is 1/75th of a second of data.
    A PostGap cannot be defined in audio tracks. A PostGap must be a minimum of 150 frames.
    Example PostGap 150
    P r e E m p h a s i s
    Function Specifies the state of the pre-emphasis flag on an audio track.
    Syntax PreEmphasis <Boolean>
    Default The pre-emphasis defaults to FALSE.
    Remarks This command is only valid within an audio track and specifies the state of the track’s pre-emphasis flag.
    Valid boolean values are: true,
    on, yes or 1 false,
    off, no or 0
    Example PreEmphasis On



    P r e G a p
    Function Specifies a PreGap section for the track.
    Syntax PreGap <NumFrames>
    Remarks This command specifies that this track will be started by a gap of <Num Frames> frames of data. PreGap frames are
    always zero filled and will always be placed at the end of the track. A frame is 1/75th of a second of data.
    A PreGap cannot be defined in LeadIn, Leadout or audio tracks.
    A PreGap must be a minimum of 150 frames.
    Example PreGap 150
    S o u r c e
    Function Specifies that the data from the specified file should be placed in the disc image at this point.
    Syntax Source <FileName>
    Remarks This indicates that contents of the specified file should be placed into the image. Any incomplete frame of data at the
    end of the file will be padded with zeros.
    There are 3 data types for which a Source command is allowable, these are :
    Audio each frame of data is 2352 bytes long
    Mode1 each frame of data is 2048 bytes long
    Mode2 each frame of data is 2336 bytes long
    This command is not allowed in an XA track at this level.
    See also XASource
    Example Sou rce c : \deve lop\da ta \psyqa ce.bin



    V o l u m e
    Function Marks the start of the definition of a track volume and defines a primary output file for the volume.
    Syntax Volume <VolumeType> [<TrackFileName>]
    Remarks The Volume statement specifies a track output file name. No track file will be written unless the -t command line
    parameter is used when the program is invoked and the track file name has been specified within this definition. No
    track file name can be specified in the command line to override this track file name.
    The only valid volume type is ISO9660.
    The Volume statement enables the Volume commands until an EndVolume statement is encountered.
    Example Volume ISO9660
    X A S o u r c e
    Function Specifies that the data from the specified file should be placed in the disc image at this point and treated as XA data.
    Syntax XASource <FileName>
    Remarks This indicates that contents of the specified file should be placed into the image. The contents of the file are 2336 byte
    fixed length records of any combination of either Form 1 or Form2 records. The records consist of the following fields:
    Form 1 - Submode+Data+ECC+EDC
    Form2 - Submode+Data+EDC
    This command is only valid in an XA track.
    See also Source
    Example XASource c:\develop\data\psyqace.mxa





    5.6 VOLUME COMMANDS
    Volume commands define the highest level of ISO9660 track volume structure. They fall into the following categories.
    * Volume descriptor definitions. PrimaryVolume
    * System Area Definition. SystemArea
    * Volume definition termination. EndVolume
    E n d V o l u m e
    Function Marks the end of the volume definition.
    Syntax EndVolume
    Remarks The EndVolume statement closes the definition of a volume and returns control to the previous command level.
    Example EndVolume
    P r i m a r y V o l u m e
    Function Marks the start of a primary volume definition.
    Syntax PrimaryVolume
    Remarks The PrimaryVolume statement specifies the start of a primary volume definition. An ISO volume must contain one and
    only primary volume definition.
    The PrimaryVolume statement enables the Primary Volume commands until an EndPrimaryVolume statement
    is encountered.
    See also EndPrimaryVolume
    Example PrimaryVolume


    Volume Commands
    S y s t e m A r e a
    Function Specifies that the data from the specified file should be placed in the ISO9660 system area.
    Syntax SystemArea <FileName>
    Default This area will be zero filled if no input file is specified.
    Remarks This command indicates that contents of the specified file should be placed into the ISO9660 system area. The system
    area is the first 16 logical sectors of the volume. If the specified file is to long then it’s contents will be truncated, if it is too
    short then it will be zero padded.
    The ISO standard does not specify what data should be placed in this area it is up to System designers to choose
    what they wish to be placed here.
    Example SystemArea c:\psyq\boot.bin





    5.7 PRIMARY VOLUME COMMANDS
    PrimaryVolume commands define the structure of the content of an ISO9660 Primary Volume descriptor. They fall into
    the following categories.
    A b s t r a c t F i l e I d e n t i f i e r
    Function Fills the abstract file identifier field with the specified root file name.
    Syntax AbstractFileIdentifier <CdRootFileName>
    Default If no command is encountered then the field will be blank filled.
    Remarks This statement specifies the name of the abstract file identifier. This file name must be specified in the root directory of
    the volume’s hierarchy definition.
    The filename must conform to ISO level1 standards, that is it must have no more than 8 file name characters and 3 file
    extension characters.
    Example AbstractFileIdentifier ABSTRACT.DOC





    A p p l i c a t i o n I d e n t i f i e r
    Function Fills the application identifier field with the specified string.
    Syntax ApplicationIdentifier <String>
    Default If no command is encountered then the field will be blank filled.
    Remarks This statement specifies the application identifier within the volume descriptor. The field holds a maximum of 128
    characters. If the string’s first character is an underscore (‘_’ - 0x5F) the remainder of the string is taken to be the
    name of a file in the root directory of the volume’s hierarchy definition.
    The filename must conform to ISO level1 standards, that is it must have no more than 8 file name characters and 3 file
    extension characters.
    The string, if not a file name is made up of 128 ‘a’ characters. For a list of valid ‘a’ characters see Appendix B - ISO
    character sets.
    Example Appli cationIdenti fier _APP_ID.DOC ApplicationIdentifier PSYQ APPLET
    A p p l i c a t i o n U s e
    Function Fills the application use field with the contents of the specified file.
    Syntax ApplicationUse <FileName>
    Default If no command is encountered then the field will be zero filled.
    Remarks This statement specifies the name of a file, the contents of which will be loaded into the application use field of the volume
    descriptor. The field is 512 bytes long, if the input file is too long then the contents will be truncated, if the file is too short
    then the field will be padded with zeros.
    Example ApplicationUse c:\devel\psyq\appuse.bin





    B i b l i o g r a p h i c F i l e I d e n t i f i e r
    Function Fills the bibliographic file identifier field with the specified root file name.
    Syntax BibliographicFileIdentifier <CdRootFileName>
    Default If no command is encountered then the field will be blank filled.
    Remarks This statement specifies the name of the bibliographic file identifier. This file name must be specified in the root
    directory of the volume’s hierarchy definition.
    The filename must conform to ISO level1 standards, that is it must have no more than 8 file name characters and 3 file
    extension characters.
    Example BibliographicFi leIdentifier BIB.DOC
    C o p y r i g h t F i l e I d e n t i f i e r
    Function Fills the copyright file identifier field with the specified root file name.
    Syntax CopyrightFileIdentifier <CdRootFileName>
    Default If no command is encountered then the field will be blank filled.
    Remarks This statement specifies the name of the copyright file identifier. This file name must be specified in the root directory of
    the volume’s hierarchy definition.
    The filename must conform to ISO level1 standards, that is it must have no more than 8 file name characters and 3 file
    extension characters.
    Example CopyrightFileIdentifier COPYR.DOC





    D a t a P r e p a r e r I d e n t i f i e r
    Function Fills the data preparer identifier field with the specified string.
    Syntax DataPreparerIdentifier <String>
    Default If no command is encountered then the field will be blank filled.
    Remarks This statement specifies the data preparer identifier within the volume descriptor. The field holds a maximum of 128
    characters. If the string’s first character is an underscore (‘_’ - 0x5F) the remainder of the string is taken to be the
    name of a file in the root directory of the volume’s hierarchy definition.
    The filename must conform to ISO level1 standards, that is it must have no more than 8 file name characters and 3 file
    extension characters.
    The string, if not a file name is made up of 128 ‘a’ characters. For a list of valid ‘a’ characters see Appendix B - ISO
    character sets.
    Example DataPreparerIdenti fier _DATID.DOC
    DataPreparerIdenti fi er SNSYSTEMS
    D e s c r i p t o r W r i t e s
    Function Specifies the number of times that the volume descriptor is to be written to the output.
    Syntax DescriptorWrites <Number>
    Default If no command is encountered then the descriptor will be written once.
    Remarks This statement specifies the number of times that the volume descriptor is to be written out. The ISO standard allows for
    the descriptor to be written out as many times as required. Each descriptor record takes up one sector of disc space.
    PSX Restriction: With PSX volume descriptors can only be written once (ie. DescriptorWrites can only be set to a value of
    1).
    Example DescriptorWrites 1





    E n d P r i m a r y V o l u m e
    Function Marks the end of the primary volume definition.
    Syntax EndPrimaryVolume
    Remarks The EndPrimaryVolume statement closes the definition of a primary volume and returns control to the previous
    command level.
    Example EndPrimaryVolume
    H i e r a r c h y
    Function Marks the start of a directory hierarchy.
    Syntax Hierarchy
    Remarks The Hierarchy statement specifies the start of a directory hierarchy within a primary volume definition.
    The must be one and only one hierarchy definition within each primary volume definition.
    The Hierarchy statement enables the hierarchy commands until an EndHierarchy statement is encountered.
    See also EndHierarchy
    Example Hi erarchy





    L o g i c a l B l o c k S i z e
    Function Specifies the logical block size of the volume descriptor.
    Syntax LogicalBlockSize <BlockSize>
    Default The logical block size defaults to 2048.
    Remarks This statement specifies the size of the volume set logical block size. Valid block size values are:
    512, 1024 and 2048
    THIS COMMAND IS RECOGNISED BUT HAS NOT BEEN IMPLEMENTED.
    Example LogicalBlockSize 2048
    L P a t h
    Function Specifies the position of an L type path table.
    Syntax LPath
    Remarks This statement specifies the position of an L type path table. A path table is a directory quick reference to allow an
    executing program to find a particular directory record without having to recurse all the way down the directory
    structure.
    There are 2 types of path tables; L & M. An L path table is set out least significant byte first, while an M path table is
    set out most significant byte first.
    The must be one and only one LPath definition within each primary volume definition. Within a PSX disc definition the
    LPath will be automatically placed correctly.
    See also MPath
    Example Lpath





    M P a t h
    Function Specifies the position of an M type path table.
    Syntax MPath
    Remarks This statement specifies the position of an M type path table. A path table is a directory quick reference to allow an
    executing program to find a particular directory record without having to recurse all the way down the directory
    structure.
    There are 2 types of path tables; L & M. An L path table is set out least significant byte first, while an M path table is set
    out most significant byte first.
    The must be one and only one MPath definition within each primary volume definition. Within a PSX disc definition the
    MPath will be automatically placed correctly.
    See also LPath
    Example MPath
    O p t i o n a l L P a t h
    Function Specifies the position of an optional additional L type path table.
    Syntax OptionalLPath
    Default No additional L path table will be written into the image if this command is not encountered.
    Remarks This statement specifies the position of an additional L type path table. The additional path table is identical in all
    respects to the original. A path table is a directory quick reference to allow an executing program to find a particular
    directory record without having to recurse all the way down the directory structure.
    There are 2 types of path tables; L & M. An L path table is set out least significant byte first, while an M path table is set
    out most significant byte first.
    The can be at most only one Optional LPath definition within each primary volume definition. Within a PSX disc
    definition the OptionalLPath will be automatically placed correctly.
    See also LPath, OptionalMPath
    Example OptionalLpath



    O p t i o n a l M P a t h
    Function Specifies the position of an optional additional M type path table.
    Syntax OptionalMPath
    Default No additional M path table will be written into the image if this command is not encountered.
    Remarks This statement specifies the position of an additional M type path table. The additional path table is identical in all
    respects to the original. A path table is a directory quick reference to allow an executing program to find a particular
    directory record without having to recurse all the way down the directory structure.
    There are 2 types of path tables; L & M. An L path table is set out least significant byte first, while an M path table is set
    out most significant byte first.
    The can be at most only one OptionalM Path definition within each primary volume definition. Within a PSX disc
    definition the OptionalMPath will be automatically placed correctly.
    See also MPath, OptionalLPath
    Example OptionalMpath
    P u b l i s h e r I d e n t i f i e r
    Function Fills the publisher identifier field with the specified string.
    Syntax PublisherIdentifier <String>
    Default If no command is encountered then the field will be blank filled.
    Remarks This statement specifies the publisher identifier within the volume descriptor. The field holds a maximum of 128
    characters. If the string’s first character is an underscore (‘_’ - 0x5F) the remainder of the string is taken to be the
    name of a file in the root directory of the volume’s hierarchy definition.
    The filename must conform to ISO level1 standards, that is it must have no more than 8 file name characters and 3 file
    extension characters.
    The string, if not a file name is made up of 128 ‘a’ characters. For a list of valid ‘a’ characters see Appendix B - ISO
    character sets.
    Example PublisherIdenti fier _PUBID. DOC
    PublisherIdenti fier SNSYSTEMS



    S y s t e m I d e n t i f i e r
    Function Fills the system identifier field with the specified system name string.
    Syntax SystemIdentifier <SystemNameString>
    Remarks This statement specifies the name of the system identifier with the string specified. This field specifies the system
    identifiers that can act upon the contents of the System Area contents.
    The must be one and only one SystemIdentifier definition within each primary volume definition.
    The string is made up of 32 ‘a’ characters. For a list of valid ‘a’ characters see Appendix B - ISO character sets.
    For a PSX disc the system identifier must be defined as PLAYSTATION.
    Example SystemIdentifier DOS
    V o l u m e C r e a t i o n D a t e
    Function Fills the volume creation field with the specified date and time.
    Syntax VolumeCreationDate <Date> <Time> [<Offset>]
    Default If no creation date and time is given then the date and time of creation of the volume descriptor will be used with the
    default Greenwich Offset.
    Remarks This statement specifies the date, time and specific greenwich offset of the volume descriptor creation. Any valid date
    time can be input.
    Dates must be specified in the following format:
    MM/DD/YYYY
    Times must be specified in the following format:
    HH:MM:SS:hh
    The specific greenwich offset must be specified in exactly the same format as for the GreenwichOffset command. If no
    offset is specified then the default greenwich offset will be used.
    See also GreenwichOffset
    Example VolumeCreationDate 01/26/1963 06:45:00:00 0


    V o l u m e E f f e c t i v e D a t e
    Function Fills the volume effective field with the specified date and time.
    Syntax VolumeEffectiveDate <Date> <Time> [<Offset>]
    Default If no effective date and time is given then the field in the volume descriptor will be set to:
    00/00/0000 00:00:00:00 0
    Remarks This statement specifies the date, time and specific greenwich offset of the volume descriptor becoming effective. Any
    valid date time can be input.
    Dates must be specified in the following format:
    MM/DD/YYYY
    Times must be specified in the following format:
    HH:MM:SS:hh
    The specific greenwich offset must be specified in exactly the same format as for the GreenwichOffset command. If no
    offset is specified then the default greenwich offset will be used.
    See also GreenwichOffset
    Example VolumeEffectiveDate 01/26/1963 06:45:00:00 0
    V o l u m e E x p i r a t i o n D a t e
    Function Fills the volume expiration field with the specified date and time.
    Syntax VolumeExpirationDate <Date> <Time> [<Offset>]
    Default If no expiry date and time is given then the field in the volume descriptor will be set to:
    00/00/0000 00:00:00:00 0
    Remarks This statement specifies the date, time and specific greenwich offset of the volume descriptor expiring. Any valid date
    time can be input.
    Dates must be specified in the following format:
    MM/DD/YYYY
    Times must be specified in the following format:
    HH:MM:SS:hh
    The specific greenwich offset must be specified in exactly the same format as for the GreenwichOffset command. If no
    offset is specified then the default greenwich offset will be used.



    V o l u m e I d e n t i f i e r
    Function Fills the volume identifier field with the specified string.
    Syntax VolumeIdentifier <String>
    Remarks This statement specifies the name of the volume identifier with the string specified.
    The must be one and only one VolumeIdentifier definition within each primary volume definition.
    The string is made up of 32 ‘d’ characters. For a list of valid ‘d’ characters see Appendix B - ISO character sets.
    Example VolumeIdentifier MEGAGAME1
    V o l u m e M o d i f i c a t i o n D a t e
    Function Fills the volume modification field with the specified date and time.
    Syntax VolumeModificationDate <Date> <Time> [<Offset>]
    Default If no modification date and time is given then the date and time of creation of the volume descriptor will be used with the
    default Greenwich Offset.
    Remarks This statement specifies the date, time and specific greenwich offset of the last volume descriptor modification. Any
    valid date time can be input.
    Dates must be specified in the following format:
    MM/DD/YYYY
    Times must be specified in the following format:
    HH:MM:SS:hh
    The specific greenwich offset must be specified in exactly the same format as for the GreenwichOffset command. If no
    offset is specified then the default greenwich offset will be used.








    V o l u m e S e t I d e n t i f i e r
    Function Fills the volume set identifier field with the specified string.
    Syntax VolumeSetIdentifier <String>
    Default If no command is encountered then the field will be blank filled.
    Remarks This statement specifies the name of the volume set identifier with the string specified.
    The string is made up of 128 ‘d’ characters. For a list of valid ‘d’ characters see Appendix B - ISO character sets.
    Example VolumeSetIdenti fi er MEGAGAME1
    X A S t a r t D i r e c t o r y
    Function Fills the start directory field with the specified CD directory name.
    Syntax XAStartDirectory <String>
    Default If no command is encountered then the field will be zero filled.
    Remarks This statement specifies the name of the XA disc’s startup directory to be placed in the Primary Volume descriptor.
    The string is made up of 8 ‘d’ characters and must be a valid subdirectory of the CD root directory hierarchy.
    This statement is only valid within an XA track.
    For a list of valid ‘d’ characters see Appendix B - ISO character sets.
    Example XAStartDirectory STARTUP





    Generating Emulation Images
    5.8 DIRECTORY HIERARCHY COMMANDS
    Directory hierarchy commands define the structure of the root directory of an ISO9660 Primary or Supplementary
    volume. The commands fall into the following categories.
    • Directory space allocation
    definitions.
    • Directory attribute definitions.
    • XA Specific directory attribute
    definitions.

    • Directory object definitions.
    • Volume definition termination.
    AddLength, MinLength, Gap

    Attributes, RecordingDate

    XAAudioAttributes, XAFileAttributes,
    XAFilePermissions, XAOwnerGroup,
    XAOwnerUser, XAVideoAttributes

    Directory, File, SourceDirectory,
    XAInterleavedFile

    EndHierarchy
    A d d L e n g t h
    Function Specifies the number of bytes to be added to the length of the generated directory record.
    Syntax AddLength <Length>
    Default If no command is encountered then AddLength defaults to zero.
    Remarks This statement specifies a number of zero filled bytes to be added onto the end of the directory structure. This
    directory record may then be further zero filled to take it to a frame boundary.
    Add Length will always be performed before MinLength. Therefore a directory of say 10 files will produce a directory
    structure of about 400 bytes. An Add Length of 1800 bytes will increase this size to 2200 bytes. A MinLength of 2048 will
    have no effect but the final directory structure will be written in 2 x 2048 bytes blocks (i.e. 2 frames).
    See also MinLength
    Example AddLength 512





    A t t r i b u t e s
    Function Specifies the directory attribute flags.
    Syntax Attributes <Attribute>
    Default If no command is encountered then the Attributes default to NotHidden.
    Remarks This statement specifies the directory attributes. The valid attributes are:
    Hidden or NotHidden
    If the Hidden attribute is defined then the directory will not be made known to the user.
    Example Attributes Hidden
    D i r e c t o r y
    Function Marks the start of a directory definition.
    Syntax Directory <DirectoryName>
    Remarks The Directory statement specifies the start of a directory definition with the name specified.
    See also EndDirectory
    Example Directory PSYQSRC
    E n d H i e r a r c h y
    Function Marks the end of a hierarchy definition.
    Syntax EndHierarchy
    Remarks The EndHierarchy statement closes the definition of a hierarchy record and returns control to the previous command
    level.
    Example EndHierarchy



    F i l e
    Function Marks the start of a file definition.
    Syntax File <ISOFileName> [<Version>]
    Default If the version number is not specified then it defaults to 1.
    Remarks The File statement specifies the start of a ISO file definition with the name specified.
    The File statement enables the File commands until an EndFile statement is encountered.
    For an XA disc the version must be 1.
    See also EndFile
    Example File MONSTERS.GPH 2
    G a p
    Function Places empty sectors within the hierarchy definition.
    Syntax Gap <Num Empty Sectors>
    Remarks The Gap statement places an empty area within the hierarchy definition of length NumEmptySectors. This can be
    used to position files explicitly within the image.
    Example Gap 20
    M i n L e n g t h
    Function Specifies the minimum number of bytes of the directory record.
    Syntax MinLength <Length>
    Default If no command is encountered then MinLength defaults to zero.
    Remarks This statement specifies a minimum size of directory structure that the actual record will be blank filled to.
    This directory record may then be further zero filled to take it to a frame boundary.
    Add Length will always be performed before MinLength. Therefore a directory of say 10 files will produce a directory
    structure of about 400 bytes. An Add Length of 1800 bytes will increase this size to 2200 bytes. A MinLength of 2048
    will have no effect but the final directory structure will be written in 2 x 2048 bytes blocks (i.e. 2 frames).
    See also AddLength
    Example MinLength 512



    R e c o r d i n g D a t e
    Function Logs the recording date of the directory with the specified date and time.
    Syntax RecordingDate <Date> <Time> [<Offset>]
    Default If no recording date and time is given then the date and time of creation of the directory record will be used. If
    no offset is specified then the default greenwich offset will be used.
    Remarks This statement specifies the date, time and specific greenwich offset of the directory record. Any valid date time can
    be input.
    Dates must be specified in the following format:
    MM/DD/YYYY
    Times must be specified in the following format:
    HH:MM:SS:hh
    The specific greenwich offset must be specified in exactly the same format as for the GreenwichOffset command.
    See also GreenwichOffset
    Example RecordingDate 01/26/1963 06:45:00:00 0





    S o u r c e D i r e c t o r y
    Function Searches the specified directory and files within it to recreate the structure and contents in the image.
    Syntax SourceDirectory <DOSDirectory> [<Att1>] [<Att2>] [...]
    Default The command has the following defaults:
    Subroutines will not be recursed.
    All files will be included.
    No additional spare space will be generated.
    Remarks This statement can be used to copy whole directory hierarchies directly into the present directory.
    If the keyword ‘SubDirectories’ appears as one of the attributes then all subdirectories of the named DOS directory will
    be searched recursively copying all the valid filenames to the image.
    If the keyword ‘IncludeWilds’ appears then the command will only retrieve files from the directory and sub-directories
    complying to the format(s) of those attributes that are wildcard definitions.
    If the keyword ‘ExcludeWilds’ appears then the command will only retrieve files from the directory and sub-directories
    not complying to the format(s) of those attributes that are wildcard definitions.
    If the keyword ‘SpareSpace’ appears then the command will add in extra zeros at the end of the files’ contents.
    The attribute must be followed by an equals sign and then a number specifying a percentage of additional space to be
    added. This value can be from 0 to 400. The % sign is optional.
    Example SourceDirectory c:\tmp SubDirectories
    SourceDi rectory c:\tmp ExcludeWilds *.prj *.td
    SourceDirectory c:\tmp *.c SpareSpace=25%
    X A A u d i o A t t r i b u t e s
    Function Specifies the default audio attribute flags.
    Syntax XAAudioAttributes <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the Attributes default to Emphasis Off, ADPCM Level B, Mono.
    Remarks This statement specifies the default XA audio attributes. The valid attributes are:
    Emphasis_On and Emphasis_Off
    ADPCM_B and ADPCM_C
    Mono and Stereo
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track.
    Example XAAudi oAt tributes Emphasi s_On Stereo



    X A F i l e A t t r i b u t e s
    Function Specifies the default file attribute flags.
    Syntax XAFileAttributes <Attribute> [<Attribute>]
    Remarks This statement specifies the default XA file attributes. The valid attributes are:
    Form1 or 1 and Form2 or 2
    Audio, Video and Data
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track.
    Example XAFileAttributes Form1 Data
    X A F i l e P e r m i s s i o n s
    Function Specifies the default file permission flags.
    Syntax XAFilePermissions <Attribute> [<Attribute>] [...]
    Remarks This statement specifies the default XA file permissions. The valid attributes are:
    Owner_Read
    Owner_Execute
    Group_Read
    Group_Execute
    World_Read
    World_Execute
    Any combination of attributes is allowed.
    This statement is only valid within an XA track.
    Example XAFilePermissions Owner_Read





    X A I n t e r l e a v e d F i l e
    Function Marks the start of an XA interleaved file definition.
    Syntax XAInterleavedFile <ISOFileName> [<Filename>]
    Remarks The File statement specifies the start of the definition of an XA file with interleaved channels.
    The XAInterleavedFile statement enables the Interleaved File commands until an XAEndInterleaveFile statement is
    encountered.
    See also XAEndInterleavedFile
    Example XAInterleavedFile MONSTERS.GPH c:\games\output.str
    X A O w n e r G r o u p
    Function Specifies the default file Owner Group Identifier.
    Syntax XAOwnerGroup <GroupIdentifier>
    Default The owner group defaults to zero.
    Remarks This statement specifies the default XA owner group identifier. The owner group identifier is a number between 0 and
    65535.
    This statement is only valid within an XA track.
    Example XAOwnerGroup 27
    X A O w n e r U s e r
    Function Specifies the default file Owner User Identifier.
    Syntax XAOwnerUser <UserIdentifier>
    Default The owner user defaults to zero.
    Remarks This statement specifies the default XA owner user identifier. The owner user identifier is a number between 0 and
    65535.
    This statement is only valid within an XA track.
    Example XAOwnerUser 15


    X A V i d e o A t t r i b u t e s
    Function Specifies the default video attribute flags.
    Syntax XAVideoAttributes <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the Attributes default to Application Specific.
    Remarks This statement specifies the default XA video attributes. The valid attributes are:
    ApplicationSpecific
    or a combination of
    640x480 and 320x200
    Clut1, Clut2, Clut4 and Clut8
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track.
    Example XAVideoAttributes Appli cationSpecifi c
    XAVideoAttributes 640x480 Clut2





    5.9 DIRECTORY COMMANDS
    Directory commands define the structure of a sub-directory of an ISO9660 Primary or Supplementary volume. The
    commands fall into the following categories.
    * Directory space allocation definitions. AddLength, MinLength
    * Directory attribute definitions. Attributes, RecordingDate
    * XA Specific directory attribute definitions. XAAudioAttributes, XAFileAttributes,
    XAFilePermissions, XAOwnerGroup,
    XAOwnerUser, XAVideoAttributes
    * Directory object definitions. Directory, File, SourceDirectory,
    XAInterleavedFile
    * Command definition termination. EndDirectory
    A d d L e n g t h
    Function Specifies the number of bytes to be added to the length of the generated directory record.
    Syntax AddLength <Length>
    Default If no command is encountered then AddLength defaults to zero.
    Remarks This statement specifies a number of zero filled bytes to be added onto the end of the directory structure. This
    directory record may then be further zero filled to take it to a frame boundary.
    Add Length will always be performed before MinLength. Therefore a directory of say 10 files will produce a directory
    structure of about 400 bytes. An Add Length of 1800 bytes will increase this size to 2200 bytes. A MinLength of 2048 will
    have no effect but the final directory structure will be written in 2 x 2048 bytes blocks (i.e. 2 frames).
    See also MinLength
    Example AddLength 512





    A t t r i b u t e s
    Function Specifies the directory attribute flags.
    Syntax Attributes <Attribute>
    Default If no command is encountered then the Attributes default to NotHidden.
    Remarks This statement specifies the directory attributes. The valid attributes are:
    Hidden or NotHidden
    If the Hidden attribute is defined then the directory will not be made known to the user.
    Example Attributes Hidden
    D i r e c t o r y
    Function Marks the start of a directory definition.
    Syntax Directory <DirectoryName>
    Remarks The Directory statement specifies the start of a directory definition with the name specified.
    The Directory statement enables the Directory commands an EndDirectory statement is encountered.
    See also EndDirectory
    Example Directory PSYQSRC
    E n d D i r e c t o r y
    Function Marks the end of a directory definition.
    Syntax EndDirectory
    Remarks The EndDirectory statement closes the definition of a directory record and returns control to the previous command
    level.
    Example EndDirectory



    F i l e
    Function Marks the start of a file definition.
    Syntax File <ISOFileName> [<Version>]
    Default If the version number is not specified then it defaults to 1.
    Remarks The File statement specifies the start of a ISO file definition with the name specified.
    The File statement enables the File commands until an EndFile statement is encountered.
    For an XA disc the version must be 1.
    See also EndFile
    Example File MONSTERS.GPH 2
    G a p
    Function Places empty sectors within the hierarchy definition.
    Syntax Gap <Num Empty Sectors>
    Remarks The Gap statement places an empty area within the hierarchy definition of length NumEmptySectors. This can be
    used to position files explicitly within the image.
    Example Gap 20
    M i n L e n g t h
    Function Specifies the minimum number of bytes of the directory record.
    Syntax MinLength <Length>
    Default If no command is encountered then MinLength defaults to zero.
    Remarks This statement specifies a minimum size of directory structure that the actual record will be blank filled to.
    This directory record may then be further zero filled to take it to a frame boundary.
    Add Length will always be performed before MinLength. Therefore a directory of say 10 files will produce a directory
    structure of about 400 bytes. An Add Length of 1800 bytes will increase this size to 2200 bytes. A MinLength of 2048
    will have no effect but the final directory structure will be written in 2 x 2048 bytes blocks (i.e. 2 frames).
    See also AddLength
    Example MinLength 512



    R e c o r d i n g D a t e
    Function Logs the recording date of the directory with the specified date and time.
    Syntax RecordingDate <Date> <Time> [<Offset>]
    Default If no recording date and time is given then the date and time of creation of the directory record will be used.
    If no offset is specified then the default greenwich offset will be used.
    Remarks This statement specifies the date, time and specific greenwich offset of the directory record. Any valid date time can
    be input.
    Dates must be specified in the following format:
    MM/DD/YYYY
    Times must be specified in the following format:
    HH:MM:SS:hh
    The specific greenwich offset must be specified in exactly the same format as for the GreenwichOffset command.
    See also GreenwichOffset
    Example RecordingDate 01/26/1963 06:45:00:00 0





    S o u r c e D i r e c t o r y
    Function Searches the specified directory and files within it to recreate the structure and contents in the image.
    Syntax SourceDirectory <DOSDirectory> [<Att1>] [<Att2>] [...]
    Default The command has the following defaults:
    Subroutines will not be recursed.
    All files will be included.
    No additional spare space will be generated.
    Remarks This statement can be used to copy whole directory hierarchies directly into the present directory.
    If the keyword ‘SubDirectories’ appears as one of the attributes then all subdirectories of the named DOS directory will
    be searched recursively copying all the valid filenames to the image.
    If the keyword ‘IncludeWilds’ appears then the command will only retrieve files from the directory and sub-directories
    complying to the format(s) of those attributes that are wildcard definitions.
    If the keyword ‘ExcludeWilds’ appears then the command will only retrieve files from the directory and sub-directories
    not complying to the format(s) of those attributes that are wildcard definitions.
    If the keyword ‘SpareSpace’ appears then the command will add in extra zeros at the end of the files’ contents. The
    attribute must be followed by an equals sign and then a number specifying a percentage of additional space to be
    added. This value can be from 0 to 400. The % sign is optional.
    Example SourceDi rectory c: \tmp SubDi rectories
    SourceDirectory c:\tmp ExcludeWilds *.prj *.td
    SourceDi rectory c:\tmp *.c SpareSpace=25%
    X A A u d i o A t t r i b u t e s
    Function Specifies the default audio attribute flags.
    Syntax XAAudioAttributes <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the attributes default to the parent directory default.
    Remarks This statement specifies the default XA audio attributes. The valid attributes are:
    Emphasis_On and Emphasis_Off
    ADPCM_B and ADPCM_C
    Mono and Stereo
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track.
    Example XAAudi oAt tributes Emphasi s_On Ste reo



    X A F i l e A t t r i b u t e s
    Function Specifies the default file attribute flags.
    Syntax XAFileAttributes <Attribute> [<Attribute>]
    Default If no command is encountered then the attributes default to the parent directory default.
    Remarks This statement specifies the default XA file attributes. The valid attributes are:
    Form 1 or 1 and Form2 or 2
    Audio, Video and Data
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track.
    Example XAFileAttributes Form1 Data
    X A F i l e P e r m i s s i o n s
    Function Specifies the default file permission flags.
    Syntax XAFilePermissions <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the attributes default to the parent directory default.
    Remarks This statement specifies the default XA file permissions. The valid attributes are:
    Owner_Read
    Owner_Execute
    Group_Read
    Group_Execute
    World_Read
    World_Execute
    Any combination of attributes is allowed.
    This statement is only valid within an XA track.
    Example XAFilePermissions Owner_Read



    X A I n t e r l e a v e d F i l e
    Function Marks the start of an XA interleaved file definition.
    Syntax XAInterleavedFile <ISOFileName> [<Interleaved Output File>]
    Remarks The File statement specifies the start of the definition of an XA file with interleaved channels.
    The XAInterleavedFile statement enables the Interleaved File commands until an XAEndInterleaveFile statement is
    encountered.
    The Interleaved Output File will be output only if the -g is specified on the command line. The contents of each of the
    interleaved channels are amalgamated into a single interleaved output file with all parity and CRC values set to zero.
    This file output can then be used as input to an XAF source command.
    See also XAEndInterleavedFile
    Example XAInterleavedFile MONSTERS.GPH
    X A O w n e r G r o u p
    Function Specifies the default file Owner Group Identifier.
    Syntax XAOwnerGroup <GroupIdentifier>
    Default If no command is encountered then the owner group defaults to the parent directory default.
    Remarks This statement specifies the default XA owner group identifier. The owner group identifier is a number between 0 and
    65535.
    This statement is only valid within an XA track.
    Example XAOwnerGroup 27
    X A O w n e r U s e r
    Function Specifies the default file Owner User Identifier.
    Syntax XAOwnerUser <UserIdentifier>
    Default If no command is encountered then the user identifier defaults to the parent directory default.
    Remarks This statement specifies the default XA owner user identifier. The owner user identifier is a number between 0 and
    65535. This statement is only valid within an XA track.
    Example XAOwnerUser 15



    X A V i d e o A t t r i b u t e s
    Function Specifies the default video attribute flags.
    Syntax XAVideoAttributes <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the attributes default to the parent directory default.
    Remarks This statement specifies the default XA video attributes. The valid attributes are:
    ApplicationSpecific
    or a combination of
    640x480 and 320x200
    Clut1, Clut2, Clut4 and Clut8
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track.
    Example XAVideoAttributes Appli cationSpecifi c
    XAVideoAttributes 640x480 Clut2






    5.10
    FILE COMMANDS

    File commands define the contents of an ISO9660 File. The commands fall into the following categories.
    * File space allocation definitions. AddLength, MinLength
    * File attribute definitions. Attributes, RecordingDate
    * XA file attribute definitions. XAAudioAttributes, XAEOR,
    XAFileAttributes, XAFilePermissions,
    XAOwnerGroup, XAOwnerUser,
    XATrigger, XAVideoAttributes
    * File object definitions. Source, XASource
    * Command definition termination. EndFile
    A d d L e n g t h
    Function Specifies the number of bytes to be added to the length of the file contents.
    Syntax AddLength <Length>
    Default If no command is encountered then AddLength defaults to zero.
    Remarks This statement specifies a number of zero filled bytes to be added onto the end of the file contents. This file may then be
    further zero filled to take it to a frame boundary.
    AddLength will always be performed before MinLength. Therefore if we had a file of say 400 bytes. An Add Length of
    1800 bytes will increase this size to 2200 bytes. A MinLength of 2048 will have no effect but the final record will be
    written in 2 x 2048 bytes blocks (i.e. 2 frames).
    See also MinLength
    Example AddLength 512


    A t t r i b u t e s
    Function Specifies the file attribute flags.
    Syntax Attributes <Attribute> [<Attribute>]
    Default If no command is encountered then the Attributes default to NotHidden.
    Remarks This statement specifies the directory attributes. The valid attributes are:
    Hidden or NotHidden Record or NotRecord
    If the Hidden attribute is defined then the file will not be made known to the user.
    If the Record attribute is defined then the file will be flagged as a record.
    Example Attributes Hidden Not Record
    E n d F i l e
    Function Marks the end of a file definition.
    Syntax EndFile
    Remarks The EndFile statement closes the definition of a file record and returns control to the previous command level.
    Example EndFile
    M i n L e n g t h
    Function Specifies the minimum number of bytes of a file record.
    Syntax MinLength <Length>
    Default If no command is encountered then MinLength defaults to zero.
    Remarks This statement specifies a minimum size of file record, if the file is smaller than this then it will be blank filled to the
    specified size.
    The file may then be further zero filled to take it to a frame boundary.
    AddLength will always be performed before MinLength. Therefore if we had a file of say 400 bytes. An Add Length of
    1800 bytes will increase this size to 2200 bytes. A MinLength of 2048 will have no effect but the final record will be
    written in 2 x 2048 bytes blocks (i.e. 2 frames).
    See also AddLength
    Example MinLength 512



    R e c o r d i n g D a t e
    Function Logs the recording date of the file with the specified date and time.
    Syntax RecordingDate <Date> <Time> [<Offset>]
    Default If no recording date and time is given then the DOS date and time of creation of the source file will be used.
    If no offset is specified then the default greenwich offset will be used.
    Remarks This statement specifies the date, time and specific greenwich offset of the file. Any valid date time can be input.
    Dates must be specified in the following format:
    MM/DD/YYYY
    Times must be specified in the following format:
    HH:MM:SS:hh
    The specific greenwich offset must be specified in exactly the same format as for the GreenwichOffset command.
    See also GreenwichOffset
    Example RecordingDate 01/26/1963 06:45:00:00 0
    S o u r c e
    Function Specifies that the contents of the file are to be copied from the file specified.
    Syntax Source <FileName>
    Remarks This indicates that contents of the specified file should be used as the contents of the ISO file. Any incomplete frame of
    data at the end of the file will be padded with zeros.
    Example Source c:\develop\data\psyqace.bin





    X A A u d i o A t t r i b u t e s
    Function Specifies the file’s audio attribute flags.
    Syntax XAAudioAttributes <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the attributes default to the parent directory default.
    Remarks This statement specifies the XA audio attributes. The valid attributes are:
    Emphasis_On and Emphasis_Off
    ADPCM_B and ADPCM_C
    Mono and Stereo
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track for a file defined as being Audio.
    Example XAAudi oAt tributes Emphasi s_On Stereo
    X A E n d O f R e c o r d
    Function Specifies the position of End Of Record flags within the file.
    Syntax XAEndOfRecord <TrigOffset> [<TrigOffset>] [...] [EndOfFile]
    Remarks This statement specifies the position of end of record flags within the file. This command can be called more than once
    for a file.
    The EndOf Record Offset is the number of frames into the file that the end-of-record marker is to be set at.
    The EndOf File parameter allows the End Of Record flag to be placed at the end of the file (after adjustment by Add &
    MinLength!) without precalculation of position.
    This statement is only valid within an XA track.
    Example XAEndOfRecord 15 30 45 90





    X A F i l e A t t r i b u t e s
    Function Specifies the file attribute flags.
    Syntax XAFileAttributes <Attribute> [<Attribute>]
    Remarks This statement specifies the default XA file attributes. The valid attributes are:
    Form1 or 1 and Form2 or 2
    Audio, Video and Data
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track.
    Example XAFileAttributes Form1 Data
    X A F i l e P e r m i s s i o n s
    Function Specifies the default file permission flags.
    Syntax XAFilePermissions <Attribute> [<Attribute>] [...]
    Remarks This statement specifies the default XA file permissions. The valid attributes are:
    Owner_Read
    Owner_Execute
    Group_Read
    Group_Execute
    World_Read
    World_Execute
    Any combination of attributes is allowed.
    This statement is only valid within an XA track.
    Example XAFilePermissions Owner_Read





    X A O w n e r G r o u p
    Function Specifies the default file Owner Group Identifier.
    Syntax XAOwnerGroup <GroupIdentifier>
    Default The owner group defaults to zero.
    Remarks This statement specifies the default XA owner group identifier. The owner group identifier is a number between 0 and
    65535.
    This statement is only valid within an XA track.
    Example XAOwnerGroup 27
    X A O w n e r U s e r
    Function Specifies the default file Owner User Identifier.
    Syntax XAOwnerUser <UserIdentifier>
    Default The owner user defaults to zero.
    Remarks This statement specifies the default XA owner user identifier. The owner user identifier is a number between 0 and
    65535.
    This statement is only valid within an XA track.
    Example XAOwnerUser 15





    X A S o u r c e
    Function Specifies that the data from the specified file is to be copied from the specified file.
    Syntax XASource <FileName>
    Remarks This indicates that contents of the specified file should be used as the contents of the CD file within the XA track.
    The contents of the file are 2336 byte fixed length records of any combination of either Form 1 or Form2 records. The
    records consist of the following fields:
    Form1 - Submode+Data+ECC+EDC
    Form2 - Submode+Data+EDC
    Because the input files already have all the submode data setup within them this command cannot appear within a File
    specification with the following XA commands:
    XAAudioAttributes,
    XAEOR,
    XAFileAttributes,
    XATrigger,
    XAVideoAttributes
    This command is only valid in an XA track.
    See also Source
    Example XASource c:\develop\data\psyqace.mxa
    X A T r i g g e r
    Function Specifies the position of Trigger flags within the file.
    Syntax XATrigger <TrigOffset> [<TrigOffset>] [...] [EndOfFile]
    Remarks This statement specifies the position of trigger flags within the file. This command can be called more than once for a file.
    The Trigger Offset is the number of frames into the file that the trigger marker is to be set at.
    The EndOf File parameter allows a Trigger to be placed at the end of the file (after adjustment by Add & MinLength!)
    without precalculation of position.
    This statement is only valid within an XA track.
    Example XATrigger 15 30 45 90



    X A V i d e o A t t r i b u t e s
    Function Specifies the default video attribute flags.
    Syntax XAVideoAttributes <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the Attributes default to Application Specific.
    Remarks This statement specifies the default XA video attributes. The valid attributes are:
    ApplicationSpecific
    or a combination of
    640x480 and 320x200
    Clut1, Clut2, Clut4 and Clut8
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track.
    Example XAVideoAttributes Appli cationSpecifi c
    XAVideoAttributes 640x480 Clut2





    5.11 XA INTERLEAVED FILE COMMANDS
    XA Interleaved File commands define the contents of an XA File with interleaved channels. The commands fall into the
    following categories.
    • File attribute definitions. Attributes, RecordingDate
    * XA file attribute definitions. XAFilePermissions, XAOwnerGroup,
    XAOwnerUser
    * File object definitions. XAChannel
    * Interleave definitions. XAChannelInterleave
    * Command definition termination. XAEndInterleavedFile
    A t t r i b u t e s
    Function Specifies the file attribute flags.
    Syntax Attributes <Attribute> [<Attribute>]
    Default If no command is encountered then the Attributes default to NotHidden.
    Remarks This statement specifies the directory attributes. The valid attributes are:
    Hidden or NotHidden Record or NotRecord
    If the Hidden attribute is defined then the file will not be made known to the user.
    If the Record attribute is defined then the file will be flagged as a record.
    Example Attributes Hidden Not Record





    R e c o r d i n g D a t e
    Function Logs the recording date of the file with the specified date and time.
    Syntax RecordingDate <Date> <Time> [<Offset>]
    Default If no recording date and time is given then the DOS date and time of creation of the source file will be used.
    If no offset is specified then the default greenwich offset will be used.
    Remarks This statement specifies the date, time and specific greenwich offset of the file. Any valid date time can be input.
    Dates must be specified in the following format:
    MM/DD/YYYY
    Times must be specified in the following format:
    HH:MM:SS:hh
    The specific greenwich offset must be specified in exactly the same format as for the GreenwichOffset command.
    See also GreenwichOffset
    Example RecordingDate 01/26/1963 06:45:00:00 0
    X A C h a n n e l
    Function Marks the start of an XA channel definition.
    Syntax XAChannel <ChannelNumber>
    Remarks The XAChannel statement specifies the start of the definition of an XA channel within an XA Interleaved file.
    The Channel Number must be a number between 1 and 32 inclusive. Only one channel definition for each channel
    number is allowed.
    The XAChannel statement enables the Channel commands until an XAEndChannel statement is encountered.
    See also XAEndChannel
    Example XAChannel 3



    X A C h a n n e l I n t e r l e a v e
    Function Defines the format of the XA channel interleave.
    Syntax XAChannelInterleave <I’type> [<arg>] [<I’type> [<arg>]]
    Remarks The XAChannelInterleave statement specifies how the channels within the XA file are to be interleaved.
    The valid Interleave types are:
    TimeCritical
    Explicit
    Proportional
    Even
    PaddedEven
    TimeCritical & Explicit
    These two interleave types are for the most part the same as they must be both followed by an argument string that
    define the order in which key channels are to be interleaved. The only difference between the two types is that all
    explicitly defined channels within a TimeCritical argument string will be marked as Real Time.
    The argument string is a list of channels separated by a hyphen. Gaps can be defined by including Xs into the definition to
    be filled by a further interleave definition. Padding blanks can be specified by including Bs in the string. The string will be
    used repeatedly until all channels have been fully output.
    Only 2 levels of interleave definition are allowed, and only TimeCritical and Explicit interleaves allow for a further level of
    definition. TimeCritical interleaves can only appear as the first interleave and no Xs can appear in a secondary Explicit
    definition.
    Proportional
    A proportional interleave uses the length of the data within each channel to calculate the order of sectors. Channels
    with more data will be added to the image more regularly than channels with less. In this way all channels will start and end
    at approximately the same point within the image.
    Even
    An even interleave outputs one sector from each channel in sequence until all channels have been fully output.
    PaddedEven
    A padded-even interleave outputs one sector from each channel in sequence until all channels have been fully output, just
    like an even interleave. However it will intersperse the packets of data for each channel with blank sectors to ensure
    that like the proportional interleave all channels start and end at approximately the same point.
    There must be one and only one XAChannelInterleave statement within XAInterleavedFile definition.
    Example XAChannelInterleave Even
    XAChannelInterleave TimeCri ti cal 1-2-X-X PaddedEven


    X A E n d I n t e r l e a v e d F i l e
    Function Marks the end of an XA interleaved file definition.
    Syntax XAEndInterleavedFile
    Remarks The XAEndInterleavedFile statement closes the definition of an XA interleaved file record and returns control to the
    previous command level.
    Example XAEndInterleavedFile
    X A F i l e P e r m i s s i o n s
    Function Specifies the default file permission flags.
    Syntax XAFilePermissions <Attribute> [<Attribute>] [...]
    Remarks This statement specifies the default XA file permissions. The valid attributes are:
    Owner_Read
    Owner_Execute
    Group_Read
    Group_Execute
    World_Read
    World_Execute
    Any combination of attributes is allowed.
    Example XAFilePermissions Owner_Read
    X A O w n e r G r o u p
    Function Specifies the default file Owner Group Identifier.
    Syntax XAOwnerGroup <GroupIdentifier>
    Default The owner group defaults to zero.
    Remarks This statement specifies the default XA owner group identifier. The owner group identifier is a number between 0 and
    65535.
    Example XAOwnerGroup 27



    X A O w n e r U s e r
    Function Specifies the default file Owner User Identifier.
    Syntax XAOwnerUser <UserIdentifier>
    Default The owner user defaults to zero.
    Remarks This statement specifies the default XA owner user identifier. The owner user identifier is a number between 0 and
    65535.
    Example XAOwnerUser 15





    5.12 XA INTERLEAVED CHANNEL COMMANDS
    XA Interleaved Channel commands define the contents of a channel within an XA File. The commands fall into the
    following categories.
    * File space allocation definitions. AddLength, MinLength
    * XA file attribute definitions. XAAudioAttributes, XAEOR,
    XAFileAttributes, XATrigger,
    XAVideoAttributes
    • File object definitions. Source
    * Command definition termination. XAEndChannel
    A d d L e n g t h
    Function Specifies the number of bytes to be added to the length of the channel contents.
    Syntax AddLength <Length>
    Default If no command is encountered then AddLength defaults to zero.
    Remarks This statement specifies a number of zero filled bytes to be added onto the end of the channel contents. This channel
    may then be further zero filled to take it to a frame boundary.
    AddLength will always be performed before MinLength. Therefore if we had a channel of say 400 bytes. An AddLength of
    1800 bytes will increase this size to 2200 bytes. A MinLength of 2048 will have no effect but the final record will be
    written in 2 x 2048 bytes blocks (i.e. 2 frames).
    See also MinLength
    Example AddLength 512





    M i n L e n g t h
    Function Specifies the minimum number of bytes of a file record.
    Syntax MinLength <Length>
    Default If no command is encountered then MinLength defaults to zero.
    Remarks This statement specifies a minimum size of channel record, if the channel is smaller than this then it will be blank filled to
    the specified size.
    The channel may then be further zero filled to take it to a frame boundary.
    AddLength will always be performed before MinLength. Therefore if we had a channel of say 400 bytes. An AddLength of
    1800 bytes will increase this size to 2200 bytes. A MinLength of 2048 will have no effect but the final record will be written
    in 2 x 2048 bytes blocks (i.e. 2 frames).
    See also AddLength
    Example MinLength 512
    S o u r c e
    Function Specifies that the contents of the channel are to be copied from the file specified.
    Syntax Source <FileName>
    Remarks This indicates that contents of the specified file should be used as the contents of the Channel. Any incomplete frame of
    data at the end of the channel will be padded with zeros.
    There can be one and only one sourced file within a Channel definition
    Example Source c:\develop\data\psyqace.bin





    X A A u d i o A t t r i b u t e s
    Function Specifies the channel’s audio attribute flags.
    Syntax XAAudioAttributes <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the attributes default to the parent directory default.
    Remarks This statement specifies the XA audio attributes. The valid attributes are:
    Emphasis_On and Emphasis_Off
    ADPCM_B and ADPCM_C
    Mono and Stereo
    Any combination of the non-mutually exclusive attributes is allowed.
    This statement is only valid within an XA track for a channel defined as being Audio.
    Example XAAudioAtt ri butes Emphasi s_On Ste reo
    X A E n d C h a n n e l
    Function Marks the end of a channel definition.
    Syntax XAEndChannel
    Remarks The XAEndChannel statement closes the definition of an XAChannel record and returns control to the previous
    command level.
    Example XAEndChannel
    X A E n d O f R e c o r d
    Function Specifies the position of End Of Record flags within the channel.
    Syntax XAEndOfRecord <TrigOffset> [<TrigOffset>] [...]
    Remarks This statement specifies the position of end of record flags within the channel. This command can be called more than
    once for a channel.
    The EndOfRecord Offset is the number of frames into the channel (not the record) that the end-of-record marker is to
    be set at.
    Example XAEndOfRecord 15 30 45 90



    X A F i l e A t t r i b u t e s
    Function Specifies the file attribute flags.
    Syntax XAFileAttributes <Attribute> [<Attribute>]
    Remarks This statement specifies the default XA channel attributes. The valid attributes are:
    Form 1 or 1 and Form2 or 2
    Audio, Video and Data
    Any combination of the non-mutually exclusive attributes is allowed.
    Each Channel must have from and data types defined explicitly within the Channel definition.
    Example XAFileAttributes Form1 Data
    X A T r i g g e r
    Function Specifies the position of Trigger flags within the channel.
    Syntax XATrigger <TrigOffset> [<TrigOffset>] [...]
    Remarks This statement specifies the position of trigger flags within the channel. This command can be called more than once
    for a channel.
    The Trigger Offset is the number of frames into the file that the trigger marker is to be set at.
    Example XATrigger 15 30 45 90





    X A V i d e o A t t r i b u t e s
    Function Specifies the default video attribute flags.
    Syntax XAVideoAttributes <Attribute> [<Attribute>] [...]
    Default If no command is encountered then the Attributes default to Application Specific.
    Remarks This statement specifies the default XA video attributes. The valid attributes are:
    ApplicationSpecific
    or a combination of
    640x480 and 320x200
    Clut1, Clut2, Clut4 and Clut8
    Any combination of the non-mutually exclusive attributes is allowed.
    Example XAVideoAttributes ApplicationSpecific
    XAVideoAttributes 640x480 Clut2





    Modifying the Emulation Image
    MODIFYING THE EMULATION IMAGE - How to use UpdateCD
    BuildCD will generate the whole CD image each time it is run, however, if only one file has changed
    then this can be a very lengthy process. UpdateCD, however, will determine which files has changed
    since the last creation/modification took place and only write those to the HD. It requires name of the
    map file that was generated by BuildCD as its parameter.
    If BuildCD was run using the following command line:-
    BUILDCD -mexample.map -s0:1 example.cti
    then the file example.map will contain all the relevant information to allow UpdateCD to write only files that changed since last
    time.
    So if immediately after the above example the following was run
    UPDATECD example.map
    then nothing will be updated.
    If however one of the files written by BuildCD was modified then UpdateCD will detail the consequences of the change and ask
    the user if this modification should be made.
    There will be cases where a file increases in length so much that it will affect following files then the user will need to modify the
    space allocation in the original control file and re-build using BuildCD.
    UpdateCD takes the following command line form -
    UPDATECD [options] [map filename]
    Available options are-
    -e<num> to restrict the number of warnings messages given.
    -w to suppress all warnings.
    The mapfile contains ALL information needed to do its updating including the ID and partition number of the disk that the
    original image was created on.



    Connection of Multiple Emulation
    Hard Drives
    CONNECTION OF MULTIPLE EMULATION HARD DRIVES
    As you know, this emulator system is based upon its local implementation of a SCSI bus. This electronics
    standard allows for up to 8 devices to share a common data pathway. However to avoid reflection of
    signals from the ends of the bus, each end needs to be terminated. This simply being a resistor
    connection between each of the signal lines on the bus and ground.
    Hard drives usually have a configurable termination, and are generally shipped with this active. The
    emulator card also has this termination fitted and can be considered as ‘one end’ of the bus. Therefore
    with only one internal drive fitted ‘both ends’ of the bus are terminated. This also applies if an external
    drive is fitted. However, if you wish to use more than one hard drive then you need to determine which
    device is ‘on the end’ and remove the termination from the ones ‘between’
    Refer to the manual supplied with your internal hard drive to determine how to remove the termination.
    External hard drives generally have two connectors, one to which is connected the SCSI cable and to the
    other is connect a termination pack.
    So with an internal hard drive, schematically the system is -
    Internal External
    HD Emulator
    T Card
    with both ends terminated (T).
    With an external hard drive-
    Internal External

    Emulator
    Card
    T

    HD
    T

    Again, both ends are terminated.



    If the requirement was for an internal and an external drive then -
    Internal External





    is how the chain should be configured. Note the termination is missing from the emulator card (see later for how to
    remove the termination from the card).
    Or, for two internal drives -


    HD HD T




    Note that the termination has now been disabled from the middle device (instructions to disable the termination from a
    hard drive will be in the manual supplied with it).
    Or, for two external hard drives -
    Internal External
    Emulator
    Card
    T
    For configurations which need more than two hard drives (either internal, external or a mixture of both) the above still
    applies, it is only the devices that are on each end of the bus that need to have termination.


    7.1 Removal of the Termination Resistors from the CD Emulator Card
    In some of the above examples the emulator card did not require termination, however it is supplied with termination
    resistors fitted.





    Each of the resistor packs are fitted into sockets to allow for easy removal, however not all the packs are of the same
    value. Mark and note the position and orientation of each of the packs prior to removal, this will facilitate their easy
    replacement . Be very careful not to bend the pins of these packs during removal.





    Appendix A

    SAMPLE CONTROL FILES
    An example of a high level disc defining control file. Note how it includes the example file 2 and
    therefore processes it.
    Echo “Building Imageâ€
    Define PsyQ c:\psyQ\dev\
    ShowDefi nes
    Disc CDROM state.img
    Cata logNumber
    MapFi le
    BInaryFi leOutput

    LeadIn AUDIO
    Empty 150
    EndT rack
    47646
    [PsyQ]state.map
    [PsyQ]state. cdb

    Track
    Pause
    SubcSource
    Include
    Subc Empty
    EndT rack
    MODE1
    150
    [PsyQ]subc\subc1. sbc
    state. ct l
    ; Volume Definition



    Track
    SubcSou rce
    Source
    Subc Empty
    PostGap 150
    EndTrack
    Track
    Pause
    Source
    EndTrack


    MOD E1
    [PsyQ]subc\
    dsubcs .sll
    [PsyQ]state
    . t rk
    Audio
    150
    [PsyQ]state
    1.trk


    LeadOut AUDIO
    Empty 150
    EndTrack
    EndDi sc



    An example of a volume defining control file. Note that although this can be included in file 1 above it
    can also be used on it’s own.
    Echo Control file test for directory structures
    Volume ISO9660 state.trk
    SystemArea
    Prima ryVolume
    [PsyQ]share.exe




    AbstractFileIdentifier
    ApplicationIdentifier
    Appli cationUse
    BibliographicFileIdentifier
    CopyrightFileIdentifier
    DataPreparerIdentifier
    DescriptorWri tes
    AUTOEXEC.BAT
    “_AUTOEXEC. BATâ€
    [PsyQ]appuse.txt
    AARON. PTT
    CONFIG.SYS
    _AU TO EXEC . BAT; 1
    1

    PublisherIdentifier
    SystemIdentifier
    VolumeCreationDate
    “SN S YST EMSâ€
    CD
    10/17/1989 08:12:00:00
    00
    VolumeEffectiveDate
    09/18/1990 09:13:00:00
    00
    VolumeExpi rationDate
    10/04/1991 07:15:22:00
    -12
    VolumeIdenti fi er
    VolumeModificationDate
    TOME
    12/25/1993 00:00:00:00
    00
    VolumeSetIdentifier
    Hierarchy
    TICTACTOE


    File AUTOEXEC.BAT;1
    Source \autoexec.bat
    EndFi le
    File CONFIG.SYS;1
    Source \config.sys
    EndFi le
    Directory CHKDEMO
    SourceDirectory \chkdemo SubDirectories SpareSpace=100%
    EndDi rectory
    Directory GRAPHICS
    File FRED.PTT 3
    Source \setni l.bat
    EndFi le



    File GINGER.PTT 4
    Source \setmap. bat
    EndFi le
    Directory MONGEESE
    File ARNIE.PTT 5
    Source \setnml.bat EndFi
    le
    EndDi rectory
    File AARDVARK.PTT 6
    Source \config.nil
    EndFi le
    EndDi rectory
    Directory GRAPHICS1
    MinLength 2045
    AddLength 200
    File FRED.PTT 3
    Source \config.nml
    EndFi le
    File GINGER.PTT 4
    Source \confi g .ptt
    EndFi le
    Di rectory MONGEESE
    File ARNIE.PTT 5
    Source \setmap.ptt
    AddLength 2048
    EndFi le
    EndDi rectory
    File AARDVARK.PTT 6
    Source \setmap.blr
    EndFi le
    EndDi rectory
    File AARON.PTT
    Source \setmap.blt
    EndFi le



    Appendix A
    EndHierarchy
    LPath MPath

    EndPrimaryVolume


    VolumeParti tion

    Descri ptorWri tes
    SystemIdenti fi er
    SystemUse
    VolumeParti tionData
    3
    CD \setmap.crd
    \snlpt .ddt
    VolumeParti tionIdenti fi er PARTITION1
    EndVolumeParti tion
    Boot Record


    BootIdenti fi er
    Descri ptorWri tes
    SystemIdenti fi er
    SystemUse
    EndBoot Record
    EndVo lume


    Example XA Control File
    demo.cti
    Define PsyQ c:\psyQ\
    ShowDefines
    Disc CDROMXA demo.img
    CatalogNumber 47646
    MapFile demo.map
    BInaryFileOutput demo.cdb
    LeadIn XA
    Empty 1000
    Post Ga p 150
    EndT rack


    Appendix A





    Track
    ISRC
    SubcSource
    Source
    SubcEmpty
    EndTrack
    Track
    Copy
    PreEmphasi
    Sou rce
    EndT rack
    LeadOut
    Empty
    EndTrack


    Audio
    U KS N
    S94
    00001
    bcdmap.o
    bj
    \dev\trk\
    state1.tr
    k
    Audio
    On s On
    \dev\trk\
    state1.tr
    k
    A
    U
    D
    I
    O

    1
    5
    0


    EndDi sc
    demo.ctl
    Volume ISO9660 demo.trk
    SystemArea [psyq]sysarea.exe
    Prima ry Volume


    AbstractFileIdentifier
    ApplicationIdentifier Appli
    cationUse
    BibliographicFileIdentifier
    Copyright FileIdentif ier
    DataPreparerIdentifier Descri
    ptorWri tes
    PublisherIdentifier
    SystemIdentifier
    VolumeCreationDate
    VolumeEffectiveDate
    VolumeExpi rationDate



    VolumeIdentifier Vol_Id
    VolumeModificationDate 12/25/1993 00:00:00:00 00
    VolumeSetIdentifier Vol_Set_One
    Hi erarchy
    XAFileAttributes Form1 Data
    XAVideoAttributes 640x480 Clut4
    XAAudioAttributes Emphasis_On ADPCM_B Mono
    XAFi lePermissions World_Read World_Execute
    XAOwnerGroup 56
    XAOwnerUser 1
    File ABS.TXT
    Source [psyQ]txt\abstract .txt
    EndFi le
    File APP.TXT
    Source [psyQ]txt\app_id.txt
    EndFi le
    File BIB.TXT
    Source [psyQ]txt\biblio. txt
    EndFi le
    File CPY.TXT
    Source [psyQ]txt\cpyright .txt
    EndFi le
    File DTP.TXT
    Source [psyQ]txt\dataprep. txt
    EndFi le
    ; File with channels interleaved within the BuildCD program ;
    XAInterleavedFile autoexec.bat;1
    XAChannelInterleave TimeCritical 2-X-2-X Even
    XAChannel 1
    Source C:\dev\buildcd\bcdmain.c
    XAFileAttributes Form1 Data
    AddLength 2332
    XAEndChanne l



    XAChannel 2
    Source C: \dev\bui ldcd\bcdbasi c.c
    XAFileAttributes Form2 Audio
    XAEndOfRecord 1 8 EndOfFile
    XAAudioAttri butes Emphasis_Off
    XAEndChanne l
    XAChannel 3
    Source C:\dev\buildcd\bcdfront.c
    XAFileAttributes Form1 Video
    XAEndChannel
    XAEndInterleavedFile
    ; File defined within XA with no interleaves ;
    File CONFIG.SYS;1
    XAFileAttributes Form2 Audio
    XATrigger 0 2 4
    XAEndOfRecord EndOfFile 1
    Source \config.sys
    MinLength 10000
    EndFi le
    AddLength 2048 MinLength 8192
    Directory CHKDEMO
    SourceDirectory \chkdemo SubDirectories SpareSpace=100%
    EndDi rectory
    Directory GRAPHICS
    ; File with channel interleaving already performed ;
    File FRED.PTT 3
    XASource \setnil.bat
    EndFi le
    File GINGER.PTT 4
    Source \setmap.bat
    EndFi le



    Appendix A
    Directory MONGEESE
    File ARNIE.PTT 5
    Source \setnml.bat EndFi
    le
    EndDi rectory
    EndDi rectory
    EndHierarchy
    LPath MPath
    EndPrimaryVolume


    VolumeParti tion

    Descri ptorWri tes
    SystemIdenti fier
    SystemUse
    VolumePartitionData
    VolumePartitionIdent

    EndVo lumePa rt it ion


    Boot Record
    3
    CD
    \ se tma p . bat
    \dev\bui ldcd\bui ldcd .exe ifier
    PARTITION1
    BootIdenti fi er
    DescriptorWri tes
    SystemIdenti fi er
    SystemUse


    End Boot Re co rd
    End Volume



    Appendix A
    The following is a sample map file.
    =======================================================================================
    = Generated Map File C:\DEV\BUILDCD\STATE1.MAP for Image File C:\DEV\BUILDCD\STATE1.IMG =
    =======================================================================================
    Image C:\DEV\BUILDCD\STATE1.IMG 03/10/1994 14:31:48 2967552
    (CAT: 0000000047646)
    =======================================================================================
    = Command Fr Time Len LBN Additional
    =======================================================================================
    LeadIn 0
    Empty
    PostGap
    Track 1
    Pause
    TrackDef
    00:00:00 150 00:02:00 150


    00:04:00 150
    XA
    XA



    SystemArea 00:06:00 16 Form1 C:
    \SHARE.EXE
    PrimVol 00:06:16 1
    TermVol 00:06:17 1


    Lpa t h
    OptLpath
    Mpath
    OptMpath
    Di r( )
    Di r(GRAPHICS)
    File( FRED. PTT)


    00:06:18 1
    00:06:19 1
    00:06:20 1
    00:06:21 1
    00:06:22 1
    00:06:23 1
    00:06:24 1


    Form1 C:\SETNIL.BAT
    File(GINGER.PTT) 00:06:25 1
    Form1 C:\SETMAP.BAT
    File(AARDVARK.PTT) 00:06:26 1
    Form1 C: \CONFIG.NIL
    Dir(MONGEESE) 00:06:27 1
    File(ARNIE.PTT) 00:06:28 1 Form1
    C:\SETNML.BAT EndTrackDef
    PostGap 00:06:29 150


    Track 2 Audio (COPY:OFF PRE_EMPH:OFF)
    Pause 00:08:29 150
    Source 00:10:29 73 02/10/1994 18:00:12 170563
    C: \DEV\BUILDCD\BCD WRITE. C
     
    Last edited by a moderator: Jun 1, 2006

Share This Page