Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
Joined: Feb 2014
Posts: 895
Likes: 58
G
Senior Member
OP Online Content
Senior Member
G
Joined: Feb 2014
Posts: 895
Likes: 58
Ubuntu works pretty well for a mame system but I keep having audio popping.



I like to use the apple2e default config which is to have the mockingboard active. However I've noticed that I get a lot of popping and crackling in my audio.

I think that the mockingboard makes it more noticeable because it has a DC offset (I think) and that makes any buffer underrun far more noticeable.

Most of the time I'll do -sl3 "" to clear out the mockingboard so I don't hear the pops.

I've tried -audio portaudio,


I've tried changing the audio_latency parameter and it doesn't really help.


Most of the time I just tune it out, but it'd be nice to figure out why there's so many underflows.


[Linked Image from i.imgur.com]


Code
Audio: Start initialization
Audio: Driver is pulseaudio
Audio: frequency: 48000, channels: 2, samples: 256
sdl_create_buffers: creating stream buffer of 25600 bytes
Audio: End initialization

Sound buffer: overflows=0 underflows=115
Enter sdlwindow_exit
Leave sdlwindow_exit

cpufreq-set  -c 0 -g performance
cpufreq-set  -c 1 -g performance
cpufreq-set  -c 2 -g performance
cpufreq-set  -c 3 -g performance


cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us.
  hardware limits: 1.60 GHz - 3.10 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 1.60 GHz and 3.10 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 3.09 GHz.


edit:
Tried to use nice, but it said nice not permitted, so I edited /etc/security/limits.conf:


added this line to

/etc/security/limits.conf

myuseraccount - nice -20

and then I could launch mame with

nice -n -20 ./mame

and it would run with higher priority, which did improve it, but still hearing pops and crackles when I hit alt+tab.

Last edited by Golden Child; 10/30/22 05:57 PM.
Joined: Mar 2009
Posts: 64
Likes: 1
M
Member
Offline
Member
M
Joined: Mar 2009
Posts: 64
Likes: 1
I've noticed that audio popping/crackles with Mame on Linux is resolved either by turning off vsync (-nowaitvsync) or enabling autoframeskip (-afs). So you have to choose either smooth video with clicking audio, or video choppiness/tearing and clear audio. This really only applies to emulated systems with non standard display refresh rates. The great majority of emulated systems work fine with vsync turned on and I tend to prefer that because I hate visual tearing. I use Nvidia video cards with their binary driver. I haven't made the move to "g-sync" monitors yet. I suppose those type of adaptive monitors don't have this issue but I'm not sure.

BTW, can you share your command line or mame.ini? I'd like to give it a shot on my system. Thanks.

Last edited by mochamame; 11/02/22 06:16 AM.
Joined: Mar 2001
Posts: 16,942
Likes: 69
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,942
Likes: 69
Audio problems are normal with -waitvsync if the emulated system's refresh rate doesn't match your monitor's.

Joined: Feb 2014
Posts: 895
Likes: 58
G
Senior Member
OP Online Content
Senior Member
G
Joined: Feb 2014
Posts: 895
Likes: 58
This is pretty typical of the command line I like to use, nothing really special:

./mame -window -video opengl -mouse -console -confirm_quit -verbose -video opengl -bgfx_screen_chains unfiltered apple2e rescraid -gameio joy


I added -nowaitvsync -afs , still the same

I've tried -audiodriver pulseaudio and -audiodriver alsa, still the same.

so hitting things like ALT+Tab to switch windows (try it repeatedly) or clicking on other windows will start some popping.

I don't really hear any problems with playing audio in firefox or VLC.

Switching to a USB headphones from the onboard audio doesn't make a difference (snd_hda_intel)


I'm using Ubuntu with xorg (because wayland on my system will crash coming out of standby).


sdl_kill: closing audio
Sound buffer: overflows=2 underflows=75
Enter sdlwindow_exit
Leave sdlwindow_exit


Even doing nice -n -20 ./mame doesn't stop it completely. (after changing /etc/security/limits.conf you have to logout for the new limits.conf to take effect)


