示例#1
0
static DIAHardwareType InitializeSony( void )
{
    Err    err;
    UInt32 version;

    err = SysLibFind( sonySysLibNameSilk, &sonyRefNum );
    if ( err == sysErrLibNotFound ) {
        err = SysLibLoad( 'libr', sonySysFileCSilkLib, &sonyRefNum );
    }
    if ( err != errNone )
        return DIA_HARDWARE_NONE;
    if ( errNone == FtrGet( sonySysFtrCreator, sonySysFtrNumVskVersion, 
                        &version ) ) {
        /* Version 2 and up */
        err = VskOpen( sonyRefNum );
        if ( errNone == err )
            return DIA_HARDWARE_SONY2;
    }
    else {
        /* Version 1 and up */
        err = SilkLibOpen( sonyRefNum );
        if ( errNone == err ) {
            /* Make sure we are in a Hi-Res mode */
            UInt32 width;
            UInt32 height;
            UInt16 sonyHiResRefNum;

            err = SysLibFind( sonySysLibNameHR, &sonyHiResRefNum );
            if ( err == sysErrLibNotFound )
                err = SysLibLoad( 'libr', sonySysFileCHRLib, &sonyHiResRefNum );
            if ( err == errNone ) {
                err = HROpen( sonyHiResRefNum );
                HRWinScreenMode( sonyHiResRefNum, winScreenModeGet, &width,
                     &height, NULL, NULL );
                HRClose( sonyHiResRefNum );
                if ( width < 320 )
                    return DIA_HARDWARE_NONE;
            }
            else
                return DIA_HARDWARE_NONE;
            }
        return DIA_HARDWARE_SONY1;
    }
    return DIA_HARDWARE_NONE;
}
示例#2
0
Err
loadHiRes(void)
{
	SonySysFtrSysInfoP sonySysFtrSysInfoP;
	Err error = 0;
	UInt16 refNum;

	if (highDensityFeatureSet() != 0)
		return (errNone);
	if ((error = FtrGet(sonySysFtrCreator,
		sonySysFtrNumSysInfoP, (UInt32*)&sonySysFtrSysInfoP))) {
		/* Not CLIE: maybe not available */
	} else {
		if (sonySysFtrSysInfoP->libr & sonySysFtrSysInfoLibrHR) {
			/* HR available */
			if ((error = SysLibFind(sonySysLibNameHR, &refNum))) {
				if (error == sysErrLibNotFound) {
				/* couldn't find lib */
				error = SysLibLoad('libr', sonySysFileCHRLib,
				    &refNum);
				}
				if (!error) didl = 1;
			}
			if (!error) {
				hires = refNum;
				/* Now we can use HR lib */
				HROpen(hires);
			}
			ErrFatalDisplayIf(error, "could not load hires lib");
		}
	}
	if (!error)
		error = goHires();

	return (error);
}