Estou pesquisando um emulador para colecovision - um console de jogos domésticos do início dos anos 80.
Eu encontrei dois:
- ColEM, que inicia mas não parece carregar os cartuchos
- AdamEM, compilado mas não está funcionando (não inicia, dizendo que "Apenas o modo de exibição de 8,16,32 bpp do X é suportado. Eu configurei para 16 através do painel da Nvidia).
Existem outros emuladores amigáveis?
(xmess é muito confuso para minha paciência e eu prefiro um emulador específico).
O que eu tentei:
Se eu tentar compilar o adamEM com svga ("sudo make svga") ele diz:
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
Quando eu compilo com X ("make 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
Quando tento iniciar o emulador (./adamem ou ./cvem) reclama com:
Initialising Unix/X drivers...
Opening display... FAILED - Only 8,16 and 32 bpp displays are supported