Everything about mame works great except for the pops, that's the last major issue I have.


I may try some other linux distributions, maybe vanilla debian.

(It wouldn't surprise me if there's wackiness in Ubuntu)

Try this for fun: take two usb keyboards in Ubuntu under xorg (not wayland) then type 1234 on one, and 1234 on the other or 1 1 1 1 1 alternating on each keyboard and watch the entire ubuntu video system pause for a few seconds, longer if you type a lot of keys. That makes my new "anti-ghosting keyboard" pause the system for a few seconds when I hit a lot of keys (more than 6) because it presents itself as two different keyboard input devices.

Joined: Mar 2009
Posts: 64
Likes: 1
M
Member
Offline
Member
M
Joined: Mar 2009
Posts: 64
Likes: 1
I attempted to run this with a slight modification to load the floppy:

Code
$ mame -window -video opengl -mouse -console -confirm_quit -verbose -video opengl -bgfx_screen_chains unfiltered apple2e -flop1 apple2_flop_orig:rescraid -gameio joy

I don't get any popping noises. That game looks like Choplifter but I can't figure out what I'm doing even after looking up the manual on archive.org. I just kept flying in circles trying to shoot at one or two guns on the ground. The game itself doesn't seem to have any sounds other than a couple "beep" noises once in awhile and the floppy sounds.

Just curious, did you mess around with anything inside your /etc/pulse/daemon.conf file? I remember more than 10 years ago I needed to mess around with Pulseaudio fragment settings in order to get SDL audio to behave with Mame. That was the last time I used to have trouble with Mame audio. It's been fine since then with all the default Ubuntu settings. There was also some really old bug from around 2008 related to an SDL audio library which used to cause high CPU usage while running Mame, with a side effect of choppiness and crackling audio, but that's ancient history now.

My experience with Linux is that there is usually some other unsuspecting program or library in the background that is actually the root cause of these types of problems. Maybe you should run some diagnostic utilities in separate terminals while you're trying to troubleshoot, that's how I originally discovered the SDL audio library problem.

I've pasted some of the relevant terminal messages below, maybe it will help you?


Code
Current Videodriver: x11
	Display #0
		Renderdrivers:
			    opengl (0x0)
			 opengles2 (0x0)
			  software (0x0)
Available audio drivers: 
	pulseaudio          
	alsa                
	sndio               
	pipewire            
	dsp                 
	disk                
	dummy               
Build version:      0.249 (unknown)
Build architecure:  
Build defines 1:    SDLMAME_UNIX=1 SDLMAME_X11=1 SDLMAME_LINUX=1 
Build defines 1:    LSB_FIRST=1 PTR64=1 
SDL/OpenGL defines: SDL_COMPILEDVERSION=2020 USE_OPENGL=1 
Compiler defines A: __GNUC__=11 __GNUC_MINOR__=3 __GNUC_PATCHLEVEL__=0 __VERSION__="11.3.0" 
Compiler defines B: __amd64__=1 __x86_64__=1 __unix__=1 
Compiler defines C: __USE_FORTIFY_LEVEL=0 
Enter init_monitors
Adding monitor screen0 (1920 x 1080)
Leave init_monitors
Enter sdlwindow_init
Using SDL multi-window OpenGL driver (SDL 2.0+)

Code
OpenGL: NVIDIA Corporation
OpenGL: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2
OpenGL: 4.6.0 NVIDIA 470.141.03
OpenGL: non-power-of-2 textures supported (new method)
OpenGL: vertex buffer supported
OpenGL: pixel buffers supported
OpenGL: framebuffer object supported
OpenGL: GLSL supported, but disabled
OpenGL: max texture size 32768 x 32768
Leave renderer_ogl::create
Audio: Start initialization
Audio: Driver is pulseaudio
Audio: frequency: 48000, channels: 2, samples: 256
sdl_create_buffers: creating stream buffer of 25600 bytes
Audio: End initialization


Code
Starting Apple //e ':'
  (missing dependencies; rescheduling)
