diff options
author | Pav Lucistnik <pav@FreeBSD.org> | 2005-07-01 15:00:55 +0000 |
---|---|---|
committer | Pav Lucistnik <pav@FreeBSD.org> | 2005-07-01 15:00:55 +0000 |
commit | 662f5af60cf3cb4a4bc699428f74a40133012403 (patch) | |
tree | 7809966d22d68c002e81b029e455c3e31eb80616 /emulators/o2em | |
parent | - Update to 1.1.0 (diff) |
Odyssey2 / Videopac+ emulator.
PR: ports/82819
Submitted by: Gunter Wambaugh <gunter@thewambaughs.net>
Diffstat (limited to 'emulators/o2em')
-rw-r--r-- | emulators/o2em/Makefile | 51 | ||||
-rw-r--r-- | emulators/o2em/distinfo | 4 | ||||
-rw-r--r-- | emulators/o2em/files/patch-Makefile.debug | 68 | ||||
-rw-r--r-- | emulators/o2em/files/patch-Makefile.freebsd | 69 | ||||
-rw-r--r-- | emulators/o2em/files/patch-audio.c | 11 | ||||
-rw-r--r-- | emulators/o2em/files/patch-main.c | 65 | ||||
-rw-r--r-- | emulators/o2em/files/patch-timefunc.c | 12 | ||||
-rw-r--r-- | emulators/o2em/files/patch-vdc.c | 34 | ||||
-rw-r--r-- | emulators/o2em/files/patch-voice.c | 34 | ||||
-rw-r--r-- | emulators/o2em/pkg-descr | 6 | ||||
-rw-r--r-- | emulators/o2em/pkg-message | 17 | ||||
-rw-r--r-- | emulators/o2em/pkg-plist | 174 |
12 files changed, 545 insertions, 0 deletions
diff --git a/emulators/o2em/Makefile b/emulators/o2em/Makefile new file mode 100644 index 000000000000..6e01344c228f --- /dev/null +++ b/emulators/o2em/Makefile @@ -0,0 +1,51 @@ +# New ports collection makefile for: o2em +# Date created: 24 June 2005 +# Whom: Gunter Wambaugh <techgunter@yahoo.com> +# +# $FreeBSD$ +# + +PORTNAME= o2em +PORTVERSION= 1.17 +CATEGORIES= emulators games +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}o2em/:1 \ + http://o2em.sourceforge.net/files/:2 +DISTFILES= o2em117src.zip:1 \ + o2mainsamp.zip:2 + +MAINTAINER= techgunter@yahoo.com +COMMENT= An Odyssey2 / Videopac console emulator + +LIB_DEPENDS= alleg.41:${PORTSDIR}/devel/allegro + +WRKSRC= ${WRKDIR}/o2em117src +MAKEFILE= Makefile.freebsd +USE_ZIP= yes +USE_GMAKE= yes +USE_REINPLACE= yes +MAKE_ENV= LDFLAGS="${PTHREAD_LIBS}" + +post-extract: + @${FIND} -E ${WRKDIR} -type f -iregex ".*\.(c|h|txt)" -print0 | \ + ${XARGS} -0 ${REINPLACE_CMD} -e 's/[[:cntrl:]]*$$//' + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/src/o2em ${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/src/dis48 ${PREFIX}/bin + @${MKDIR} ${PREFIX}/${PORTNAME} + @${MKDIR} ${PREFIX}/${PORTNAME}/bios + ${INSTALL_DATA} ${WRKSRC}/O2ROM.BIN ${PREFIX}/${PORTNAME}/bios/o2rom.bin + @${MKDIR} ${PREFIX}/${PORTNAME}/voice + ${INSTALL_DATA} ${WRKDIR}/*.WAV ${PREFIX}/${PORTNAME}/voice/ +.if !defined(NOPORTDOCS) + @${MKDIR} ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/docs/O2EM.txt ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/docs/changelog.txt ${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/docs/license.txt ${DOCSDIR} +.endif + +post-install: + ${MKDIR} ${PREFIX}/o2em/roms + @${CAT} ${PKGMESSAGE} + +.include <bsd.port.mk> diff --git a/emulators/o2em/distinfo b/emulators/o2em/distinfo new file mode 100644 index 000000000000..7127a670ea90 --- /dev/null +++ b/emulators/o2em/distinfo @@ -0,0 +1,4 @@ +MD5 (o2em117src.zip) = 71bcb41480aba8dd5e79149a953b26a0 +SIZE (o2em117src.zip) = 466671 +MD5 (o2mainsamp.zip) = 9910ecb7d87fcd5696dd4dd00c792e33 +SIZE (o2mainsamp.zip) = 679495 diff --git a/emulators/o2em/files/patch-Makefile.debug b/emulators/o2em/files/patch-Makefile.debug new file mode 100644 index 000000000000..807fcf029e9e --- /dev/null +++ b/emulators/o2em/files/patch-Makefile.debug @@ -0,0 +1,68 @@ +diff -urN ../o2em117src.old/Makefile.debug ./Makefile.debug +--- ../o2em117src.old/Makefile.debug Wed Dec 31 18:00:00 1969 ++++ ./Makefile.debug Fri Jun 24 16:05:27 2005 +@@ -0,0 +1,64 @@ ++CC = gcc ++ ++CFLAGS = -g -Wall -I${PREFIX}/include -DFREEBSD -DPREFIX=\"${PREFIX}\" ++LFLAGS = ++LIBALLEG = -L${PREFIX}/lib -lalleg -lalleg_unsharable ++ ++ ++all: o2em dis48 ++ ++clean: ++ rm -f src/audio.o src/cpu.o src/cset.o src/keyboard.o src/main.o src/table.o src/vdc.o src/vmachine.o src/debug.o src/timefunc.o src/voice.o src/crc32.o src/vpp_cset.o src/vpp.o src/dis48.o src/o2em src/dis48 ++ ++ ++o2em: audio.o cpu.o cset.o keyboard.o main.o table.o vdc.o vmachine.o debug.o timefunc.o voice.o crc32.o vpp_cset.o vpp.o ++ $(CC) $(LFLAGS) src/audio.o src/cpu.o src/cset.o src/keyboard.o src/main.o src/table.o src/vdc.o src/vmachine.o src/debug.o src/timefunc.o src/voice.o src/crc32.o src/vpp_cset.o src/vpp.o -o src/o2em $(LIBALLEG) ++ ++dis48: dis48.o table.o ++ $(CC) $(LFLAGS) src/dis48.o src/table.o -o src/dis48 ++ ++ ++audio.o: audio.c audio.h cpu.h types.h config.h vmachine.h ++ $(CC) $(CFLAGS) -c src/audio.c -o src/audio.o ++ ++cpu.o: cpu.c cpu.h types.h vmachine.h keyboard.h voice.h vdc.h vpp.h ++ $(CC) $(CFLAGS) -c src/cpu.c -o src/cpu.o ++ ++cset.o: cset.c cset.h types.h ++ $(CC) $(CFLAGS) -c src/cset.c -o src/cset.o ++ ++debug.o: debug.c debug.h cpu.h keyboard.h vmachine.h audio.h vdc.h table.h ++ $(CC) $(CFLAGS) -c src/debug.c -o src/debug.o ++ ++dis48.o: dis48.c types.h table.h ++ $(CC) $(CFLAGS) -c src/dis48.c -o src/dis48.o ++ ++keyboard.o: keyboard.c keyboard.h types.h cpu.h vmachine.h vdc.h audio.h voice.h vpp.h ++ $(CC) $(CFLAGS) -c src/keyboard.c -o src/keyboard.o ++ ++main.o: main.c crc32.h audio.h vmachine.h config.h vdc.h cpu.h debug.h keyboard.h voice.h ++ $(CC) $(CFLAGS) -c src/main.c -o src/main.o ++ ++table.o: table.c table.h cpu.h ++ $(CC) $(CFLAGS) -c src/table.c -o src/table.o ++ ++vdc.o: vdc.c vdc.h types.h vmachine.h config.h keyboard.h cset.h timefunc.h cpu.h vpp.h ++ $(CC) $(CFLAGS) -c src/vdc.c -o src/vdc.o ++ ++vmachine.o: vmachine.c vmachine.h audio.h types.h cpu.h keyboard.h config.h debug.h vdc.h vpp.h timefunc.h voice.h ++ $(CC) $(CFLAGS) -c src/vmachine.c -o src/vmachine.o ++ ++timefunc.o: timefunc.c timefunc.h ++ $(CC) $(CFLAGS) -c src/timefunc.c -o src/timefunc.o ++ ++voice.o: voice.c voice.h vmachine.h cpu.h ++ $(CC) $(CFLAGS) -c src/voice.c -o src/voice.o ++ ++crc32.o: crc32.c crc32.h ++ $(CC) $(CFLAGS) -c src/crc32.c -o src/crc32.o ++ ++vpp_cset.o: vpp_cset.c vpp_cset.h ++ $(CC) $(CFLAGS) -c src/vpp_cset.c -o src/vpp_cset.o ++ ++vpp.o: vpp.c vpp.h types.h vpp_cset.h vmachine.h vdc.h ++ $(CC) $(CFLAGS) -c src/vpp.c -o src/vpp.o diff --git a/emulators/o2em/files/patch-Makefile.freebsd b/emulators/o2em/files/patch-Makefile.freebsd new file mode 100644 index 000000000000..ec3254c3a3e5 --- /dev/null +++ b/emulators/o2em/files/patch-Makefile.freebsd @@ -0,0 +1,69 @@ +diff -urN ../o2em117src.old/Makefile.freebsd ./Makefile.freebsd +--- ../o2em117src.old/Makefile.freebsd Wed Dec 31 18:00:00 1969 ++++ ./Makefile.freebsd Fri Jun 24 16:05:40 2005 +@@ -0,0 +1,65 @@ ++CC = gcc ++ ++CFLAGS = -O3 -Wall -fomit-frame-pointer -I${PREFIX}/include -DFREEBSD -DPREFIX=\"${PREFIX}\" ++LFLAGS = -s ${LDFLAGS} ++LIBALLEG = -L${PREFIX}/lib -lalleg -lalleg_unsharable ++ ++ ++all: o2em dis48 ++ ++clean: ++ rm -f src/audio.o src/cpu.o src/cset.o src/keyboard.o src/main.o src/table.o src/vdc.o src/vmachine.o src/debug.o src/timefunc.o src/voice.o src/crc32.o src/vpp_cset.o src/vpp.o src/dis48.o src/o2em src/dis48 ++ ++ ++o2em: audio.o cpu.o cset.o keyboard.o main.o table.o vdc.o vmachine.o debug.o timefunc.o voice.o crc32.o vpp_cset.o vpp.o ++ $(CC) $(LFLAGS) src/audio.o src/cpu.o src/cset.o src/keyboard.o src/main.o src/table.o src/vdc.o src/vmachine.o src/debug.o src/timefunc.o src/voice.o src/crc32.o src/vpp_cset.o src/vpp.o -o src/o2em $(LIBALLEG) ++ ++dis48: dis48.o table.o ++ $(CC) $(LFLAGS) src/dis48.o src/table.o -o src/dis48 ++ ++ ++audio.o: audio.c audio.h cpu.h types.h config.h vmachine.h ++ $(CC) $(CFLAGS) -c src/audio.c -o src/audio.o ++ ++cpu.o: cpu.c cpu.h types.h vmachine.h keyboard.h voice.h vdc.h vpp.h ++ $(CC) $(CFLAGS) -c src/cpu.c -o src/cpu.o ++ ++cset.o: cset.c cset.h types.h ++ $(CC) $(CFLAGS) -c src/cset.c -o src/cset.o ++ ++debug.o: debug.c debug.h cpu.h keyboard.h vmachine.h audio.h vdc.h table.h ++ $(CC) $(CFLAGS) -c src/debug.c -o src/debug.o ++ ++dis48.o: dis48.c types.h table.h ++ $(CC) $(CFLAGS) -c src/dis48.c -o src/dis48.o ++ ++keyboard.o: keyboard.c keyboard.h types.h cpu.h vmachine.h vdc.h audio.h voice.h vpp.h ++ $(CC) $(CFLAGS) -c src/keyboard.c -o src/keyboard.o ++ ++main.o: main.c crc32.h audio.h vmachine.h config.h vdc.h cpu.h debug.h keyboard.h voice.h ++ $(CC) $(CFLAGS) -c src/main.c -o src/main.o ++ ++table.o: table.c table.h cpu.h ++ $(CC) $(CFLAGS) -c src/table.c -o src/table.o ++ ++vdc.o: vdc.c vdc.h types.h vmachine.h config.h keyboard.h cset.h timefunc.h cpu.h vpp.h ++ $(CC) $(CFLAGS) -c src/vdc.c -o src/vdc.o ++ ++vmachine.o: vmachine.c vmachine.h audio.h types.h cpu.h keyboard.h config.h debug.h vdc.h vpp.h timefunc.h voice.h ++ $(CC) $(CFLAGS) -c src/vmachine.c -o src/vmachine.o ++ ++timefunc.o: timefunc.c timefunc.h ++ $(CC) $(CFLAGS) -c src/timefunc.c -o src/timefunc.o ++ ++voice.o: voice.c voice.h vmachine.h cpu.h ++ $(CC) $(CFLAGS) -c src/voice.c -o src/voice.o ++ ++crc32.o: crc32.c crc32.h ++ $(CC) $(CFLAGS) -c src/crc32.c -o src/crc32.o ++ ++vpp_cset.o: vpp_cset.c vpp_cset.h ++ $(CC) $(CFLAGS) -c src/vpp_cset.c -o src/vpp_cset.o ++ ++vpp.o: vpp.c vpp.h types.h vpp_cset.h vmachine.h vdc.h ++ $(CC) $(CFLAGS) -c src/vpp.c -o src/vpp.o ++ diff --git a/emulators/o2em/files/patch-audio.c b/emulators/o2em/files/patch-audio.c new file mode 100644 index 000000000000..568483e65669 --- /dev/null +++ b/emulators/o2em/files/patch-audio.c @@ -0,0 +1,11 @@ +--- ../o2em117src.old/src/audio.c Sat Jun 25 13:41:39 2005 ++++ ./src/audio.c Sat Jun 25 13:42:08 2005 +@@ -118,7 +118,7 @@ + if (digi_driver->name && (strlen(digi_driver->name)>0)){ + printf(" Sound system initialized ok\n"); + printf(" Sound driver [%s] detected\n",digi_driver->name); +- set_volume(255,255); ++ set_volume(-1,-1); + init_sound_stream(); + } else { + printf(" ERROR: could not initialize sound card\n"); diff --git a/emulators/o2em/files/patch-main.c b/emulators/o2em/files/patch-main.c new file mode 100644 index 000000000000..2ad7932bb708 --- /dev/null +++ b/emulators/o2em/files/patch-main.c @@ -0,0 +1,65 @@ +--- ../o2em117src.old/src/main.c Sat Jun 25 12:17:20 2005 ++++ ./src/main.c Sat Jun 25 12:11:50 2005 +@@ -84,7 +84,7 @@ + + if (argc < 2) { + printf("Use: o2em <file> [options]\n"); +- printf("<file> = file to load with extension\n"); ++ printf("<file> = file to load\n"); + #ifndef ALLEGRO_DOS + printf("-wsize=n Window size (1-4)\n"); + printf("-fullscreen Full screen mode\n"); +@@ -148,7 +148,6 @@ + strcpy(xrom,""); + read_default_config(); + +- strcpy(file,"roms/"); + for(i=1; i<argc; i++) { + if (argv[i][0] != '-') { + strncat(file,argv[i],MAXC-1); +@@ -186,20 +185,11 @@ + init_audio(); + printf("Using Allegro %s\n",allegro_id); + +- strcpy (xrom, "roms/"); +- file_name(xrom); +- +- if (contax < 3) +- { +- printf("\nROMs directory empty!\n"); +- exit(EXIT_FAILURE); +- } +- + app_data.crc = crc32_file(file); + crcx = app_data.crc; +- suck_roms(); + +- strcpy (xbios, "bios/"); ++ strcpy (xbios, PREFIX); ++ strcat (xbios, "/o2em/bios/"); + file_name(xbios); + suck_bios(); + +@@ -215,7 +205,10 @@ + if (!strcmp(bios,"g7400")) strcpy(bios,g7400); + if (!strcmp(bios,"c52")) strcpy(bios,c52); + if (!strcmp(bios,"jopac")) strcpy(bios,jopac); +- if ((!strcmp(bios,"")) || (!strcmp(bios,"o2rom"))) strcpy(bios,"bios/o2rom.bin"); ++ if ((!strcmp(bios,"")) || (!strcmp(bios,"o2rom"))){ ++ strcpy(bios, PREFIX); ++ strcat(bios,"/o2em/bios/o2rom.bin"); ++ } + + + +@@ -630,8 +623,8 @@ + int i; + for (i=0; i<contax; ++i) + { +- +- strcpy(biossux,"bios/"); ++ strcpy(biossux, PREFIX); ++ strcat(biossux,"/o2em/bios/"); + strcat(biossux,arkivo[i]); + + app_data.crc = crc32_file(biossux); diff --git a/emulators/o2em/files/patch-timefunc.c b/emulators/o2em/files/patch-timefunc.c new file mode 100644 index 000000000000..32635efa6b45 --- /dev/null +++ b/emulators/o2em/files/patch-timefunc.c @@ -0,0 +1,12 @@ +diff -urN ../o2em117src.old/src/timefunc.c ./src/timefunc.c +--- ../o2em117src.old/src/timefunc.c Fri Jun 24 16:02:21 2005 ++++ ./src/timefunc.c Fri Jun 24 16:00:46 2005 +@@ -43,7 +43,7 @@ + + #elif defined(ALLEGRO_UNIX) || defined(ALLEGRO_LINUX) + +-#ifdef _BSD_SOURCE ++#if defined(_BSD_SOURCE) || defined(FREEBSD) + + /* Unix with gettimeofday */ + long gettimeticks(void){ diff --git a/emulators/o2em/files/patch-vdc.c b/emulators/o2em/files/patch-vdc.c new file mode 100644 index 000000000000..68014ea39e1f --- /dev/null +++ b/emulators/o2em/files/patch-vdc.c @@ -0,0 +1,34 @@ +diff -urN ../o2em117src.old/src/vdc.c ./src/vdc.c +--- ../o2em117src.old/src/vdc.c Fri Jun 24 16:02:21 2005 ++++ ./src/vdc.c Fri Jun 24 16:00:34 2005 +@@ -339,8 +339,7 @@ + last=t; + } + if (curr) { +- text_mode(0); +- textprintf(bmp, font, 20 , 4, 7, "FPS: %3d",(int)((200.0*TICKSPERSEC)/curr+0.5)); ++ textprintf_ex(bmp, font, 20, 4, 7, 0, "FPS: %3d",(int)((200.0*TICKSPERSEC)/curr+0.5)); + } + } + +@@ -528,9 +527,8 @@ + + + static void txtmsg(int x, int y, int c, const char *s){ +- text_mode(-1); +- textout_centre(bmp, font, s, x+1 , y+1, 32); +- textout_centre(bmp, font, s, x , y, c); ++ textout_centre_ex(bmp, font, s, x+1 , y+1, 32, -1); ++ textout_centre_ex(bmp, font, s, x , y, c, -1); + } + + +@@ -604,7 +602,6 @@ + init_keyboard(); + } + +- set_window_close_button(TRUE); +- set_window_close_hook(window_close_hook); ++ set_close_button_callback(window_close_hook); + + } diff --git a/emulators/o2em/files/patch-voice.c b/emulators/o2em/files/patch-voice.c new file mode 100644 index 000000000000..811f2a85518c --- /dev/null +++ b/emulators/o2em/files/patch-voice.c @@ -0,0 +1,34 @@ +--- ../o2em117src.old/src/voice.c Sat Jun 25 12:47:22 2005 ++++ src/voice.c Sat Jun 25 12:47:27 2005 +@@ -21,6 +21,7 @@ + #include "voice.h" + #include "allegro.h" + ++#define MAXC 1024 + + static SAMPLE *voices[9][128]; + static int voice_bank=0; +@@ -33,7 +34,7 @@ + + void load_voice_samples(void){ + int bank, sam, i, ld=0; +- char name[40]; ++ char name[MAXC]; + SAMPLE *sp=NULL; + + printf("Loading voice samples... "); +@@ -47,12 +48,12 @@ + else + bank = 0xE4; + +- sprintf(name,"voice/%02x%02x.wav",bank,sam+0x80); ++ sprintf(name,"%s/o2em/voice/%02x%02x.wav",PREFIX,bank,sam+0x80); + + voices[i][sam] = load_sample(name); + + if (!voices[i][sam]) { +- sprintf(name,"voice/%02X%02X.WAV",bank,sam+0x80); ++ sprintf(name,"%s/o2em/voice/%02X%02X.WAV",PREFIX,bank,sam+0x80); + voices[i][sam] = load_sample(name); + } + diff --git a/emulators/o2em/pkg-descr b/emulators/o2em/pkg-descr new file mode 100644 index 000000000000..e50487d7dde2 --- /dev/null +++ b/emulators/o2em/pkg-descr @@ -0,0 +1,6 @@ +Odyssey2 / Videopac+ emulator. + +WWW: http://o2em.sourceforge.net/ + +- Gunter Wambaugh +techgunter@yahoo.com diff --git a/emulators/o2em/pkg-message b/emulators/o2em/pkg-message new file mode 100644 index 000000000000..c0d5302f60f9 --- /dev/null +++ b/emulators/o2em/pkg-message @@ -0,0 +1,17 @@ +=============================================================================== + * The Odyessey2 ROM is included in the source, although the documentation says + it isn't. + * The main voice samples are included with this port, but not the sidsamp + which are only used by Sid the Spellbinder. If you need these, put them in + PREFIX/o2em/voice/. + * No cartridge ROMS are included. + * o2em has been patched to better fit with FreeBSD: + - don't assume the CWD contains roms/ bios/ voice/ + - don't restrict the location of ROMS to roms/ + - use the correct implementation of gettimeticks() for FreeBSD + - allow for the use of PREFIX when building + - don't set the volume to the MAX at runtime + - be compliant with allegro 4.1.12 + +Read O2EM.txt. +=============================================================================== diff --git a/emulators/o2em/pkg-plist b/emulators/o2em/pkg-plist new file mode 100644 index 000000000000..9a251b7ad4ea --- /dev/null +++ b/emulators/o2em/pkg-plist @@ -0,0 +1,174 @@ +bin/o2em +bin/dis48 +%%PORTDOCS%%%%DOCSDIR%%/O2EM.txt +%%PORTDOCS%%%%DOCSDIR%%/changelog.txt +%%PORTDOCS%%%%DOCSDIR%%/license.txt +@exec mkdir -p %D/o2em/roms +o2em/bios/o2rom.bin +o2em/voice/E480.WAV +o2em/voice/E481.WAV +o2em/voice/E482.WAV +o2em/voice/E483.WAV +o2em/voice/E484.WAV +o2em/voice/E485.WAV +o2em/voice/E486.WAV +o2em/voice/E487.WAV +o2em/voice/E488.WAV +o2em/voice/E489.WAV +o2em/voice/E48A.WAV +o2em/voice/E48B.WAV +o2em/voice/E48C.WAV +o2em/voice/E48D.WAV +o2em/voice/E48E.WAV +o2em/voice/E48F.WAV +o2em/voice/E490.WAV +o2em/voice/E491.WAV +o2em/voice/E492.WAV +o2em/voice/E493.WAV +o2em/voice/E494.WAV +o2em/voice/E495.WAV +o2em/voice/E496.WAV +o2em/voice/E497.WAV +o2em/voice/E498.WAV +o2em/voice/E499.WAV +o2em/voice/E49A.WAV +o2em/voice/E49B.WAV +o2em/voice/E49C.WAV +o2em/voice/E49D.WAV +o2em/voice/E49E.WAV +o2em/voice/E49F.WAV +o2em/voice/E4A0.WAV +o2em/voice/E4A1.WAV +o2em/voice/E4A2.WAV +o2em/voice/E4A3.WAV +o2em/voice/E4A4.WAV +o2em/voice/E4A5.WAV +o2em/voice/E4A6.WAV +o2em/voice/E4A7.WAV +o2em/voice/E4A8.WAV +o2em/voice/E4A9.WAV +o2em/voice/E4AA.WAV +o2em/voice/E4AB.WAV +o2em/voice/E4AC.WAV +o2em/voice/E4AD.WAV +o2em/voice/E4AE.WAV +o2em/voice/E4AF.WAV +o2em/voice/E4B0.WAV +o2em/voice/E4B1.WAV +o2em/voice/E4B2.WAV +o2em/voice/E4B3.WAV +o2em/voice/E4B4.WAV +o2em/voice/E4B5.WAV +o2em/voice/E4B6.WAV +o2em/voice/E4B7.WAV +o2em/voice/E4B8.WAV +o2em/voice/E4B9.WAV +o2em/voice/E4BA.WAV +o2em/voice/E4BB.WAV +o2em/voice/E4BC.WAV +o2em/voice/E4BD.WAV +o2em/voice/E4BE.WAV +o2em/voice/E4BF.WAV +o2em/voice/E4C0.WAV +o2em/voice/E4C1.WAV +o2em/voice/E4C2.WAV +o2em/voice/E4C3.WAV +o2em/voice/E4C4.WAV +o2em/voice/E4C5.WAV +o2em/voice/E4C6.WAV +o2em/voice/E4C7.WAV +o2em/voice/E4C8.WAV +o2em/voice/E4C9.WAV +o2em/voice/E4CA.WAV +o2em/voice/E4FA.WAV +o2em/voice/E4FB.WAV +o2em/voice/E880.WAV +o2em/voice/E881.WAV +o2em/voice/E882.WAV +o2em/voice/E883.WAV +o2em/voice/E884.WAV +o2em/voice/E885.WAV +o2em/voice/E886.WAV +o2em/voice/E887.WAV +o2em/voice/E888.WAV +o2em/voice/E889.WAV +o2em/voice/E88A.WAV +o2em/voice/E88B.WAV +o2em/voice/E88C.WAV +o2em/voice/E88D.WAV +o2em/voice/E88E.WAV +o2em/voice/E88F.WAV +o2em/voice/E890.WAV +o2em/voice/E891.WAV +o2em/voice/E892.WAV +o2em/voice/E893.WAV +o2em/voice/E894.WAV +o2em/voice/E895.WAV +o2em/voice/E980.WAV +o2em/voice/E981.WAV +o2em/voice/E982.WAV +o2em/voice/E983.WAV +o2em/voice/E984.WAV +o2em/voice/E985.WAV +o2em/voice/E986.WAV +o2em/voice/E987.WAV +o2em/voice/E988.WAV +o2em/voice/E989.WAV +o2em/voice/E98A.WAV +o2em/voice/E98B.WAV +o2em/voice/E98C.WAV +o2em/voice/E98D.WAV +o2em/voice/E98E.WAV +o2em/voice/E98F.WAV +o2em/voice/E990.WAV +o2em/voice/E991.WAV +o2em/voice/E992.WAV +o2em/voice/E993.WAV +o2em/voice/E994.WAV +o2em/voice/E995.WAV +o2em/voice/E996.WAV +o2em/voice/EA80.WAV +o2em/voice/EA81.WAV +o2em/voice/EA82.WAV +o2em/voice/EA83.WAV +o2em/voice/EA84.WAV +o2em/voice/EA85.WAV +o2em/voice/EA86.WAV +o2em/voice/EA87.WAV +o2em/voice/EA88.WAV +o2em/voice/EA89.WAV +o2em/voice/EA8A.WAV +o2em/voice/EA8B.WAV +o2em/voice/EA8C.WAV +o2em/voice/EA8D.WAV +o2em/voice/EA8E.WAV +o2em/voice/EA8F.WAV +o2em/voice/EA90.WAV +o2em/voice/EA91.WAV +o2em/voice/EA92.WAV +o2em/voice/EA93.WAV +o2em/voice/EA94.WAV +o2em/voice/EA95.WAV +o2em/voice/EA96.WAV +o2em/voice/EA97.WAV +o2em/voice/EA98.WAV +o2em/voice/EA99.WAV +o2em/voice/EA9A.WAV +o2em/voice/EA9B.WAV +o2em/voice/EA9C.WAV +o2em/voice/EA9D.WAV +o2em/voice/EA9E.WAV +o2em/voice/EA9F.WAV +o2em/voice/EAA0.WAV +o2em/voice/EAA1.WAV +o2em/voice/EAA2.WAV +o2em/voice/EAA3.WAV +o2em/voice/EAA4.WAV +o2em/voice/EAA5.WAV +o2em/voice/EAA6.WAV +o2em/voice/EAA7.WAV +@dirrm o2em/voice +@dirrm o2em/bios +@dirrm o2em/roms +@dirrm o2em +%%PORTDOCS%%@dirrm %%DOCSDIR%% |