Previous Thread
Next Thread
Print Thread
Page 5 of 7 1 2 3 4 5 6 7
Joined: Apr 2006
Posts: 821
Likes: 3
D
Senior Member
Senior Member
D Offline
Joined: Apr 2006
Posts: 821
Likes: 3
Just got back from AZ tonight. I will mess with it later.


W11 Home 64-bit + Nobara OS / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 64 GB
Joined: Apr 2006
Posts: 821
Likes: 3
D
Senior Member
Senior Member
D Offline
Joined: Apr 2006
Posts: 821
Likes: 3
OK I tried these. I got a ton of errors on tiny for testing to see what would happen.

Code
@source:cps1.cpp
1941
3wonders
area88
captcomm
cawing
chikij
daimakai
dino
dynwar
ffight
forgottn
ganbare
ghouls
knights
kod
lostwrld
mbombrd
megaman
mercs
msword
mtwins
nemo
pang3
pnickj
punisher
pokonyan
sf2
sf2ce
sf2hf
slammast
strider
unsquad
varth
willow
wof

Code
Converting src/mame/drivers/ymmu100.ppm...
'pkg-config' is not recognized as an internal or external command,
operable program or batch file.
'pkg-config' is not recognized as an internal or external command,
operable program or batch file.
'pkg-config' is not recognized as an internal or external command,
operable program or batch file.
'pkg-config' is not recognized as an internal or external command,
operable program or batch file.
'pkg-config' is not recognized as an internal or external command,
operable program or batch file.
'pkg-config' is not recognized as an internal or external command,
operable program or batch file.
'pkg-config' is not recognized as an internal or external command,
operable program or batch file.

/////////////////////////////////////////////

Compiling generated/mame/tiny/drivlist.cpp...
Linking libmain.so...
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_1941'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_3wonders'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_area88'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_captcomm'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_cawing'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_chikij'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_daimakai'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_dino'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_dynwar'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_ffight'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_forgottn'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_ganbare'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_ghouls'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_knights'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_kod'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_lostwrld'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_mbombrd'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_megaman'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_mercs'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_msword'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_mtwins'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_nemo'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_pang3'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_pnickj'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_pokonyan'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_punisher'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_sf2'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_sf2ce'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_sf2hf'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_slammast'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_strider'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_unsquad'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_varth'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_willow'
../../../../android-arm/obj/Release/generated/mame/tiny/drivlist.o:../../../../generated/mame/tiny/drivlist.cpp:driver_list::s_drivers_sorted: error: undefined reference to 'driver_wof'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
mametiny.make:239: recipe for target '../../../../../android-project/app/src/main/libs/armeabi-v7a/libmain.so' failed
make[2]: *** [../../../../../android-project/app/src/main/libs/armeabi-v7a/libmain.so] Error 1
makefile:94: recipe for target 'mametiny' failed
make[1]: *** [mametiny] Error 2
makefile:1049: recipe for target 'android-arm' failed
make: *** [android-arm] Error 2

[MINGW64] C:\source>Converting src/mame/drivers/ymmu100.ppm...
'Converting' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>'pkg-config' is not recognized as an internal or external command,
''pkg-config'' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>operable program or batch file.
'operable' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>'pkg-config' is not recognized as an internal or external command,
''pkg-config'' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>operable program or batch file.
'operable' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>'pkg-config' is not recognized as an internal or external command,
''pkg-config'' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>operable program or batch file.
'operable' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>'pkg-config' is not recognized as an internal or external command,
''pkg-config'' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>operable program or batch file.
'operable' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>'pkg-config' is not recognized as an internal or external command,
''pkg-config'' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>operable program or batch file.
'operable' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>'pkg-config' is not recognized as an internal or external command,
''pkg-config'' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>operable program or batch file.
'operable' is not recognized as an internal or external command,
operable program or batch file.

[MINGW64] C:\source>'pkg-config' is not recognized as an internal or external command,
''pkg-config'' is not recognized as an internal or external command,
operable program or batch file.

Look like the problem is the pkg-config and some others that is listed.

////////////////////////////////////////////////////////////

Stuck with these for now.