Starting MOS Technology 6502 ':maincpu'
Starting Timer ':scantimer'
Starting Timer ':acceltimer'
Starting Apple II video ':a2video'
Starting Apple II Common Components ':a2common'
Starting Video Screen ':screen'
Starting Speaker ':mono'
  (missing dependencies; rescheduling)
Starting Filtered DAC ':speaker'
Starting Dallas DS1315 Phantom Time Chip ':nsc'
Starting RAM ':ram'
Starting AY-5-3600 Keyboard Encoder ':ay3600'
Starting Timer ':repttmr'
Starting Apple II Bus ':a2bus'
Starting Apple II Slot ':sl1'
Starting Apple II Slot ':sl2'
Starting Apple II Slot ':sl3'
Starting Apple II Slot ':sl4'
Starting Sweet Micro Systems Mockingboard Sound/Speech I ':sl4:mockingboard'
Starting MOS 6522 VIA ':sl4:mockingboard:mockbd_via1'
Starting MOS 6522 VIA ':sl4:mockingboard:mockbd_via2'
Starting Speaker ':sl4:mockingboard:lspeaker'
  (missing dependencies; rescheduling)
Starting Speaker ':sl4:mockingboard:rspeaker'
  (missing dependencies; rescheduling)
Starting AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay1'
Starting AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay2'
Starting Votrax SC-01 ':sl4:mockingboard:sc01'
Starting Apple II Slot ':sl5'
Starting Apple II Slot ':sl6'
Starting Apple Disk II NG controller (16-sector) ':sl6:diskiing'
Starting Apple Disk II floppy controller ':sl6:diskiing:wozfdc'
Starting Fairchild 9334 Addressable Latch ':sl6:diskiing:wozfdc:phaselatch'
Starting Floppy drive connector abstraction ':sl6:diskiing:0'
Starting 5.25" single density floppy drive ':sl6:diskiing:0:525'
Starting Speaker ':sl6:diskiing:0:525:flopsndout'
  (missing dependencies; rescheduling)
Starting Floppy sound ':sl6:diskiing:0:525:floppysound'
Starting Floppy drive connector abstraction ':sl6:diskiing:1'
Starting 5.25" single density floppy drive ':sl6:diskiing:1:525'
Starting Speaker ':sl6:diskiing:1:525:flopsndout'
  (missing dependencies; rescheduling)
Starting Floppy sound ':sl6:diskiing:1:525:floppysound'
Starting Apple II Slot ':sl7'
Starting Apple IIe AUX Bus ':auxbus'
Starting Apple IIe AUX Slot ':aux'
Starting Apple IIe Extended 80-Column Card ':aux:ext80'
Starting Apple II Game I/O Connector ':gameio'
Starting Apple II analog joysticks ':gameio:joy'
Starting Software List ':flop_a2_clean'
Starting Software List ':flop_a2_orig'
Starting Software List ':flop_a2_misc'
Starting Cassette ':tape'
Starting Apple //e ':'
  (missing dependencies; rescheduling)
Starting Speaker ':mono'
Starting Speaker ':sl4:mockingboard:lspeaker'
Starting Speaker ':sl4:mockingboard:rspeaker'
Starting Speaker ':sl6:diskiing:0:525:flopsndout'
Starting Speaker ':sl6:diskiing:1:525:flopsndout'
Starting Apple //e ':'


Code
Average speed: 100.00% (312 seconds)
sdl_kill: closing audio
Enter sdlwindow_exit
Leave sdlwindow_exit

1 member likes this: Golden Child
Joined: Feb 2014
Posts: 895
Likes: 58
G
Senior Member
OP Online Content
Senior Member
G
Joined: Feb 2014
Posts: 895
Likes: 58
Hi Mochamame,

I appreciate you trying on your system.

Code
(One thing I did try was -audiolatency 5) anything over 5 goes back to 25600

With -audiolatency 5

Audio: Start initialization
Audio: Driver is pulseaudio
Audio: frequency: 48000, channels: 2, samples: 256
sdl_create_buffers: creating stream buffer of 44032 bytes
Audio: End initialization

