Рекомендация для эмулятора Colecovision?

Я ищу эмулятор colecovision - консоль домашних игр с начала 80-х.

Я нашел два:

  1. ColEM, который запускает, но не делает, кажется, загружает cartidges
  2. AdamEM, скомпилированный, но не работающий (не запускается, говоря, что "Режим отображения только на 8,16,32 бит/пкс X поддерживается. Я установил на 16 через панель Nvidia).

Есть ли какие-либо другие дружественные эмуляторы?

(xmess слишком грязно для моего терпения, и я предпочел бы определенный эмулятор).

Что я попробовал:

Если я пытаюсь скомпилировать adamEM с svga ("sudo, делают svga"), он говорит:

raffaele@Natty:~/Scrivania/adamem$ sudo make svga
[sudo] password for raffaele: 
make -f Makefile.SVGALib
make[1]: ingresso nella directory "/home/raffaele/Scrivania/adamem"
gcc  -Wall -m486 -O2 -fomit-frame-pointer -DZLIB -DLSB_FIRST -DHAVE_CLOCK -DLINUX_SVGA -DUNIX -DJOYSTICK -DSOUND -DX86_ASM   -c -o ADAMEm.o ADAMEm.c
cc1: error: unrecognized command line option "-m486"
make[1]: *** [ADAMEm.o] Errore 1
make[1]: uscita dalla directory "/home/raffaele/Scrivania/adamem"
make: *** [svga] Errore 2

Когда я компилирую его с X ("делают x"),

raffaele@Natty:~/Scrivania/adamem$ make x
make -f Makefile.X
make[1]: ingresso nella directory "/home/raffaele/Scrivania/adamem"
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o ADAMEm.o ADAMEm.c
ADAMEm.c: In function ‘LoadConfigFile’:
ADAMEm.c:589:18: warning: pointer targets in assignment differ in signedness
ADAMEm.c: In function ‘FixFileNames’:
ADAMEm.c:630:34: warning: statement with no effect
ADAMEm.c: In function ‘main’:
ADAMEm.c:742:2: warning: pointer targets in passing argument 2 of ‘LoadConfigFile’ differ in signedness
ADAMEm.c:575:13: note: expected ‘unsigned char *’ but argument is of type ‘char *’
ADAMEm.c:758:2: warning: pointer targets in passing argument 2 of ‘LoadConfigFile’ differ in signedness
ADAMEm.c:575:13: note: expected ‘unsigned char *’ but argument is of type ‘char *’
ADAMEm.c: In function ‘LoadConfigFile’:
ADAMEm.c:581:8: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o Coleco.o Coleco.c
Coleco.c: In function ‘GetSnapshotParams’:
Coleco.c:1128:2: warning: pointer targets in passing argument 1 of ‘__builtin_strlen’ differ in signedness
Coleco.c:1128:2: note: expected ‘const char *’ but argument is of type ‘byte *’
Coleco.c:1128:2: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness
Coleco.c:1128:2: note: expected ‘const char *’ but argument is of type ‘byte *’
Coleco.c:1128:2: warning: pointer targets in passing argument 1 of ‘__builtin_strlen’ differ in signedness
Coleco.c:1128:2: note: expected ‘const char *’ but argument is of type ‘byte *’
Coleco.c:1128:2: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness
Coleco.c:1128:2: note: expected ‘const char *’ but argument is of type ‘byte *’
Coleco.c:1128:2: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness
Coleco.c:1128:2: note: expected ‘const char *’ but argument is of type ‘byte *’
Coleco.c:1128:2: warning: pointer targets in passing argument 1 of ‘__builtin_strcmp’ differ in signedness
Coleco.c:1128:2: note: expected ‘const char *’ but argument is of type ‘byte *’
Coleco.c: In function ‘_SaveSnapshotFile’:
Coleco.c:1254:2: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness
/usr/include/bits/string3.h:103:1: note: expected ‘char * __restrict__’ but argument is of type ‘byte *’
Coleco.c:1259:3: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness
/usr/include/bits/string3.h:103:1: note: expected ‘char * __restrict__’ but argument is of type ‘byte *’
Coleco.c:1265:3: warning: pointer targets in passing argument 1 of ‘strcpy’ differ in signedness
/usr/include/bits/string3.h:103:1: note: expected ‘char * __restrict__’ but argument is of type ‘byte *’
Coleco.c: In function ‘StartColeco’:
Coleco.c:1496:6: warning: suggest explicit braces to avoid ambiguous ‘else’
Coleco.c: In function ‘OptionsDialogue’:
Coleco.c:2638:9: warning: ignoring return value of ‘fgets’, declared with attribute warn_unused_result
Coleco.c: In function ‘CheckGZ’:
Coleco.c:869:9: warning: ignoring return value of ‘tmpnam’, declared with attribute warn_unused_result
Coleco.c: In function ‘StartColeco’:
Coleco.c:1127:5: warning: array subscript is above array bounds
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o Z80.o Z80.c
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o DSP.o DSP.c
In file included from DSP.c:24:0:
Mixer.h: In function ‘voiceon’:
Mixer.h:198:30: warning: cast from pointer to integer of different size
Mixer.h:198:41: warning: cast from pointer to integer of different size
Mixer.h:198:56: warning: cast from pointer to integer of different size
Mixer.h: In function ‘_mix_some_samples’:
Mixer.h:298:11: warning: suggest explicit braces to avoid ambiguous ‘else’
Mixer.h:322:11: warning: suggest explicit braces to avoid ambiguous ‘else’
Mixer.h:353:11: warning: suggest explicit braces to avoid ambiguous ‘else’
Mixer.h:378:11: warning: suggest explicit braces to avoid ambiguous ‘else’
Mixer.h:277:6: warning: suggest explicit braces to avoid ambiguous ‘else’
Mixer.h: In function ‘readpipe’:
Mixer.h:522:26: warning: cast to pointer from integer of different size
Mixer.h:522:51: warning: cast to pointer from integer of different size
Mixer.h:523:15: warning: cast to pointer from integer of different size
DSP.c: In function ‘writepipe’:
Mixer.h:101:8: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result
DSP.c: In function ‘SoundMainLoop’:
dev_dsp.h:69:10: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o Sound.o Sound.c
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o X.o X.c
X.c: In function ‘keyb_handler’:
X.c:428:9: warning: suggest explicit braces to avoid ambiguous ‘else’
X.c: In function ‘InitMachine’:
X.c:938:13: warning: pointer targets in assignment differ in signedness
X.c:964:9: warning: pointer targets in passing argument 6 of ‘XCreateImage’ differ in signedness
/usr/include/X11/Xlib.h:1449:16: note: expected ‘char *’ but argument is of type ‘byte *’
In file included from X.c:1432:0:
Common.h: In function ‘BigSprite’:
Common.h:58:5: warning: suggest explicit braces to avoid ambiguous ‘else’
Common.h: In function ‘Sprite’:
Common.h:86:5: warning: suggest explicit braces to avoid ambiguous ‘else’
X.c: In function ‘CalibrateJoystick’:
X.c:677:9: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
X.c:678:9: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o Z80Debug.o Z80Debug.c
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o Bitmap.o Bitmap.c
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o Unix.o Unix.c
gcc  -s -Wl,-Map,adamem.map -L/usr/X11R6/lib \
              -o adamem ADAMEm.o Coleco.o Z80.o DSP.o Sound.o X.o Z80Debug.o Bitmap.o Unix.o -lXext -lX11 -lz
Coleco.o: In function `CheckGZ':
Coleco.c:(.text+0x1e8a): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
rm -f cvem
ln -s adamem cvem
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o keys.o keys.c
gcc  -s -o keys keys.o
gcc  -Wall -O2 -fomit-frame-pointer -DLSB_FIRST -DUNIX_X -DUNIX -DMITSHM -DHAVE_CLOCK -DSOUND -DZLIB   -c -o makedata.o makedata.c
makedata.c: In function ‘main’:
makedata.c:69:3: warning: pointer targets in passing argument 3 of ‘LoadSam’ differ in signedness
makedata.c:28:12: note: expected ‘int *’ but argument is of type ‘unsigned int *’
makedata.c:74:10: warning: ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
makedata.c: In function ‘LoadSam’:
makedata.c:50:8: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
gcc  -s -o makedata makedata.o -lz
makedata
make[1]: makedata: comando non trovato
make[1]: *** [adamem.snd] Errore 127
make[1]: uscita dalla directory "/home/raffaele/Scrivania/adamem"
make: *** [x] Errore 2

Когда я пытаюсь запустить эмулятор (./adamem, или./cvem) жалуется с:

Initialising Unix/X drivers...
Opening display... FAILED - Only 8,16 and 32 bpp displays are supported
4
задан 4 September 2011 в 00:10

1 ответ

Для меня хорошо работают двоичные файлы человечности от сайта для скачивания ColEm - однако необходимо будет использовать прием для получения его работающий успешно. Также я нашел некоторые большие ретро ROMs, которые работают отлично с этим эмулятором.

Немного шагов для следования:

  1. Загрузите эмулятор ColEm
  2. Извлеките файлы в подпапке - например, ~/Downloads/colem
  3. Загрузите некоторый совместимый ROMs и разархивируйте их в colem папку выше
  4. Удостоверьтесь, чтобы Вам установили pulseaudio утилиты:

sudo apt-get install pulseaudio-utils

Теперь для запуска эмулятора с конкретного rom Вы используете синтаксис

padsp ./colem32 <rom name>

например: padsp ./colem32 Galaxian.rom

enter image description here

2
ответ дан 1 December 2019 в 10:27

Другие вопросы по тегам:

Похожие вопросы: