Monday, August 3, 2020

Corum III: Chaotic Magic in English - Part 1 - Installation

Edit:  I've been streaming the game on my twitch channel at https://www.twitch.tv/fragmentalstew and you can find recordings of the streams on twitch or on youtube

Notice:  I've published a Part 2 that aims to provide spoiler-free assistance in playing the game, which can be found here.

I used to be really into alternative operating systems and BeOS was my favorite.  The company Gobe Software, who also published the Operating System, published an English translation of the Korean only game called Corum 3, and it was one of the few big commercial games released for the OS.  It was widely believed that this was the only version of the game in English, but I've found a version for windows as well.  I don't know if the English version is a fan translation or a commercial translation, but there's some indication that a company called SagaCity is involved somehow.  I can't find any information on the company.

The translation of the BeOS and Windows versions are different.  In general, the BeOS translation seem to be better, or at least the writing seems to flow more smoothly.  However they both have typos, and they're both passable.

Here's a video I made showing a comparison of the introductions.


BeOS Version

In the course of trying to get the game to work I tried HaikuOS, a recreation of BeOS, as well as BeOS 4.5,  BeOS Dano, BeOS Max and possibly some other variations, with VirtualPC and VMware, and was unable to get the game to work until I tried BeOS 5.0 Pro using the method I describe below.

I found this guide for getting BeOS 5.0 Pro working in PCem. Virtual Machines like VMware and VirtualPC don't have video emulation that BeOS has a 2d accelerated driver for, so it can't run the game.  PCem has video card emulation, though it can be some trouble to get setup.

PCem doesn't run at full speed on my system, at the cpu speed that BeOS requires, so I used 86Box instead.  Though 86Box runs at full speed, thee game still had audio stuttering sometimes.  However, if I leave the vm running for some time, the audio stuttering will eventually go away.   I used win10pcap to get the networking working in BeOS, but wasn't able to get it working until I switched to 86Box, because PCem didn't have a descriptive name for the networking device, and I had the wrong one selected.  Networking isn't necessary for the game itself.

The game runs slowly unless I switch the game to fullscreen mode,  then the game runs smoothly, and at a good fps.  However, if a video plays, like when you first start the game, the game will complain about your video card being unable to display fullscreen and it will kick you back to window mode.  After this, you cannot switch back to fullscreen and must restart the game.  While it's possible to start the game in window mode, then switch to fullscreen, and the game will play well, it's also very probable that there could be videos that play later which could cause problems.  And there's no way to play the videos without lag. 

Also, sometimes the controls get stuck in a particular direction, and I'm not sure why, or how to fix it.  It may be related to joystick somehow so disabling joystick may stop it from happening, but it is possible to use a gamepad with direction pad and 4 buttons. 

A few times 86box got stuck and wouldn't boot so I renamed the nvr folder, after which it created a new nvr folder and started working again.

Notice:  If you're using the complete package with 86Box and the music cd, that I posted below, I tested it out on a different pc and there were a few steps I needed to take.  

I'm running the 86Box window in 2x, which makes the window 1280x960.  If your screen is smaller, you can change it to a smaller scale under view>"window scale factor". 


There's this weird bug, that I assume is caused by 86Box somehow, that happens when the controller you set up in 86Box doesn't match what's plugged in at the time.  This manifests as a persistent direction being inputted into the game which prevents you from navigating the menus or moving around effectively.  If this happens to you, you can exit the game using alt-q.

If you want to use your controller, you'll need to make sure it's properly selected and setup in 86Box, and then make sure it's properly selected and setup in BeOS.  If you want to use keyboard instead, you can just disable the controller in either 86Box or BeOS.  Disabling it in BeOS may be easier, since you won't have to restart the vm to save the settings.  The joystick config in 86Box is under Tools>settings>"Input Devices", and the config in BeOS is under Preferences>joysticks of the BeOS menu.

I have a Logitech Rumblepad 2, which is mostly the same as a Logitech 510, and similar to a 310 or 710.  It looks very much like a playstation controller.  Using this,  I was only able to ever get the direction controls and 4 buttons to work.  The same is true for both the BeOS version and the Windows version.  Also, the gamepad feels like it has more input lag than the keyboard, in both versions, but I still prefer it over the keyboard because it's just more comfortable.  If I need to use a button that I don't have mapped, I just pause the game with the controller and then use the button on the keyboard.

