Jump to content
IGNORED

CoolCV emulator for Mac OS X, Linux, Windows and Raspberry


nanochess

Recommended Posts

Hi guys.

Once upon a time (well, it was 2015) I was stuck with the flu and only a MacBook laptop, and unable to test Mecha-9 and other games sent to me because the available emulators just don't handle VDP nuisances, Megacart, and even less Super Game Module.

So I ported my private emulator with support for Megacart and Super Game Module. It has a pretty simple user interface but it works like a charm on my Mac, and you can play any game from the original ones till Pac-Man Collection ;)
 

Later it has been greatly improved, and I've included some of my games that have been released freely, and also some games contributed graciously by Team Pixelboy. The package includes binaries for Mac OS X, Linux, Windows, and Raspberry Pi 3 (this one in the _all marked ZIPs), and also the usage instructions.

 

For people having Retroarch running on Mac OS X, or Pi 4 running Retropie, I've uploaded an alpha version containing a .dylib file (for Mac OS X), and a .so file (for Pi 4). It is really amazing being able to use the CRT filters and the rewind feature. Because of my lack of knowledge about Retroarch, it handles the keypad like in FreeIntv, pressing one of the action buttons to make a tiny keypad appear, selecting the key you want, and then using another action button to enter that key.

 

Some people have experienced interrupted or glitched audio output using Windows 10/11, the current solution is to install the DirectX9 libraries.

 

Edit: Jan/17/2022 uploaded a alpha version for Retroarch, compiled only for Mac OS X and Pi 4. For Retroarch is enough to add the dylib to the cores, for Retropie are included instructions on how to install it. Also because of my lack of knowledge about Retroarch, it handles the keypad like FreeIntv where you select keys by using a tiny keypad.


Edit: Sep/02/2020 v0.6.9, now allows to take screenshots while in pause. Also added my game Zombie Near to the pack of included ROMs.

 

Edit: Jun/16/2020 v0.6.8, now allows to reverse joystick interpretation for up/down and left/right, useful with some controllers reported. I hope to not have broken anything in this release.

 

Edit: Jun/13/2020 v0.6.7, now support for random number generation on games like Word Feud (using RAND_GEN from Coleco BIOS). Paused windows doesn't show trash if minimized/maximized or something passes over. Pause shows a message. Added Mecha-9 to the game collection included. Now finally includes libsdl to avoid installing it.

 

Edit: Nov/30/2017 v0.6.6, now Raspberry Pi version included, also added Ctrl+Fn+F4 to save a memory snapshot and Ctrl+Fn+F9 to log PSG values in each frame. (although keys are configurable, Ctrl for these isn't)

 

Edit: May/25/2017 v0.6.5, joysticks are now configurable, support shortcuts for full screen and saves state of it for next time ;) (Mac Cmd+Ctrl+f and Windows Alt+Enter), enhancement of VDP emulation and undocumented modes, correction of execution time for some Z80 instructions, and solved bug where Sammy Lightfoot would crash. Raspberry version not available yet.

Edit: Feb/15/2016 v0.6.4, now ADAM keyboard can be fully configured (very useful for users with non-US keyboards), and finally Raspberry version compiled.

Edit: Jan/11/2016 v0.6.3, better emulation for Z80 solves pitch problem in speech in Sewer Sam and Squish'Em Sam, keys F4 and F7 are now configurable, Expertype and ADAM Bomb 2 are now working, fixed some ADAM keys for Windows, added 64K RAM expansion for ADAM, fixed bug in joystick support (not tested), added code to show joystick movement when using F7 (show codes). Raspberry not updated in this version because I didn't found my external keyboard :P


Edit: Nov/27/2015 v0.6.2, solves small bugs in Z80 and VDP emulation. Ctrl+Fn+F4 creates debugging snapshots. Allows to use two keys to activate one button (both pressed at same time). Allows for two keys to activate same button (for example two controllers). Raspberry now shows status messages (important for F7 key codes). More keys are configurable: video recording, audio recording, screenshots, enable/disable roller controller. When using Roller Controller the sensitivity has been adjusted (was too fast).

Edit: Nov/05/2015 v0.6.1, small bugs fixed. Pause and Reset key couldn't use joystick. Better compression for AVI and safeguard if 2GB limit is reached. PAL switching didn't update BIOS European byte. Able to exit using # and * key at same time (only Raspberry)

Edit: Nov/04/2015 v0.6.0, all platforms updated! Added fast startup of Colecovision BIOS, Roller Controller enabled/disabled with only Fn-F5, VIDEO RECORDING!!! using Fn-F6 (AVI with ZMBV codec, playable with VLC Player), support for Right Shift + Enter to exit in Raspberry PI (useful for Retropie).

