ScummVM for Atari Falcon running MiNT

Discussion about other and unofficial ports of ScummVM

Moderator: ScummVM Team

Post Reply
Altstar
Posts: 2
Joined: Tue Jun 14, 2016 12:07 am
Contact:

ScummVM for Atari Falcon running MiNT

Post by Altstar »

Hi,

I'm trying to build ScummVM with a cross-compiler (from http://vincent.riviere.free.fr/soft/m68k-atari-mint/ ) under Cygwin for my Atari Falcon.

cham@antares ~/src/scummvm
$ ./configure --host=m68k-atari-mint --disable-mt32emu --disable-hq-scalers --disable-scalers

cham@antares ~/src/scummvm
$ make
C++ backends/platform/sdl/sdl.o
C++ backends/platform/sdl/sdl-window.o
C++ backends/platform/sdl/posix/posix-main.o
C++ backends/platform/sdl/posix/posix.o
In file included from ./backends/fs/posix/posix-fs.h:31:0,
from backends/platform/sdl/posix/posix.cpp:36:
/opt/cross-mint/lib/gcc/m68k-atari-mint/4.6.4/../../../../m68k-atari-mint/include/unistd.h:1027:25: error: macro "random" passed 1 arguments, but takes just 0
/opt/cross-mint/lib/gcc/m68k-atari-mint/4.6.4/../../../../m68k-atari-mint/include/unistd.h:1027:27: error: expected initializer before 'throw'
/opt/cross-mint/lib/gcc/m68k-atari-mint/4.6.4/../../../../m68k-atari-mint/include/unistd.h:1028:13: error: expected initializer before 'SYMBOL'
make: *** [Makefile.common:104: backends/platform/sdl/posix/posix.o] Error 1

Any ideas why the build fails?
Regards,
Christoph
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

Apparently your port is using random() in unistd.h, while normally it is a forbidden symbol in ScummVM.

You need to add the following definition to line 25 in file backends/platform/sdl/posix/posix.cpp:

Code: Select all

#define FORBIDDEN_SYMBOL_EXCEPTION_random
Eugene
Altstar
Posts: 2
Joined: Tue Jun 14, 2016 12:07 am
Contact:

Post by Altstar »

Many thanks! I have changed this and fixed another one (srandom) in C:\cygwin\opt\cross-mint\m68k-atari-mint\include\unistd.h

Now it fails (see below) on the midi support. I have tried to disable MIDI but it looks like the code causing the issues is not disabled.

cham@antares ~/src/scummvm
$ ./configure --host=m68k-atari-mint --disable-mt32emu --disable-hq-scalers --disable-scalers --disable-debug --disable-all-engines --disable-fluidsynth --opengl-mode=none --disable-seq-midi

cham@antares ~/src/scummvm
$ make
C++ backends/platform/sdl/sdl.o
C++ backends/platform/sdl/sdl-window.o
C++ backends/platform/sdl/posix/posix-main.o
C++ backends/platform/sdl/posix/posix.o
C++ base/main.o
C++ base/commandLine.o
C++ base/plugins.o
C++ gui/about.o
C++ gui/chooser.o
C++ gui/console.o
C++ gui/debugger.o
C++ gui/dialog.o
C++ gui/error.o
C++ gui/EventRecorder.o
C++ gui/filebrowser-dialog.o
C++ gui/gui-manager.o
C++ gui/launcher.o
C++ gui/massadd.o
C++ gui/message.o
C++ gui/object.o
C++ gui/options.o
C++ gui/predictivedialog.o
C++ gui/saveload.o
C++ gui/saveload-dialog.o
C++ gui/themebrowser.o
C++ gui/ThemeEngine.o
C++ gui/ThemeEval.o
C++ gui/ThemeLayout.o
C++ gui/ThemeParser.o
C++ gui/Tooltip.o
C++ gui/widget.o
C++ gui/widgets/editable.o
C++ gui/widgets/edittext.o
C++ gui/widgets/list.o
C++ gui/widgets/popup.o
C++ gui/widgets/scrollbar.o
C++ gui/widgets/tab.o
C++ gui/browser.o
C++ gui/editrecorddialog.o
C++ gui/onscreendialog.o
C++ gui/recorderdialog.o
AR gui/libgui.a
RANLIB gui/libgui.a
C++ backends/base-backend.o
C++ backends/modular-backend.o
C++ backends/audiocd/audiocd-stream.o
C++ backends/audiocd/default/default-audiocd.o
C++ backends/events/default/default-events.o
C++ backends/fs/abstract-fs.o
C++ backends/fs/stdiostream.o
C++ backends/log/log.o
C++ backends/midi/alsa.o
C++ backends/midi/dmedia.o
C++ backends/midi/seq.o
C++ backends/midi/sndio.o
C++ backends/midi/stmidi.o
backends/midi/stmidi.cpp: In member function 'virtual Common::Error StMidiMusicPlugin::createInstance(MidiDriver**, MidiDriver::DeviceHandle) const':
backends/midi/stmidi.cpp:145:100: error: return type 'struct Common::Error' is incomplete
backends/midi/stmidi.cpp:148:9: error: 'kNoError' is not a member of 'Common'
make: *** [Makefile.common:104: backends/midi/stmidi.o] Error 1
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Post by sev »