Code
// license:BSD-3-Clause
// copyright-holders:Aaron Giles
/******************************************************************************

    tiny.lst

    List of all enabled drivers in the system. This file is parsed by
    makelist.exe, sorted, and output as C code describing the drivers.

******************************************************************************/

robby           // (c) 1981 Bally Midway
gridlee         // [1983 Videa] prototype - no copyright notice
alienar         // (c) 1985 Duncan Brown

carpolo         // (c) 1977 Exidy
sidetrac        // (c) 1979 Exidy
targ            // (c) 1980 Exidy
spectar         // (c) 1980 Exidy
teetert         // (c) 1982 Exidy
hardhat         // (c) 1982
fax             // (c) 1983
fax2            // (c) 1983
circus          // (c) 1977 Exidy
robotbwl        // (c) 197? Exidy
crash           // (c) 1979 Exidy
ripcord         // (c) 1979 Exidy
starfire        // (c) 1979 Exidy
starfirea       // (c) 1979 Exidy
fireone         // (c) 1979 Exidy
starfir2        // (c) 1979 Exidy
victory         // (c) 1982
victorba        // (c) 1982
topgunnr        // (c) 1986

looping         // (c) 1982 Video Games GMBH
supertnk        // (c) 1981 VIDEO GAMES GmbH, W.-GERMANY

wrally          // (c) 1993 - Ref 930705

It might be because these are config somewhere else in the source.


W11 Home 64-bit + Nobara OS / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 64 GB
Joined: Jun 2015
Posts: 55
N
NLS
Offline
Member
Member
N Offline
Joined: Jun 2015
Posts: 55
Did you try without subtarget tiny also?

Joined: Apr 2006
Posts: 821
Likes: 3
D
Senior Member
Senior Member
D Offline
Joined: Apr 2006
Posts: 821
Likes: 3
Yep while back before left town. Same errors.

Nothing can do about it. That tiny source probably need to be updated. I don't think anyone mess with it in a while. Reason why I stop messing with it now.

If you look in the mame.lst and tiny.lst. You can see those run different. For example.

mame.lst show @source:....cpp.

tiny.lst doesn't show any @source:....cpp.

I think that is why tiny won't work on others. Beside you can't make Android builds without tiny anyway.

Unless I'm doing something wrong then MAMEDev will let me know. I'm not for sure MAMEDev is looking into it or not.

Just is looking into the touch screen support.


W11 Home 64-bit + Nobara OS / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 64 GB
Joined: Apr 2006
Posts: 821
Likes: 3
D
Senior Member
Senior Member
D Offline
Joined: Apr 2006
Posts: 821
Likes: 3
Guest what. I found out why it won't work on other games. You have to add links to the drivers and such onto the tiny.lua first then add what games you want to make from the tiny.lst. I did a search today on this.

scripts/target/mame/tiny.lua

Code
-- license:BSD-3-Clause
-- copyright-holders:MAMEdev Team

---------------------------------------------------------------------------
--
--   tiny.lua
--
--   Small driver-specific example makefile
--   Use make SUBTARGET=tiny to build
--
---------------------------------------------------------------------------


--------------------------------------------------
-- Specify all the CPU cores necessary for the
-- drivers referenced in tiny.lst.
--------------------------------------------------

CPUS["Z80"] = true
CPUS["M6502"] = true
CPUS["MCS48"] = true
CPUS["MCS51"] = true
CPUS["M6800"] = true
CPUS["M6809"] = true
CPUS["M680X0"] = true
CPUS["TMS9900"] = true
CPUS["COP400"] = true

--------------------------------------------------
-- Specify all the sound cores necessary for the
-- drivers referenced in tiny.lst.
--------------------------------------------------

SOUNDS["SAMPLES"] = true
SOUNDS["DAC"] = true
SOUNDS["DISCRETE"] = true
SOUNDS["AY8910"] = true
SOUNDS["YM2151"] = true
SOUNDS["ASTROCADE"] = true
SOUNDS["TMS5220"] = true
SOUNDS["OKIM6295"] = true
SOUNDS["HC55516"] = true
SOUNDS["YM3812"] = true
SOUNDS["CEM3394"] = true
SOUNDS["VOTRAX"] = true

--------------------------------------------------
-- specify available video cores
--------------------------------------------------

--------------------------------------------------
-- specify available machine cores
--------------------------------------------------