BTW, several people has donated to CoolCV for the Mac version and also for the Raspberry version, including a Raspberry PI (still stuck in snail mail) but I've got another one for the development using the donations ;) Thanks for contributing!!!

Edit: Sep/23/2015 v0.5.4, Mac only, allows controller mapping to be changed (creates Documents/coolcv_mapping.txt), changed Fn+F7 to show instead key codes and joystick button codes, support for Super Action Controllers (you need to activate buttons in mapping file).

Edit: Sep/01/2015 v0.5.3, Mac only, added Fn+F10 to save PNG screenshots, now also checks for file numbers previously used and doesn't rewrite them. Now also accepts dropping ZIP files, the first ROM/COL/BIN file inside will be used as game ROM :)

Edit: Aug/31/2015 v0.5.2, Mac only, documented Fn+F8 feature to accelerate disk/tape read in ADAM mode. Added new feature to record audio files using Fn+F9, it saves files in your Music folder. Note it reuses numbers if re-run, so copy any files you like. Now you can use Q*Bert sounds for your cellphone calls, for example :grin:

Edit: Aug/25/2015 v0.5.1, highly experimental Raspberry PI version now available in post #91 http://atariage.com/forums/topic/240800-coolcv-emulator-for-mac-os-x-linux-and-windows/page-4?do=findComment&comment=3307835

Edit: Aug/08/2015 v0.5.1, controllers should feel smoother now. Solves a bug in VDP collision register (failed in Carnival) and also allows to run Super Donkey Kong prototype (1983) deactivating SGM support (it crashed because the game wrote to port 7FH) (now ZIP file includes all platforms)

Edit: Jul/31/2015 v0.5 Added keypad support for controller 2 in keyboard and experimental Coleco ADAM support for DSK and DDP (check Read Me file for details) I've tested only SmartBASIC, Dragon's Lair and Donkey Kong Jr. (Aug/01/2015 added Linux and Windows versions)

Edit: Jul/29/2015 v0.4 Now supports for controller 2 in keyboard. Higher audio volume. Also implemented support for two joysticks (tested by grips03) with Fn+F7 to switch buttons ;) and now it can launch ROM files (use context menu in your ROM file, select get info, change application to CoolCV, change for all) though not sure why there is a small delay in launching. Jul/30/2015 just added Windows and Linux versions.

Edit: Jul/26/2015 Now also compiled for Linux, 32 bits and 64 bits be sure to run the right version. Also you need to drop your ROM file into the window. If it's running slow, make smaller the window.

Edit: Jul/25/2015 I compiled this for Windows (very early). Same as Mac version, but you need to drop your ROM file INTO the window. If it's running slow, make smaller the window.

Edit: Jul/24/2015 v0.3 I've made this an integrated app for Mac. Now download it, open it, then drag&drop your ROM file over the icon appearing in task bar (bottom of screen). In fact you can put the app in the Launchpad for running it easily :) (no more command line!!)

Edit: Jul/23/2015 v0.2 ok, I didn't resisted the temptation to add window resizing and full screen mode. Snapshot saving/restoring. -pal option. And improved aspect ratio.

coolcv_v0.1.zip

coolcv_v0.2.zip

coolcv_v0.3.zip

coolcv_v0.3_win.zip

coolcv_v0.3_linux.zip

coolcv_v0.4.zip

coolcv_v0.4_win.zip

coolcv_v0.4_linux.zip

coolcv_v0.5.zip

coolcv_v0.5_win.zip

coolcv_v0.5_linux.zip

coolcv_v0.5.1_all.zip

coolcv_v0.5.2_mac.zip

coolcv_v0.5.3_mac.zip

coolcv_v0.5.4_mac.zip

coolcv_v0.6.0_all.zip

coolcv_v0.6.1_all.zip

coolcv_v0.6.2_all.zip

coolcv_v0.6.3_almost_all.zip

coolcv_v0.6.4_all.zip

coolcv_v0.6.5_almost_all.zip

coolcv_v0.6.6_all.zip

coolcv_v0.6.6_all_extra_games.zip

 

 

 

coolcv_v0.6.7_almost_all.zip

coolcv_v0.6.8_almost_all.zip

coolcv_v0.6.9_almost_all.zip

coolcv_retroarch_mac_pi.zip

  • Like 24
Link to comment
Share on other sites

Oscar, I want to reach through the internet and hug you right now! I've been using Mugrat for so long and it's supporting less and less now that Richard hasn't updated it in years. I got everything installed, testing an SGM cart and it worked instantly!

 