Ugh, that one is pretty basic. This is a consequence of the port not being touched for a while.

You need to add to file backends/midi/stmidi.cpp the following line:

Code: Select all

#include "common/error.h"
Eugene
sturmk
Posts: 6
Joined: Sun Jan 07, 2018 7:14 pm

Re: ScummVM for Atari Falcon running MiNT

Post by sturmk »

Hello,

I would like to use my MT-32 with Scummvm Atari, but i never managed to get it to work. (The MT32 is not faulty, it works with PC versions or on Atari without Scummvm).

I tried different versions, but i got no incoming midi message on the MT-32.

I have a CT60 Falcon and VanillaMint.
https://atari.joska.no/VanillaMiNT/
Any ideas ?

Thank you !
User avatar
Praetorian
ScummVM Developer
Posts: 883
Joined: Tue May 08, 2007 8:54 am
Location: Greece
Contact:

Re: ScummVM for Atari Falcon running MiNT

Post by Praetorian »

sturmk wrote: Wed Apr 08, 2020 10:57 pm Hello,

I would like to use my MT-32 with Scummvm Atari, but i never managed to get it to work. (The MT32 is not faulty, it works with PC versions or on Atari without Scummvm).

I tried different versions, but i got no incoming midi message on the MT-32.

I have a CT60 Falcon and VanillaMint.
https://atari.joska.no/VanillaMiNT/
Any ideas ?

Thank you !
Hi! I see there's a page in our wiki for cross-compiling for Atari and FreeMint. It hasn't been updated for quite a long while, but maybe it is still accurate (?)
https://wiki.scummvm.org/index.php/Comp ... i/FreeMiNT

Did you try the above?

Edit: it would also be awesome if you do give it a go and report back if it works or what you had to do to make it work, so that we update that page with recent information.
sturmk
Posts: 6
Joined: Sun Jan 07, 2018 7:14 pm

Re: ScummVM for Atari Falcon running MiNT

Post by sturmk »

Hello,

Thank you Praetorian, and sorry for the late reply.
To be honest, I don't really understand what i need to do, since i'm no developper, but just a basic end user with no programming knowledge :oops:

What i can say is that I tried Agranlund's stripped down version on my Falcon, and with this one, my MT-32 works perfectly fine ! I don't know what he did, but it's working now, on every game supported by his version. And he did a tremendous work !

Of course, i would like to use a more "standard" version, since i have an accelerated Falcon, theoretically able to run some games in their original state. But at this point, i don't know how to. I tried version 2.2.0, but this one does not work for me, the mouse does not move at all at the menu, so i can't say if there is any improvement.

Thank you
mikro
Posts: 7
Joined: Thu Feb 28, 2008 8:07 pm

Re: ScummVM for Atari Falcon running MiNT

Post by mikro »

Hi everyone,

in case you are looking for a working Atari port of ScummVM (MT-32 MIDI works as well), I've made my own. It is targeted on the Atari Falcon only but offers greater performance and stability. The downside is that it doesn't work in GEM window or on the FireBee.

I've published it on my website (http://mikro.atari.org), currently at the version 2.6.1. One of the github commits also mentions the exact command line to build it: https://github.com/mikrosk/scummvm/comm ... a7914bcdd6 so it should be possible to compile it out of the box (if you have a newer gcc which supports C++11 of course).

I've been working on integration with the official source tree, so perhaps you could choose between those two in the future.
mikro
Posts: 7
Joined: Thu Feb 28, 2008 8:07 pm

Re: ScummVM for Atari Falcon running MiNT

Post by mikro »

mikro wrote: Sat Feb 11, 2023 10:18 amI've been working on integration with the official source tree, so perhaps you could choose between those two in the future.
In the end, me and the current Atari/SDL maintainer have agreed to use my port as direct replacement and keep the SDL one only for the FireBee. So the latest 2.8.0 Atari release is my port, feel free to try this one if you had problems with the 2.7.1 or earlier.
Post Reply