ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: 絶滅コード LIO/PC98 : 1993 年の郷愁
名前: lightbox
処理選択
パスワード

件名 絶滅コード LIO/PC98 : 1993 年の郷愁
名前 lightbox
コメント
PC98 用ですし(笑)


@DIV
/***********************************************************/
/***    LIO版 直線、短形の描画                       ***/
/***********************************************************/
/***        項目名                   引き数名            ***/
/***    描画始点の座標               x1,y1               ***/
/***    描画終点の座標               x2,y2               ***/
/***    パレット番号                 paret               ***/
/***    描画コード(B,BF)       byoga               ***/
/***    ラインスタイルスイッチ       lswitch             ***/
/***    ラインスタイルすいっちLo   lstairu             ***/
/***    ラインスタイルすいっちHi   hstairu             ***/
/***********************************************************/
#include <memory.h>

static unsigned char *param;
static unsigned int  paramoff;
static unsigned int  ucwseg;
extern unsigned int  lioucw;

extern
void
gline( int x1, int y1, int x2, int y2, int paret, int byoga, int lswitch, int lstairu, int hstairu)
{

   unsigned long work;
   unsigned char sts;

   ucwseg = lioucw;
   work = (unsigned long)lioucw * 256L * 256L;
   work = work + 5120;
   param = (char *)work;
   
   memcpy( param  , (char *)&x1 , 2 );
   memcpy( param+2, (char *)&y1 , 2 );
   memcpy( param+4, (char *)&x2 , 2 );
   memcpy( param+6, (char *)&y2 , 2 );
   (*(param+8)) = (unsigned char)paret;
   (*(param+9)) = (unsigned char)byoga;
   (*(param+10)) = (unsigned char)lswitch;
   (*(param+11)) = (unsigned char)lstairu;
   (*(param+12)) = (unsigned char)hstairu;

	_asm {
		push	ds
		push	es
		push	ss
		push	bx
		push	cx
		push	dx
		push	bp
		push	sp
		push	si
		push	di

		mov	ax,WORD PTR ucwseg
		mov	ds,ax
		mov	bx,5120
		int	0a7h

		pop	di
		pop	si
		pop	sp
		pop	bp
		pop	dx
		pop	cx
		pop	bx
		pop	ss
		pop	es
		pop	ds
		mov	BYTE PTR sts,ah
	}

}
@END