MACHINES["6821PIA"] = true
MACHINES["TTL74148"] = true
MACHINES["TTL74153"] = true
MACHINES["TTL7474"] = true
MACHINES["RIOT6532"] = true
MACHINES["PIT8253"] = true
MACHINES["Z80CTC"] = true
MACHINES["68681"] = true
MACHINES["BANKDEV"] = true
MACHINES["WATCHDOG"] = true


--------------------------------------------------
-- specify available bus cores
--------------------------------------------------

BUSES["CENTRONICS"] = true

--------------------------------------------------
-- This is the list of files that are necessary
-- for building all of the drivers referenced
-- in tiny.lst
--------------------------------------------------

function createProjects_mame_tiny(_target, _subtarget)
	project ("mame_tiny")
	targetsubdir(_target .."_" .. _subtarget)
	kind (LIBTYPE)
	uuid (os.uuid("drv-mame-tiny"))
	addprojectflags()
	precompiledheaders()

	includedirs {
		MAME_DIR .. "src/osd",
		MAME_DIR .. "src/emu",
		MAME_DIR .. "src/devices",
		MAME_DIR .. "src/mame",
		MAME_DIR .. "src/lib",
		MAME_DIR .. "src/lib/util",
		MAME_DIR .. "3rdparty",
		GEN_DIR  .. "mame/layout",
	}

files{
	MAME_DIR .. "src/mame/machine/ticket.cpp",
	MAME_DIR .. "src/mame/machine/ticket.h",
	MAME_DIR .. "src/mame/drivers/carpolo.cpp",
	MAME_DIR .. "src/mame/includes/carpolo.h",
	MAME_DIR .. "src/mame/machine/carpolo.cpp",
	MAME_DIR .. "src/mame/video/carpolo.cpp",
	MAME_DIR .. "src/mame/drivers/circus.cpp",
	MAME_DIR .. "src/mame/includes/circus.h",
	MAME_DIR .. "src/mame/audio/circus.cpp",
	MAME_DIR .. "src/mame/video/circus.cpp",
	MAME_DIR .. "src/mame/drivers/exidy.cpp",
	MAME_DIR .. "src/mame/includes/exidy.h",
	MAME_DIR .. "src/mame/audio/exidy.cpp",
	MAME_DIR .. "src/mame/audio/exidy.h",
	MAME_DIR .. "src/mame/video/exidy.cpp",
	MAME_DIR .. "src/mame/audio/exidy440.cpp",
	MAME_DIR .. "src/mame/audio/exidy440.h",
	MAME_DIR .. "src/mame/drivers/starfire.cpp",
	MAME_DIR .. "src/mame/includes/starfire.h",
	MAME_DIR .. "src/mame/video/starfire.cpp",
	MAME_DIR .. "src/mame/drivers/vertigo.cpp",
	MAME_DIR .. "src/mame/includes/vertigo.h",
	MAME_DIR .. "src/mame/machine/vertigo.cpp",
	MAME_DIR .. "src/mame/video/vertigo.cpp",
	MAME_DIR .. "src/mame/drivers/victory.cpp",
	MAME_DIR .. "src/mame/includes/victory.h",
	MAME_DIR .. "src/mame/video/victory.cpp",
	MAME_DIR .. "src/mame/audio/targ.cpp",
	MAME_DIR .. "src/mame/drivers/astrocde.cpp",
	MAME_DIR .. "src/mame/includes/astrocde.h",
	MAME_DIR .. "src/mame/video/astrocde.cpp",
	MAME_DIR .. "src/mame/drivers/gridlee.cpp",
	MAME_DIR .. "src/mame/includes/gridlee.h",
	MAME_DIR .. "src/mame/audio/gridlee.cpp",
	MAME_DIR .. "src/mame/video/gridlee.cpp",
	MAME_DIR .. "src/mame/drivers/williams.cpp",
	MAME_DIR .. "src/mame/includes/williams.h",
	MAME_DIR .. "src/mame/machine/williams.cpp",
	MAME_DIR .. "src/mame/audio/williams.cpp",
	MAME_DIR .. "src/mame/audio/williams.h",
	MAME_DIR .. "src/mame/video/williams.cpp",
	MAME_DIR .. "src/mame/audio/gorf.cpp",
	MAME_DIR .. "src/mame/audio/wow.cpp",
	MAME_DIR .. "src/mame/drivers/gaelco.cpp",
	MAME_DIR .. "src/mame/includes/gaelco.h",
	MAME_DIR .. "src/mame/video/gaelco.cpp",
	MAME_DIR .. "src/mame/machine/gaelcrpt.cpp",
	MAME_DIR .. "src/mame/drivers/wrally.cpp",
	MAME_DIR .. "src/mame/includes/wrally.h",
	MAME_DIR .. "src/mame/machine/wrally.cpp",
	MAME_DIR .. "src/mame/video/wrally.cpp",
	MAME_DIR .. "src/mame/drivers/looping.cpp",
	MAME_DIR .. "src/mame/drivers/supertnk.cpp",
}
end