THANK YOU!!!!

 

Screen Shot 2015-07-22 at 22.59.36.png

  • Like 3
Link to comment
Share on other sites

This is so awesome. Thanks nanochess!

 

I'm having the darnedest time trying to get it to work. Veteran Mac OS X user, very fluent with terminal/command line. I'm getting either "No cartridge found" or "No Coleco BIOS ROM found" even though I have a) Many carts in ROM format in a specific directory and b) The Coleco BIOS in the same folder, called "coleco.rom". I'm running Yosemite 10.10.4.

 

Sounds like TPR had success, so I'm not sure what I might be missing. Any ideas?

  • Like 1
Link to comment
Share on other sites

This is so awesome. Thanks nanochess!

 

I'm having the darnedest time trying to get it to work. Veteran Mac OS X user, very fluent with terminal/command line. I'm getting either "No cartridge found" or "No Coleco BIOS ROM found" even though I have a) Many carts in ROM format in a specific directory and b) The Coleco BIOS in the same folder, called "coleco.rom". I'm running Yosemite 10.10.4.

 

Sounds like TPR had success, so I'm not sure what I might be missing. Any ideas?

 

I'm not sure what is going on.

 

0. Install libsdl 2. (drag SDL2.framework to /Library/Frameworks)

1. Unzip everything in one folder, for example "documents/coolcv"

2. Be sure to get coleco.rom (8192 bytes, no spaces in name) into same folder

3. Using terminal go into that folder using "cd documents/coolcv"

4. Run one of the provided samples "./coolcv quest.rom"

 

If still doesn't work please show me a "ls -all" of your directory.

  • Like 1
Link to comment
Share on other sites

 

I'm not sure what is going on.

 

0. Install libsdl 2. (drag SDL2.framework to /Library/Frameworks)

1. Unzip everything in one folder, for example "documents/coolcv"

2. Be sure to get coleco.rom (8192 bytes, no spaces in name) into same folder

3. Using terminal go into that folder using "cd documents/coolcv"

4. Run one of the provided samples "./coolcv quest.rom"

 

If still doesn't work please show me a "ls -all" of your directory.

 

Okay, got it to work. Thanks for taking the time to help me out nanochess! Once I actually navigated to the directory, everything worked. I'm sure it just needed to know where the parent directory was in order to work properly.

 

EDIT: By the way this is totally incredible, and as a forever Mac user, I can't thank you enough! Perhaps at long last, I'll be able to ramp up my development skills and code CV games on my Mac!

Edited by phattyboombatty
  • Like 1
Link to comment
Share on other sites

Just updated with window resizing, full screen mode, saving/reading snapshots and -pal option :)

 

After all I couldn't resist the temptation to play Colecovision at full screen :grin:

 

:music:

Thank you! Thank you! Thank you!

 

How much work is it to make it so you can drag a rom onto the icon and have it start?

Link to comment
Share on other sites

Also, as kind of a Terminal newbie, what would the command line be if I have my roms in a different directory. For example, right now they are just in a folder called "roms" inside the coolcv folder. The way I'm testing it, I'm just moving the rom into the same folder as the executable, but I figured there has to be a way to call the roms from another directory, too, right?

Link to comment
Share on other sites

Also, as kind of a Terminal newbie, what would the command line be if I have my roms in a different directory. For example, right now they are just in a folder called "roms" inside the coolcv folder. The way I'm testing it, I'm just moving the rom into the same folder as the executable, but I figured there has to be a way to call the roms from another directory, too, right?

 

Oh yes, the easiest is to make a subdirectory under CoolCV directory, like "roms"

 

If you put quest.rom in the directory roms you could invoke CoolCV like this:

 

 

./coolcv roms/quest.rom
Link to comment
Share on other sites

I've made this an integrated app. Now download it, open it, then drag&drop your ROM file over the icon appearing in task bar (bottom of screen). In fact you can put the app in the Launchpad for running it easily :)

 

By the way, since v0.1 the emulator is also able to run Sega SG1000 ROM files :) I forget to add that to docs.

 

Edit: reuploaded, I missed including Princess Quest and Super Game Module test.

  • Like 3
Link to comment
Share on other sites

I've made this an integrated app. Now download it, open it, then drag&drop your ROM file over the icon appearing in task bar (bottom of screen). In fact you can put the app in the Launchpad for running it easily :)

 

By the way, since v0.1 the emulator is also able to run Sega SG1000 ROM files :) I forget to add that to docs.

 

Edit: reuploaded, I missed including Princess Quest and Super Game Module test.

 

Anyway to have GUI file-->open for rom

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...