With -audiolatency 6

Audio: Start initialization
Audio: Driver is pulseaudio
Audio: frequency: 48000, channels: 2, samples: 256
sdl_create_buffers: creating stream buffer of 25600 bytes
Audio: End initialization
Debug Build: Disabling input grab for -debug



As far as I can remember, I don't think I've done anything to the standard setup. I look at /etc/pulse/daemon.conf and basically everything is commented out.


I was fiddling around, thinking about trying FreeBSD and looking at what ports they have, (they have mame 226, only 2 years old) and noticed they have some pulseaudio packages too, pavucontrol and pavumeter.

Looks like debian/ubuntu has the same packages.

So instaslling, then opening pavumeter I could see that mockingboard is generating audio even when the system is playing no sounds.

I must be sleep deprived because I was trying to disable the mockingboard with -sl3 "" and the mockingboard defaults to slot 4. Gotta use -sl4 "".

With mockingboard (default) and no audio playing:

(you can see there's a base level that's being played)

[Linked Image from i.imgur.com]


Without mockingboard: (hear no pops even on dropout)


[Linked Image from i.imgur.com]


And a sure fire way to have pops and crackles is to bring up the slider controls from the main UI. With all of the text drawing from the UI, this causes lots of underruns.

Multiple long texts like Speaker ':sl4:mockingboard:lspeaker' <- AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay1' Ch.0 Volume... it must take too long to keep up.


You know, come to think of it I've probably figured this out before if I go back through my old posts. I tend to forget things if I haven't done them for a year or so.



===============================


PS Rescue Raiders is one of the greatest games ever. If you figure out how to play, and especially if you have a Mach III Joystick on a USB to gameport adapter for that classic apple II feel, it is the best!

There's basically no sound in game except for clicks when men come out of the base. If you run the game in AppleWin (under wine) there's a version 1.3 that has mockingboard speech that says "Emergency Transmission Terrorists have been located in Cherbourg Prepare for Action".

btw you can "scan" for long range targets by holding both buttons, then moving up and down. When it finds a target that's in line with you horizontally, it will fire. You can also send long range missiles by refueling, popping up to fire missiles at ground level, and land right back on the refueling pad.

Quote
Rescue Raiders Help File
by Moose

The controls:

A Send out a Mobile Missile Launcher (truck)
T Send out a Tank
D Send out a Command Vehicle (van)
M Send out 4 Soldiers
E Send out 2 Engineers
H Buy another helicopter (i.e. a life)
Fire Btn 1 Shoot bullets (from helicopter)
Fire Btn 2 Drop bombss (from helicopter)
Fire Btn 1&2 Launch long range missile.
Usually works best when you are moving vertically
down. Firing these is awkward at best !! (When
using the keypad to emulate an Apple Joytick on
the PC, press both ALT keys.)
<ESC> Pause game and display current score.
C Display money left, bombs on helicopter,
long range missiles on helicopter,
number of helicopters (lives).
1-9 How fast to display the stats when "c" is pressed.
1 = slowly, 9 = fast. 7 is a good speed.

Joined: Mar 2009
Posts: 64
Likes: 1
M
Member
Offline
Member
M
Joined: Mar 2009
Posts: 64
Likes: 1
This is what I see with the mockingboard installed. Totally different. I don't understand why you have so much noise. Maybe something in your Alsa or Pulseaudio is turned way up beyond the normal hardware settings. What do you have in your mame.ini for audio? This is what I have. Did you try with -noautosave? Maybe you have some weird save state or .cfg file?

Code
#
# OSD SOUND OPTIONS
#
sound     auto
audio_latency     2

[img]https://imgur.com/a/VsdwZpQ[/img]

How do you post inline images here??

Last edited by mochamame; 11/04/22 05:39 AM.
Joined: Feb 2014
Posts: 895
Likes: 58
G
Senior Member
OP Online Content
Senior Member
G
Joined: Feb 2014
Posts: 895
Likes: 58
Hi Mocha,


