
		  QUASI88 ̃RpC@ for UNIX / MacOS X

						2007/05/09
						iȎO
						e-mail : fukuchan@mh1.117.ne.jp
-------------------------------------------------------------------------------

ł́AQUASI88  UNIX ɂăRpC@܂B
  MacOS X ̏ꍇÃhLgQlɂĂB


1. Makefile 莝̊ɂ킹ĕύX܂B

   RgAEgꍇ́As # t܂B
   RgAEgȂ(RgC)ꍇ́As # ܂B

   ȉɎȕύX_܂BɋĂȂ̂Ӗ
   łȂ̂́AƂ肠ύXȂƂ߂܂B
   ( fobOp̋@\܂܂Ă܂̂ŁEEE)


    [1] X11ł쐬邩ASDLł쐬邩I܂

		X11_VERSION	= 1
		# SDL_VERSION	= 1

	  ꂩIłB
	SDLł쐬ꍇASDLCXg[ĂKv܂B
	2006/09/10݁ASDL̃o[W 1.2.11 łBڍׂ́ASDL
	z[y[W http://www.libsdl.org/ QƂB


    [2] ROMpfBNgݒ肵܂

		ROMDIR	= ~/quasi88/rom/

	  N ROMC[Wt@CǂݍރfBNgłB
	ϐ QUASI88_ROM_DIR A邢͋ÑIvV -romdir A
	ݒ̏ꍇɁÃfBNgǂݍ܂܂B
	ȂA~/ ́AQUASI88̋NɊϐ $HOME (z[fBNg) 
	WJ܂B


    [3] DISKpfBNgݒ肵܂

		DISKDIR	= ~/quasi88/disk/

	  N fBXNC[Wt@Cw肵ꍇɁÃt@C
	ǂݍރfBNgłBϐ QUASI88_DISK_DIR A邢
	ÑIvV -diskdir Âݒ̏ꍇɁA
	fBNgǂݍ܂܂B


    [4] TAPEpfBNgݒ肵܂

		TAPEDIR	= ~/quasi88/tape/

	  ϐ QUASI88_TAPE_DIR A邢͋ÑIvV -tapedir A
	ݒ̏ꍇɁÃfBNgAe[vC[Wt@C
	p̃fBNgƂȂ܂B


    [5] GfBAlX̐ݒ (X11ł̂)

		LSB_FIRST	= 1

	  rbOGfBÃ}V̏ꍇA̍sRgAEgĉB


    [6] MIT-SHM @\gp邩ǂ̐ݒ (X11ł̂)

		X11_MITSHM	= 1

	  MIT-SHM gpłȂꍇA̍sRgAEgĉB


    [7] gettimeofday ֐gp邩ǂ̐ݒ (X11ł̂)

		HAVE_GETTIMEOFDAY = 1

	  gettimeofday ֐gpłȂꍇA̍sRgAEg
	B( UNIX ł͎gpłƎv܂)


    [8] WCXeBbNgp邩ǂ̐ݒ (X11ł̂)

		JOYSTICK	= joy_nothing
		# JOYSTICK	= joy_sdl
		# JOYSTICK	= joy_linux_usb
		# JOYSTICK	= joy_bsd_usb

	  ꂩIĂB
	make Ɏsꍇ́AuJOYSTICK = joy_nothingviWCXeBbN
	ΉjIĂB


    [9] XN[XibvVbg̃Z[uɁAR}hs邩ǂ̐ݒ

		USE_SSS_CMD	= 1

	  XN[XibvVbgۑہA\ߎw肵Cӂ̃R}h
	IɎs邱Ƃł܂B̍sRgAEgꍇA
	̋@\폜܂B( XN[XibvVbĝ́Ag܂ )


    [10] TEho̗͂L̐ݒ

		USE_SOUND	= 1

	  RgAEgƁAMAME/XMAME x[X̃TEho͂gݍ܂
	܂B(܂AȂȂ܂)


    [11] OS ̎w

		ARCH = freebsd

	  OS ̎ނI܂BOSɂĂ [10] ̐ݒɂ炸A
	TEho͂T|[g܂B
	i MacOS X ̏ꍇ uARCH = macosxvI΂炵ł j
	ɖ OS ̏ꍇ́AuARCH = genericv IĉB


    [12] ǉ̃TEhfoCX̎w (X11ł̂)

		# SOUND_ESOUND = 1
		# SOUND_ALSA = 1
		# SOUND_ARTS_TEIRA = 1
		# SOUND_ARTS_SMOTEK = 1
		# SOUND_SDL= 1
		# SOUND_WAVEOUT = 1

	  ̃TEhfoCX OS ŃT|[gĂ̂ł΁A
	̍s̃RgAEg͂ƂŎgpł邩܂B
	ڍׂɂẮA҂͂悭킩܂Bm<..>m
	̂l xmame ̃hLgǂł݂܂傤B
	ȂA[10] ŃTEho͂LɂĂKv܂B


    [13] fmgen ̐ݒ

		USE_FMGEN = 1

	  RgAEgƁAfmgen gݍ܂ꂹB
	ȂA[10] ŃTEho͂LɂĂKv܂B


    [14] RpC֘A̐ݒ

		CC	= gcc

	  C RpCw肵܂B

		CFLAGS = -O2

	  RpCIvVw肵܂B
	OS Ȃ RpCɂẮA -fsigned-char Ȃǂ̒ǉKvłB

		USEINLINE	= '-DINLINE=static __inline__'

	  CC֐T|[gĂȂRpCgpĂꍇ́A
	̍sRgAEgāAuUSEINLINE	= '-DINLINE=static'v̍s
	RgCĂB

		X11INC		= -I/usr/X11R6/include
		X11LIB		= -L/usr/X11R6/lib

	  X11 ֘ÃCN[ht@C⃉CũfBNg
	w肵܂Bw肪svȂARgAEgĂB

		CXX	 = g++
		CXXFLAGS = $(CFLAGS)
		CXXLIBS	 = -lstdc++

	  C++ RpC̐ݒłB ̐ݒ肪KvȂ̂́A[13]  fmgen 
	gݍނ悤Ɏw肵ꍇ݂̂łB

		LD	= $(CC) -Wl,-s

	  J̐ݒłB[13]  fmgen gݍނ悤Ɏw肵ꍇ́A
	  uLD	= $(CXX) -Wl,-svIKv邩܂B


    [15] CXg[fBNg̐ݒ

		BINDIR = /usr/local/bin

	  oオoCiCXg[fBNgw肵܂B



2. make ܂B

	  make s܂Bmake ɂ́AK GNU make KvłB

		% make

	make ƁAquasi88 邢 quasi88.sdl Ƃst@C
	ł܂B

	ȂA gcc  perl CXg[Ă̏ꍇA
	umakev̑OɁAumake dependvsĂƍKɂȂ邩
	܂B ( sKȌʂɂȂĂm܂ ^^; )



3. CXg[ ܂B

		# make install

	  L 1.  [15] Ŏw肵fBNgɃCXg[܂B
	CXg[ɂ root Kvȏꍇ܂B
	ȂAhLgE}jAނ͈؃CXg[Ȃ̂ŁA
	KvȂΊeōDȏꏊɃRs[ĂB



ӎ)
	EQUASI88 ̉ρEĔzzȂǂɊւẮAƂƂ QUASI88 
	쌠EƐӎɉĈȉĂB

	    SDLCugpꍇASDL̃CZXɏ]Kv܂B

	    TEho͂LɂꍇAMAME/XMAMẼCZXɏ]Kv
	    ܂B

	    fmgen gݍ񂾏ꍇAfmgen ̃CZXɏ]Kv܂B



	EQUASI88ł́Â߂ɁA̔zC[K
	|C^oRŃANZXĂ܂B
	̓Iɂ́A
	    unsigned char buf[100][4]; 
	ƂzA
	    unsigned int *p = (unsigned int)buf;
	Ƃӂȃ|C^ŃANZXĂ܂B
	  ܂ (unsigned)char = 8 bitA(unsigned)int = 32bit OɂĂ
	̂ŁAƂ͈قȂł͐ɓ삵ȂƎv܂Bm<..>m
	ɂA(unsigned)int = 32bitA(unsigned)long >= 32bit ɂ߂
	肵܂̂ŁA IPL64 Ȋł͓삵Ȃ͂łB

	( ̓IȊ͂ƂƁAڂ͒mȂ̂łEEE
	  ɃRpCłȂA삵ȂƂ OS / RpC΁A
	  ĂBΉł邩ǂ͂킩܂񂪁c )