function linkProjects_mame_tiny(_target, _subtarget)
	links {
		"mame_tiny",
	}
end

Since I saw Williams already on that list then I gonna try out the Defender to see it will work.

//Update//

Look like it works.

Code
Compiling generated/mame/tiny/drivlist.cpp...
Linking libmain.so...

[MINGW64] C:\source>

No linking error.

Last edited by Dullaron; 05/26/16 09:53 PM. Reason: Working...

W11 Home 64-bit + Nobara OS / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 64 GB
Joined: Apr 2006
Posts: 821
Likes: 3
D
Senior Member
Senior Member
D Offline
Joined: Apr 2006
Posts: 821
Likes: 3
My Android 5.1.2 is having a problem saving the paths.

Why is the path set at $HOME/.mame (for Linux) on default instead of 0/.mame (for Android)?

Where is the .mame path at anyway?


W11 Home 64-bit + Nobara OS / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 64 GB
Joined: Jun 2015
Posts: 55
N
NLS
Offline
Member
Member
N Offline
Joined: Jun 2015
Posts: 55
0/.mame is not correct also. It's not the same for all devices.
I think it should work with relative paths from the app's own directory.
Also the app needs to be movable to SD (maybe it already is, I haven't tested).

Joined: May 2008
Posts: 4,930
Likes: 24
Q
Very Senior Member
Very Senior Member
Q Offline
Joined: May 2008
Posts: 4,930
Likes: 24
$HOME/.mame is just one of the default ini-paths... "." (the current working directory) is another default ini-path, and the folder "ini" in the current working directory is the third one. One of these should work fine for everyone, otherwise overwrite it on the command line (through "-inipath <inipath>").


A mind is like a parachute. It doesn't work unless it's open. [Frank Zappa]
Joined: Apr 2006
Posts: 821
Likes: 3
D
Senior Member
Senior Member
D Offline
Joined: Apr 2006
Posts: 821
Likes: 3
The problem is the MAME can't save the paths. If you close it then it reset to $HOME/.mame, roms and ini. I don't know why it can't remember where it saved the files are at after change the paths.

I read somewhere the paths should be saving in the /data/data/"What ever the name of the apk folder is at. Not the apk but the saving files. The apk is saved somewhere else."

MAME4ALL and MAME4Droid doesn't have this issue. It will ask you want it to auto change the paths if it seeing the paths is blocked somewhere else. It did create the files and saved onto the storage/emulated/0/mame4all after I chick Yes. Don't believe me then go check it out. smile

Oh I got the defender to work. But it having a strange sounds issue on top of it sounds.


W11 Home 64-bit + Nobara OS / AMD Radeon RX 5700 XT / AMD Ryzen 7 3700X 8-Core 3.59 GHz / RAM 64 GB
Joined: Mar 2001
Posts: 17,262
Likes: 267
R
Very Senior Member
Very Senior Member
R Offline
Joined: Mar 2001
Posts: 17,262
Likes: 267
Android is not yet a supported platform; this is one of hundreds of reasons why it's simply a developer alpha. If you build and use it, it is purely at your own risk.

Page 5 of 7 1 2 3 4 5 6 7

Moderated by  R. Belmont 

Link Copied to Clipboard
Who's Online Now
1 members (1 invisible), 125 guests, and 4 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,364
Posts122,482
Members5,082
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Powered by UBB.threads™ PHP Forum Software 8.0.0