I have no idea why it would be causing that much volume on the meter with an idle . This system started out as ubuntu 18.04 then I didn't use it for 4 years and recently upgraded it to 22.04.

I'm just using the onboard sound but it doesn't matter, I can use USB Audio headphones and it still gets the same.


Looking at mame.ini it all looks sane:

Code
less ~/.mame/mame.ini

#
# OSD SOUND OPTIONS
#
sound                     auto
audio_latency             2


I was studying the output of verbose and noticed that 0.249 shows you less information:

248 will tell me about the sampling rates:

Code
OpenGL: VBO supported
OpenGL: PBO supported
OpenGL: FBO supported
OpenGL: using vid filter: 0
Speaker ':mono' Ch.0 @ 48000
  Default Resampler ':mono' Ch.0 @ 48000
    Filtered DAC ':speaker' Ch.0 @ 48000
  Default Resampler ':mono' Ch.0 @ 48000
    Cassette ':tape' Ch.0 @ 48000
Speaker ':sl4:mockingboard:lspeaker' Ch.0 @ 48000
  Default Resampler ':sl4:mockingboard:lspeaker' Ch.0 @ 48000
    AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay1' Ch.0 @ 127840
  Default Resampler ':sl4:mockingboard:lspeaker' Ch.0 @ 48000
    AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay1' Ch.1 @ 127840
  Default Resampler ':sl4:mockingboard:lspeaker' Ch.0 @ 48000
    AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay1' Ch.2 @ 127840
  Default Resampler ':sl4:mockingboard:lspeaker' Ch.0 @ 48000
    Votrax SC-01 ':sl4:mockingboard:sc01' Ch.0 @ 56818
Speaker ':sl4:mockingboard:rspeaker' Ch.0 @ 48000
  Default Resampler ':sl4:mockingboard:rspeaker' Ch.0 @ 48000
    AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay2' Ch.0 @ 127840
  Default Resampler ':sl4:mockingboard:rspeaker' Ch.0 @ 48000
    AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay2' Ch.1 @ 127840
  Default Resampler ':sl4:mockingboard:rspeaker' Ch.0 @ 48000
    AY-3-8913 PSG ':sl4:mockingboard:mockbd_ay2' Ch.2 @ 127840
  Default Resampler ':sl4:mockingboard:rspeaker' Ch.0 @ 48000
    Votrax SC-01 ':sl4:mockingboard:sc01' Ch.0 @ 56818
Speaker ':sl6:diskiing:0:525:flopsndout' Ch.0 @ 48000
  Default Resampler ':sl6:diskiing:0:525:flopsndout' Ch.0 @ 48000
    Floppy sound ':sl6:diskiing:0:525:floppysound' Ch.0 @ 44100
Speaker ':sl6:diskiing:1:525:flopsndout' Ch.0 @ 48000
  Default Resampler ':sl6:diskiing:1:525:flopsndout' Ch.0 @ 48000
    Floppy sound ':sl6:diskiing:1:525:floppysound' Ch.0 @ 44100

249 says nothing:

Code
OpenGL: VBO supported
OpenGL: PBO supported
OpenGL: FBO supported
OpenGL: using vid filter: 0
GL texture: copy 1, shader 0, dynamic 1, 560x192 560x192 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 910,560/8192], bytes/pix 4
GL texture: copy 1, shader 0, dynamic 1, 560x192 560x192 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 910,560/8192], bytes/pix 4
Average speed: 88.12% (2 seconds)
sdl_kill: closing audio
Sound buffer: overflows=0 underflows=24


Just out of curiosity, you're on ubuntu?

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy


I always just click on the one that says BBCode click on copy, switch tabs, and then paste the link with CTRL+V:

[Linked Image from i.imgur.com]

Last edited by Golden Child; 11/04/22 03:57 PM.
Joined: Feb 2004
Posts: 2,413
Likes: 125
Very Senior Member
Online Content
Very Senior Member
Joined: Feb 2004
Posts: 2,413
Likes: 125
Looks like a debug build vs a non debug build, not a difference between 0.248 and 0.249.

