 /**************************************************************************
  **************************************************************************
  ****                                                                  ****
  ****        ファンクションキー内容表示                                ****
  ****                                                                  ****
  ****                コンパクトメモリモデルでコンパイル                ****
  ****                                                                  ****
  **************************************************************************
  **************************************************************************/

#include        <stdio.h>
#include        <conio.h>
#include        <memory.h>
#include        <stdlib.h>
#include        <string.h>
#include        <jstring.h>

static unsigned char    far *tvram=(unsigned char far *)0xc8000000l;
static unsigned char    far *kvram=(unsigned char far *)0xca000000l;
static unsigned char    dat[8],str[10][7];
unsigned short          js,jsh,jsl;

void main(void)
{
unsigned        i,j;

	for(i=0;i<10;i++){
	  strcpy(dat,"\x6      ");
	  j=0x8001+i;
	  _asm{
	    mov di,offset dat
	    mov dx,j
	    mov ah,0x0f
	    int 0x90
	    }
	  strcpy(&str[i][0],&dat[1]);

	  for(j=0;j<6;j++){
	    if(((str[i][j]>=0x80)&&(str[i][j]<=0x9f))||((str[i][j]>=0xe0)&&(str[i][j]<=0xff))){
	      jsh=(unsigned short)(str[i][j])<<8;
	      jsl=(unsigned short)(str[i][j+1]);
	      js=jmstojis(jsh|jsl);
	      jsh=(js & 0xff00)>>8;
	      jsl=(js & 0xff);
	      *(kvram+((i*7+j+(i>4))<<1)+3840)=(char)(jsh);
	      *(tvram+((i*7+j+(i>4))<<1)+3841)=0x6d;
	      *(kvram+((i*7+j+(i>4))<<1)+3841)=(char)(jsl);
	      *(tvram+((i*7+j+(i>4))<<1)+3843)=0x6d;
	      j++;
	      }
	    else{
	      *(tvram+((i*7+j+(i>4))<<1)+3840)=str[i][j];
	      *(tvram+((i*7+j+(i>4))<<1)+3841)=0x2d;
	      }
	    }
	  }
}

