CreatiVision, lr-mess2016 and advmess
-
I have fond memories of playing Planet Defender and Crazy Chicky on the Dick Smith Wizzard with my mate, Dave, when I was about 9 years old, so I thought I would try to emulate these games on my arcade.
Although I haven't got Crazy Chicky and Planet Defender to work unfortunately (black screen, no errors), I have got about half a dozen of the other games to work which are: Air/Sea Attack, Astro Pinball, Mouse Puzzle, Police Jump, Stone Age and Tank Attack.
The Dick Smith Wizzard was just a rebadged CreatiVision, so I started with the
lr-mess2016
emulator, but similar to others who have had a go with this emulator, I couldn't get it to work: https://retropie.org.uk/forum/topic/9319/lr-mess2016-failing-to-start-emulation/5I turned to
advmess
and that did work to some extent using thefnvision
driver, rather than thecrvision
driver. (fnvision
is short for FunVision, which was CreatiVision by another name). I thought I would just put some of my configuration files here for future reference for others and also to ask whether anyone has got Planet Defender and Crazy Chicky to work orlr-mess2016
to work.I'm using Attract Mode:
# Generated by Attract-Mode v2.3.0 # executable /opt/retropie/supplementary/runcommand/runcommand.sh args 0 _SYS_ fnvision "[romfilename]" rompath /home/pi/RetroPie/roms/fnvision romext .bin;.BIN;.rom;.ROM system Creativision info_source thegamesdb.net artwork flyer /home/pi/RetroPie/roms/fnvision/flyer artwork marquee /home/pi/RetroPie/roms/fnvision/marquee artwork snap /home/pi/RetroPie/roms/fnvision/snap artwork wheel /home/pi/RetroPie/roms/fnvision/wheel
I have set up
fnvision
sub-folders inconfigs
androms
.My
emulators.cfg
looks like this:lr-mess2016 = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mess2016/mess2016_libretro.so --config /opt/retropie/configs/crvision/retroarch.cfg %ROM%" default = "advmess" advmess = "/opt/retropie/emulators/advmame/bin/advmess fnvision -cfg /opt/retropie/configs/mame-advmame/crvision.rc -cart %ROM%"
I have the BIOS named
fnvision.zip
andfunboot.zip
inconfigs\mame-advmame\rom
folder. Both those contain the BIOS which is calledfunboot.rom
.I have a separate
.rc
file calledcrvision.rc
inconfigs\mame-advmame folder
.The contents of the
crvision.rc
file are:debug_crash no debug_rawsound no debug_speedmark no device_alsa_device default device_alsa_mixer channel device_color_bgr15 yes device_color_bgr16 yes device_color_bgr24 yes device_color_bgr32 yes device_color_bgr8 yes device_color_palette8 no device_color_yuy2 no device_joystick auto device_keyboard sdl device_mouse auto device_raw_firstkeyhack no device_raw_mousedev[0] auto device_raw_mousedev[1] auto device_raw_mousedev[2] auto device_raw_mousedev[3] auto device_raw_mousetype[0] pnp device_raw_mousetype[1] pnp device_raw_mousetype[2] pnp device_raw_mousetype[3] pnp device_sdl_samples 512 device_sound auto device_video sdl device_video_cursor auto device_video_doublescan yes device_video_fastchange yes device_video_interlace no device_video_output overlay device_video_overlaysize 0 device_video_singlescan no device_video_clock 10 - 150 / 30.5 - 60 / 55 - 130 dir_artwork /home/pi/.advance/artwork:/usr/local/share/advance/artwork:/opt/retropie/emulators/advmame/share/advance/artwork dir_crc /home/pi/.advance/crc dir_diff /home/pi/.advance/diff dir_hi /home/pi/.advance/hi dir_image /home/pi/.advance/image:/usr/local/share/advance/image:/opt/retropie/emulators/advmame/share/advance/image:/opt/retropie/configs/mame-advmame/image:/home/pi/RetroPie/roms/fnvision dir_inp /home/pi/.advance/inp dir_memcard /home/pi/.advance/memcard dir_nvram /home/pi/.advance/nvram dir_rom /home/pi/.advance/rom:/usr/local/share/advance/rom:/opt/retropie/emulators/advmame/share/advance/rom:/opt/retropie/configs/mame-advmame/rom dir_sample /home/pi/.advance/sample:/usr/local/share/advance/sample:/opt/retropie/emulators/advmame/share/advance/sample dir_snap /home/pi/.advance/snap dir_sta /home/pi/.advance/sta display_adjust none display_antialias no display_artwork_backdrop no display_artwork_bezel no display_artwork_crop no display_artwork_overlay no display_beam 1 display_brightness 1 display_buffer no display_color auto # Below widens the screen to 16:9 display_expand 1.35 display_flicker 0 display_flipx no display_flipy no display_frameskip auto display_gamma 1 display_intensity 1.5 display_interlaceeffect none display_magnify auto display_magnifysize 640 display_mode auto display_pausebrightness 1 display_resize fractional display_resizeeffect none display_restore no display_rgbeffect none display_rol no display_ror no display_scanlines no display_skipcolumns auto display_skiplines auto display_translucency no display_vsync yes include input_hotkey yes input_idleexit 0 input_map[event10] auto input_map[event11] auto input_map[event12] auto input_map[event13] auto input_map[event14] auto input_map[event1] auto input_map[event2] auto input_map[event3] auto input_map[event4] auto input_map[event5] auto input_map[event6] auto input_map[event7] auto input_map[event8] auto input_map[event9] auto input_map[key_0] joystick_button[0,18] or keyboard[0,0] input_map[key_1] joystick_button[0,8] or keyboard[0,1] input_map[key_2] joystick_button[0,9] or keyboard[0,2] input_map[key_3] joystick_button[0,10] or keyboard[0,3] input_map[key_4] joystick_button[0,11] or keyboard[0,4] input_map[key_5] joystick_button[0,12] or keyboard[0,5] input_map[key_6] joystick_button[0,13] or keyboard[0,6] input_map[key_7] joystick_button[0,14] or keyboard[0,7] input_map[key_8] joystick_button[0,15] or keyboard[0,8] input_map[key_9] joystick_button[0,16] or keyboard[0,9] input_map[key_a] auto input_map[key_again] auto input_map[key_alt] auto input_map[key_asterisk] auto input_map[key_b] auto input_map[key_back] auto input_map[key_backquote] auto input_map[key_backslash] auto input_map[key_backspace] auto input_map[key_break] auto input_map[key_c] auto input_map[key_capslock] joystick_digital[0079_0006_3,0,1,1] or keyboard[0,capslock] input_map[key_closebrace] auto input_map[key_colon] auto input_map[key_comma] auto input_map[key_copy] auto input_map[key_ctrl] auto input_map[key_cut] auto input_map[key_d] auto input_map[key_del] joystick_button[0,17] or keyboard[0,del] or keyboard[0,backspace] input_map[key_diesis] auto input_map[key_doublequote] auto input_map[key_down] auto input_map[key_e] auto input_map[key_edit] auto input_map[key_end] auto input_map[key_enter] joystick_button[0,19] or keyboard[0,enter] input_map[key_equals] auto input_map[key_esc] auto input_map[key_f10] auto input_map[key_f11] auto input_map[key_f12] auto input_map[key_f13] auto input_map[key_f14] auto input_map[key_f15] auto input_map[key_f16] auto input_map[key_f17] auto input_map[key_f18] auto input_map[key_f19] auto input_map[key_f1] auto input_map[key_f20] auto input_map[key_f21] auto input_map[key_f22] auto input_map[key_f23] auto input_map[key_f24] auto input_map[key_f2] auto input_map[key_f3] auto input_map[key_f4] auto input_map[key_f5] auto input_map[key_f6] auto input_map[key_f7] auto input_map[key_f8] auto input_map[key_f9] auto input_map[key_f] auto input_map[key_fctn] auto input_map[key_find] auto input_map[key_forward] auto input_map[key_g] auto input_map[key_graph] auto input_map[key_h] auto input_map[key_help] auto input_map[key_hold] auto input_map[key_home] auto input_map[key_i] auto input_map[key_ins] auto input_map[key_j] auto input_map[key_k] auto input_map[key_l] auto input_map[key_lalt] auto input_map[key_lctrl] auto input_map[key_left] auto input_map[key_less] auto input_map[key_lshift] keyboard[0,lshift] or joystick_button[0079_0006_3,2] input_map[key_m] auto input_map[key_menu] auto input_map[key_minus] auto input_map[key_move] auto input_map[key_n] auto input_map[key_numlock] auto input_map[key_o] auto input_map[key_open] auto input_map[key_openbrace] auto input_map[key_p] auto input_map[key_pad_0] auto input_map[key_pad_1] auto input_map[key_pad_2] auto input_map[key_pad_3] auto input_map[key_pad_4] auto input_map[key_pad_5] auto input_map[key_pad_6] auto input_map[key_pad_7] auto input_map[key_pad_8] auto input_map[key_pad_9] auto input_map[key_pad_asterisk] auto input_map[key_pad_colon] auto input_map[key_pad_diesis] auto input_map[key_pad_enter] auto input_map[key_pad_minus] auto input_map[key_pad_plus] auto input_map[key_pad_slash] auto input_map[key_paste] auto input_map[key_pause] auto input_map[key_period] auto input_map[key_pgdn] auto input_map[key_pgup] auto input_map[key_play] auto input_map[key_plus] auto input_map[key_pound] auto input_map[key_print] auto input_map[key_q] auto input_map[key_quickload] auto input_map[key_quote] auto input_map[key_r] auto input_map[key_ralt] auto input_map[key_rctrl] auto input_map[key_record] auto input_map[key_restore] auto input_map[key_rew] auto input_map[key_right] auto input_map[key_rshift] keyboard[0,rshift] input_map[key_s] auto input_map[key_scrlock] auto input_map[key_semicolon] auto input_map[key_shift] auto input_map[key_slash] auto input_map[key_space] auto input_map[key_stop] auto input_map[key_store] auto input_map[key_t] auto input_map[key_tab] auto input_map[key_u] auto input_map[key_undo] auto input_map[key_up] auto input_map[key_v] auto input_map[key_w] auto input_map[key_x] auto input_map[key_y] auto input_map[key_z] auto input_map[p1_dialx] auto input_map[p1_dialy] auto input_map[p1_lightgunx] auto input_map[p1_lightguny] auto input_map[p1_mousex] auto input_map[p1_mousey] auto input_map[p1_paddlex] auto input_map[p1_paddley] auto input_map[p1_pedalbrake] auto input_map[p1_pedalgas] auto input_map[p1_pedalother] auto input_map[p1_stickx] auto input_map[p1_sticky] auto input_map[p1_stickz] auto input_map[p1_trackballx] auto input_map[p1_trackbally] auto input_map[p2_dialx] auto input_map[p2_dialy] auto input_map[p2_lightgunx] auto input_map[p2_lightguny] auto input_map[p2_mousex] auto input_map[p2_mousey] auto input_map[p2_paddlex] auto input_map[p2_paddley] auto input_map[p2_pedalbrake] auto input_map[p2_pedalgas] auto input_map[p2_pedalother] auto input_map[p2_stickx] auto input_map[p2_sticky] auto input_map[p2_stickz] auto input_map[p2_trackballx] auto input_map[p2_trackbally] auto input_map[p3_dialx] auto input_map[p3_dialy] auto input_map[p3_lightgunx] auto input_map[p3_lightguny] auto input_map[p3_mahjong_a] auto input_map[p3_mahjong_b] auto input_map[p3_mahjong_bet] auto input_map[p3_mahjong_c] auto input_map[p3_mahjong_chance] auto input_map[p3_mahjong_chi] auto input_map[p3_mahjong_d] auto input_map[p3_mahjong_double_up] auto input_map[p3_mahjong_e] auto input_map[p3_mahjong_f] auto input_map[p3_mahjong_flip_flop] auto input_map[p3_mahjong_g] auto input_map[p3_mahjong_h] auto input_map[p3_mahjong_i] auto input_map[p3_mahjong_j] auto input_map[p3_mahjong_k] auto input_map[p3_mahjong_kan] auto input_map[p3_mahjong_l] auto input_map[p3_mahjong_m] auto input_map[p3_mahjong_n] auto input_map[p3_mahjong_pon] auto input_map[p3_mahjong_reach] auto input_map[p3_mahjong_ron] auto input_map[p3_mahjong_score] auto input_map[p3_mousex] auto input_map[p3_mousey] auto input_map[p3_paddlex] auto input_map[p3_paddley] auto input_map[p3_pedalbrake] auto input_map[p3_pedalgas] auto input_map[p3_pedalother] auto input_map[p3_stickx] auto input_map[p3_sticky] auto input_map[p3_stickz] auto input_map[p3_trackballx] auto input_map[p3_trackbally] auto input_map[p4_dialx] auto input_map[p4_dialy] auto input_map[p4_lightgunx] auto input_map[p4_lightguny] auto input_map[p4_mahjong_a] auto input_map[p4_mahjong_b] auto input_map[p4_mahjong_bet] auto input_map[p4_mahjong_c] auto input_map[p4_mahjong_chance] auto input_map[p4_mahjong_chi] auto input_map[p4_mahjong_d] auto input_map[p4_mahjong_double_up] auto input_map[p4_mahjong_e] auto input_map[p4_mahjong_f] auto input_map[p4_mahjong_flip_flop] auto input_map[p4_mahjong_g] auto input_map[p4_mahjong_h] auto input_map[p4_mahjong_i] auto input_map[p4_mahjong_j] auto input_map[p4_mahjong_k] auto input_map[p4_mahjong_kan] auto input_map[p4_mahjong_l] auto input_map[p4_mahjong_m] auto input_map[p4_mahjong_n] auto input_map[p4_mahjong_pon] auto input_map[p4_mahjong_reach] auto input_map[p4_mahjong_ron] auto input_map[p4_mahjong_score] auto input_map[p4_mousex] auto input_map[p4_mousey] auto input_map[p4_paddlex] auto input_map[p4_paddley] auto input_map[p4_pedalbrake] auto input_map[p4_pedalgas] auto input_map[p4_pedalother] auto input_map[p4_stickx] auto input_map[p4_sticky] auto input_map[p4_stickz] auto input_map[p4_trackballx] auto input_map[p4_trackbally] auto input_map[safequit] auto input_map[service_coin5] auto input_map[service_coin6] auto input_map[service_coin7] auto input_map[service_coin8] auto input_map[ui_cancel] joystick_button[0079_0006_3,8] joystick_button[0079_0006_3,10] or keyboard[0,f7] input_map[ui_mode_next] keyboard[0,f24] input_map[ui_mode_pred] keyboard[0,f24] input_map[ui_reset_machine] joystick_button[0079_0006,4] or joystick_button[0079_0006_2,4] or keyboard[0,f9] input_map[ui_toggle_debug] keyboard[0,f24] input_steadykey no lcd_server none lcd_speed 4 lcd_timeout 500 misc_bios default misc_cheat no misc_cheatfile cheat.dat misc_difficulty none misc_eventdebug no misc_eventfile event.dat misc_freeplay no misc_hiscorefile hiscore.dat misc_lang none misc_languagefile english.lng misc_mutedemo no misc_quiet yes misc_ramsize auto misc_safequit no misc_smp no misc_timetorun 0 record_sound no record_sound_time 15 record_video no record_video_interleave 2 record_video_time 15 script_coin1 script_coin2 script_coin3 script_coin4 script_emulation script_event1 script_event10 script_event11 script_event12 script_event13 script_event14 script_event2 script_event3 script_event4 script_event5 script_event6 script_event7 script_event8 script_event9 script_led1 on(kdb, 0b1); wait(!event()); off(kdb, 0b1); script_led2 on(kdb, 0b10); wait(!event()); off(kdb, 0b10); script_led3 script_play script_safequit script_start1 script_start2 script_start3 script_start4 script_turbo while (event()) { toggle(kdb, 0b100); delay(100); } off(kdb, 0b100); script_video wait(!event()); set(kdb, 0); sound_adjust auto sound_equalizer_highvolume 0 sound_equalizer_lowvolume 0 sound_equalizer_midvolume 0 sound_latency 0.05 sound_mode auto sound_normalize yes sound_samplerate 44100 sound_samples yes sound_volume 0 sync_fps auto sync_resample auto sync_speed 1 sync_startuptime auto sync_turbospeed 3 ui_color[help_other] 000000 808080 ui_color[help_p1] 000000 ffff00 ui_color[help_p2] 000000 00ff00 ui_color[help_p3] 000000 ff0000 ui_color[help_p4] 000000 00ffff ui_color[interface] 000000 ffffff ui_color[select] 000000 afffff ui_color[tag] 247ef0 ffffff ui_font auto ui_fontsize auto ui_helpimage auto ui_translucency 0.8 280x210/display_resize fractional 320x192/display_mode sdl_1824x984 320x192/display_resize fractional 320x192x59/display_mode sdl_1824x984 320x192x59/display_resize fractional 336x225/display_mode sdl_416x288 336x225/display_resize fractional 320x204/display_mode sdl_1920x1080 320x204/display_resize fractional 800x300x50/display_mode generate-double input_map[p1_up] joystick_digital[0079_0006_3,0,0,0] or keyboard[0,up] input_map[p1_down] joystick_digital[0079_0006_3,0,0,1] or keyboard[0,down] input_map[p1_left] joystick_digital[0079_0006_3,0,1,1] or keyboard[0,left] input_map[p1_right] joystick_digital[0079_0006_3,0,1,0] or keyboard[0,right] input_map[p1_start] joystick_button[0079_0006_3,7] or keyboard[0,1] input_map[p1_select] joystick_button[0079_0006_3,7] or keyboard[0,5] input_map[p2_up] joystick_digital[0079_0006,0,0,0] or keyboard[0,r] input_map[p2_down] joystick_digital[0079_0006,0,0,1] or keyboard[0,f] input_map[p2_left] joystick_digital[0079_0006,0,1,1] or keyboard[0,d] input_map[p2_right] joystick_digital[0079_0006,0,1,0] or keyboard[0,g] input_map[p2_button1] joystick_button[0079_0006,1] or keyboard[0,a] input_map[p2_button2] joystick_button[0079_0006,3] or keyboard[0,s] input_map[p2_button3] joystick_button[0079_0006,5] or keyboard[0,q] input_map[p2_button4] joystick_button[0079_0006,0] or keyboard[0,w] input_map[p2_button5] joystick_button[0079_0006,2] input_map[p2_button6] input_map[p2_button7] input_map[p2_button8] input_map[p2_button9] input_map[p2_button10] input_map[p2_start] joystick_button[0079_0006,4] or joystick_button[0079_0006_3,10] or keyboard[0,2] input_map[p2_select] joystick_button[0079_0006,4] or joystick_button[0079_0006_3,10] or keyboard[0,6] input_map[ui_up] joystick_digital[0079_0006_3,0,0,0] or keyboard[0,up] input_map[ui_down] joystick_digital[0079_0006_3,0,0,1] or keyboard[0,down] input_map[ui_left] joystick_digital[0079_0006_3,0,1,1] or keyboard[0,left] input_map[ui_right] joystick_digital[0079_0006_3,0,1,0] or keyboard[0,right] input_map[ui_select] joystick_button[0079_0006_3,2] or keyboard[0,enter] input_map[ui_record_start] input_map[ui_record_stop] 280x210x50/display_mode generate-quad
I hope this helps other people.
-
This is very helpful, have managed to get the games to display and work, sort of!
Issues I have are starting the games and ending the games. The usual Alt-F4 from keyboard does nothing, so am forced to shutdown/restart.
Any tips? -
@macoult I'm no longer using
advmess
to emulate CreatiVision, but my notes (perhaps wrong) suggest that the escape key exits the emulator. Does that work for you?If you are confident about compiling linux programs, I suggest you google the emulator called CreatiVision which is an SDL based emulator. I've compiled it for my Raspberry Pi and all 16 (or so) CreatiVision games work and appear to work at full speed.
-
@spud11 can you just post the emulator and the configs for it?
-
@edmaul69 I've got nowhere to upload the executable to, but here are the instructions that I used that worked for me. Hopefully, they'll work for you too.
(a) Download the source from https://sourceforge.net/projects/creativisionemulator/files/src/
(b) Unzip the source file. Create the
build
subfolder in/home/pi/
and copy all of the contents into this folder. Then make a new subfolder in thisbuild
folder calledbuild
(again).(c) Use Putty, go to terminal and
cd build
andcd build
(again), so you are in the nestedbuild
folder.(d) To compile from source, type in the command in the terminal
cmake /home/pi/build
. Using GNU 4.9.2, the first stage of compiling the emulator will be complete.(e) Then type in the command
make
. This creates thecreatiVision
executable.(f) Once completed, rename the nested
build
folder tocreativision
and move it into theopt/retropie/emulators
folder. You might need to change the permissions of theemulators
folder to achieve this.(g) Once moved, using WinSCP then change the permissions of the
creatiVision
executable file so that it is executable.(h) In Attract Mode's
menu-art
snap
andwheel
folders, make sure there are videos and images corresponding to the new CreatiVision emulator. Make sure also in thelayouts
folder that there is a "system" to go with CreatiVision (see "Super Display - Systems" - things might need to be renamed too.)(i) Create the usual file (immediately below) in Attract Mode's
emulators
sub-folder, and the "romlist" file in Attract Mode'sromlists
sub-folder egIn the
emulators
folder:# Generated by Attract-Mode v2.3.0 # executable /opt/retropie/supplementary/runcommand/runcommand.sh args 0 _SYS_ crvision "[romfilename]" rompath /home/pi/RetroPie/roms/crvision romext .rom;.ROM system CreatiVision info_source thegamesdb.net artwork flyer /home/pi/RetroPie/roms/crvision/flyer artwork marquee /home/pi/RetroPie/roms/crvision/marquee artwork snap /home/pi/RetroPie/roms/crvision/snap artwork wheel /home/pi/RetroPie/roms/crvision/wheel
In the
romlists
folder:#Name;Title;Emulator;CloneOf;Year;Manufacturer;Category;Players;Rotation;Control;Status;DisplayCount;DisplayType;AltRomname;AltTitle;Extra;Buttons airsea;Air/Sea Attack;CreatiVision;;;;;;;;;;;;;; astropib;Astro Pinball;CreatiVision;;;;;;;;;;;;;; autochas;Auto Chase;CreatiVision;;;;;;;;;;;;;; chopper;Chopper Rescue;CreatiVision;;;;;;;;;;;;;; crazych;Crazy Chicky;CreatiVision;;;;;;;;;;;;;; crazychewy;Crazy Chewy;CreatiVision;;;;;;;;;;;;;; deepsea;Deep Sea Adventure;CreatiVision;;;;;;;;;;;;;; locomot;Locomotive;CreatiVision;;;;;;;;;;;;;; mousepuz;Mouse Puzzle;CreatiVision;;;;;;;;;;;;;; planetd;Planet Defender;CreatiVision;;;;;;;;;;;;;; policej;Police Jump;CreatiVision;;;;;;;;;;;;;; planetd;Planet Defender;CreatiVision;;;;;;;;;;;;;; soccer;Soccer;CreatiVision;;;;;;;;;;;;;; sonicinv;Sonic Invader;CreatiVision;;;;;;;;;;;;;; stoner;Stone Age;CreatiVision;;;;;;;;;;;;;; tankatk;Tank Attack;CreatiVision;;;;;;;;;;;;;; tennis;Tennis;CreatiVision;;;;;;;;;;;;;; tennisds;Tennis (Dick Smith Wizzard Version);CreatiVision;;;;;;;;;;;;;;
(j) Create a
crvision
subfolder inconfigs
and the same in theroms
folder. Add the game roms to thecrvision
roms folder and generate the romlist in Attract Mode in the normal way. (My romlist appears under (i) above). Make sure you have yoursnap
andwheel
sub-folders and images and videos in there.(k) Add a Display in Attract Mode which will appear in
attract.cfg
:display VTech CreatiVision layout Super Display - Systems romlist CreatiVision in_cycle yes in_menu yes filter All filter Favourites rule Favourite equals 1
(l) The
emulators.cfg
in theconfigs/crvision
sub-folder will be as follows:default = "creatiVision" creatiVision = "/opt/retropie/emulators/creativision/creatiVision -r %ROM% -b /home/pi/RetroPie/roms/crvision/bioscv.rom -f"
(m) Note that the
bioscv.rom
needs to go in theroms
folder.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.