Joined: Feb 2014
Posts: 895
Likes: 58
G
Senior Member
OP Online Content
Senior Member
G
Joined: Feb 2014
Posts: 895
Likes: 58
Oh ok, I was experimenting with running a debug build to get the profiler, didn't realize that it would give different verbose text. Thanks for the clarification, Vas.

Joined: Mar 2001
Posts: 16,942
Likes: 69
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 16,942
Likes: 69
Debug builds are also much more likely to have audio dropouts.

Joined: Mar 2009
Posts: 64
Likes: 1
M
Member
Offline
Member
M
Joined: Mar 2009
Posts: 64
Likes: 1
Originally Posted by Golden Child
This system started out as ubuntu 18.04 then I didn't use it for 4 years and recently upgraded it to 22.04.

Wow! Did you try deleting your ~/.pulse directory and restarting Pulseaudio? I think there was a lot of changes since 18.04. I'm on Ubuntu as well. I would do a thorough investigation on the various audio mixer settings available through Alsa and Pulseaudio, there are various GUIs and ncurses interfaces to look at these settings. There might be something boosted beyond the normal limits.

Joined: Mar 2009
Posts: 64
Likes: 1
M
Member
Offline
Member
M
Joined: Mar 2009
Posts: 64
Likes: 1
Did you figure out what was wrong? I was just messing around the other day and remembered that machines like qbert and asteroids make a lot of clicking sounds and have pulseaudio underruns if "waitvsync" is on. With "-nowaitvsync" the clicks and underruns go away but I get screen tearing which I really hate!

Joined: Feb 2014
Posts: 895
Likes: 58
G
Senior Member
OP Online Content
Senior Member
G
Joined: Feb 2014
Posts: 895
Likes: 58
Hi Mocha,

I was going to experiment with a few different systems and OSes to see if it was any difference in hardware. Unfortunately, I don't have the room to set up a bunch of my systems at the moment.

I did try a laptop that had a core i5-4300U @ 1.90 ghz with ubuntu 22.04.1 and it didn't seem to have a lot of the underruns.

lspci says that it has a "Haswell-ULT Integrated Graphics Controller" and a "Haswell-ULT HD Audio Controller".

It also has the mockingboard showing "activity" when it's idle.

Maybe other processes on the system are causing problems.



I wonder if it has something to do with other tasks running on the system like Firefox and having a bunch of windows and tabs open.,

Try xorg vs wayland
Try different cpu / sound hardware.


Hmmmm. I fired up audacity to monitor and record the sound, dropping out different channels in the Slider Controls and I noticed that leaving one channel of the AY8913 running it seems to create an intermittent signal: (edit: with -video opengl and the Slider Controls window active)

[Linked Image from i.imgur.com]

[Linked Image from i.imgur.com]

Left of the bar is it set to 2.0, right of the bar is it set to 1.0.

and if I turn the sound way up on my headphones, it sounds very poppy and crackly.

Putting mame on pause, then playing the sound recorded on a loop in Audacity with Shift+Space the sound is exactly the same pops and crackles.


Interestingly turning on channel 1 + 2 will give you a "straight line".

[Linked Image from i.imgur.com]

right of the line is channel 1 and 2 set to 1.0 with channel 0 set to 0.0.

edit:

Hmmmm. I noticed that it was kind of intermittent when I had the slider window open with all of the UI text under -video opengl.

Moving to -video bgfx with -video_backend opengl audacity records a straight line.

Toggling the UI with TAB and all the slider text (with -video opengl), you can see the levels "bouncing" slightly in pavucontrol.

Last edited by Golden Child; 11/16/22 12:46 PM.
Page 1 of 2 1 2

Moderated by  R. Belmont 

Link Copied to Clipboard
Who's Online Now
3 members (AJR, judge, Vas Crabb), 56 guests, and 1 robot.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,129
Posts119,632
Members5,026
Most Online890
Jan 17th, 2020
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com