typedef unsigned int unint;

int jistosjis(unint code)
/* JIS -> SHIFT-JIS */
/* Oh! MZ 1986/11 p53参照 */
{
unint ji1,ji2;
unint sj1,sj2;
	/* １バイト目２バイト目分離 */
	ji1=(code>>8)&0xff;
	ji2=code&0xff;
	
	/* コード範囲判定 */
	if (ji1<0x21 || ji1>0x7e) return(-1);
	if (ji2<0x21 || ji2>0x7e) return(-2);
	
	/* 計算 */
	sj1=(ji1-0x21)/2+0x81;
	if (ji1>=0x5f) sj1+=(0xe0-0x9f-1);
	
	if (ji1 & 1) {
		sj2=0x40;
		if (ji2>=0x60) sj2++;
	} else {
		sj2=0x9f;
	}
	sj2+=(ji2-0x21);
	return((sj1<<8)|sj2);
}