In order to get the music working in-game you'll want to mount the cd-rom image with 86Box with Media>Cd-rom ...>image and then find the image file in the Images folder in the 86Box folder that you extracted.  The file is called "music.cue".  After that you may need to enable music inside Corum itself.

There's an error that pops up in BeOS regarding networking.  It's not really a problem, and you don't really need it, but if you want networking, you can install winpcap.  It might work right out of the box, but there might be some extra steps you need to take.  I'm not sure, because I haven't tried that yet.  If you don't care about getting networking working, you just want the network error to go away, then just disable the network through preferences>network>clear then save, in the BeOS menu.  

Windows Version


Because of the video lag issues, as well as the other minor problems, I decided to play using the Windows version, even though the translation might not be as good.

The Windows version ran well directly after installation and I had no difficulty with the install.  I followed the directions included in the archive for how to install the Korean to English patch.  CD 2 must be mounted in order to be able to listen to music.

However, I had two problems with the Windows version.  The first is that the cd audio did not loop.  The second was that it was forced into fullscreen.  When I tried to capture the game with OBS,  I had to do some tricky things, because the capture would disappear when I alt-tab.

To solve both of these problems I use a program called dxwnd (you will want version 2.05.54 or higher). DxWnd has very good documentation under Help>View  Help in the program but that same documentation cannot be found online afaik.  I've outlined the process I used below, but all of this information can be found in the Help documentation.

I added the game in DXWnd.

I enabled expert mode under options

