Issues with Mini vMac in Ubuntu

About Mini vMac and all other 68k emulators, including SoftMac, Executor, and MESS.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
..::| Dave89 |::..
Mac Mechanic
Posts: 160
Joined: Sat Mar 21, 2009 6:46 am
Location: Shellharbour, Australia

Issues with Mini vMac in Ubuntu

Post by ..::| Dave89 |::.. »

I use Mini vMac 3.1.3 in Ubuntu 9.10, but there are some issues that I hope someone can help me with:

The first, and most important one is that there's no sound. I play games in System 6 that I like to be able to hear the sound of.

The second one is that the Mini vMac's window has the desktop picture showing through on the right and bottom. This is distracting for me, I've provided an image to show what it looks like, the orange background can be seen at right/bottom,

Image

Any help is appreciated, thanks.
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Post by gryphel »

The first, and most important one is that there's no sound.
The Linux versions I provide don't have sound enabled because of the difficulty of making it work across many Linux distributions.

You can compile your own version using the '-sound 1' option. See the Build system documentation.

However the version you compile on a modern Ubuntu distribution probably would run not on most other distributions. The version I provide is compiled on a very old version of Linux, and does happen to work on most distributions, except for the sound issue. Lately I think I see a way to make this work better (basically copy how SDL does it), which I hope to get around to trying some day.

I'm not a Linux expert. Linux is a pain to support since systems are so diverse, and each of the many versions can have their own quirks and bugs. Mac and Windows system versions also have their own quirks and bugs, but there are far fewer versions to worry about.
The second one is that the Mini vMac's window has the desktop picture showing through on the right and bottom.
Ugh, case in point. I'll have to download Ubuntu 9.10 and take a look. There is likely a bug in it, since I've never seen this behavior before. Though it's also perfectly possible that there is some obscure bug in Mini vMac that doesn't manifest anywhere else. Anyway, thanks for the bug report.
..::| Dave89 |::..
Mac Mechanic
Posts: 160
Joined: Sat Mar 21, 2009 6:46 am
Location: Shellharbour, Australia

Post by ..::| Dave89 |::.. »

I haven't got much experience compiling applications, I've only ever compiled once before (Kegs emulator) but I'll check it out anyway.

EDIT: That display error thing in Mini vMac is a bug in Ubuntu, I think. It doesn't happen in Xubuntu (a variation of Ubuntu).
Last edited by ..::| Dave89 |::.. on Sat Jan 30, 2010 3:43 pm, edited 1 time in total.
..::| Dave89 |::..
Mac Mechanic
Posts: 160
Joined: Sat Mar 21, 2009 6:46 am
Location: Shellharbour, Australia

Post by ..::| Dave89 |::.. »

I managed to compile without sound, but when I use the sound-1 option I get this:

