Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
AU769725B2 - Peripheral driver forward compatibility - Google Patents
[go: Go Back, main page]

AU769725B2 - Peripheral driver forward compatibility - Google Patents

Peripheral driver forward compatibility Download PDF

Info

Publication number
AU769725B2
AU769725B2 AU91436/01A AU9143601A AU769725B2 AU 769725 B2 AU769725 B2 AU 769725B2 AU 91436/01 A AU91436/01 A AU 91436/01A AU 9143601 A AU9143601 A AU 9143601A AU 769725 B2 AU769725 B2 AU 769725B2
Authority
AU
Australia
Prior art keywords
data
model
application
code
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
AU91436/01A
Other versions
AU9143601A (en
Inventor
Alexander Vincent Danilo
Stephen Edward Ecob
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AUPR1618A external-priority patent/AUPR161800A0/en
Application filed by Canon Inc filed Critical Canon Inc
Priority to AU91436/01A priority Critical patent/AU769725B2/en
Publication of AU9143601A publication Critical patent/AU9143601A/en
Application granted granted Critical
Publication of AU769725B2 publication Critical patent/AU769725B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

S&F Ref: 574828
AUSTRALIA
PATENTS ACT 1990 COMPLETE SPECIFICATION FOR A STANDARD PATENT
ORIGINAL
Name and Address of Applicant: Actual Inventor(s): Address for Service: Invention Title: Canon Kabushiki Kaisha 30-2, Shimomaruko 3-chome, Ohta-ku Tokyo 146 Japan Stephen Edward Ecob, Alexander Vincent Danilo Spruson Ferguson St Martins Tower,Level 31 Market Street Sydney NSW 2000 (CCN 3710000177) Peripheral Driver Forward Compatibility ASSOCIATED PROVISIONAL APPLICATION DETAILS [33] Country [31] Applic. No(s) AU PR1618 [32] Application Date 22 Nov 2000 The following statement is a full description of this invention, including the best method of performing it known to me/us:- 5815c -1- PERIPHERAL DRIVER FORWARD COMPATIBILITY Technical Field of the Invention The present invention relates generally to interfacing peripheral devices to video game consoles and, in particular, to managing forward compatibility of peripheral driver software with updated peripheral hardware.
Background Art The interfacing of peripherals to personal computers (PCs) is a mature art that has well-established methods for dealing with forward compatibility. In the PC industry, a number of manufacturers provide peripherals that are compatible and interchangeable to a high degree. This is possible through the use of open interface standards, and through the mediating role of Operating Systems used with PCs.
The Operating System (OS) of a PC defines a Device Driver Interface (DDI) for a given class of peripheral. This enables the OS to access a number of peripherals of that class in a consistent and device independent manner. This is possible because the Device *o Driver (driver) for each peripheral encompasses the functionality of that peripheral and presents it to the OS in accordance with the DDI, so that all peripherals of that class can be interfaced to in essentially the same way.
The OS also provides an Application Program Interface (API) for application programs. This API encompasses the functionality of the PC (including its peripherals) and presents it to the application programs (applications) as a device independent interface. Hence, the applications are able to run on a PC without regard to what o. 20 particular configuration of different peripherals is connected to that PC.
574828AU.doc -2- The OS mediates between application programs and peripherals. When a new peripheral is added to a PC, a new device driver for that peripheral is installed on a storage device of the PC. Applications executing on the PC are able to use the new peripheral, through its driver. Because the applications access the peripheral through its driver, they are isolated from the need for any change in their own functionality. The modular nature of PC software thus makes it easy to provide forward compatibility with new peripherals.
One alternate approach that has been adopted for use on PCs is that used by Adobe® for their PostScript® printer driver for PCs (Adobe and PostScript are trade marks registered in Australia in the name of Adobe Systems Incorporated). This driver provides forward compatibility with updated printer hardware without the replacement of the driver itself. This is achieved by providing a printer model specific configuration file (called a PPD file) for each printer model. When printing, the PostScript printer driver reads the PPD file of the printer that it is printing to, and modifies the data that it sends to the printer by including model specific print commands from the PPD file. These model •specific print commands provide support for the new features of the updated hardware.
This solution for PostScript printers is possible because PostScript printers implement the PostScript page description language, which is in fact a full programming °ee'o• language. PostScript print jobs are in fact PostScript programs. This allows the •oeoo o 20 PostScript driver to delegate model specific data processing to the printer itself, by transferring PostScript program code from the PPD file to the printer.
The PostScript printer driver for PCs provides forward compatibility with updated printer hardware without the need to replace the printer driver. This is possible because the updated printer itself executes the program code required for its new features, so the 574828AU.doc ~il~L1 Y _I _i *-i~irBii~illliiiYiillYii~iYI ill I R~ili* -I*NI Y1Y11111 II;~ I~pi~~ -3program code of the printer driver does not need to change. This solution would not work for peripherals that are incapable of executing program code that is downloaded to them.
The interfacing of peripherals to game consoles is a relatively undeveloped art, which has previously had little need to address the issue of forward compatibility. The interfacing of peripherals to video game consoles is a very different matter to interfacing with PCs described above. Software for video game consoles is inherently of a monolithic and unchangeable nature, as opposed to the modular and upgradeable nature of PC software. This is caused by the very different natures of the two platforms.
PCs have large hard disk memories that allow a multitude of software modules (including applications, drivers, libraries and others) to be installed concurrently. PC operating systems impose standardised interfaces on software modules, which allows interchangeability. As modules become obsolete, they can easily be replaced, without the need to replace other modules. Replacement can occur by installing the new module from a floppy disk, a CD, or downloading it from the Internet.
Game consoles typically have no hard disk memory, instead providing a CD- ROM DVD-ROM drive or ROM cartridge slot that allows the console to run only one game application at a time. The game applications are monolithic in that all code and 0: data is stored together in unchangeable media such as mask ROM modules, CDs or DVDs. Because the game applications are stored on unchangeable media, it is not .oo 20 possible to update them in order to provide compatibility with new hardware. Each game 0oo* application operates in complete isolation, with no linkage to other software. No .ooooi provision has been made for upgrading game applications with updated software modules, short of total replacement. The game console may provide some small amount of non-volatile memory, but this is typically intended only for the storage of configuration 574828AU.doc I r nn~a ~iu~lr~in u iiirnrra l W~l -4and high score data. It is generally not possible to modify game applications by linking them to executable code stored in this non-volatile memory.
The inflexibility of the game console environment has previously not been of great concern. The design of game console hardware has traditionally been "set in stone" for the lifetime of each specific platform. This removed the need for game applications to cope with updated hardware.
Given the current trend for the convergence of technologies, it is not surprising that the distinction and differences between PCs and game consoles are reducing. Game consoles now offer general-purpose hardware expansion busses, such as USB, which raises the prospect of interfacing PC peripherals to game consoles. The provision of hardware compatibility alone is not sufficient, as software compatibility is also required.
One solution for providing software compatibility is to equip the game console with a PC style operating system. The solution then becomes the same as for the PC.
This approach has not met with much success, and the game console industry is generally avoiding it. Several reasons for this have been suggested, which include: Many game developers are unwilling to make the sacrifice in performance that comes with conforming to OS interfaces; S Some operating systems provide interfaces that are awkward and cumbersome to use; and oo.ooi 20 Some operating systems require the game console manufacturer to pay a licensing fee.
o0•oo As game console hardware approaches that of the PC, but in the absence of a PC style OS, the presently addressed issue becomes a problem. The USB interface allows .o game consoles to connect to a myriad of new peripherals, but there is no method for game applications to provide forward compatibility with peripherals released after the game.
574828AU.doc 11. NOV. 2003 18:48 SPRUSON FERGUSON NO. 7205 P. 4 Summary of the Invention It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
According to a first aspect of the invention, there is provided a method of generating a device driver for a device connected to an information processing apparatus, said method being performed by an application program executed on said information processing apparatus and comprising the steps of: providing a first part of data to generate a device driver for said device, wherein said first part of data is device model dependent configuration data; and generating said device driver for said device by using said first part of data and a second part of data stored in a memory, wherein said second part of data is device model independent data and said memory stores said application and said second part of data.
According to a second aspect of the invention, there is provided an information processing apparatus for executing an application program and for generating a device driver for a device connected to said information processing apparatus, said information processing apparatus comprising: memory; and a processor for providing a first part of data to generate a device driver for said device and for generating said device driver for said device by using said first part of data and a second part of data stored in a memory, wherein said first part of data is device model dependent configuration data, said second part of data is device model independent data, and said memory stores said application and said second part of data.
:According to another aspect of the invention, there is provided a computer program to be executed in an information processing apparatus for executing an 574828AU.doc COMS ID No: SMBI-00489477 Received by IP Australia: Time 18:56 Date 2003-11-11 11. NOV. 2663 18:48 SPRUSON FERGUSON NO. 7265 P. -6application and for generating a device driver for a device connected to said apparatus) said computer program Comprising: code for providing a first part of data to generate a device driver for said device, said first part of data being device model dependent configuration data; and code for generating said device driver, for said device by using said first part of data and a second part of data stored in a memory, wherein said second part of data is device model independent data and said memory stores said application and said second part of data.
According to another aspect of the invention, there is provided a method of io providing forward compatibility of device driver code of an unchangeable application with a plurality of device models, wherein said application is not linked to other executable code, said method comprising the steps of:, including device model independent device driver code in said application; determining a model of a device to which said application is interfaced with; reading model dependent configuration data for said model of said device; and .:..configuring said device model independent device driver code with said model dependent configuration data.
Other aspects of the invention are also disclosed.
Brief Description of the Drawings One or more embodiments of the present invention will now be described with reference to the drawings, in which: 574828AU.dOC COMS ID No: SMBI-00489477 Received by IP Australia: Time 18:56 Date 2003-11-11 11, NOV. 2003 18:48 SPRUSON FERGUSON NO. 7205 P. 6 6a- Fig. 1 is a schematic block diagram of a gaming system; Fig. 2 shows a structure of a Printer Characterisation File (PCF); Fig. 3 is a flow diagram of the operation of the Device Model Independent Printer Driver (DMIPD); Fig. 4 shows pseudo-code in the C programming language of a typical prior art printer driver; and Fig. 5 shows pseudo-code in the C programming language for loading the PCF and configuring the print operation from the PCF.
574828AU.doc COMS ID No: SMBI-00489477 Received by IP Australia: Time 18:56 Date 2003-11-11 ~lul- ii- -7- Detailed Description including Best Mode Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
The principles of the preferred method described herein have general applicability to peripheral devices attached to Computer Entertainment Systems or Set top Boxes. For ease of explanation, the steps of the preferred method are described with reference to a printer connected to a games console through a Universal Serial Bus (USB) port. However, it is not intended that the present invention be limited to the described method. For example, the invention may also have application to input devices such as a camera, and output devices such as a display device.
A schematic block diagram of a gaming system 100 is shown in Fig. 1. The gaming system 100 comprises a games console 101, input device(s) 102, such as a games 15 controller and/or joystick, and output devices including a printer 115, speakers 117 and a display device 114.
The games console 101 typically includes at least one processor unit 105, a memory unit 106, for example formed from semiconductor random access memory (RAM) and read only memory (ROM), input/output (PO) interfaces including a video see.
interface 107, an I/O interface 113 for the input device(s) 102, and an 1/0 interface 108 ooooo for the printer 115.
oeooo A CD-ROM drive 112 is typically provided as a non-volatile source of data.
Alternatively, a DVD-ROM drive or a ROM cartridge slot may be provided as the nonvolatile source of data. A memory card 109 is also provided with non-volatile RAM, 574828AU.doc i -8typically connected to the games console 101, and in particular connected directly to a interconnected bus 104. The components 105 to 113 of the games console 101, typically communicate via the interconnected bus 104 and in a manner which results in a conventional mode of operation of the gaming system 100 known to those in the relevant art.
Typically, an application program, which includes a game, is supplied to the user encoded on a CD-ROM. The CD-ROM is inserted into the CD-ROM drive 112, and read and controlled in its execution by the processor 105. Intermediate storage of the program may be accomplished using the semiconductor memory 106.
The application program is a monolithic, unchangeable application, loaded from the CD-ROM every time the application program is executed. This application program also includes a component for printing, which shall be referred to as the Device Model Independent Printer Driver (DMIPD). The DMIPD provides a printing API to the rest of the game application, and contains code that provides generic printing functionality. It contains no model specific printer code. This allows it to be device model independent.
However, for the DMIPD to successfully interchange data with the printer, it requires a mechanism to make the data compatible with specific models of printer. This ""includes appropriate control codes to control the printer, colour conversion, half toning, resolution and media sizes used.
Therefore, the DMIPD is logically structured into a non-changing code part and a table-driven code part. Code in the table-driven code part generates model-specific output commands. The table-driven code part thus introduces a level of independence to the code in the DMIPD.
The tables may be loaded separately, and are loaded at run time. The tables are provided in the form of a printer configuration file (PCF), which is generated for each 574828AU.doc U~ IYXI li~i ~icuY -9model of printer or group of printers with the same characteristics. Key printer characteristics, such as the mapping from RGB colour-space to the printer's native colour-space, supported media types and print control commands are stored as tables of data. Each PCF contains a characterisation of its printer(s) that is detailed enough to allow the DMIPD to print to such a printer. Fig. 2 shows a proposed structure for the PCF. In a first field 301, the PCF for a specific printer model, or set of printer models, contains an array of strings that list printer model(s) that it characterises. In a second field 302, the PCF specifies the number of colour components that the printer 115 has. For example, a Cyan-Magenta-Yellow-Black printer has four colour components.
Field 303 provides a simplified example of a look-up table that converts colour information from the RGB colour space to the colour space of the printer's first colour component, for example Cyan. A number of subsequent fields 304 to 305 similarly provide colour conversion information for each of the remaining colour components of the printer 115. Colour conversion and colour reproduction are more complex than what is contained in fields 303 to 305.
As would be recognised by those skilled in the art, colour conversion and colour a. o reproduction includes the steps of colour space conversion into a colorimetric colour i space, under-colour removal, device characterisation, render intent handling and gamut mapping, followed by error diffusion or dithering. These processes are described in full in various publications of the International Color Consortium (ICC).
As colour conversion and colour reproduction can be broken up into two parts, namely a part containing tabulated data suitable for a specific printer, and a second part
S
containing fixed algorithms that do not change from one model to the next, the data provided in fields 303 to 305 are sufficient for colour conversion and colour reproduction to be performed.
to be performed.
574828AU.doc ;ii. urrrr Field 306 specifies the printer controlling command sequence that is sent to the printer 115 at the start of a page, whereas field 307 specifies the printer controlling command sequence that is sent to the printer 115 at the end of the page. Field 308 specifies the printer controlling command sequence that is sent to the printer 115 at the start of a scan-line of image data of the first printer colour component. A number of subsequent fields 309 to 310 similarly provide printer controlling command sequences that are sent to the printer 115 at the start of scan-lines of image data of the remaining printer colour components.
Finally, field 311 specifies the printer controlling command sequence that is sent to the printer 115 at the end of a scan-line of image data.
At the time when an application program is placed on the CD DVD, PCFs are included on the CD DVD for each model of printer that is to be supported.
However, after the release of the application program, new models of printer will continue to be released. In order to provide compatibility of the application program with o• 15 these new models, new PCFs are needed. These PCFs are generated for the new models of printers, and supplied to the user on a CD, along with a further application program •that copies the PCFs to the memory card 109 of the gaming system 100, at a predetermined location. This predetermined location for PCFs is preferably in a directory •000• S• named "PCFS" that resides in the root directory of the memory card 109.
During the execution of the application program, such as a game, printing may be 0•0oo initiated by the user. Fig. 3 shows a flow diagram of the operation of the DMIPD.
o..
Starting in step 201, the DMIPD is initialised by the application program.
The DMIPD determines what model of printer is connected to the console in step 202. This is done by obtaining a model name of the printer 115 plugged into the USB port 116 through the use of the USB printer class, which provides a mechanism for 574828AU.doc -11reading an IEEE-1284 identification string from a USB printer. This identification string specifies the printer model as a text string, in addition to other data such as manufacturer, serial number, etc.
With the model of the printer 115 known, the DMIPD attempts to obtain an appropriate PCF for that model of printer. Accordingly, in step 203 the DMIPD selects the first PCF in the memory card 109, and determines whether this PCF matches the printer 115 that is presently connected to the gaming module 101 in step 204.
Determining whether this PCF matches the printer is performed by comparing the printer identification string, which it obtained from the USB printer class, with the model strings in the first field 301 of the PCF.
If the PCF read from the memory card 109 does not match the printer 115, then the DMIPD determines in step 205 whether more PCFs are present on the memory card 109. With more PCFs available from the memory card 109, the DMIPD selects the next PCF in step 206 and returns to step 204 where it is determined whether this PCF matches 15 the printer 115.
*o an appropriate PCF is not available from the memory card 109, a point will be reached in the method 200 where step 205 determines that no more PCFs are available from the memory card 109.
The DMIPD proceeds to search for an appropriate PCF by searching amongst the inbuilt PCFs, which are located on the application program CD DVD. In step 207 the DMIPD selects the first inbuilt PCF, and determines whether this PCF matches the printer 115 in step 208. If the inbuilt PCF does not match the printer 115, then the DMIPD determines in step 209 whether more inbuilt PCFs are present. With more inbuilt PCFs available, the DMIPD selects the next PCF in step 210 and returns to step 208 where it is determined whether this PCF matches the printer 115.
574828AU.doc -*1U rii~*rr~ ii -U IU U~P. -a!WN&in.1l4 r~ -12- If an appropriate PCF is also not available from the inbuilt PCFs, then, from step 209, the method 200 will continue to step 211 where the user is prompted to provide an appropriate PCF. The user can do this by inserting the CD that came with the new printer 115, or by inserting another memory card 109 that contains the PCF.
In step 214, the DMIPD determines whether a new media, such as a CD or memory card has been inserted. If a new media has been inserted, then the DMIPD automatically scans any newly inserted media for the correct PCF in steps 212 and 213.
If it is determined that no new media has been inserted in step 214, then the user is provided with an option to cancel printing in step 215, in which case the method ends in step 219.
Once an appropriate PCF is found in steps 204, 208 or 213, then the PCF is loaded by the DMIPD in step 216.
In step 217 the DMIPD configures itself to use that PCF. In the preferred implementation, step 216 allocates a buffer of exactly the right size for the PCF data and 15 then loads the PCF into it. Step 217 then assigns one or more data pointers to point to the data of the loaded PCF.
Fig. 4 shows pseudo-code in the C programming language of a typical prior art printer driver. In such a conventional printer driver, the data pointers point to fixed data.
ooooo Fig. 5 shows pseudo-code in the C programming language for performing steps 216 and 217. In the DMIPD, the data pointers point to data that is loaded from the PCF.
With the DMIPD configured with the printer specific PCF data, the DMIPD is able to print to the printer 115 in step 218. After printing, the method ends in step 219.
Preferably, if the user supplies the PCF from the CD in step 214, then the DMIPD shall provide an option to the user to copy that PCF to one or more memory cards 109.
574828AU.doc -13- Copying the PCF to memory card(s) will make future printing operations easier for the user, as they will not need to swap discs.
In summary, the disclosed method and apparatus provide forward compatibility of peripheral driver software with new peripheral hardware. This is achieved with no change to the executable code of the driver software, but only to non-executable configuration files. The method is highly applicable to video game console applications, because these consoles generally do not allow any changes to the executable code of their applications.
Although the PCF is read from the CD via CD-ROM drive 112 or memory card, the PCF can be read (uploaded) from a memory of a printer 115 via the USB port 116 or read (downloaded) from a memory of external apparatus such as a server on a computer network. Also a software program in accordance with the flow diagram shown in Fig. 3 may be executed by processor 105 (CPU) when a printing operation is required by a user.
By executing the software program, the processor 105 uses USB Plug and Play to identify :o 15 any available printer, chooses a PCF according to which printer is available and processes the PCF to generate a printer driver when a user selects a printing operation after starting °the game application. For example, when the user selected a printing switch, an obtaining operation comprising steps 203 to 216 of the flow diagram of Fig. 3 may be executed by °#ooo the processor 105.
The foregoing describes only one implementation of the present invention, and #oo.oi modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the implementation being illustrative and not restrictive.
In the context of this specification, the word "comprising" means "including principally but not necessarily solely" or "having" or "including" and not "consisting only 574828AU.doc -14of'. Variations of the word comprising, such as "comprise" and "comprises" have corresponding meanings.
SS
S
574828AU.doc I F P=Nw

