Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I'm searching an emulator for colecovision - a home games console from the early '80s.

I've found two:

  1. ColEM, which starts but doesn't seems to load the cartidges
  2. AdamEM, compiled but not working (doesn't start, saying that "Only 8,16,32 bpp display mode of X are supported. I set to 16 via Nvidia panel).

Are there any other friendly emulators?

(xmess is too messy for my patience and I'd prefer a specific emulator).

What I've tried:

If I try to compile adamEM with svga ("sudo make svga") it says:

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

When I compile it with 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

When I try to start emulator (./adamem or ./cvem) complains with:

Initialising Unix/X drivers...
Opening display... FAILED - Only 8,16 and 32 bpp displays are supported
share|improve this question

1 Answer 1

For me the ubuntu binaries from the ColEm download site works fine - however you'll need to use a trick to get it working successfully. Also I found some great retro ROMs that work great with this emulator.

Few steps to follow:

  1. Download the ColEm emulator
  2. Extract the files in a subfolder - for example ~/Downloads/colem
  3. Download some compatible ROMs and unzip these into the colem folder above
  4. Ensure you have the pulseaudio utilities installed:

sudo apt-get install pulseaudio-utils

Now to start the emulator with a particular rom you use the syntax

padsp ./colem32 <rom name>

for example: padsp ./colem32 Galaxian.rom

enter image description here

share|improve this answer
    
The roms I had are in format *.col (colem works only with *.rom). However I've tried to rename one of them to see if works with emulator. They works. How can I convert all the *.col in *.rom files with terminal? –  Hadden Sep 3 '11 at 3:01
1  
good question - this AU question should help: askubuntu.com/questions/35922/… –  fossfreedom Sep 3 '11 at 4:20

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.