dave89@dave89-desktop:~$ cd /home/dave89/Desktop/minivmac-3.1.3-lx86
dave89@dave89-desktop:~/Desktop/minivmac-3.1.3-lx86$ make
make: Warning: File `Makefile' has modification time 3.8e+04 s in the future
gcc "src/MYOSGLUE.c" -o "bld/MYOSGLUE.o" -c -Wall -Wmissing-prototypes -Wstrict-prototypes -Wno-uninitialized -Os
In file included from src/MYOSGLUE.c:21:
src/CNFGRAPI.h:21:28: error: alsa/asoundlib.h: No such file or directory
In file included from src/MYOSGLUE.c:392:
src/PLATGLUE.h: In function ‘vSonyRead’:
src/PLATGLUE.h:419: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result
In file included from src/MYOSGLUE.c:392:
src/PLATGLUE.h: At top level:
src/PLATGLUE.h:1612: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
src/PLATGLUE.h:1613: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘buffer_size’
src/PLATGLUE.h:1614: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘period_size’
src/PLATGLUE.h: In function ‘MySound_WriteOut’:
src/PLATGLUE.h:1641: error: ‘snd_pcm_sframes_t’ undeclared (first use in this function)
src/PLATGLUE.h:1641: error: (Each undeclared identifier is reported only once
src/PLATGLUE.h:1641: error: for each function it appears in.)
src/PLATGLUE.h:1641: error: expected ‘;’ before ‘avail’
src/PLATGLUE.h:1642: error: expected ‘;’ before ‘delayp’
src/PLATGLUE.h:1644: error: ‘snd_pcm_state_t’ undeclared (first use in this function)
src/PLATGLUE.h:1644: error: expected ‘;’ before ‘cur_state’
src/PLATGLUE.h:1646: error: ‘SND_PCM_STATE_RUNNING’ undeclared (first use in this function)
src/PLATGLUE.h:1646: error: ‘cur_state’ undeclared (first use in this function)
src/PLATGLUE.h:1648: error: ‘SND_PCM_STATE_SETUP’ undeclared (first use in this function)
src/PLATGLUE.h:1649: error: ‘SND_PCM_STATE_XRUN’ undeclared (first use in this function)
src/PLATGLUE.h:1650: warning: implicit declaration of function ‘snd_pcm_prepare’
src/PLATGLUE.h:1650: error: ‘pcm_handle’ undeclared (first use in this function)
src/PLATGLUE.h:1653: warning: implicit declaration of function ‘snd_strerror’
src/PLATGLUE.h:1653: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1659: error: ‘SND_PCM_STATE_PREPARED’ undeclared (first use in this function)
src/PLATGLUE.h:1660: warning: implicit declaration of function ‘snd_pcm_start’
src/PLATGLUE.h:1662: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1668: error: ‘SND_PCM_STATE_SUSPENDED’ undeclared (first use in this function)
src/PLATGLUE.h:1669: warning: implicit declaration of function ‘snd_pcm_resume’
src/PLATGLUE.h:1672: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1678: error: ‘SND_PCM_STATE_DISCONNECTED’ undeclared (first use in this function)
src/PLATGLUE.h:1685: warning: implicit declaration of function ‘snd_pcm_delay’
src/PLATGLUE.h:1685: error: ‘delayp’ undeclared (first use in this function)
src/PLATGLUE.h:1687: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1688: error: ‘avail’ undeclared (first use in this function)
src/PLATGLUE.h:1688: warning: implicit declaration of function ‘snd_pcm_avail_update’
src/PLATGLUE.h:1690: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1730: warning: implicit declaration of function ‘snd_pcm_writei’
src/PLATGLUE.h:1732: error: ‘EAGAIN’ undeclared (first use in this function)
src/PLATGLUE.h:1732: error: ‘ESTRPIPE’ undeclared (first use in this function)
src/PLATGLUE.h:1735: error: ‘EPIPE’ undeclared (first use in this function)
src/PLATGLUE.h:1741: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h: In function ‘MySound_Start’:
src/PLATGLUE.h:1754: error: ‘pcm_handle’ undeclared (first use in this function)
src/PLATGLUE.h: In function ‘MySound_Stop’:
src/PLATGLUE.h:1767: error: ‘pcm_handle’ undeclared (first use in this function)
src/PLATGLUE.h:1768: warning: implicit declaration of function ‘snd_pcm_drop’
src/PLATGLUE.h: In function ‘MySound_Init0’:
src/PLATGLUE.h:1774: error: ‘snd_pcm_hw_params_t’ undeclared (first use in this function)
src/PLATGLUE.h:1774: error: ‘hw_params’ undeclared (first use in this function)
src/PLATGLUE.h:1775: error: ‘snd_pcm_sw_params_t’ undeclared (first use in this function)
src/PLATGLUE.h:1775: error: ‘sw_params’ undeclared (first use in this function)
src/PLATGLUE.h:1779: error: ‘buffer_size’ undeclared (first use in this function)
src/PLATGLUE.h:1780: error: ‘period_size’ undeclared (first use in this function)
src/PLATGLUE.h:1790: warning: implicit declaration of function ‘snd_pcm_open’
src/PLATGLUE.h:1790: error: ‘pcm_handle’ undeclared (first use in this function)
src/PLATGLUE.h:1790: error: ‘SND_PCM_STREAM_PLAYBACK’ undeclared (first use in this function)
src/PLATGLUE.h:1790: error: ‘SND_PCM_NONBLOCK’ undeclared (first use in this function)
src/PLATGLUE.h:1792: warning: format ‘%s’ expects type ‘char *’, but argument 4 has type ‘int’
src/PLATGLUE.h:1796: warning: implicit declaration of function ‘snd_pcm_hw_params_malloc’
src/PLATGLUE.h:1798: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1801: warning: implicit declaration of function ‘snd_pcm_hw_params_any’
src/PLATGLUE.h:1803: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1805: warning: implicit declaration of function ‘snd_pcm_hw_params_set_access’
src/PLATGLUE.h:1805: error: ‘SND_PCM_ACCESS_RW_INTERLEAVED’ undeclared (first use in this function)
src/PLATGLUE.h:1807: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1809: warning: implicit declaration of function ‘snd_pcm_hw_params_set_format’
src/PLATGLUE.h:1809: error: ‘SND_PCM_FORMAT_U8’ undeclared (first use in this function)
src/PLATGLUE.h:1811: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1813: warning: implicit declaration of function ‘snd_pcm_hw_params_set_rate_near’
src/PLATGLUE.h:1815: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1817: warning: implicit declaration of function ‘snd_pcm_hw_params_set_channels’
src/PLATGLUE.h:1819: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1821: warning: implicit declaration of function ‘snd_pcm_hw_params_set_buffer_size_near’
src/PLATGLUE.h:1823: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1825: warning: implicit declaration of function ‘snd_pcm_hw_params_set_period_size_near’
src/PLATGLUE.h:1827: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1829: warning: implicit declaration of function ‘snd_pcm_hw_params’
src/PLATGLUE.h:1831: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1851: warning: implicit declaration of function ‘snd_pcm_hw_params_free’
src/PLATGLUE.h:1855: warning: implicit declaration of function ‘snd_pcm_sw_params_malloc’
src/PLATGLUE.h:1857: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1860: warning: implicit declaration of function ‘snd_pcm_sw_params_current’
src/PLATGLUE.h:1862: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1864: warning: implicit declaration of function ‘snd_pcm_sw_params_set_start_threshold’
src/PLATGLUE.h:1866: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1868: warning: implicit declaration of function ‘snd_pcm_sw_params_set_avail_min’
src/PLATGLUE.h:1870: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1872: warning: implicit declaration of function ‘snd_pcm_sw_params_set_xfer_align’
src/PLATGLUE.h:1874: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1876: warning: implicit declaration of function ‘snd_pcm_sw_params’
src/PLATGLUE.h:1878: warning: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
src/PLATGLUE.h:1881: warning: implicit declaration of function ‘snd_pcm_sw_params_free’
src/PLATGLUE.h:1884: warning: implicit declaration of function ‘snd_pcm_nonblock’
src/PLATGLUE.h:1899: warning: implicit declaration of function ‘snd_pcm_close’
src/PLATGLUE.h: In function ‘MySound_UnInit’:
src/PLATGLUE.h:1912: error: ‘pcm_handle’ undeclared (first use in this function)
src/PLATGLUE.h: In function ‘MySound_FilledBlocks’:
src/PLATGLUE.h:1922: error: ‘pcm_handle’ undeclared (first use in this function)
src/PLATGLUE.h: In function ‘MySound_SecondNotify’:
src/PLATGLUE.h:1970: error: ‘pcm_handle’ undeclared (first use in this function)
make: *** [bld/MYOSGLUE.o] Error 1
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Post by gryphel »

In a previous version of Ubuntu, to compile sound in Mini vMac you need to install the package "libasound2-dev". So in this version you probably need to install the same, or similar.

That should allow it to compile. This version of the compiler/include files also seems to produce some new warning messages ("warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result"), which shouldn't cause problems, but which I will need to look at and clean up for a future version of Mini vMac.
..::| Dave89 |::..
Mac Mechanic
Posts: 160
Joined: Sat Mar 21, 2009 6:46 am
Location: Shellharbour, Australia

Post by ..::| Dave89 |::.. »

It worked. I can play my games now! I will learn to ignore the display glitch. Thanks for your help!
..::| Dave89 |::..
Mac Mechanic
Posts: 160
Joined: Sat Mar 21, 2009 6:46 am
Location: Shellharbour, Australia

Post by ..::| Dave89 |::.. »

Is there any way to change the disk icon to a standard HD icon? I'm using System 6, so I can't copy and paste icons, but thought maybe I could change something in the source code.
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Post by gryphel »

It worked. I can play my games now! I will learn to ignore the display glitch.
I'm glad it (partly) works for you. I've now downloaded Ubuntu 9.10 and installed it in VMware Fusion. I don't see this display glitch, so perhaps it is something more specific to your install. I used "ubuntu-9.10-desktop-i386.iso" with pretty much default options. I did see some glitches not related to Mini vMac, but I think it's just that this version of Ubuntu is not well supported by the current Fusion, or vice versa.

For anyone else who wishes to compile Mini vMac in Ubuntu, besides the "libasound2-dev" package, you should also install "build-essential", "libx11-dev", and "libxext-dev".
Is there any way to change the disk icon to a standard HD icon?
The Mini vMac 3.1.3 "v" disk icon is located in the source file ROMEVDEV.c, called "my_disk_icon". It is a hex array, so probably not particularly easy to edit.
..::| Dave89 |::..
Mac Mechanic
Posts: 160
Joined: Sat Mar 21, 2009 6:46 am
Location: Shellharbour, Australia

Post by ..::| Dave89 |::.. »

I've looked at the source files, I don't understand so I'm leaving it alone.

It's strange that I get the display glitch on my 2 PC's running Ubuntu, and you don't...
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Post by gryphel »

..::| Dave89 |::.. wrote:It's strange that I get the display glitch on my 2 PC's running Ubuntu, and you don't...
Hmm, the same thing on two different machines is more serious.

Perhaps your preference settings matter. If you create a new user account (with default settings) do you see the same thing?

Have you installed the latest updates? When I installed Ubuntu 9.10, I also installed updates (as of Saturday).
..::| Dave89 |::..
Mac Mechanic
Posts: 160
Joined: Sat Mar 21, 2009 6:46 am
Location: Shellharbour, Australia

Post by ..::| Dave89 |::.. »

Ubuntu is up to date on my desktop, but not my laptop. I created a new user on my desktop, touched no settings, still the same.

*EDIT*
When running Ubuntu 9.04 in VirtualBox with Windows Vista as host OS, on the very same desktop PC, I do not get the glitch.
I also booted up directly (no VirtualBox) into a Fedora 12 Live CD and my Ubuntu 9.10 Live CD on the same hardware, no glitch.

Hope this helps!
User avatar
gryphel
Nice Guy
Posts: 106
Joined: Sat Nov 17, 2007 6:46 pm

Post by gryphel »

..::| Dave89 |::.. wrote:Ubuntu is up to date on my desktop, but not my laptop. ... Hope this helps!
Thanks for the further information. That is pretty weird. As I said, I'm no Linux expert. Perhaps it could be a driver issue, since Fusion and VirtualBox would both provide their own video drivers. Or perhaps there is some additional package, not included by default, that you have installed on both machines. Or some other kind of global setting.

Anyway, I may be able to eventually get hold of an old discarded pc to test on, as virtualization may not always be good enough. (Where to put it is another problem.)
..::| Dave89 |::..
Mac Mechanic
Posts: 160
Joined: Sat Mar 21, 2009 6:46 am
Location: Shellharbour, Australia

Post by ..::| Dave89 |::.. »

I reinstalled Ubuntu on my laptop, and tried Mini vMac straight after, without installing a thing, and the glitch still occured. Might be something to do with the hardware on both PC's, still seems strange, that it happens on two completely differnet machines, though. It doesn't bother me as much anyway, I've gotten used to it. Thanks for your help, at least we got the more serious issue of no sound fixed! I also learnt how to compile my own versions of Mini vMac, which will come handy in the future.
Post Reply