Claims (15)

11. NOV. 2003 18: 49 SPRUSON FERGUSON NO. 7205 P. 7 The claims defining the invention are as follows: 1. A method of generating a device driver for a device connected to an information processing apparatus, said method being performed by an application program executed on said information processing apparatus and comprising the steps of:, providing a first part of data to generate a device driver for said device, wherein s aid first part of data is device model dependent configuration data; and generating said device driver for said device by using said first part of data and a second part of data stored in a memory, wherein said second part of data is device model io independent data and said memory stores said application and said second part of data. 2. A method according to claim 1, wherein said device model dependent configuration data is color conversion data to convert ROB color-space to a native color- space of said device. 3. A method according to claim I or 2, wherein said generating step configures said first part of data with said second part of data. 4. A method according to any one of claims I to 3, wherein said application in said memory is an unchangeable application. A method according to any one of claims 1 to 4, wherein said information processing apparatus is a gamne console. p2AUdo COMS ID No: SMBI-00489477 Received by IP Australia: Time 18:56 Date 2003-11-11 11. NOV. 2003 18:49 SPRUS&-N FERGUSON NO. 7205 P. 8
16- 6. A method according to claim 4, wherein said unchangeable application is a game application executed on a game console. 7. A miethod according to any-one of claims I to 6, comprising the further step of copying said first part of data onto a memory card interfaced with said information processing apparatus. 8. A method according to any one of claims 1ito 7, wherein said first part of data is obtained from a disc for a printer. 9. A method according to any one of claims i to 7, wherein said first part of data is obtained from a server connected to said information processing apparatus over a network. 10. A method according to any one of claims I to 7, wherein said first part of data is obtained from a memory in a printer. 11. A method according to any one of claims 1 to 10, comprising the further step of determining a model of a device to which said application is desired to interface. 12. A method according to claim 11, wherein said model of said device is determined through reading an identification string from said device. 13. A method according to claim 11 or 12, wherein said generating step is executed after executing said detennining step. 574828AU.doc COMS ID No: SMBI-00489477 Received by IP Australia: Time 18:56 Date 2003-11-11 11. NOV. 2003 18:49 SPRUSON FERGUSON NO. 7205 P. 9 -17- 14. A mnethod according to any one of claims 11 to 13, wherein said determining step comprises determining whether data in a memory card matches said model, and upon determining that said data in said memory card matches said model, reading said data from said memory card as said first data. A method according to claim 14, upon determining that said data in said memory card does not match said model, said determidning step further comprises determining whether data in a disk matches said mnodel, and upon determining that said data in said disk matches said model, reading said data from said disk as said. first data. 16. A method according to claim 1, wherein said memory is a disc for a game.
17. A method according to any one of claims I to 16, wherein said device is connected to said information processing apparatus by means of a USB connection. 0% IS. A method according to claim 1, wherein said device is a printer and said method is executed when a printing operation is required by a user.
19. An information processing apparatus for executing an application program and for generating a device driver for a device connected to said information processing apparatus, said information processing apparatus comprising: a..*memory; and a processor for providing a first part of data to generate a device driver for said device and for generating said device driver for said device by using said first part of data 574 82 SAU.doc COMS ID No: SMBI-00489477 Received by IP Australia: Time 18:56 Date 2003-il-li 11. NOV. 2003 18:49 SPRUSON FERGUSON NO. 7205 P. and a second part of data stored in a memory, wherein said first part of data is device model dependent Configuration data, said second part of data is device model independent data, and said memory stores said application and said second part of data.
20.. A computer program to be executed in an information processing apparatus for executing an application and for generating a device driver for a device connected to said apparatus, said computer program comprising: code for providing a first part of data to generate a device driver for said device, said first part of data being device model dependent configuration data; and code for generating said device driver, for said device by using said first part of data and a second part of data stored in a memory, wherein said second part of data is device model independent data and said memory stores said. application and said second pant of data.
21. A computer program according to claim 20, wherein said computer program stored in a memory medium to be connected to said apparatus. *age%22. A method of providing forward compatibility of device driver code of an unchangeable application with a plurality of device models, wherein said application is not linked to other executable code, said method comprising the steps of: including device model independent device driver code in said application; deternining a model of a device to which said application is interfaced with;, reading model dependent configuration data for said model of said device; and configuring said device model independent device driver code with said model *:feS dependent configuration data. 574828AU.doc COMS ID No: sMBI-00489477 Received by IP Australia: Time 18:56 Date 2003-11-11 -19-
23. A method according to claim 22, wherein said model of said device is determined through reading an identification string from said device.
24. A method according to claim 22 or 23, wherein said unchangeable application is a game application executed on a game console. A method according to claim 24, wherein said model dependent configuration data is read from a memory card of said game console.
26. An information processing apparatus for providing forward compatibility of device driver code of an unchangeable application with a plurality of device models, wherein said application is not linked to other executable code and said device driver code is device model independent, said apparatus comprising: storage means for storing model dependent configuration data for a plurality of devices; means for determining a model of a device to which said application is interfaced *-*with; data reading means for reading model dependent configuration data of said model of said device; and means for configuring said device model independent device driver code with said model dependent configuration data. ooo•
27. Apparatus according to claim 26, wherein said device is connected to said apparatus by means of a USB connection. ."574828AU.doc 574828AU.doc 1V IIIII*llrlWIIII~IYII~~ I~IYI~~IU1IUI II1111**~* UYIY*ILI~L-U~-~ ~~~I1LYIY1!YI
28. Apparatus according to claim 26 or 27, wherein said model of said device is determined through reading an identification string from said device.
29. Apparatus according to any one of claims 26to 28, wherein said unchangeable application is a game application and said apparatus is a game console. Apparatus according to claim 29, wherein said storage means is a memory card of said game console.
31. A computer program product, carried on a storage medium, for providing forward compatibility with a plurality of device models, wherein said computer program product is unchangeable and not linked to other executable code, said computer program product comprising: an application; model independent device driver code; code for determining a model of a device to which said application is interfaced with; code for reading model dependent configuration data for said model of said device; and 20 code for configuring said model independent device driver code with said model dependent configuration data.
32. A method substantially as described herein with reference to Figs. 2, 3 and 2 3 25 33. Apparatus substantially as described herein with reference to Figs. 1 to 3. .°ooo 574828AU.doc i 11, NOV. 2003 18:50 SPRUSON FERGUSON NO. 7205 P. 13 -21-
34. A computer program substantially as described herein with reference to Figs. 2, 3 and DATED this Eleventh Day of November 2003 Canon Kabushiki Kaisha Patent Attorneys for the Applicant SPRUSON FERGUSON o o ooo o o 574828AU.doc COMS ID No: SMBI-00489477 Received by IP Australia: Time 18:56 Date 2003-11-11
AU91436/01A 2000-11-22 2001-11-20 Peripheral driver forward compatibility Ceased AU769725B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU91436/01A AU769725B2 (en) 2000-11-22 2001-11-20 Peripheral driver forward compatibility

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AUPR1618A AUPR161800A0 (en) 2000-11-22 2000-11-22 Peripheral driver forward compatibility
AUPR1618 2000-11-22
AU91436/01A AU769725B2 (en) 2000-11-22 2001-11-20 Peripheral driver forward compatibility

