Chapter VIII Base Case System VIII.1 Introduction 1.1 General A system, made up of hardware and system software, is called a CD-I system if, at the very least, it fully conforms to the CD-I Base Case Specification detailed in this chapter. Each part of the Base Case Specification is mandatory in any product realization of a CD-I sytem. It should be noted that any system (see Figure VIII.1) that contains as a part of its mandatory specification the CD-I Base Case Specification, is a CD-I sytem if, and only if, CD-I disc based functions in this system have priority over all other non CD-I functions when a CD-I application is active in this system. Figure VIII.1 ____________________________________ _ Specification of System _ ____________________________________ _ Recommended Mandatory _ _ or Optional _ _ _ ________________ _ _ _ _ _ _ _ _CD-I Base Case_ _ _ _ _Specification _ _ _ _ _ _ _ _ _ _ _ _ ________________ _ _ _ _ ____________________________________ The specification in sections VIII.2 to VIII.7 give the mandatory functions that a Base Case system must support. Section VIII.8 discusses the Base Case system resource and performance specification. This section is not as yet fully detailed in the GREEN Book. It will be detailed upon completion of the CD-I system validation. 1.2 Base Case Model The Base Case model is shown in Figure VIII.2. The CD-Control Unit, in response to commands from the operating system (i.e. CD-FM of CD-RTOS), accesses the disc via the CD-DA Controller / Decoder. When CD-DA tracks are being accessed the data is transferred directly to the Audio Processing Unit whose function is to control the attenuation, set the panning and output to analogue audio left/right signals. If a CD-I track is being accessed the CD-Control Unit, in response to commands from the operating system (i.e. CD-FM), selects sectors from the data stream and transfers the CD-I sectors to the ADPCM decoder (for direct audio playback) or, via the system bus, to memory (for audio, video or program related data). Audio data is usually routed continuously to the ADPCM decoder which decodes it in real-time to produce analogue audio, which is output via the Audio Processing Unit. Video and program related data as well as audio data to be stored in a soundmap is routed, by means of the DMA controller or MPU, to RAM. The RAM is organized as two separate banks each of a minimum size of 512KB, which is shared between MPU and video controller by an Access Controller. Although the amount of memory used by CD-RTOS and the system modules will vary depending upon the number of processes active and the number of open paths, it is guaranteed at start-up of the application to be less than 64k, split evenly between the two banks. All other RAM may be used for either audio, video or program related data. Video data consists of both pixel data and video control data. The display of pixel data from RAM is by means of a two path display controller. Video data is accessed independently in the two banks of RAM, and the two display paths are combined to produced a single analogue RGB video output. The operating system (CD-RTOS) is contained in ROM. Moreover, there is a small area of non-volatile RAM which is available both to the operating system and application programs. The user interface is primarily by means of an X-Y pointing device. A keyboard is supported, but does not form a part of the Base Case system. As such, it is the responsibility of any application that requires a keyboard to emulate it by means of the X-Y device and display functions if no keyboard is connected to the system. The latter is known to the application from the CSD table. A standard character set and font module is provided in the system. Also a clock/calendar module is provided. Figure VIII.2 __________ _CD _ _____________ L'i _____________ _Player _ _CD-DA ___________Audio Proc._______ Lo _A.VIII.1_ _Controller/_ R'i _Unit _ _- - - - ___Decoder(II)___________(IV) _______ Ro _Disc _ _____________ ___ __ _ _II-VII _ _ _ _____________ __________ _ _ _ _ _ _ Li _ _ Ri _____________ _ _____________ _CD- Control_ _ADPCM _ _Unit ___________Decoder _ _(VII, VIII)_ _ _(IV) _ _____________ _ _____________ _ _ _ _ __ _ _ _ __ _____________ _ _____________ __________Ana- _ MPU _ _ _Access _ _Video _logue _ ___________Controller ______Decoder ___RGB _ (VI) _ _ _(VIII) _ _(V) _Out- _____________ _ _____________ __________put _ _ _ _ _ _ _____________ _ _ _ _DMA _ _ __________________ _Controller ______ _RAM : RAM _ _ _ _ _Bank 0 : Bank 1 _ _(VIII) _ _ _ (V, VIII) _ _____________ _ __________________ ____________________ _ _______________________ _ ROM (VII) ___________NVRAM (VII, VIII) _ _ _ _ _______________________ _ CD-RTOS _ _ _______________________ _. Kernel _ ______X-Y Pointing Device _ _. System Modules _ _ _(VII, VIII) _ _. File Managers _ _ _______________________ _. Drivers _ _ _______________________ _. Trap Handlers _ ______Clock - Calendar _ _. Font modules _ ___ _(VII, VIII) _ _. Player shell _ _ _______________________ ____________________ _ _ Base Case _ - - - - - - - - - - - - - - -_- - - - - - - - - - - - - - - - - Extension _ _______________________ ____Keyboard (VI, VII) _ _______________________ Figure VIII.2 cont'd ________ = 16 - bit Bus ________ = data & 'address' path - - - - = 'control' path The Roman numerals indicate the relevant Chapter. VIII.2 CD-I Disc Format 2.1 General All parts specified in Chapter II should be supported by the Base Case System. The only additions or restrictions to this are given below. 2.2 CD-DA A Base Case System must be capable of decoding CD-DA PCM data, coded in accordance with the CD-DA specifications, from either CD-DA tracks on a CD-I disc or CD-DA tracks on a CD-DA disc. 2.3 Mode 1 The Base Case System should be able to read into memory sectors containing data with the mode byte (see II.4.4) value of 1 and formatted according to the Mode 1 physical format. 2.4 EDC/ECC The Base Case System should be able to perform EDC/ECC for both Mode 2 Form 1 (see II.4.7.2 and II.4.7.3) and Mode 1 sectors prior to the user data being available for further processing by the system. 2.5 Sector Data Process Delay The sector data processing unit (see II.6) should process data for a real-time sector (RT-bit set to one) within 27 milliseconds.VIII.3 Data Retrieval Structure 3.1 General All Base Case Systems are capable of fully processing the File structure specified in Chapter III. The only additions and restrictions to this are given below. 3.2 Mode 1 The ISO 9660 file structure is supported by the Base Case System for Mode 1 discs. VIII.4 Base Case Audio 4.1 General All parts specified in Chapter IV should be supported by the Base Case System. The only additions or restrictions to this are given below. 4.2 Audio Mixing Control 4.2.1. Base Case System Audio Soures The Base Case System has a mixing control unit (see IV.6.3). The required tolerances for the attenuators are as follows: Figure VIII.3 _________________________________________ _ Value Range _ Tolerance _ _________________________________________ _ _ _ _ 0dB to 20dB _ + 1dB _ _ _ - 1dB _ _ _ _ _________________________________________ _ _ _ _ 21dB to 127dB _ + 1dB _ _ _ - x dB _ _ _ x >0 _ _________________________________________ 4.2.2 External Audio Source Audio mixing control for external audio sources is not a part of the Base Case System. 4.3 Audio Decoder Delay The delay caused by the ADPCM decoder and audio processing unit (see Chapter IV.5.1 and Figure IV.17) should be less than 27 milliseconds. This is the delay time between audio data input to the ADPCM decoder and an audible output. 4.4 Audio Output A Base Case System must have an analog stereo audio output. VIII.5 Base Case Video 5.1 Display The Base Case display is, at least, a 525 line (typically 60 Hz) or 625 line(typically 50 Hz) display with two fields per frame and normal 'consumer color TV' screen resolution. If overlay of external video is required, the display must be capable of interlace. It is recommended to use an analog RGB input to the display. 5.2 Color Resolution The Base Case System must have an output digital to analog converter with a color resolution of at least eight bits per R, G and B color component, in order to avoid unwanted color quantization effects. 5.3 Video Functions All video functions specified in Chapter V are to be implemented in the Base Case System except for those specifically marked as extensions (related to High Resolution). 5.4 Image Coding Resolution Normal, Double and High Resolution are defined in the Base Case according to Figure V.29. 5.5 Display Control Program In the Base Case, Field Control Tables (see Chapter V.4.5.1) have a maximum length of 1024 instructions per field, and Line Control Tables (see Chapter V.4.5.1) have a size of 8 instructions per line. 5.6 Mosaic Pixel Repeat Factors In the Base Case, the horizontal mosaic pixel repeat factor is restricted to the values 2,4,8 and 16. 5.7 Mattes The Base Case has 8 matte control registers. 5.8 Video Decoder Delay The delay caused by the access controller and video decoder enabling an image for display and the image appearing on display should not be more than one field. 5.9 External Video Source Although the function to select between a backdrop color and external video is part of the Base Case System, input and synchronization to an external video source is a manufacturer's option. VIII.6 Program-Related Data Representations 6.1 General All parts specified in Chapter VI should be supported by the Base Case System. The only additions or restrictions to this are given below. 6.2 Executable Object Code All executable programs must be in the executable object code format specified in VI.2.1. 6.3 Character Sets All Base Case Systems must have a standard CD-I character set in ROM. This character set must conform to the specification in VI.3.1.1. The name of the default character font module must be "font8x8". VIII.7 CD-RTOS 7.1 General All parts specified in Chapter VII shall be supported in the Base Case. All modules specified in Chapter VII shall be contained in ROM. The only additions or restrictions to this are given below. 7.2 Kernel All Base Case systems must contain the CD-RTOS Kernel specified in VII.1. All Base Case Systems must provide system clock ticks at intervals of 1/100 second (_ 0.2%). All Base Case Systems must use the startup procedures specified in VII.1.2 7.3 File Managers All Base Case systems must contain the following file managers: - Compact Disc File Manager (CDFM), - User Communications Manager (UCM), - Non-Volatile RAM file manager (NRF), - Pipe File Manager (Pipeman). CDFM, UCM, NRF are specified in VII.2.2, VII.2.3, VII.2.4 respectively. Pipeman is specified in chapter 10 of Appendix VII.1. All functions of these file managers are mandatory apart from the exceptions given below. 7.3.1 CDFM I$Setstt Functions SS_Eject This function is recommended. If the CD drive does not support a disc eject function this call shall return an E$UnkSvc (unknown service request) error to the application. SS_Mount The multidisc selection function of the SS_Mount call is recommended. 7.3.2 CDFM Mode 1 The ISO 9660 file structure is supported by the Base Case CDFM for Mode 1 discs. 7.4 Device Drivers The device drivers for the CDFM, UCM, NRF and PIPEMAN file managers specified in VII.3 are mandatory in the Base Case including the above mentioned restrictions and additions. These drivers provide the software interface between the manufacturers hardware and the low level file manager functions. Because of the differences in hardware configurations the implementation of these drivers will vary from system to system, but the function- ality must remain the same. The Base Case hardware must provide functions necessary to implement these drivers. VIII.8 System Resources and Performance 8.1 General In order to assure the consistent functioning, from the application's point of view, of a CD-I system, a sufficient set of system resources and performance attributes need be defined. It should be, however, noted that the actual, test of the application's conformance to the Base Case Systems' capabilities can only be made by 'playing' the disc in question on a CD-I Base Case System. Moreover, the actual test of whether a system conforms to, at the least, the Base Case System capabilities can only be made by 'playing' a reference CD-I disc on the system in question. Given these two points this section of the Base Case chapter specifies the key system resources required by the Base Case System. 8.2 MPU A 16-bit data bus version of the 68000 family of microprocessors (e.g. 68000, 68010 or 68070). 8.3 RAM A total RAM (i.e. video + audio + system RAM) of a minimum of 1MB organized in at least two banks of 512KB each. Although CD-RTOS will allocate memory dynamically on behalf of processes as it expands its internal tables and data structures, the operating system components (kernel, file managers and device drivers) should use a maximum of 64KB of RAM, split evenly between the banks. 8.4 ROM As required to store the Base Case CD-RTOS, the CSD and any supporting library functions. 8.5 NVRAM A non-volatile memory of at least 8KB. 8.6 DMA A means to transfer data to and from the CD-control unit (see Figure VIII.2) and system memory, that can perform the data transfer independently of the MPU once it is activated (e.g. a DMA-channel or intelligent coprocessor). In addition, a means to copy contiguous areas in system memory independently of the MPU (e.g. a DMA-channel with memory-to-memory capability). 8.7 CD-Control Unit A CD-control unit which is able to decode the subheader codes including: - masking of the file number - selecting channels and - channel selection for direct decoding by the ADPCM decoder - deinterleaving audio, video and program related data streams in real-time. - capable of selective interrupt generation upon receiving any bits of the submode byte. 8.8 Interrupt All devices (i.e. X-Y pointing device, CD-controller unit, DMA controller, timer, video decoder) are interrupt driven. 8.9 X-Y Device At least one X-Y device. The X-Y device must be capable of accessing each pixel of the display at Normal Resolution and must contain at least two 'trigger' buttons. 8.10 Clock-Calendar The clock calendar must: - have a resolution of one second - have an accuracy of better than one minute per month. - be capable of counting: - seconds - minutes - hours - days - months - years (two digit) - be capable of taking into account leap years. 8.11 CD-Player A ready-to-use Base Case System in stand alone form can have the CD-player integrated into it or, in interfaceable form, can have the CD-player connected to it. In either case, it is mandatory that the access delay from the invocation of a 'Play, CD-DA, Read or Raw' command (for a given disc address) to passing the data requested (at the start address) to the CD-control unit should not be greater than 3 seconds for the worst case disc seek covering the full radius of the disc. For seeks in the proximity of the current head position (_ 20 Mbytes) a 1 second maximum is specified. There is a linear relationship of time versus distance for intermediate positions. Note that timing for opening files is not included in the figure.