`
I then modified the entry in DXWnd.  These are my settings for running the application in a window





A quick and dirty list of the settings I use to run in a window is as follows:
Main
Keep aspect ratio
1280x960(2x of initial window size, which is 640x480)
Desktop Center
run in window
terminate on window close
ask confirmation on window close


Video
Locked size
Set DPI awareness


Msgs
Add message pump



Sound
I then exported the cd audio to ogg vorbis, using cdex, with the name convention of "Track1.ogg"etc. and put it in a folder called "Music" in the game folder.  Then I turned on cd emulation in dxwnd by enabling expert mode under the Options menu, then Modify>Sound and checking "Virtual CD audio"



Using this, I no longer need the audio cd to be mounted, and the cd music would loop in-game.  I then created a shortcut to dxwnd and run corum through dxwnd.  A link to an archive containing the ogg vorbis music files listed below.  The game folder should look like this, with the game music.


Notice:  Due to a problem with color palettes in 2.05.53 and 2.05.54, if you want to run the game in fullscreen you may need to change DirectX>"DirectX Version Hook" to None.  


It will essentially be the same as running the game without DXWnd, but with the added benefit of the Virtual CD Audio.  You will want to turn this setting back to Automatic, DirectX1~6, or DirectX7 when you want to run in a window.  I've had trouble with Automatic before, and I use DirectX1~6, though I haven't noticed any difference with DirectX7.  You can toggle this setting to switch between fullscreen and windowed mode, until it's fixed, but it's not ideal.

However, it's not all system may need this setting.  You'll just have to try it yourself.  For reference,  this is what the color problem looks like:
Another solution that may or may not work, is to set Hook, "Injection mode" to "SetWindowsHook".  


If this setting fixes the color problem for you,  you won't need to set "DirectX Version Hook" to none, and should be able to switch between window and fullscreen mode by simply checked and unchecking "Run in Window" Sometimes this works for me and sometimes it doesn't.  I haven't been able to ascertain any rhyme or reason to it.


This will likely be fixed in the next release (2.05.55, I assume).

Notice 2:  There's also a weird bug, when the DXWnd hook is enabled, where you can't quit the game from within the game world, but you can exit to the starting menu and then quit the game.


Alternative to DXWnd for looping music:
There is an alternative to get looping music with the cd audio directly, and that is to replace the winmm.dll file in the game folder with a patched version.   The only version of this that I've been able to get working is called CDAudio proxy and is based on DXWnd.   Simply unzip the files into the Corum III folder, along with your ogg vorbis "Music" folder that I outlined above.

Another version of this, called _inmm can be found here, but I haven't been able to get it to work.  I've tried a few forks of a version called ogg_winmm, and though I was able to get some of them to work, the music did not loop as intended. 

And, of course, there is always the alternative of running an older version of windows, either in a virtual machine or on older hardware, from before the change was made to winmm.  I don't know when the change was made, but Windows 98 should work.


Files


BeOS

You can find a zip image containing the virtual machine, hard drive and cd image here.  Using this you should be able to simply load 86Box, and run the game from within BeOS.  Or here is a download with just the game.  The music cd, in a format that 86Box can recognize, is included with the full download, but not the download of the game by itself.

Windows

Or you can find the Windows version of the game here:
Windows CD 1 with Korean to English patch
mirror

Windows CD 2 (game music) 
mirror

The extracted ogg vorbis music can be found here.  Place it in the game's folder for use with dxwnd.

I do not own these games and have no right to redistribute them, but they're interesting and increasingly difficult to find, and I feel like the game deserves to be preserved and experienced.

I have also uploaded the entire cd audio to youtube so you can listen freely, here.   The music is very good, generally.

Playlist 

I made the videos by mounting the audio cd with daemon tools, ripping the cd audio as flac with cdex, and then created the videos with Davinci Resolve.  I considered making a tutorial about the process, but Davinci Resolve was freezing on me during part of the process and I'm not sure what the deal with that was.

Lastly, the lossless flac version of the cd audio can be found here.  Note, DXWnd virtual cd audio does support flac, but I was unable to get my files to work with it.

Edits:

Corrections 08/13/2020
I added some info about the things I tried to get the BeOS version to work.

I previously stated that DXWnd virtual audio doesn't support flac, but it does.

I thought I had Corum III working with no issues in dxwnd, but I was wrong.  In window mode, the game sort of becomes detached from the window during the intro videos playback, which temporarily kills the obs capture, among other things.  This isn't a problem in fullscreen.

Another possibly worse problem is when I'm using virtual cd audio, with the ogg files, the menu music will start playing during the second introductory video. 

This doesn't happen using the cd audio, but I couldn't find a way to get the cd audio to loop using any method besides the virtual cd with dxwnd. I tried _inmm from https://static.old-games.ru/utils/_inmm238.rar but I couldn't figure out how to get it to work. I tried ogg-winmm from https://github.com/bangstk/ogg-winmm/releases and no music would play.  I tried a fork of that from https://github.com/adambiser/ogg-winmm/releases/tag/1.2.2 and it worked the same as the cd audio with no looping.  I tried another fork from https://github.com/mohzy83/ogg-winmm/releases/tag/1.3.0.0 and it worked the same as the adambiser fork.

 I then posted about this on the DXWnd sourceforge forums and was provided a dll patched with fixes from a newer, unreleased version of DXWnd (2.05.54).  This fixes the music problem.

08/16/2020
DXWnd 2.05.54 has been released, which fixes the music problem, and also has a tentative export file for Corum III.   Additionally, you no longer need to manually set the DirectX version to 1-6 or 7.  I've changed the directions to reflect this as well as some more info about getting the game to run in a window.

08/18/2020
Due to changes to to the way DXWnd handles color palettes in 2.05.53 a bug was introduced that causes the color palette to be incorrect when the game is in fullscreen.  I have outlined a workaround.  This will likely be fixed in the next release.

I was informed of, and tested an alternative fix for the cd audio looping, that doesn't require DXWnd, but is based on DXWnd, called CDAudio proxy.  I linked to it above.

8/19/2020 Added some more info and another possible solution about the color palette problem.

8/22/2020  I tested out my zip file of 86Box with BeOS and Corum III on a different computer, and added some information about steps I need to take to get things set up.

8/23/2020 Added a little info about a bug with DXWnd related to quitting the game, as well some more info about DirectX Version Hook.

8/27/2020 added links to my twitch channel, where I've been streaming the game, as well as links for the VODs

3 comments:

  1. Thanks for the info. I have both versions working perfectly for me. For Beos I set up 86Box as a Socket 7(Dual Voltage) i430TX ASUS TX97 with Intel Pentium MMX, speed 233 Using (PCI) 3dfx Voodoo Banshee for the video card. I wish I new how to properly install a zip version into Haiku when using expander then trying to run, Haiku reports it as not being executable, no matter that filetypes looks the same as the BeOS machine. My daughter asked about the game recently because she remembered it from 21 years ago.

    ReplyDelete
    Replies
    1. That's interesting that the 2d acceleration in BeOS seems to work correctly with the Banshee, from what you say. I don't remember if I tried it. I think maybe it wasn't available when I was testing back in August 2020. IIRC, Haiku was missing something important for the game to run. Either the 2d acceleration or the necessary video drivers, or maybe the VM I was using was missing the necessary video graphics emulation. I don't think I had to install the zip version in Haiku. Just unzip and run. It's been a long time. I don't really remember. Don't know why Haiku wouldn't see the file as executable.

      Delete