Publications (2)

Publication Number Publication Date
AU9143601A AU9143601A (en) 2002-05-23
AU769725B2 true AU769725B2 (en) 2004-02-05

Family

ID=25641435

Family Applications (1)

Application Number Title Priority Date Filing Date
AU91436/01A Ceased AU769725B2 (en) 2000-11-22 2001-11-20 Peripheral driver forward compatibility

Country Status (1)

Country Link
AU (1) AU769725B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096702A (en) * 1995-06-14 1997-01-10 Canon Inc Peripheral device, device driver software automatic creation system, device driver software automatic creation method, and peripheral device inquiry response method
JPH113220A (en) * 1997-06-11 1999-01-06 Hitachi Ltd Control software supply method
JPH11296469A (en) * 1998-04-10 1999-10-29 Ricoh Co Ltd Software update improved information processing system and software update improved information processing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096702A (en) * 1995-06-14 1997-01-10 Canon Inc Peripheral device, device driver software automatic creation system, device driver software automatic creation method, and peripheral device inquiry response method
JPH113220A (en) * 1997-06-11 1999-01-06 Hitachi Ltd Control software supply method
JPH11296469A (en) * 1998-04-10 1999-10-29 Ricoh Co Ltd Software update improved information processing system and software update improved information processing device

Also Published As

Publication number Publication date
AU9143601A (en) 2002-05-23

Similar Documents

Publication Publication Date Title
CN1323353C (en) Information processor, control method and storage medium for said information processor
JP5294892B2 (en) Image forming apparatus, apparatus, control method, and program
US7233890B2 (en) Solid-state memory device that emulates a known storage device
US7256901B2 (en) Printer driver customization using incremental custom print processor
US7907293B2 (en) Printer formatter in a removable card
US20050162688A1 (en) Printing terminal, printing data outputting device, and computer and peripheral device using therefor
US7752290B2 (en) Information processing apparatus connectable to peripheral device, controlling method, and computer-readable storage medium storing control program thereon
US8437020B2 (en) System and method for printer emulation
US7178151B2 (en) Peripheral driver forward compatibility
US20100214586A1 (en) Information processing apparatus and control method thereof
AU769725B2 (en) Peripheral driver forward compatibility
JP2006024155A (en) Peripheral device
US20060232816A1 (en) Image processing apparatus, method for updating control program, and program
JP3733290B2 (en) Print control apparatus, print control method, and storage medium
CN100382005C (en) System and method for controlling printer operation using external memory
JP4087788B2 (en) Information processing apparatus, control method therefor, and program
US5887990A (en) Virtual font cartridge
JPH09114614A (en) Printer device
JP4211648B2 (en) Software installation method and system
US7395357B2 (en) Information processing apparatus and computer readable medium
JP4109965B2 (en) Information processing apparatus, control method therefor, and program
JPH05274157A (en) Image forming device
JP3978927B2 (en) Electronic display control apparatus and method, and recording medium
US20060101448A1 (en) Printing device
JPH11334184A (en) Output device, device ID information changing method of output device, and storage medium

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)