[Scummvm-git-logs] scummvm master -> d60f94912155acb1591daa2aa5becb8178ff18df

sev- noreply at scummvm.org
Wed Jun 22 21:38:21 UTC 2022


This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
9da200007e DIRECTOR: Add detection entries for multiple demos and games
356e1264df DIRECTOR: Add stubbed AppleCD, Barake, JITDraw3 and MiscX XObjs; add more functions to memoryxobj and flushxobj
7a54ff26f7 DIRECTOR: Add Pippin platform
89dc9cf9db DIRECTOR: Fix snh patches
1e46a61853 DIRECTOR: +I Saw A Strange Little Man; The Nobel Prize: 100 Years of Creativity and Innovation
cb291ef2c1 DIRECTOR: +Classic Arcade, Virtual Jackpot Gold
f9e16e59ed DIRECTOR: +Casino 5 Pack; fix dumpChunk bug where getResource can return nullpointer
d60f949121 DIRECTOR: jitdraw3: Add note where it's used


Commit: 9da200007e1dea29874c696cb5da3a231ed0ee20
    https://github.com/scummvm/scummvm/commit/9da200007e1dea29874c696cb5da3a231ed0ee20
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2022-06-22T23:38:15+02:00

Commit Message:
DIRECTOR: Add detection entries for multiple demos and games
including:
demos from Software Buyer's Guide (v7n1)
demo from Your Computer - Hardware and Software Buyers Guide (Australian Windows Publishing) (1997)
Neon Genesis Evangelion: EVA-00 Paper Figure
Spelunx GameTap/Steam remaster

Changed paths:
    engines/director/detection_paths.h
    engines/director/detection_tables.h


diff --git a/engines/director/detection_paths.h b/engines/director/detection_paths.h
index 88099036a86..3b2217008cc 100644
--- a/engines/director/detection_paths.h
+++ b/engines/director/detection_paths.h
@@ -68,11 +68,10 @@ const char *directoryGlobs[] = {
 	"endsoung",
 	"gerhelp",
 	"gervideo",
-	"mausejagd mit ton",			// Rename from Mäusejagd mit Ton
+	"xn--Musejagd mit Ton-vnb",		// GGMD German
 	"music",
 	"solos",
 	"sounds",
-	"startsnd",						// GGMD German
 	"duthelp",
 	"dutvideo",
 	"endsound",
@@ -178,6 +177,8 @@ const char *directoryGlobs[] = {
 	"wincurio",						// Curio City
 	"a.d.a.m. the inside story 1.1", // ADAM
 	"nine month miracle 1.0",		// Nine Month Miracle
+	"_A.D.A.M. Data",				// ADAM Software Products
+	"_A.D.A.M.  Data",				// ADAM Software Products with more space
 	"_setup",
 	"bin",
 	"adam resources",				// ADAM Software Products
@@ -190,6 +191,25 @@ const char *directoryGlobs[] = {
 	"Subotnick Hummingbirds",		// All My Hummingbirds Have Alibis
 	"Silly Noisy House Folder",		// A Silly Noisy House
 	"Installer Files",				// Encarta '95
+	"BEATEXP",						// The Beat Experience (Windows)
+	"xn--Invisible Universe -ere",	// Invisible Universe (Mac) ("Invisible Universe Æ’")
+	"UNIVERSE",						// Invisible Universe (Win)
+	"Treasures of the AMNH",		// Treasures of the American Museum of Natural History (Mac)
+	"TAMNH",						// Treasures of the American Museum of Natural History (Win)
+	"xn--Sacred and Secular -ere",	// Sacred and Secular (Mac) ("Sacred and Secular Æ’")
+	"SACRED",						// Sacred and Secular (Win)
+	"McLuhan Folder",				// Understanding McLuhan (Mac)
+	"MCLUHAN",						// Understanding McLuhan (Win)
+	"Dracula - Truth and Terror",	// Dracula: Truth and Terror (Mac)
+	"DRACULA",						// Dracula: Truth and Terror (Win)
+	"The Louvre for Kids",			// The Louvre Museum (Mac)
+	"LOUVRE",						// The Louvre Museum (Win)
+	"Trinity",						// The Day After Trinity
+	"Puppet Motel Folder",			// Puppet Motel (Mac)
+	"PUPPET",						// Puppet Motel (Win)
+	"THEATRE",						// Theatre of the Imagination (Win)
+	"Daedalus Max",					// The Daedalus Encounter
+	"STARTREK",						// Star Trek: The Next Generation Interactive Technical Manual
 	0
 };
 
diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 5751386ec99..79a5e39c7e8 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -38,7 +38,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "10plus2",			"10+2" },
 	{ "1stcdtoddler",		"My First CD-ROM: Toddler School" },
 	{ "3bessones",			"Les Tres Bessones: Jugar i Aprendre" }, // Catalan title, English selectable in game
-	{ "abclunch",		    "My Alphabet Lunch" },
+	{ "abclunch",			"My Alphabet Lunch" },
 	{ "abcpacovska",		"Alphabet: Play with the ABCs"},
 	{ "abcpalsafety",		"Safety Scavenger Hunt" }, // Alphabet Pals
 	{ "abductthis",			"Abduct This!" },
@@ -57,8 +57,8 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "arcofdoom",			"Arc of Doom" },
 	{ "artofmagic",			"Learn the Art of Magic with Jay Alexander" },
 	{ "artrageous",			"ArtRageous!" },
-	{ "atvrally",			"ATV Rally" },
 	{ "artus1",				"Artus against the Demon of the Museum" },
+	{ "atvrally",			"ATV Rally" },
 	{ "babarcoins",			"Babar and the Royal Coin Caper" },
 	{ "babesintoyland",		"Babes in Toyland: An Interactive Adventure" },
 	{ "backpackerjr",		"BackPacker Junior" },
@@ -77,11 +77,12 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "beautyorbeast",		"Beauty or the Beast" },
 	{ "betterd",			"The Better Dead Ratification" },
 	{ "beyondthewall",		"Beyond the Wall of Stars" },
-	{ "biblechamps", 		"Bible Champions: The Birth of Jesus" },
-	{ "birdlife",     		"Shelley Duvall's It's a Bird's Life" },
+	{ "biblechamps",		"Bible Champions: The Birth of Jesus" },
+	{ "birdlife",			"Shelley Duvall's It's a Bird's Life" },
+	{ "blinddate",			"National Lampoon's Blind Date" },
 	{ "blinkybill1",		"Blinky Bill's Ghost Cave" },
-	{ "blinkyps",			"Blinky Bill: Play and Learn - Preschool" },
 	{ "blinkyk1",			"Blinky Bill: Play and Learn - Kindergarten" },
+	{ "blinkyps",			"Blinky Bill: Play and Learn - Preschool" },
 	{ "blinkyy1",			"Blinky Bill: Play and Learn - Year 1" },
 	{ "bobcastle",			"Bob the Builder: Bob's Castle Adventure" },
 	{ "bodypark",			"Body Park" },
@@ -100,13 +101,13 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "cclown",				"A Color Clown Comes to Town" },
 	{ "ceremony",			"Ceremony of Innocence" },
 	{ "chaos",				"The C.H.A.O.S. Continuum" },
-	{ "checkersvillage",   	"Checkers' Village" },
-	{ "chopsuey",   		"Chop Suey" },
+	{ "checkersvillage",	"Checkers' Village" },
+	{ "chopsuey",			"Chop Suey" },
 	{ "circus",				"Circus!" },
-	{ "connections",   		"Connections" },
-	{ "cracking",   		"Cracking the Conspiracy" },
-	{ "crusader",   		"Crusader: A Conspiracy in the Kingdom of Jerusalem" },
-	{ "crusader2000",   	"Crusader: Edition 2000" },
+	{ "connections",		"Connections" },
+	{ "cracking",			"Cracking the Conspiracy" },
+	{ "crusader",			"Crusader: A Conspiracy in the Kingdom of Jerusalem" },
+	{ "crusader2000",		"Crusader: Edition 2000" },
 	{ "crystalskull",		"The Crystal Skull" },
 	{ "daedalus",			"The Daedalus Encounter" },
 	{ "darkeye",			"The Dark Eye" },
@@ -129,8 +130,8 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "erdisaster",			"Emergency Room: Disaster Strikes" },
 	{ "exploder",			"Winblows Exploder" },
 	{ "fct",				"Big Top's Cartoon Toolbox Starring Felix the Cat" },
-	{ "fctplayer",			"Felix Cartoon Player" },
 	{ "fctexport",			"Felix's Cartoon Transformer" },
+	{ "fctplayer",			"Felix Cartoon Player" },
 	{ "fff",				"Four Footed Friends" },
 	{ "fishwish",			"The Fish Who Could Wish" },
 	{ "flipper",			"Flipper" },
@@ -138,21 +139,23 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "flipper2",           "Flipper & Lopaka: Secrets of the Deep" },
 	{ "foocastle",			"Foo Castle" },
 	{ "forestia",			"Forestia: The Great Adventure" },
-	{ "fpairport",			"Fisher-Price Little People: Discovery Airport" },
-	{ "fpbaxter",			"Fisher-Price Read & Play: Baxter's Birthday" },
-	{ "fpcastle2",			"Great Adventures by Fisher-Price: Castle (1998)" },
-	{ "fpcon",				"Fisher-Price Big Action Construction" },
+	{ "fpbacon",			"Fisher-Price Big Action Construction" },
+	{ "fpbagarage",			"Fisher-Price Big Action Garage" },
 	{ "fpdollhouse",		"Fisher-Price Time to Play: Grand Dollhouse" },
-	{ "fpgarage",			"Fisher-Price Big Action Garage" },
-	{ "fppirates",			"Great Adventures by Fisher-Price: Pirates" },
-	{ "fpreadyt",			"Fisher-Price Ready for School: Toddler" },
-	{ "fpreadyk",			"Fisher-Price Ready for School: Kindergarten" },
+	{ "fpgacastle2",		"Great Adventures by Fisher-Price: Castle (1998)" },
+	{ "fpgapirates",		"Great Adventures by Fisher-Price: Pirates" },
+	{ "fpgawestern",		"Great Adventures by Fisher-Price: Wild Western Town" },
+	{ "fplit",				"Fisher-Price Learning in Toyland" },
+	{ "fplpairport",		"Fisher-Price Little People: Discovery Airport" },
+	{ "fplpxmas",			"Fisher-Price Little People: Christmas Activity Center" },
 	{ "fpready1",			"Fisher-Price Ready for School: First Grade" },
-	{ "fpwestern",			"Great Adventures by Fisher-Price: Wild Western Town" },
-	{ "fpxmas",				"Fisher-Price Little People: Christmas Activity Center" },
-	{ "fpyolanda",			"Fisher-Price Read & Play: Yolanda Yellsalot" },
-	{ "frankenstein",		"Frankenstein: Through the Eyes of the Monster" },
+	{ "fpreadyk",			"Fisher-Price Ready for School: Kindergarten" },
+	{ "fpreadyp",			"Fisher-Price Ready for Preschool" },
+	{ "fpreadyt",			"Fisher-Price Ready for School: Toddler" },
+	{ "fprpbaxter",			"Fisher-Price Read & Play: Baxter's Birthday" },
+	{ "fprpyolanda",		"Fisher-Price Read & Play: Yolanda Yellsalot" },
 	{ "frankac",			"Franklin's Activity Center" },
+	{ "frankenstein",		"Frankenstein: Through the Eyes of the Monster" },
 	{ "franklm",			"Franklin Learns Math" },
 	{ "frankrw",			"Franklin's Reading World" },
 	{ "freakshow",			"Freak Show" },
@@ -172,8 +175,8 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "ggmdmaze",			"The Great Green Mouse Disaster: Mouse Maze" },
 	{ "ggmdpics",			"The Great Green Mouse Disaster: Gallery" },
 	{ "ggmdsuper",			"The Great Green Mouse Disaster: Super Game" },
-	{ "gigglecity",   		"Infinity City" },
-	{ "gigglefarm",   		"AlphaBonk Farm" },
+	{ "gigglecity",			"Infinity City" },
+	{ "gigglefarm",			"AlphaBonk Farm" },
 	{ "giggletour",			"The Gigglebone Gang World Tour" },
 	{ "gigglevania",		"Pantsylvania: The Kingdom of the Fancy Pants" },
 	{ "goldilocks",			"Goldilocks Gamebook" },
@@ -193,26 +196,26 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "hhouse",				"Gahan Wilson's The Ultimate Haunted House" },
 	{ "hkbigfun",			"Hello Kitty Big Fun Deluxe" },
 	{ "horrortour1",		"Zeddas: Servant of Sheol" },
-	{ "hotwheelscamaro",		"Hot Wheels Computer Cars - '93 Camaro" },
+	{ "hotwheelscamaro",	"Hot Wheels Computer Cars - '93 Camaro" },
 	{ "hotwheelshydro",		"Hot Wheels Computer Cars - Hydroplane" },
-	{ "hotwheelsmustang",		"Hot Wheels Computer Cars - 1996 Mustang GT" },
-	{ "hotwheelspistons",		"Hot Wheels Computer Cars - Power Pistons" },
+	{ "hotwheelsmustang",	"Hot Wheels Computer Cars - 1996 Mustang GT" },
+	{ "hotwheelspistons",	"Hot Wheels Computer Cars - Power Pistons" },
 	{ "hotwheelsrigor",		"Hot Wheels Computer Cars - Rigor Motor" },
-	{ "hotwheelswiener",		"Hot Wheels Computer Cars - Oscar Mayer Wienermobile" },
-	{ "id4p1",     			"iD4 Mission Disk 1 - Alien Supreme Commander" },
-	{ "id4p2",      		"iD4 Mission Disk 2 - Alien Science Officer" },
-	{ "id4p3",      		"iD4 Mission Disk 3 - Warrior Alien" },
-	{ "id4p4",      		"iD4 Mission Disk 4 - Alien Navigator" },
-	{ "id4p5",      		"iD4 Mission Disk 5 - Captain Steve Hiller" },
-	{ "id4p6",      		"iD4 Mission Disk 6 - Dave's Computer" },
-	{ "id4p7",      		"iD4 Mission Disk 7 - President Whitmore" },
-	{ "id4p8",      		"iD4 Mission Disk 8 - Alien Attack Fighter" },
-	{ "id4p9",      		"iD4 Mission Disk 9 - FA-18 Fighter Jet" },
-	{ "id4p10",     		"iD4 Mission Disk 10 - Alien Bomber" },
-	{ "id4p11",     		"iD4 Mission Disk 11 - Area 51" },
-	{ "improv",     		"Don't Quit Your Day Job" },
-	{ "ingenious",     		"Ingenious!" },
-	{ "ingenioused",     	"Ingenious! Education Resources" },
+	{ "hotwheelswiener",	"Hot Wheels Computer Cars - Oscar Mayer Wienermobile" },
+	{ "id4p1",				"iD4 Mission Disk 1 - Alien Supreme Commander" },
+	{ "id4p2",				"iD4 Mission Disk 2 - Alien Science Officer" },
+	{ "id4p3",				"iD4 Mission Disk 3 - Warrior Alien" },
+	{ "id4p4",				"iD4 Mission Disk 4 - Alien Navigator" },
+	{ "id4p5",				"iD4 Mission Disk 5 - Captain Steve Hiller" },
+	{ "id4p6",				"iD4 Mission Disk 6 - Dave's Computer" },
+	{ "id4p7",				"iD4 Mission Disk 7 - President Whitmore" },
+	{ "id4p8",				"iD4 Mission Disk 8 - Alien Attack Fighter" },
+	{ "id4p9",				"iD4 Mission Disk 9 - FA-18 Fighter Jet" },
+	{ "id4p10",				"iD4 Mission Disk 10 - Alien Bomber" },
+	{ "id4p11",				"iD4 Mission Disk 11 - Area 51" },
+	{ "improv",				"Don't Quit Your Day Job" },
+	{ "ingenious",			"Ingenious!" },
+	{ "ingenioused",		"Ingenious! Education Resources" },
 	{ "ironhelix",			"Iron Helix" },
 	{ "isis",				"Isis" },
 	{ "ispy",				"I Spy" },
@@ -222,17 +225,17 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "jewels2",			"Gems of Darkness" }, // Jewels II
 	{ "jman",				"The Journeyman Project" },
 	{ "jman2",				"The Journeyman Project 2: Buried in Time" },
-	{ "jmmd",       		"Just Me & My Dad" },
+	{ "jmmd",				"Just Me & My Dad" },
 	{ "js123",				"JumpStart Numbers" },
 	{ "jsabc",				"JumpStart ABC's" },
 	{ "jsmusic",			"JumpStart Music" },
 	{ "jsspanish",			"JumpStart Spanish" },
-	{ "jsworldp",			"JumpStart World: Preschool" },
-	{ "jsworldk",			"JumpStart World: Kindergarten" },
 	{ "jsworld1",			"JumpStart World: First Grade" },
 	{ "jsworld1t",			"JumpStart World: Teacher Control Panel 1st Grade" },
 	{ "jsworld2",			"JumpStart World: Second Grade" },
 	{ "jsworld2t",			"JumpStart World: Teacher Control Panel 2nd Grade" },
+	{ "jsworldk",			"JumpStart World: Kindergarten" },
+	{ "jsworldp",			"JumpStart World: Preschool" },
 	{ "jumpaheadss2000at",  "Jump Ahead Starting School 2000: Assessment Test" },
 	{ "jumpaheadss2000wb",  "Jump Ahead Starting School 2000: Workbook" },
 	{ "karma",				"Karma: Curse of the 12 Caves" },
@@ -241,6 +244,8 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "kidsmathsquest",		"Kid's Maths Quest" },
 	{ "kingandi",			"The King and I: Animated Thinking Adventure" },
 	{ "korkydragons",		"Dragons" },
+	{ "kothhoot",			"King of the Hill: Hootenany" },
+	{ "koththunt",			"King of the Hill: Texas Hunting" },
 	{ "kyoto",				"Cosmology of Kyoto" },
 	{ "lbkinder",			"Maurice Sendak's Little Bear Kindergarten Thinking Adventures" },
 	{ "lbpre",				"Maurice Sendak's Little Bear Preschool Thinking Adventures" },
@@ -255,22 +260,23 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "madtg",				"Madeline Thinking Games" },
 	{ "majestic",			"Majestic Part I: Alien Encounter" },
 	{ "maniacsports",		"Maniac Sports" },
+	{ "martian",			"Ray Bradbury's The Martian Chronicles Adventure Game" },
 	{ "mask",				"The Mask: The Origin" },
 	{ "mastermansion",		"Masterpiece Mansion" },
 	{ "mastermansionex",	"Masterpiece Mansion: Art Explorer" },
+	{ "mathacejr",			"Math Ace Jr." },  // aka Bit-Bot's Math Voyage
 	{ "mathmystery",		"Math Blaster Mystery: The Great Brain Robbery" },
-	{ "martian",			"Ray Bradbury's The Martian Chronicles Adventure Game" },
 	{ "maze",				"The Riddle of the Maze" },
 	{ "mckenzie",			"McKenzie & Co." },
 	{ "mckenziemf",			"McKenzie & Co.: More Friends" }, // Expansion for McKenzie & Co.
 	{ "mcluhan",			"Understanding McLuhan" },
 	{ "mcmillennium",		"Mission Code: Millennium" },
 	{ "mediaband",			"Meet MediaBand" },
-	{ "melements",			"Masters of the Elements" },
 	{ "meetchuck",			"Meet Chuck" },
+	{ "melements",			"Masters of the Elements" },
 	{ "mentalmaths",		"Mental Maths Booster" },
-	{ "miareading1",		"Mia's Reading Adventure: The Search for Grandma's Remedy" },
 	{ "miamath",			"Mia's Math Adventure: Just in Time!" },
+	{ "miareading1",		"Mia's Reading Adventure: The Search for Grandma's Remedy" },
 	{ "mickeyk",			"Mickey Mouse Kindergarten" },
 	{ "mickeyp",			"Mickey Mouse Preschool" },
 	{ "mickeyt",			"Mickey Mouse Toddler" },
@@ -279,6 +285,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "milo",				"Milo" },
 	{ "milomagical",		"Milo and the Magical Stones" },
 	{ "mirage",				"Mirage" },
+	{ "missionplanetx",		"Mission To Planet X: Internet Coach for Kids" },
 	{ "mmalgebra",			"Multimedia Algebra" },
 	{ "mmiqtest",			"Multimedia IQ Test" },
 	{ "mmmath3",			"Mission Masters Math Grade 3: Defeat Dirty D!" },
@@ -290,6 +297,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "murdermagic",		"The Magic Death" },
 	{ "murdersam",			"Who Killed Sam Rupert?" },
 	{ "murdertaylor",		"Who Killed Taylor French? The Case of the Undressed Reporter" },
+	{ "myfavmonster",		"My Favourite Monster" },
 	{ "myfirstwords",		"My First Reading & Spelling Words" },
 	{ "mylk",				"Mylk" },
 	{ "necrobius",			"Necrobius" },
@@ -310,7 +318,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "noir",				"Noir: A Shadowy Thriller" },
 	{ "nurseryrhymes",		"Multimedia Nursery Rhymes" },
 	{ "okay2000",			"O!Kay! Best of 2000" },
-	{ "okaydemo",			"O!Kay! Probier\' mal! Try out!" },
+	{ "okaydemo",			"O!Kay! Probier' mal! Try out!" },
 	{ "okaydownunder",		"O!Kay! Down Under" },
 	{ "okaydragon",			"O!Kay! Red Dragon" },
 	{ "okayfriends",		"O!Kay! Friends" },
@@ -319,6 +327,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "operafatal",			"Opera Fatal" },
 	{ "oslotg",				"Adventures with Oslo: Tools and Gadgets" },
 	{ "oztma",				"Oz: The Magical Adventure" },
+	{ "paparazzi",			"Paparazzi!: Tales of Tinseltown" },
 	{ "paws",				"P.A.W.S.: Personal Automated Wagging System" },
 	{ "pbbear",				"P. B. Bear's Birthday Party" },
 	{ "pecosbill",			"Pecos Bill" },
@@ -327,7 +336,10 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "pennyhorse",			"Penny Horse" },
 	{ "physicus",			"Physicus: Save the World with Science!" },
 	{ "phonicsquest",		"Disney Phonics Quest" },
+	{ "physicus",			"Physicus: Save the World with Science!" },
 	{ "pingu1",				"Pingu: A Barrel of Fun!" },
+	{ "pingu2",				"Pingu and Friends" },
+	{ "pippi",				"Astrid Lindgren's Pippi" },
 	{ "planetarizona",		"Escape from Planet Arizona" },
 	{ "playroom",			"The Playroom" },
 	{ "poohac",				"Winnie the Pooh Activity Center" },
@@ -342,17 +354,18 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "quantumgate2",		"The Vortex: Quantum Gate II" },
 	{ "rainbowfish1",		"Rainbow Fish: The most beautiful fish in the ocean!" },
 	{ "rainbowfish2",		"Rainbow Fish and the Whale" },
+	{ "realpool",			"RealPool" },
 	{ "rhem1",				"Rhem" },
 	{ "rhlava",				"Rescue Heroes: Lava Landslide" },
 	{ "rhmeteor",			"Rescue Heroes: Meteor Madness" },
 	{ "rodneyfs",			"Rodney's Funscreen" },
 	{ "rodneyfs2",			"Rodney's Funscreen² Extreme: Dinky's Revenge" },
 	{ "rodneyww",			"Rodney's Wonder Window" },
-	{ "safecracker", 		"Safecracker" },
+	{ "safecracker",		"Safecracker" },
 	{ "sajaklucky",			"Pat Sajak's Lucky Letters" },
 	{ "screamingmetal",		"Screaming Metal" },
-	{ "searchlearn",     	"Search & Learn Adventures" },
-	{ "secretkeys",     	"Search for the Secret Keys with Mickey" },
+	{ "searchlearn",		"Search & Learn Adventures" },
+	{ "secretkeys",			"Search for the Secret Keys with Mickey" },
 	{ "secretpaths1",		"Secret Paths in the Forest" },
 	{ "sfpd",               "SFPD Homicide Case File: The Body in the Bay" },
 	{ "shellwhirl",			"Shell Whirl" },
@@ -365,7 +378,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "shrmess",			"Schoolhouse Rock!: 1st-4th Grade Math Essentials" },
 	{ "simpsonsplayer",		"The Simpsons Cartoon Player" },
 	{ "simpsonsstudio",		"The Simpsons Cartoon Studio" },
-	{ "sitfarm",	        "Sitting on the Farm" },
+	{ "sitfarm",			"Sitting on the Farm" },
 	{ "skeeto10",			"Skipper & Skeeto: Fun in the Park" }, // Magnus & Myggen
 	{ "skippy",             "Skippy and the Curse of the Temple of Ock" },
 	{ "skyborg",			"SkyBorg: Into the Vortex" },
@@ -404,26 +417,25 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "tommy",				"Pete Townshend Presents Tommy: The Interactive Adventure" },
 	{ "totaldistortion",	"Total Distortion" },
 	{ "traitorsgate",		"Traitors Gate" },
-	{ "trekborg",			"Star Trek: Borg" },
-	{ "trekklingon",		"Star Trek: Klingon" },
+	{ "travelrama",			"Travelrama USA" },
 	{ "tweeniesrtp",		"Tweenies: Ready to Play" },
 	{ "vcop",				"Virtual Cop" },
 	{ "vcop1",				"Virtual Cop: Episode One: Good Cop / Bad Cop" },
 	{ "vcop2",				"Virtual Cop: Episode Two: The Angel Returns" },
 	{ "veniceglass",		"Venice Under Glass" },
 	{ "vnc",				"Virtual Nightclub" },
+	{ "vp2",				"Virtual Physics: The Eggs of Time" },
 	{ "vvcyber",			"Victor Vector & Yondo: The Cyberplasm Formula" },
 	{ "vvdinosaur",			"Victor Vector & Yondo: The Last Dinosaur Egg" },
 	{ "vvharp",				"Victor Vector & Yondo: The Hypnotic Harp" },
-	{ "vp2",				"Virtual Physics: The Eggs of Time" },
 	{ "vvvampire",			"Victor Vector & Yondo: The Vampire's Coffin" },
-	{ "wallobee", 			"Wallobee Jack: The Bingi Burra Stone" },
-	{ "wallobee2", 			"Wallobee Jack: The Thai Sun Adventure" },
-	{ "wallobee3", 			"Wallobee Jack: The Lost Lionardo" },
+	{ "wallobee",			"Wallobee Jack: The Bingi Burra Stone" },
+	{ "wallobee2",			"Wallobee Jack: The Thai Sun Adventure" },
+	{ "wallobee3",			"Wallobee Jack: The Lost Lionardo" },
 	{ "wallobee4",			"Wallobee Jack: Secret of the Sphinx" },
 	{ "wallobeetemple",		"The temple of Monakumba: Starring Wallobee Jack" },
-	{ "warlock", 			"Spaceship Warlock" },
-	{ "wiggles1", 			"A Day with the Wiggles" },
+	{ "warlock",			"Spaceship Warlock" },
+	{ "wiggles1",			"A Day with the Wiggles" },
 	{ "winniewitch",		"Winnie the Witch" },
 	{ "wishbone", 			"Wishbone and the Amazing Odyssey" },
 	{ "wolfgang",			"Wolfgang the Cyberwolf" }, // According to developer Ugo Guidolin, an English version exists
@@ -433,6 +445,8 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "xmasstory",			"A Christmas Story" },
 	{ "y2lgeography",		"Yearn2Learn: Master Snoopy's World Geography" },
 	{ "y2lmath",			"Yearn2Learn: Master Snoopy's Math" },
+	{ "y2lsnoopycoloring",	"Yearn2Learn: Master Snoopy's Coloring Book" },
+	{ "y2lflintcoloring",	"Yearn2Learn: The Flintstones Coloring Book" },
 	{ "y2lpeanuts",			"Yearn2Learn: Peanuts" },
 	{ "y2lsnoopy",			"Yearn2Learn: Snoopy" },
 	{ "y2lspelling",		"Yearn2Learn: Master Snoopy's Spelling" },
@@ -473,12 +487,12 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "cdphysics",			"CD Physics for Windows" },
 	{ "cezanne",			"A is for ART, C is for Cezanne" },
 	{ "cezannetour",		"Paul Cézanne Art Tours" },
-	{ "chuniverse",   		"The Challenge of the Universe" },
-	{ "cinevolt",   		"Cinema Volta: Weird Science & Childhood Memory" },
+	{ "chuniverse",			"The Challenge of the Universe" },
+	{ "cinevolt",			"Cinema Volta: Weird Science & Childhood Memory" },
 	{ "cocktailhour",		"Cocktail Hour: A Guide to Bartending" },
 	{ "comusic",			"Computer Music: An Interactive Documentary" },
 	{ "cpnre",				"Canadian Practical Nurse Registration Exam Practice" },
-	{ "ctrain",   			"Doing it in C++" },
+	{ "ctrain",				"Doing it in C++" },
 	{ "dailymail100",		"Daily Mail Centenary: 100 Amazing Years" },
 	{ "delphi4tutor",		"Borland Delphi 4 Tutor" },
 	{ "dinos",				"Multimedia Dinosaurs" },
@@ -500,32 +514,36 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "golfcd",				"The Great Golf CD: Links, Legends & Lore" },
 	{ "gp2006",				"Grand Prix 2006 & Auto Directory" },
 	{ "guns",				"Multimedia Guns" },
-	{ "haight",			    "Haight-Ashbury in the Sixties" },
+	{ "haight",				"Haight-Ashbury in the Sixties" },
 	{ "heuther",			"Understanding Pathophysiology, 3rd Edition" },
+	{ "hikaruhana",			"Shining Flower: Hikaruhana" },					// 光る花
+	{ "hirezaudio",			"Hi Rez Audio" },
 	{ "ibmcdextra",			"Sony Music CD Extra Sampler" },
 	{ "iptr",				"I Photograph to Remember" },
 	{ "isscommerce",		"International Space Station: Space Commercialization" },
 	{ "itc",				"Internet the City: A Guided Tour Through the Internet" },
 	{ "journey2life",		"The Journey to Life" },
+	{ "learningcoreldraw3",	"Learning CorelDRAW 3" },
 	{ "laughingbird",		"The Laughing Bird Restaurant" },
 	{ "learninternet",		"Video Professor: Learn to Use the Internet" },
 	{ "learnworks2",		"Video Professor: Learn Works for Windows 95, Level 2" },
 	{ "leonardo",			"Leonardo the Inventor" },
-	{ "lovedisk",			"Lovedisk 95" },
 	{ "lewisclark",			"Lewis & Clark Interactive Picture CD" },
+	{ "lifemysteries",		"Life's Greatest Mysteries" },
 	{ "lifeuniverse",		"Life in the Universe" },
 	{ "louvre",				"Le Louvre: The palace & its paintings" },
+	{ "lovedisk",			"Lovedisk 95" },
 	{ "makers",				"Makers of the 20th Century" },
 	{ "mediabook",			"The MediaBook CD for Director" },
 	{ "moag",				"The Museum of Anything Goes" },
-	{ "msa2001",		    "Middle School Advantage 2001" },
 	{ "ms500nations",		"Microsoft 500 Nations" },
+	{ "msa2001",			"Middle School Advantage 2001" },
 	{ "msdinosaurs",		"Microsoft Dinosaurs" },
 	{ "msoceans",			"Microsoft Oceans" },
 	{ "mswine",				"Microsoft Wine Guide" },
 	{ "mysteriousegypt",	"Mysterious Egypt" }, // aka Voyage in Egypt
 	{ "newslinks",			"ABC NewsLinks" },
-	{ "nia4",			    "News in Action 4" },
+	{ "nia4",				"News in Action 4" },
 	{ "nixon",				"Nixon: Watergate" },
 	{ "nmm",				"Nine Month Miracle" },
 	{ "painters",			"Emile de Antonio's Painters Painting" },
@@ -537,13 +555,13 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "planetstrass",		"Pl at net" },
 	{ "potala",             "1000 Years Potala" },
 	{ "princetonsat98",		"The Princeton Review: Inside the SAT '98" },
-	{ "revwar",     		"Revolutionary War Picture CD" },
+	{ "revwar",				"Revolutionary War Picture CD" },
 	{ "rodneyab",			"Rodney's Art Brain" },
 	{ "saguaro",            "Saguaro & the City: Investigate the Sonoran Desert with an Interactive CD ROM" },
-	{ "saillusion",     	"Scientific American Library: Illusion" },
+	{ "saillusion",			"Scientific American Library: Illusion" },
 	{ "sagasoftworks",		"The Saga Softworks" },
-	{ "sarahcatalog",     	"Sarah McLachlan Catalogue" },
-	{ "sauniverse",     	"Scientific American Library: The Universe" },
+	{ "sarahcatalog",		"Sarah McLachlan Catalogue" },
+	{ "sauniverse",			"Scientific American Library: The Universe" },
 	{ "sciencesmart",		"Science Smart" },
 	{ "scrutiny",			"ScruTiny in the Great Round" },
 	{ "sentence",			"this is a sentence" },
@@ -558,13 +576,16 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "technik",			"Technology Interactive" },
 	{ "texas",				"A Virtual Reality CD-ROM Guide to Texas" },
 	{ "toyota95",			"1995 Toyota Interactive" },
+	{ "trekchair",			"Star Trek: Captain's Chair"},
 	{ "trekguideds9",		"Star Trek: Deep Space Nine Episode Guide" },
 	{ "trekguidetng",		"Star Trek: The Next Generation Episode Guide" },
 	{ "trekomni",			"Star Trek Omnipedia" },
 	{ "trekpedia98",		"Star Trek Encyclopedia 1998" },
+	{ "trekship",			"Star Trek: Starship Creator"},
+	{ "trekshipaddon",		"Star Trek: Starship Creator Add-on Pack"},
 	{ "trektech",			"Star Trek: The Next Generation Interactive Technical Manual" },
-	{ "trekchair",          "Star Trek: Captain's Chair"},
-	{ "trekshipcreate",     "Star Trek: Starship Creator"},
+	{ "trekchair",			"Star Trek: Captain's Chair"},
+	{ "trekshipcreate",		"Star Trek: Starship Creator"},
 	{ "truthsfictions",		"Truths & Fictions: A Journey from Documentary to Digital Photography" },
 	{ "universe",			"Invisible Universe" },
 	{ "unwrap",				"Unwrap the Magic: Holiday 2000 Interactive CD-ROM" }, // J.C.Penney
@@ -573,16 +594,17 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "vote",				"Vote America: Your Field Guide to Electing a President" },
 	{ "vtarot",				"Virtual Tarot" },
 	{ "vusic",				"Vusic: The Screen Raver" },
-	{ "warplanes", 			"Warplanes: Modern Fighting Aircraft" },
-	{ "webmaster", 			"Webmaster: Fantastic Adventures in the World of the Internet" },
-	{ "whales", 			"World of Whales: An Interactive Voyage of Pure Wonder" },
-	{ "wildblueyonder1", 	"Wild Blue Yonder: Episode 1: 50 Years Of Gs And Jets" },
-	{ "wine", 				"The Wine CD" },
-	{ "withopeneyes", 		"With Open Eyes: Images from The Art Institute of Chicago" },
-	{ "woodstock25", 		"Woodstock: 25th Anniversary CD-ROM: 3 Days of Peace & Music" },
-	{ "womanengineer", 		"You Can Be a Woman Engineer" },
+	{ "wackyjacks",			"Wacky Jacks" },
+	{ "warplanes",			"Warplanes: Modern Fighting Aircraft" },
+	{ "webmaster",			"Webmaster: Fantastic Adventures in the World of the Internet" },
+	{ "whales",				"World of Whales: An Interactive Voyage of Pure Wonder" },
+	{ "wildblueyonder1",	"Wild Blue Yonder: Episode 1: 50 Years Of Gs And Jets" },
+	{ "wine",				"The Wine CD" },
+	{ "withopeneyes",		"With Open Eyes: Images from The Art Institute of Chicago" },
+	{ "womanengineer",		"You Can Be a Woman Engineer" },
+	{ "woodstock25",		"Woodstock: 25th Anniversary CD-ROM: 3 Days of Peace & Music" },
 	{ "worldnet",			"AT&T WorldNet Service E-Guide" },
-	{ "wwanimals", 			"Wide World of Animals" },
+	{ "wwanimals",			"Wide World of Animals" },
 	{ "xfua",				"The X-Files Unrestricted Access" },
 
 	// Productivity software
@@ -603,8 +625,8 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "broadwayyb",			"The 2000-2001 Broadway Series Interactive Yearbook" },
 	{ "catseyeview",		"Cat's Eye View" },
 	{ "childishgambino",	"Capturing Donald Glover's Motion" },
-	{ "colormind",   		"ColorMind" },
-	{ "crybaby",   			"Crying, Screaming Baby" },
+	{ "colormind",			"ColorMind" },
+	{ "crybaby",			"Crying, Screaming Baby" },
 	{ "dfireworks",			"The Digital Fireworks Stand" },
 	{ "dreidel",			"DreidelLand: An Electronic Hanukah Treat" },
 	{ "emigre",				"Emigre Signs of Type: Big Cheese" },
@@ -625,14 +647,15 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "prangers1",			"PowerRangers Part 1" },
 	{ "prangers2",			"PowerRangers Part 2" },
 	{ "psych",				"Psych: An Interactive Stress Buster!" },
-	{ "saspurs2001",     	"San Antonio Spurs 2001 Broadcast Screensaver" }, // Not a screensaver
-	{ "saspurs2005",     	"San Antonio Spurs Internet Hot-links" }, // Not a screensaver
+	{ "saspurs2001",		"San Antonio Spurs 2001 Broadcast Screensaver" }, // Not a screensaver
+	{ "saspurs2005",		"San Antonio Spurs Internet Hot-links" }, // Not a screensaver
 	{ "scanmon",			"ScanMon" },
 	{ "seinfeldondvd",		"Seinfeld on DVD" },
 	{ "sensei",				"Sensei" },
 	{ "simpsontrivia",		"The Simpsons Trivia" },
 	{ "sonysampler",		"Sony Music Sampler" },
 	{ "sorgato",			"Sylvain Sorgato's Drawings in variable color" },
+	{ "summertime",			"Summertime" },
 	{ "thematrix",			"The Matrix: Cinemas Everywhere June 11" },
 	{ "timeline",			"TimeLine Animation" },
 	{ "troubleshoot101",	"Troubleshooting 101" },
@@ -650,14 +673,16 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "gingerbreadman",		"The Residents: Gingerbread Man" },
 	{ "girlsaloudbox",		"Girls Aloud: The Singles Box Set" },
 	{ "ebntelebreakdown",	"EBN: Telecommunication Breakdown" },
+	{ "im7s7s",				"Iron Maiden: Seventh Son Of A Seventh Son" }, // 1998 rerelease
 	{ "imesceneryfish",		"I Mother Earth: Scenery and Fish" },
+	{ "listen7up",			"Listen 7UP! Music Mix CD: Volume 1" },
 	{ "nyack",				"Nyack 11-Track Player" },
 	{ "princerave",			"Prince: Rave Un2 the Joy Fantastic" },
 	{ "relaxation",			"Solitudes: Natural Relaxation" },
 	{ "relaxplayer",		"Solitudes: Natural Relaxation Audio Player" },
 	{ "royksoppam",			"Röyksopp: Melody A.M." },
 	{ "sarahsurfacing",		"Sarah McLachlan: Surfacing" },
-	{ "smashchillin",		"Smash Hits: Chillin\' Out Summer 2001" },
+	{ "smashchillin",		"Smash Hits: Chillin' Out Summer 2001" },
 	{ "songbird",			"Solitudes: Songbird Symphony" },
 	{ "stressrelief2",		"Solitudes: Natural Stress Relief II" },
 	{ "tonetrakker",		"Tone Trakker" },
@@ -679,7 +704,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "limit0inici",		"Límit 0 Inici" },
 
 	// Czech titles
-	{ "nemcina",            "Německá gramatika cvičebnice" },           // German grammar workbook
+	{ "nemcina",			"Německá gramatika cvičebnice" },           // German grammar workbook
 
 	// Danish titles
 	{ "bamse1",				"Bamses allerskoreste spille-rom" },
@@ -729,6 +754,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "braingames",			"Brain Games" },
 	{ "cklasse",			"Mercedes-Benz C-Class Information Booth" },
 	{ "dieveteranen",		"Die Veteranen" },
+	{ "dudenmeyer",			"Duden/Meyer Multimedia sampler" },
 	{ "flaschenfahrrad",	"Das Verkehrs-Lernspiel: Fred und das Flaschenfahrrad" },
 	{ "girlspack",			"Girl's Pack!" },
 	{ "globiabc",			"Globi's ABC" },
@@ -758,11 +784,12 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "lunes",				"I Lunes e la sfera di Lasifer" },					// Lunes & the sphere of Lasifer
 	{ "magicanti",			"I Magicanti e i 3 elementi" },						// The Magicanti & the 3 elements
 	{ "robidoc",			"Robi & Doc: L'isola della Scienza" },
+	{ "wolfgang",			"Wolfgang il Cyberlupo" },
 
 	// Japanese games
 	{ "4sight",				"four-sight" },
 	{ "alexworld",			"ALeX-WORLD" },
-	{ "alius",			    "The Alius: Intaractive Adventure Movie" },		// Not a typo
+	{ "alius",				"The Alius: Intaractive Adventure Movie" },		// Not a typo
 	{ "angelgate",			"Angel Gate" },
 	{ "animaltown",			"わくわくアニマルタウン" },							// Waku Waku Animal Town
 	{ "ankh1",				"アンク ピラミッドの謎" },
@@ -771,18 +798,19 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "apeodyssey",			"Ape Odyssey 2001" },
 	{ "aramata",			"Aramata's Visual Wonderland: Magic of Perspective" },
 	{ "atmarktown",			"Atmark Town" },
-	{ "banddamashii",		"バンド魂" }, // Band Damashii
+	{ "banddamashii",		"バンド魂" },	// Band Damashii
+	{ "belzerion",			"Belzerion" },	// ベルゼリオン
 	{ "bem",				"妖怪人間ベム 新たなる魂の迷宮" },					// Yokai Ningen Bemu
 	{ "bemtoybox",			"妖怪人間ベム データToyBox" },						// Bem Data Toy Box
-	{ "bombreikochiba",		"千葉麗子 BOMB!" }, // Reiko Chiba - Bomb
+	{ "bombreikochiba",		"千葉麗子 BOMB!" },	// Reiko Chiba - Bomb
 	{ "cellofania",			"セロファニア" },
 	{ "chinacrisis",		"China Crisis" },
 	{ "chisanaensoka",		"小さな演奏家" },									// Little Musician (Crickets)
 	{ "christmassmallhouse","Christmastime at Small House" },
-	{ "chuckletime",   		"チャックルタイム" },
-	{ "chuteng",   			"中天" },
-	{ "cutie10",   			"キューティ10" },
-	{ "cookie", 			"Cookie's Bustle: 謎のボンボワールド"},					// Mysterious Bombo World
+	{ "chuckletime",		"チャックルタイム" },
+	{ "chuteng",			"中天" },
+	{ "cutie10",			"キューティ10" },
+	{ "cookie",				"Cookie's Bustle: 謎のボンボワールド"},					// Mysterious Bombo World
 	{ "cookieginger",		"Cookie & Ginger"},
 	{ "crouton",			"Croûton"},
 	{ "dan",				"ダン" },											// Dan
@@ -792,17 +820,16 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "digitalboy3",		"Digital Boy CD-ROM Vol. 3" },
 	{ "dinoventure",		"The DinoVenture" },
 	{ "dropcity",			"Drop City" },
+	{ "dungeonstreet",		"Dungeon Street" },
 	{ "nendo",				"Digital Nendo" },
 	{ "earthtia",			"アースティアサーガ ラーサーレジェンド" },					// Earthtia Saga: Larthur's Legend
 	{ "epson96",			"I Love EPSON '96 シェイプUPガールズ" },				// Shape Up Girls
 	{ "erikotamuraoz",		"Eriko Tamura: Oz" },
 	{ "fantazion",			"World Engine Fantazion" },
-	{ "ffa",				"ファンキー ファニー エイリアンズ" },				// Funky Funny Aliens
-	{ "garyukeiba",			"我流競馬" },							       		// "My style horse racing"
-	{ "ffa",				"ファンキー ファニー エイリアンズ" },						// Funky Funny Aliens
+	{ "ffa",				"ファンキー ファニー エイリアンズ" },					// Funky Funny Aliens
 	{ "garyukeiba",			"我流競馬" },										// "My style horse racing"
-	{ "ganbareinuchan",		"がんばれ! いぬちゃん ロケンロール編" },							       		// Ganbare! Inu-chan: Rock'n Roll Edition
-	{ "ganbareinuchan2",	"がんばれ! いぬちゃん 世界の旅へん" },							       		// Ganbare! Inu-chan: Tour Around the World
+	{ "ganbareinuchan",		"がんばれ! いぬちゃん ロケンロール編" },				// Ganbare! Inu-chan: Rock'n Roll Edition
+	{ "ganbareinuchan2",	"がんばれ! いぬちゃん 世界の旅へん" },				// Ganbare! Inu-chan: Tour Around the World
 	{ "gate1",				"the GATE I 王国「MU」への扉" },
 	{ "gate2",				"the GATE II 王国「MU」への扉" },
 	{ "gate3",				"the GATE III 王国「MU」への扉" },					// Gateway to the Kingdom of MU
@@ -822,10 +849,10 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "himejijo",			"A.MAZING姫路城" },									// A.MAZING Himejijo (the HIMEJI Castle)
 	{ "horrortour2",		"Zeddas: Horror Tour 2" },
 	{ "horrortour3",		"ラビラーント" },									// Labyrinthe
-	{ "incarnatia",   		"Incarnatia" },
+	{ "incarnatia",			"Incarnatia" },
 	{ "ganguten",			"インタラクティブ玩具店" }, // Interactive Toy Store
-	{ "inugumi",   			"犬組" },
-	{ "ios",   				"iós" },
+	{ "inugumi",			"犬組" },
+	{ "ios",				"iós" },
 	{ "intro",				"INTRO꞉ New Cultural EDGE Ver1.0" },
 	{ "intro1",				"INTRO No. 1 1994" },
 	{ "intro2",				"INTRO No. 2 1994" },
@@ -838,7 +865,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "katsumadojo",		"信光の勝馬道場" },
 	{ "kazuyakun",			"数ヤ君" },
 	{ "kenji",				"Kenji" },
-	{ "keroncuel",			"ウルトラリゾート ケロンキュール" },									   		// Ultra Resort Keroncuel
+	{ "keroncuel",			"ウルトラリゾート ケロンキュール" },											// Ultra Resort Keroncuel
 	{ "kidsbox",			"Kids Box" },										// キッズボックス
 	{ "kishido",			"棋士道" },											// Art of Shogi (Go)
 	{ "lzone",				"L-ZONE" },
@@ -853,11 +880,11 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "missihb",			"MISS Interactive Hard Boiled" },
 	{ "momotaro",			"日本語探検シリーズ『方言ももたろう』" },			// Nihongo Tanken Shirīzu: Hōgen Momotarō
 	{ "moworld",			"Reiko's Adventures in MO-World" },
-	{ "mukashibanashi",     "日本昔話" },										// Nihon Mukashi Banashi (Japanese Folk Tales)
+	{ "mukashibanashi",		"日本昔話" },										// Nihon Mukashi Banashi (Japanese Folk Tales)
 	{ "murphystv",			"Murphy's TV" },
 	{ "negi1",				"ねぎ Vol. 1" }, // Negi
 	{ "negi3",				"ねぎ3世" }, // Negi the 3rd
-	{ "nihonchiri",       	"Visual日本地理" },									// Japan Geography
+	{ "nihonchiri",			"Visual日本地理" },									// Japan Geography
 	{ "niningashi",			"ににんがし" },
 	{ "noahsark",			"Noah's Ark" },
 	{ "nonta",				"のんたくんとゆかいななかまたち" },					// Nonta-kun and his Wonderful Friends
@@ -865,8 +892,8 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "orgotto",			"Orgotto" },
 	{ "osaka1",				"必修大阪弁集中講座I 2010年、標準語は大阪弁になる" }, // Hisshu Osaka-ben shuchu koza (Mandatory Osaka Dialect)
 	{ "osaka2",				"必修大阪弁集中講座II 2015年、東京人の逆襲" },		// Tokyoites Strike Back
-	{ "pantosstory", 		"Pantos Story"},
-	{ "pasosuke", 			"ぱそすけ"},
+	{ "pantosstory",		"Pantos Story"},
+	{ "pasosuke",			"ぱそすけ"},
 	{ "peaceland",			"PeaceLand" },
 	{ "peepeebonbon",		"Pee Pee Bon Bon"},
 	{ "phantplanet",		"アミューズメント プラネット ファンタスマゴリア" },	// Amusement Planet Phantasmagoria
@@ -878,7 +905,8 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "popup",				"Pop Up Computer" },
 	{ "popupmaker",			"Pop Up Maker" },
 	{ "prescue",			"パラダイス レスキュ" },							// Paradise Rescue
-	{ "putlestory", 		"Putlestory"},
+	{ "pukapukarei",		"綾波育成計画 ぷかぷかレイちゃん" },					// Ayanami Ikusei Keikaku: Puka Puka Rei-chan
+	{ "putlestory",			"Putlestory"},
 	{ "pyramidint",			"Pyramid Interactive" },
 	{ "racingdays",			"Racing Days" },
 	{ "refixion1",			"Refixion" },
@@ -890,15 +918,15 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "rolypolys2",			"ローリーポーリーズの世界旅行" },
 	{ "ronron",				"ゆけゆけロンロン!" },								// Yuke Yuke Ron Ron!
 	{ "sabotenman",			"The Saboten Man" },
-	{ "sakin2",				"砂金II" }, 										// Sakin II
-	{ "sakuratoasobo",		"さくらとあそぼ" }, 								// Let's Play with "SAKURA"!
-	{ "schoolworld",     	"A-L: Artificial Life: School World" },
+	{ "sakin2",				"砂金II" },										// Sakin II
+	{ "sakuratoasobo",		"さくらとあそぼ" },								// Let's Play with "SAKURA"!
+	{ "schoolworld",		"A-L: Artificial Life: School World" },
 	{ "seesawc1",			"SeesawC1" },
-	{ "smallhouse", 		"Small House" },
-	{ "startover", 			"Start Over ROM" },
+	{ "smallhouse",			"Small House" },
+	{ "startover",			"Start Over ROM" },
 	{ "tantei",				"完全探偵マニュアル" },								// Perfect Detective Manual
-	{ "tetsuman",			"ハイ! 鉄マン です" }, 								// Hai! Tetsuman Desu
-	{ "tetsumangaiden",		"鉄マン外伝 ゲーム大王の野望" }, 					// Tetsuman Gaiden: Game Daiou no Yabou
+	{ "tetsuman",			"ハイ! 鉄マン です" },								// Hai! Tetsuman Desu
+	{ "tetsumangaiden",		"鉄マン外伝 ゲーム大王の野望" },						// Tetsuman Gaiden: Game Daiou no Yabou
 	{ "timegal",			"Time Gal" },
 	{ "tokimemotype1",		"ときめきメモリアルタイピング" },					// Tokimeki Memorial Typing
 	{ "tokimemotypegs",		"ときメモGSタイピング" },							// Tokimemo GS Typing (Girl's Side)
@@ -912,13 +940,13 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "ukiuki3",			"ウキウキ釣り天国3 ~人魚島のボート釣り~" },
 	{ "ukiukistamp",		"うきうきスタンプ" },
 	{ "ukyo1",				"うきょー1" },
-	{ "ursaminorblue",		"銀河の魚 URSA minor BLUE" },			 	// Galaxy Fish: Ursa Minor Blue
+	{ "ursaminorblue",		"銀河の魚 URSA minor BLUE" },				// Galaxy Fish: Ursa Minor Blue
 	{ "victorianpark",		"Victorian Park" },
 	{ "void",				"VOID" },
 	{ "vvs",				"Virtual Variety Show" },
 	{ "wackyraces",			"チキチキマシン猛レース ケンケンとブラック魔王のイジワル大作戦 Wacky Races" }, // Chiki Chiki Machine Mou Race: Kenken to Black Maou no Ijiwaru Daisakusen - Wacky Races
 	{ "wariwari",			"わりわりワールド" },								// Wari Wari World
-	{ "wbz", 				"ウォーンバスター零" },								// Warn Buster Zero
+	{ "wbz",				"ウォーンバスター零" },								// Warn Buster Zero
 	{ "wrestlelife",		"レッスルライフ プロレス カードゲーム" }, // Wrestle Life: Pro Wrestling Card Game
 	{ "xaxa",				"XAXA MACHINE" },
 	{ "ybr2",				"イエロー・ブリック・ロードII" },
@@ -931,20 +959,20 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "a5tours",			"A5 Tours: Special Data Library" },
 	{ "aumhodozenkiroku",	"「オウム」報道全記録 1989〜1995" }, // All Aum Coverage, 1989-1995
 	{ "allthelunar",		"オール・ザ・ルナ LUNAR -ハイパーアプリケーションズ-" }, // All the Lunar: Hyper Applications
-	{ "aozoragaho",			"青空画報" }, // Blue Sky Pictorial
 	{ "angelolatrie",		"Jean Cocteau: Angélolatrie & Phénixologie" },
-	{ "atmos",				"Atmos Tetsujin Re-Mix" }, // Bundled with the Windows/Mac release of Tetsujin Returns, aka Iron Angel of the Apocalypse: The Return
+	{ "aozoragaho",			"青空画報" }, // Blue Sky Pictorial
 	{ "aquaplanet",			"Aquaplanet" },
 	{ "aquazone",			"Aquazone" },
 	{ "asylum300",			"Asylum 300" },
+	{ "atmos",				"Atmos Tetsujin Re-Mix" }, // Bundled with the Windows/Mac release of Tetsujin Returns, aka Iron Angel of the Apocalypse: The Return
 	{ "bakavideodrug",		"バカビデオドラッグ" }, // Baka Video Drug
 	{ "chunchunworld",		"Chun-Chun World" },
 	{ "clockkero",			"ケロ時計" },
 	{ "clocksakura",		"さくら時計" },
 	{ "clocktomoyo",		"知世時計" },
-	{ "curiocity",		    "キュリオシティ" },
+	{ "curiocity",			"キュリオシティ" },
 	{ "cdromfanmacworld96",	"CD-ROM Fan MacWorld Expo Tokyo '96 Special Edition " },
-	{ "ddoa2",				"アイドル探偵YOU&MY" },						// Idol Tantei (Doki Doki On-air Drama Series)
+	{ "ddoa",				"どきどき ON AIR ドラマシリーズ" },						// Doki Doki On-air Drama Series
 	{ "delaware",			"Delaware: Catalog of Artoon" },
 	{ "delphinokioku",		"デルフォイの記憶" },						// Delphi Memory
 	{ "doshifunspecial",	"Doshi-Fun Special" },
@@ -953,7 +981,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "eguchi",				"江口寿史 CG MUSEUM" },								// Hisashi Eguchi
 	{ "fototune",			"FotoTune Multimedia Show" },
 	{ "fukuda",				"Fukuda Shigeo Retrospective Collection" },
-	{ "furbydentaku",		"ファービー電卓" },								    // Furby Calculator
+	{ "furbydentaku",		"ファービー電卓" },								// Furby Calculator
 	{ "futarinoryori",		"ふたりの料理物語" },								// A Tale of Two Chefs
 	{ "futurepromotion",	"Towa Tei: Future Promotion" },
 	{ "gasbook",			"GASBOOK" },
@@ -981,7 +1009,6 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "llla",				"Live Love Life AIDS" },
 	{ "mazebox",			"The Latest Works of MazeBox" },
 	{ "microphonefiend",	"Microphone Fiend" },
-	{ "musicforliving",		"Music for Living Sound" },
 	{ "mmedia11",			"Masters of Media: The Making of サクラ大戦" },			// Sakura Taisen
 	{ "moderntimes",		"Charles Chaplin in Modern Times" },
 	{ "mominoki",			"もみの木の下で ~ The Day of St.Claus" },			// Under the Fir Tree
@@ -989,15 +1016,19 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "morisawa",			"人間と文字" }, // Man and Writing
 	{ "moritaka",			"森高千里 CD-ROM 渡良瀬橋" },
 	{ "msseifuku",			"ミッションスクール制服図鑑" },			// Mission School Seifuku Zukan
+	{ "musicforliving",		"Music for Living Sound" },
+	{ "ngeeva00pf",			"Neon Genesis Evangelion: EVA-00 Paper Figure" },
 	{ "no",					"NO" },
 	{ "nycalling",			"N.Y. Calling" },
 	{ "oceansbelow",		"Oceans Below" },
-	{ "pbdisplay",	        "PerfectBLUE DISPLAY" },
-	{ "pbflash",	        "PerfectBLUE FLASH" },
-	{ "pbmima",	            "PerfectBLUE MIMA" },
-	{ "pbosakana",	        "PerfectBLUE OSAKANA" },
-	{ "pbtoilet1",	        "PerfectBLUE TOILET1" },
-	{ "pbtoilet2",	        "PerfectBLUE TOILET2" },
+	{ "pbdisplay",			"PerfectBLUE DISPLAY" },
+	{ "pbflash",			"PerfectBLUE FLASH" },
+	{ "pbmima",				"PerfectBLUE MIMA" },
+	{ "pbosakana",			"PerfectBLUE OSAKANA" },
+	{ "pbtoilet1",			"PerfectBLUE TOILET1" },
+	{ "pbtoilet2",			"PerfectBLUE TOILET2" },
+	{ "pepperon",			"ペペロン村の四季" },			// Four Seasons in Pepperon Village, aka Valmaison au fil des saisons, aka Livet i Pepperon
+	{ "perfectblue",		"Perfect Blue そらいろ★ナイト" },
 	{ "please",				"Please!" }, // by Teruo Takashima
 	{ "pod1",				"POD: Super Pop Digital Magazine" },
 	{ "pod3",				"POD: Super Pop Digital Magazine Vol. 3" },
@@ -1007,9 +1038,9 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "pod7",				"POD: Super Pop Digital Magazine Vol. 7" },
 	{ "pod8",				"POD: Super Pop Digital Magazine Vol. 8" },
 	{ "pod9",				"POD: Super Pop Digital Magazine Vol. 9" },
-	{ "pepperon",	        "ペペロン村の四季" },			// Four Seasons in Pepperon Village, aka Valmaison au fil des saisons, aka Livet i Pepperon
-	{ "perfectblue",        "Perfect Blue そらいろ★ナイト" },
+	{ "previewreprise",		"Preview & Reprise: Haruhiko Shono" },
 	{ "pyrethrum1",			"除虫菊Vol.1" },
+	{ "randomdot",			"Random Dots" },
 	{ "sakurascr",			"さくらのSCRセレクタ" },							// Sakura's SCR Selector
 	{ "satodesign",			"The Art of Computer Designing: A Black and White Approach" },
 	{ "satohomosexual",		"Homosexual" },
@@ -1033,12 +1064,12 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "vcbe",				"Virtual Cocktail Bar Executive" },
 	{ "virtualmuseum",		"Virtual Museum" },
 	{ "xmaspresent",		"Christmas Present" },
-	{ "yokai",		        "真・百物語: 妖怪紳士録" },                         // Ma hyakumonogatari: Yōkai shinshiroku
-	{ "yokai200",	        "水木しげるの妖怪図鑑 傑作200選 -日本編1" },        // Mizuki Shigeru no Yokai Zukan Kessaku 200-sen Nihon-hen 1
-	{ "yokai400",	        "水木しげるの妖怪図鑑 傑作400選 -日本編2" },        // Mizuki Shigeru no Yokai Zukan Kessaku 400-sen Nihon-hen 2
+	{ "yokaanime18",		"よかアニメ18発!" }, // 18 Screwy Animations!
+	{ "yokai",				"真・百物語: 妖怪紳士録" },                         // Ma hyakumonogatari: Yōkai shinshiroku
+	{ "yokai200",			"水木しげるの妖怪図鑑 傑作200選 -日本編1" },        // Mizuki Shigeru no Yokai Zukan Kessaku 200-sen Nihon-hen 1
+	{ "yokai400",			"水木しげるの妖怪図鑑 傑作400選 -日本編2" },        // Mizuki Shigeru no Yokai Zukan Kessaku 400-sen Nihon-hen 2
 	{ "yokaizukan",			"妖精妖怪図鑑" },                                   // Fairy Yōkai Encyclopedia
 	{ "yumemirukairo",		"「夢みる廻廊」所幸則フルカラーミュージアムCD-ROM" }, // Gallery of Dreams
-	{ "yokaanime18",		"よかアニメ18発!" }, // 18 Screwy Animations!
 	{ "zuiyomail",			"ZUIYO グリーティングメールカード" },               // グリーティングメールカード (Greeting Mail Card)
 
 	// Japanese product demos
@@ -1048,18 +1079,17 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "bebox",				"BeBox" },
 	{ "businessmanager",	"琢磨 BusinessManager" },							// from Takuma Co.
 	{ "calling",			"Calling" },
-	{ "cnl",   				"City Net Line" },
+	{ "cnl",				"City Net Line" },
 	{ "creativeeye",		"Creative EYE" },
 	{ "fontfriends",		"フォントフレンズ" },
 	{ "greetingstudio",		"Greeting STUDIO" },
-	{ "hikaruhana",			"光る花" },
 	{ "hypercardlessons",	"HyperCard Lessons" },
 	{ "hypermaterial",		"Hyper Material" },
-	{ "imgimpact",     		"Images with Impact!" },
-	{ "inposition",   		"INposition" },
-	{ "intelligentnote",   	"インテリジェントノート" },
+	{ "imgimpact",			"Images with Impact!" },
+	{ "inposition",			"INposition" },
+	{ "intelligentnote",	"インテリジェントノート" },
 	{ "inuchancd",			"いぬちゃんのうたCDデモ" }, // Inuchan's Song CD Demo - promoting the CD single released by "Doubutsu Band Meets Reiko Chiba"
-	{ "jointnet",       	"JOINT-net" },
+	{ "jointnet",			"JOINT-net" },
 	{ "koyosha",			"Koyosha CD-INSPIREシリーズ" },
 	{ "kpt",				"Kai's Power Tools for Photoshop" },
 	{ "macbasic",			"MacBASIC: Learning BASIC on HyperCard" },
@@ -1075,15 +1105,15 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "provektor3",			"Provektor III: Design & Image Library" },
 	{ "provektormed",		"Provektor Media" },
 	{ "scripting",			"Macromedia Director Lingo Scripting Technology" },
-	{ "secretsafari", 		"Secret Safari" },
+	{ "secretsafari",		"Secret Safari" },
 	{ "shadeviewer",		"Shade Viewer" },
 	{ "sozaijiten",			"素材辞典" },									// Datacraft Materials Dictionary (texture packs)
 	{ "strata",				"Strata Studio Pro" },
 	{ "toeic",				"PowerTOEIC" },
 	{ "toonet11",			"TooNet11" },
 	{ "transland",			"トランスランド" },
-	{ "wonderompm", 		"アルダスページメーカー4.5J速習用CD-ROM" },		// CD-ROM for Quick Study of Aldus PageMaker 4.5J
-	{ "wonderomcw", 		"WONDEROM クラリスワークス" },					// WONDEROM ClarisWorks ver.2
+	{ "wonderompm",			"アルダスページメーカー4.5J速習用CD-ROM" },		// CD-ROM for Quick Study of Aldus PageMaker 4.5J
+	{ "wonderomcw",			"WONDEROM クラリスワークス" },					// WONDEROM ClarisWorks ver.2
 	{ "voyagerkids",		"ボイジャーのキッズ CD-ROM" },
 
 	// Norwegian titles
@@ -1145,14 +1175,23 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "polis1",				"Polis" },
 	{ "polis2",				"Polis 2: NÃ¥gon ljuger" },
 	{ "polis3",				"Polis 3: Vargspår" },
+	{ "requiem",			"Requiem: en mordgåta på 1600-talet" },
 	{ "rymdjakten",			"Rymdjakten" },
+	{ "xtown1",				"CrossTown: Giftet" },
+	{ "xtown2",				"CrossTown: Ängeln" },
+
+	// Chinese titles
+	{ "ypl2", 				"勇者泡泡龍2" },							// Yongzhe Paopao Long 2, aka Brave Bubble Dragon 2, aka Bubble Hero 2
+	{ "creativenursery",	"创意学前华丈(一)" },						// Creative Nursery Chinese
 
 	// Titles containing Director extras
 	{ "amgpremiere",		"The American Girls Premiere" },
 	{ "darylfgates",		"Police Quest Q&A with Daryl F. Gates" },
 	{ "dcanyoncd",			"Dino CD Audio Player" },
 	{ "freeallangels",		"Ash: Free All Angels Video Mixer" },
+	{ "klingonlab",			"Klingon Language Lab" },
 	{ "lbfamfun",			"Little Bear Family Fun" },
+	{ "picarddossier",		"Mini-Omnipedia: Picard Dossier" },
 	{ "poliq",				"Political IQ Test" },
 	{ "pqmakingof",			"The Making of Police Quest" },
 	{ "scissorsnstones",	"Scissors N Stones On-Line Manual" },
@@ -1161,7 +1200,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "thinkinthingsdp",	"Dear Parents: About Thinkin' Things..." },
 	{ "ultrobotkit",		"Robotoid Assembly Toolkit" },
 	{ "ultrobotss",			"Screen Saver Viewer" },
-	{ "ypl2", 				"勇者泡泡龍2" },                          // Yongzhe Paopao Long 2, aka Brave Bubble Dragon 2, aka Bubble Hero 2
+	{ "williamsbts",		"Williams Arcade Classics: Behind the Scenes" },
 
 	// DVD-ROM bonus content
 	{ "planetrav",			"Planetary Traveler" },
@@ -1184,14 +1223,14 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "stravinsky",			"Igor Stravinsky: The Rite of Spring" },
 
 	// Magazines and periodicals
-	{ "blender",   			"Blender: The Pop Culture Magazine on CD-ROM" },
-	{ "blenderbest",   		"Best of Blender: The Interactive Entertainment Magazine" },
-	{ "cmi",   				"Computer Music Interactive" },
+	{ "blender",			"Blender: The Pop Culture Magazine on CD-ROM" },
+	{ "blenderbest",		"Best of Blender: The Interactive Entertainment Magazine" },
+	{ "cmi",				"Computer Music Interactive" },
 	{ "gamingmegapac",		"MacUser Presents Gaming MegaPac" },
 	{ "godigital",			"Go Digital Interactive Magazine" },
-	{ "insidemacgames",   	"Inside Mac Games" },
-	{ "interactivemagic",   "Mac Interactive Magic" },
-	{ "iwave",   			"Interactive Wave" },
+	{ "insidemacgames",		"Inside Mac Games" },
+	{ "interactivemagic",   "MacUser Mac Interactive Magic" },
+	{ "iwave",				"Interactive Wave" },
 	{ "maccubed7",			"MacCubed Disc 7: Internet & Utilities" },
 	{ "macsca",				"Mac S.C.A. Magazine" },
 	{ "macweekvideo",		"MacWEEK Guide to Desktop Video" },
@@ -1203,12 +1242,16 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "stream",				"Digital Culture Stream Magazine" },
 
 	// Promos and catalogues
+	{ "aaha2007",			"AAHA! Denver 2007: It's Different Here!" },	// American Animal Hospital Association
+	{ "adamcatalog",		"The A.D.A.M. 1994 Catalog" },
 	{ "adamscholar",		"The A.D.A.M. Scholar Series" },
 	{ "applestore",			"Apple Company Store" },
+	{ "aptesampler",		"APTE Product Sampler" },
 	{ "arcmedia",			"Arc Media Demos" },
 	{ "blaster",			"Blaster Series Demo" },
 	{ "bpmc",				"Byron Preiss Multimedia Catalog" },
 	{ "cmc",				"Creative Multimedia Catalog" },
+	{ "coreltour",			"Corel Product Tour" },
 	{ "davidsonpp",			"Davidson Product Previews" },
 	{ "davidsonps",			"Davidson Product Sampler" },
 	{ "disneyint",			"Disney Interactive presents Learning & Creativity Sampler Volume I" },
@@ -1218,16 +1261,17 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "emme",				"E.M.M.E. Interactive: The Keys to Knowledge" },
 	{ "eureka",				"Eureka Multimedia Promo" },
 	{ "fppuddlebooks",		"Fisher-Price Read & Play: Puddle Books Demos" },
+	{ "fpready",			"Fisher-Price Ready for School Demo" },		// General preview for Ready for School series. Does not correspond to a specific game.
 	{ "grolier",			"Grolier Products" },
 	{ "gusbuds",			"Gus and the CyberBuds Learning Adventure Series" },
 	{ "headbone",			"Headbone CD-ROM Sampler" },
 	{ "hoffman",			"H+a Collection" },
-	{ "ilearn",     	    "iLearn" },
-	{ "imagineers",     	"The Imagineers" },
-	{ "imaginopolis",   	"Microsoft Imaginopolis" },
-	{ "incoming",     		"iNCOMING" },
-	{ "iona",   			"Iona Software Demo CD" },
-	{ "ipc",   				"About InterActive Publishing" },
+	{ "ilearn",				"iLearn" },
+	{ "imagineers",			"The Imagineers" },
+	{ "imaginopolis",		"Microsoft Imaginopolis" },
+	{ "incoming",			"iNCOMING" },
+	{ "iona",				"Iona Software Demo CD" },
+	{ "ipc",				"About InterActive Publishing" },
 	{ "jsa",				"JumpStart Advanced: How Does Your Child Learn Best?" },
 	{ "jslearn",			"JumpStart Learning System" },
 	{ "kidtools",			"Kid Tools Series Demo" },
@@ -1240,7 +1284,9 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "poohlearn",			"Disney Learning Winnie the Pooh Demos" },
 	{ "rh",					"Rescue Heroes Demo" },
 	{ "sfk",				"Science for Kids Product Demos" },
+	{ "tlc",				"The Learning Company Sampler" },
 	{ "ubt",				"Under the Big Top" },
+	{ "vygrpresents",		"Voyager Presents" },
 	{ "wti",				"Workstation Technologies Inc: The Digital Video Company" },
 
 	// Promos for Non-Director titles
@@ -1252,22 +1298,23 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "ataripack",			"Activision's Atari 2600 Action Pack" },
 	{ "balto2",				"Balto II: Wolf Quest" },
 	{ "baseballhits",		"Baseball's Greatest Hits"},
+	{ "bcsinkfloat",		"Blue's Clues: Sink and Float" },
 	{ "blockbuster2",		"Blockbuster Guide to Movies & Videos, 2nd Edition" },
 	{ "bobteam",			"Bob the Builder: Teamwork" },
 	{ "bookshelf94",		"Microsoft Bookshelf 1994" },
 	{ "c64pack",			"Activision's Commodore 64 15-Pack for Windows" },
-	{ "cfdemo",   			"The ClueFinders Demo" },
+	{ "cfdemo",				"The ClueFinders Demo" },
 	{ "cinemania94",		"Microsoft Cinemania 94" },
 	{ "cinemania95",		"Microsoft Cinemania 95" },
 	{ "cinemania96",		"Microsoft Cinemania 96" },
 	{ "clarisimpact",		"ClarisImpact" },
 	{ "clarisworks",		"ClarisWorks" },
 	{ "compton",			"Compton's Interactive Encyclopedia 1995 Edition" },
-	{ "cpu",   				"Connectix PowerBook Utilities" },
-	{ "cricketdraw",   		"CA Cricket Draw III" },
-	{ "d",   				"D" },
+	{ "cpu",				"Connectix PowerBook Utilities" },
+	{ "cricketdraw",		"CA Cricket Draw III" },
+	{ "d",					"D" },
 	{ "dinosafari",			"Dinosaur Safari" },
-	{ "dotsafe",   			"Dotsafe" },
+	{ "dotsafe",			"Dotsafe" },
 	{ "earthwormjim",		"Earthworm Jim" },
 	{ "exos",				"Exos PowerStick" },
 	{ "explorapedia",		"Microsoft Explorapedia" },
@@ -1278,9 +1325,9 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "greeneggs",			"Green Eggs and Ham" },
 	{ "hollywoodhigh",		"Hollywood High" },
 	{ "hyperblade",			"HyperBlade" },
-	{ "ideacomm",     		"IDEAcomm Mac" },
+	{ "ideacomm",			"IDEAcomm Mac" },
 	{ "iliad",				"Iliad" },
-	{ "illustrator",     	"Adobe Illustrator" },
+	{ "illustrator",		"Adobe Illustrator" },
 	{ "landdesigner",		"Sierra Land Designer" },
 	{ "lbt8",				"The Land Before Time: The Big Freeze" },
 	{ "leopardspots",		"How the Leopard Got His Spots" },
@@ -1292,6 +1339,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "mavisbeacon",		"Mavis Beacon Teaches Typing" },
 	{ "mechwarrior2",		"MechWarrior 2" },
 	{ "meetingmaker",		"Meeting Maker" },
+	{ "mothergoosehires",	"Mixed-Up Mother Goose Deluxe" },
 	{ "msaccess",			"Microsoft Access" },
 	{ "msarcade",			"Microsoft Arcade" },
 	{ "msartgallery",		"Microsoft Art Gallery" },
@@ -1343,14 +1391,17 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "smashsounds1",		"Smash Sounds Volume 1" },
 	{ "spycraft",			"Spycraft: The Great Game" },
 	{ "system7smash",		"System 7 is a SMASH!" },
+	{ "thetowerxmas",		"TOWER/CD ~Christmas Disc~" },
 	{ "timelapse",			"Timelapse" },
 	{ "trekfinalunity",		"Star Trek: The Next Generation - \"A Final Unity\"" },
-	{ "ultrobot", 			"Isaac Asimov\'s The Ultimate Robot" },
-	{ "wep", 				"The Best of Microsoft Entertainment Pack" },
+	{ "ultrobot",			"Isaac Asimov's The Ultimate Robot" },
+	{ "wep",				"The Best of Microsoft Entertainment Pack" },
+	{ "windows31",			"Microsoft Windows 3.1" },
 	{ "wfw31",				"Microsoft Windows for Workgroups 3.1" },
 	{ "windows95",			"Microsoft Windows 95" },
-	{ "worldatlas", 		"World Reference Atlas" },
+	{ "worldatlas",			"World Reference Atlas" },
 	{ "wpmainstreet",		"WordPerfect Main Street" },
+	{ "wttf",				"Welcome to the Future" },
 	{ "xfiles",				"The X-Files" },
 	{ "znemesis",			"Zork Nemesis: The Forbidden Lands" },
 	{ "zoombini",			"Logical Journey of the Zoombinis" },
@@ -1363,6 +1414,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "cinemac",			"CineMac Screen Saver Factory" },
 	{ "globiss",			"Globi's Bildschirmschoner" },
 	{ "lewisclarkss",		"Lewis and Clark Screen Saver" },
+	{ "nekojiruudonss",		"Nekojiru Udon Screen Saver" },
 	{ "nightrider",			"Night Rider" }, // from "Now Fun!"
 	{ "photos4us",			"Photos4us" },
 	{ "pingufight",			"Pingu Snowball Fight" },
@@ -1409,26 +1461,45 @@ static const PlainGameDescriptor directorGames[] = {
 	// Not supported
 	{ "busty3",				"Busty Babes Volume III" },
 	{ "busty4",				"Busty Babes Volume IV" },
+	{ "csa",				"Cyber Sex Angel" },
+	{ "cyberphoto",			"CyberPhotographer" },
+	{ "dancinggals",		"Dancing Gals Power" },
+	{ "digerotica",			"Digital Erotica" },
 	{ "digitalogue",		"Digitalogue Home Museum Series" },
+	{ "dmj5",				"DMJ5: The Game!" },			// Devil in Miss Jones
 	{ "dmpgallery",			"Digital Magazine for Photography: Gallery" },
+	{ "dream1",				"The Dream Machine: The Virtual Sexual Experience" },
+	{ "dream2",				"The Dream Machine 2" },
 	{ "eros",				"Fischer's Erotic Encyclopedia" },
 	{ "gilgameshnite",		"ギルガメッシュ Night Super Deluxe CD-ROM" },		// Gilgamesh
+	{ "historiapoca",		"A História Não Contada de Pocahontas" }, // The Untold Story of Pocahontas
+	{ "houseparty",			"House Party: The Game" },
 	{ "immorale",			"Immorale" },
 	{ "isswim98",			"Inside Sports 1998 Swimsuit Issue" },
 	{ "labyrinth",			"Labyrinth" },
 	{ "legs",				"Legs" },
 	{ "macplaymate1",		"MacPlaymate" },
 	{ "macplaymate2",		"MacPlaymate II" },
+	{ "neurodancer",		"NeuroDancer" },
+	{ "nightnurses",		"Nightshift Nurses: The Game" },
 	{ "pbvv",				"Playboy's Voluptuous Vixens" },
 	{ "playmate1999",		"1999 Playboy Playmate Calendar" },
 	{ "sadowar",			"RSP" },
+	{ "scop",				"Scop" },
+	{ "shock",				"Shock: The Game" },
+	{ "sororitystwrdss",	"Sorority Stewardesses" },
 	{ "thebody",			"The Body: Five doors plus" },
 	{ "thelegs",			"The Legs ~Get a LEG up~" },
+	{ "timewarp",			"Time Warp" },
 	{ "venus",				"Venus Photo CD-ROM" },
+	{ "vpeepshow",			"Virtual Peep Show" },
+	{ "vsex1",				"Virtual Sex" },
+	{ "vsex2",				"Virtual Sex II" },
+	{ "vsexasia",			"Virtual Sex with Asia"},
 	{ "vvalerie1",			"Virtual Valerie" },
 	{ "vvalerie2",			"Virtual Valerie 2" },
+	{ "vvaleriedc",			"Virtual Valerie: Director's Cut" },
 	{ "vveronika",			"Virtual Veronika" },
-	{ "vpeepshow",			"Virtual Peep Show" },
 
 	{ 0, 0 }
 };
@@ -1437,22 +1508,22 @@ namespace Director {
 
 #define SUPPORT_STATUS ADGF_UNSTABLE
 
-#define GENGAME1_(t,e,f,m,s,l,p,fl,v) 				{ { t, e, AD_ENTRY1s(f, m, s), l, p, (fl | SUPPORT_STATUS), GUIO1(GUIO_NOASPECT) }, GID_GENERIC, v }
-#define GENGAME1t_(t,e,f,m,s,l,p,fl,v) 				{ { t, e, AD_ENTRY1s(f, m, s), l, p, (fl | SUPPORT_STATUS | ADGF_TAILMD5), GUIO1(GUIO_NOASPECT) }, GID_GENERIC, v }
-#define GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,l,p,fl,v) 	{ { t, e, AD_ENTRY2s(f1, m1, s1, f2, m2, s2), l, p, (fl | SUPPORT_STATUS), GUIO1(GUIO_NOASPECT) }, GID_GENERIC, v }
-#define GENGAME2t_(t,e,f1,m1,s1,f2,m2,s2,l,p,fl,v) 	{ { t, e, AD_ENTRY2s(f1, m1, s1, f2, m2, s2), l, p, (fl | SUPPORT_STATUS | ADGF_TAILMD5), GUIO1(GUIO_NOASPECT) }, GID_GENERIC, v }
-
-#define MACGAME1(t,e,f,m,s,v) 	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformMacintosh,ADGF_MACRESFORK,v)
-#define MACGAME1t(t,e,f,m,s,v) 	GENGAME1t_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformMacintosh,ADGF_MACRESFORK,v)
-#define PIPGAME1(t,e,f,m,s,v) 	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformPippin,ADGF_MACRESFORK,v)
-#define WINGAME1(t,e,f,m,s,v) 	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
-#define WINGAME1t(t,e,f,m,s,v) 	GENGAME1t_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
-#define FMTGAME1(t,e,f,m,s,v) 	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformFMTowns,ADGF_NO_FLAGS,v)
-#define SHKGAME1(t,e,f,m,s,v) 	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformShockwave,ADGF_NO_FLAGS,v)
-#define MACDEMO1(t,e,f,m,s,v) 	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformMacintosh,(ADGF_MACRESFORK|ADGF_DEMO),v)
-#define MACDEMO1t(t,e,f,m,s,v) 	GENGAME1t_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformMacintosh,(ADGF_MACRESFORK|ADGF_DEMO),v)
-#define WINDEMO1(t,e,f,m,s,v) 	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
-#define WINDEMO1t(t,e,f,m,s,v) 	GENGAME1t_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
+#define GENGAME1_(t,e,f,m,s,l,p,fl,v)				{ { t, e, AD_ENTRY1s(f, m, s), l, p, (fl | SUPPORT_STATUS), GUIO1(GUIO_NOASPECT) }, GID_GENERIC, v }
+#define GENGAME1t_(t,e,f,m,s,l,p,fl,v)				{ { t, e, AD_ENTRY1s(f, m, s), l, p, (fl | SUPPORT_STATUS | ADGF_TAILMD5), GUIO1(GUIO_NOASPECT) }, GID_GENERIC, v }
+#define GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,l,p,fl,v)	{ { t, e, AD_ENTRY2s(f1, m1, s1, f2, m2, s2), l, p, (fl | SUPPORT_STATUS), GUIO1(GUIO_NOASPECT) }, GID_GENERIC, v }
+#define GENGAME2t_(t,e,f1,m1,s1,f2,m2,s2,l,p,fl,v)	{ { t, e, AD_ENTRY2s(f1, m1, s1, f2, m2, s2), l, p, (fl | SUPPORT_STATUS | ADGF_TAILMD5), GUIO1(GUIO_NOASPECT) }, GID_GENERIC, v }
+
+#define MACGAME1(t,e,f,m,s,v)	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformMacintosh,ADGF_MACRESFORK,v)
+#define MACGAME1t(t,e,f,m,s,v)	GENGAME1t_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformMacintosh,ADGF_MACRESFORK,v)
+#define PIPGAME1(t,e,f,m,s,v)	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformPippin,ADGF_MACRESFORK,v)
+#define WINGAME1(t,e,f,m,s,v)	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
+#define WINGAME1t(t,e,f,m,s,v)	GENGAME1t_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
+#define FMTGAME1(t,e,f,m,s,v)	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformFMTowns,ADGF_NO_FLAGS,v)
+#define SHKGAME1(t,e,f,m,s,v)	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformShockwave,ADGF_NO_FLAGS,v)
+#define MACDEMO1(t,e,f,m,s,v)	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformMacintosh,(ADGF_MACRESFORK|ADGF_DEMO),v)
+#define MACDEMO1t(t,e,f,m,s,v)	GENGAME1t_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformMacintosh,(ADGF_MACRESFORK|ADGF_DEMO),v)
+#define WINDEMO1(t,e,f,m,s,v)	GENGAME1_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
+#define WINDEMO1t(t,e,f,m,s,v)	GENGAME1t_(t,e,f,m,s,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
 #define MACGAME1_l(t,e,f,m,s,l,v) GENGAME1_(t,e,f,m,s,l,Common::kPlatformMacintosh,ADGF_MACRESFORK,v)
 #define PIPGAME1_l(t,e,f,m,s,l,v) GENGAME1_(t,e,f,m,s,l,Common::kPlatformPippin,ADGF_MACRESFORK,v)
 #define WINGAME1_l(t,e,f,m,s,l,v) GENGAME1_(t,e,f,m,s,l,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
@@ -1465,14 +1536,14 @@ namespace Director {
 #define WINDEMO1_l(t,e,f,m,s,l,v) GENGAME1_(t,e,f,m,s,l,Common::kPlatformWindows,ADGF_DEMO,v)
 #define WINDEMO1t_l(t,e,f,m,s,l,v) GENGAME1t_(t,e,f,m,s,l,Common::kPlatformWindows,ADGF_DEMO,v)
 
-#define MACGAME2(t,e,f1,m1,s1,f2,m2,s2,v) 	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformMacintosh,ADGF_MACRESFORK,v)
-#define PIPGAME2(t,e,f1,m1,s1,f2,m2,s2,v) 	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformPippin,ADGF_MACRESFORK,v)
-#define WINGAME2(t,e,f1,m1,s1,f2,m2,s2,v) 	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
-#define WINGAME2t(t,e,f1,m1,s1,f2,m2,s2,v) 	GENGAME2t_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
-#define FMTGAME2(t,e,f1,m1,s1,f2,m2,s2,v) 	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformFMTowns,ADGF_NO_FLAGS,v)
-#define MACDEMO2(t,e,f1,m1,s1,f2,m2,s2,v) 	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformMacintosh,(ADGF_MACRESFORK|ADGF_DEMO),v)
-#define WINDEMO2(t,e,f1,m1,s1,f2,m2,s2,v) 	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
-#define WINDEMO2t(t,e,f1,m1,s1,f2,m2,s2,v) 	GENGAME2t_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
+#define MACGAME2(t,e,f1,m1,s1,f2,m2,s2,v)	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformMacintosh,ADGF_MACRESFORK,v)
+#define PIPGAME2(t,e,f1,m1,s1,f2,m2,s2,v)	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformPippin,ADGF_MACRESFORK,v)
+#define WINGAME2(t,e,f1,m1,s1,f2,m2,s2,v)	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
+#define WINGAME2t(t,e,f1,m1,s1,f2,m2,s2,v)	GENGAME2t_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
+#define FMTGAME2(t,e,f1,m1,s1,f2,m2,s2,v)	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformFMTowns,ADGF_NO_FLAGS,v)
+#define MACDEMO2(t,e,f1,m1,s1,f2,m2,s2,v)	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformMacintosh,(ADGF_MACRESFORK|ADGF_DEMO),v)
+#define WINDEMO2(t,e,f1,m1,s1,f2,m2,s2,v)	GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
+#define WINDEMO2t(t,e,f1,m1,s1,f2,m2,s2,v)	GENGAME2t_(t,e,f1,m1,s1,f2,m2,s2,Common::EN_ANY,Common::kPlatformWindows,ADGF_DEMO,v)
 #define MACGAME2_l(t,e,f1,m1,s1,f2,m2,s2,l,v) GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,l,Common::kPlatformMacintosh,ADGF_MACRESFORK,v)
 #define PIPGAME2_l(t,e,f1,m1,s1,f2,m2,s2,l,v) GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,l,Common::kPlatformPippin,ADGF_MACRESFORK,v)
 #define WINGAME2_l(t,e,f1,m1,s1,f2,m2,s2,l,v) GENGAME2_(t,e,f1,m1,s1,f2,m2,s2,l,Common::kPlatformWindows,ADGF_NO_FLAGS,v)
@@ -1632,8 +1703,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Demos from Mac World Expo Boston 1992 Interactive Multimedia Reference CD-ROM
 	MACDEMO2("msexcel", "Demo",	  "Double Click", "e54ec74aeb4355b0acd46320327c1bed", 236629,
 								  "StartUp",	  "4be24cb9ca426e9ae318163f75ae55ee", 51057, 201),
-	MACDEMO2("msword", "v5 Demo", "Double Click", "e54ec74aeb4355b0acd46320327c1bed", 204286,
-								  "MSWD pt. 1",   "d30e1cae275e7ecfdde92df03a28b309", 249261, 201),
+	MACDEMO2("msword", "v5 Demo", "Double Click", "e54ec74aeb4355b0acd46320327c1bed", 204030,
+								  "MSWD pt. 1",   "d30e1cae275e7ecfdde92df03a28b309", 249005, 201),
 
 	// Movies called from HyperCard with external MacroMind Player 2.0
 	MACGAME1("spelunx", "v1.2", "Spelunx", "3eb3598b7f6bb09de4dd31aca3683d8f", 371154, 200),
@@ -1671,11 +1742,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Original Mac filename is *デモスタート
 	MACDEMO2_l("adamtis", "Demo", "Demo start",	  "1ae45c23586b41997ba52e2e7c771c4c", 1676945,
 								  "step1",		  "7e17288d51f610daf84941e318404518", 393530, Common::JA_JPN, 311),
-	WINDEMO1("adamtis", "Demo",	  "ADAMDEMO.EXE", "e02616ca4d7bc24cf84f9804f65831a2", 7342649, 311),
 
 	MACDEMO1_l("adobedimensions", "Demo", "PD.Demo", "f5277c53bacd27936158dd3867e587e2", 1439492, Common::JA_JPN, 311),
 
-	MACDEMO1("agfa", "v3.1 Demo", "Agfa CD-ROM Demo-B&W", "13ba95890bdaa1a07255c395499fe12e", 1283656, 300),
+	// Original filename is Agfa CD-ROM Demo/B&W
+	MACDEMO1("agfa", "v3.1 Demo", "xn--Agfa CD-ROM DemoB&W-bba08g", "13ba95890bdaa1a07255c395499fe12e", 1283400, 300),
 
 	// Original filename is アラン・ケイ
 	MACDEMO1_l("alankay", "Demo", "Alan Kay", "276bee761e48a6fd709df77d5c2f60dd", 6188389, Common::JA_JPN, 311),
@@ -1702,7 +1773,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Original filename is Babylon 5 Interactive/Mac
 	MACGAME1("babylon5int", "", "Babylon 5 Interactive-Mac", "7f443f2e63fd497a9ad85b10dc880a91", 1262641, 313),
 
-	MACDEMO2_l("bakkunooni", "Wabi Demo", "Browser", 	"7ba588d9fde9f714a42fec0a2c9d9655", 2835635,
+	MACDEMO2_l("bakkunooni", "Wabi Demo", "Browser",	"7ba588d9fde9f714a42fec0a2c9d9655", 2835635,
 										  "Main-Help-J", "2358b56196b9d9148990f5f5e9c7fb43", 8521, Common::JA_JPN, 311),
 
 	// Original filename is 'ダブルクリックしてちょんまげ!!'
@@ -1710,6 +1781,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1("belcher", "", "The Belcher", "d0683b94f369d0d60ebd6c47d4d1ea76", 470776, 301),
 
+	// Also on the disk is the executable and resources for the 12" monitor version
+	// "BELZERION 12", "f5277c53bacd27936158dd3867e587e2", 392623, 311
+	MACGAME1_l("belzerion", "", "BELZERION 13", "f5277c53bacd27936158dd3867e587e2", 392619, Common::JA_JPN, 311),
+
 	MACGAME1("beyondthewall", "", "Beyond The Wall Of Stars", "107c6a6d3cce957eaa26d427e672000c", 465267, 300),
 	WINGAME1("beyondthewall", "", "WALL.EXE", "5c6862a40a48881913ee7c50d25cd984", 225253, 300),
 
@@ -1727,6 +1802,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// CD-ROM for Bomb! magazine focusing on "cyber idol" Reiko Chiba
 	MACGAME1_l("bombreikochiba", "", "CD-BOMB!", "276bee761e48a6fd709df77d5c2f60dd", 393879, Common::JA_JPN, 310),
 
+	// Full game uses audio tracks
+	MACGAME1("bodypark", "", "BodyPark Æ’/BodyPark", "7f443f2e63fd497a9ad85b10dc880a91", 503467, 313),
+	WINGAME1t("bodypark", "", "BODYPARK.EXE", "36b7c7de5e7ee6cb8c1ec02a8b3de59c", 370005, 310),
 	WINDEMO1("bodypark", "Demo", "BODYPARK.EXE", "65d06b5fef155a2473434571aff5bc29", 1654314, 310),
 
 	WINDEMO1("bookshelf94", "Demo", "BS94DEMO.EXE", "7c8230a804abf9353b05627a675b5ffb", 375300, 310),
@@ -1756,6 +1834,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("catcameback", "",   "TITLEE.EXE", "65d06b5fef155a2473434571aff5bc29", 369998, 310),
 	WINGAME1_l("catcameback", "", "TITLES.EXE", "65d06b5fef155a2473434571aff5bc29", 369998, Common::ES_ESP, 310),
 	WINGAME1_l("catcameback", "", "TITLEF.EXE", "65d06b5fef155a2473434571aff5bc29", 369998, Common::FR_FRA, 310),
+	// Found on CD-ROM Today, #4
+	MACDEMO1("catcameback", "Demo", "Cat Came Back", "2ce360c9ea2da80a2c6d1040b0ad92dd", 386674, 313),
 
 	// Each movie has its own projector
 	WINGAME1("cdphysics", "", "CDINTRO.EXE", "65d06b5fef155a2473434571aff5bc29", 370004, 313),
@@ -1789,16 +1869,19 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACDEMO1("clarisimpact", "Demo", "ClarisImpact Self Running Demo", "7f443f2e63fd497a9ad85b10dc880a91", 1241451, 310),
 
-	MACDEMO1("clarisworks", "Demo", "ClarisWorks SRD Projector", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 353999, 300),
+	MACDEMO1("clarisworks", "Demo", "ClarisWorks SRD Projector", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 353743, 300),
 
 	MACGAME1("cmc", "1993", "xn--Other Products...-", "1ae45c23586b41997ba52e2e7c771c4c", 5748468, 310),
 
+	// Found on CD-ROM Today, #4
+	WINGAME1t("coreltour", "", "PRODTOUR.EXE", "296661dda59fcc1a4980e72797aac158", 375291, 300),
+
 	MACDEMO1("cpu", "Demo", "CPU Demo Movie", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 533389, 300),
 
 	MACDEMO1_l("creativeeye", "1994.02 Demo", "Creative EYE Demo", "f5277c53bacd27936158dd3867e587e2", 2355024, Common::JA_JPN, 311),
 	MACDEMO1_l("creativeeye", "1994.06 Demo", "Creative EYE Demo", "276bee761e48a6fd709df77d5c2f60dd", 3344169, Common::JA_JPN, 313),
 
-	MACDEMO1("cricketdraw", "Demo", "CA-Cricket Draw III Demo", "16759602b41cb957c8f13dba7f3f1984", 2026663, 301),
+	MACDEMO1("cricketdraw", "Demo", "CA-Cricket Draw III Demo", "16759602b41cb957c8f13dba7f3f1984", 2026407, 301),
 
 	// Original filename is キューティ10デモ
 	MACDEMO1_l("cutie10", "Demo", "Cutie 10 demo", "f5277c53bacd27936158dd3867e587e2", 390315, Common::JA_JPN, 311),
@@ -1828,6 +1911,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Decomposed variant of the above
 	MACGAME1_l("doubutsushokai", "", "xn--p8j0ck7c8jc5225c1v9dm49l9dasbyc0jsiubn", "1ed38b71d8d0f075483117f7fa559e7c", 440320, Common::JA_JPN, 300),
 
+	MACGAME1_l("dungeonstreet", "", "DungeonStreet", "3c96b93ed2a98b1e7e2eb609a3e1cc21", 397281, Common::JA_JPN, 311),
+
 	// Original filename is 東脳スタート
 	MACGAME1_l("easternmind", "", "xn--zckm1a5qp59wok6a", "276bee761e48a6fd709df77d5c2f60dd", 395037, Common::JA_JPN, 313),
 
@@ -1889,17 +1974,27 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1_l("fototune", "", "FotoTune Multimedia show", "1ae45c23586b41997ba52e2e7c771c4c", 378737, Common::JA_JPN, 311),
 
-	MACGAME1("freakshow", "D3", "Freak Show Projector", "bb61dd0cc8356e51fe54c1a00f979b8f", 439483, 300),
+	MACGAME1("freakshow", "D3", "Freak Show Projector", "bb61dd0cc8356e51fe54c1a00f979b8f", 439227, 300),
 
 	// Pippin version is D5
-	MACGAME1("gadget", "", 	   "GADGET", 	 "7f443f2e63fd497a9ad85b10dc880a91", 384887, 313),
-	MACGAME1_l("gadget", "",   "GADGET", 	 "f5277c53bacd27936158dd3867e587e2", 392906, Common::JA_JPN, 311),
-	WINGAME2("gadget", "", 	   "GADGET.EXE", "2cc9e2dacb90fb130f6ee9519b66c5a8", 369009,
-							   "GA00.MMM",	 "59c190365066ac13f9cd7721f64db85b", 324388, 310),
-	FMTGAME2_l("gadget", "",   "GADGET.EXE", "2cc9e2dacb90fb130f6ee9519b66c5a8", 369009,
-							   "GA00.MMM",	 "e32b3dd1a4c4e6c3899b5d2adb21d24a", 324390, Common::JA_JPN, 310),
+	// "Room(306)" application skips the opening cutscenes
+	MACGAME1("gadget", "",			  "GADGET",		"7f443f2e63fd497a9ad85b10dc880a91", 384631, 313),
+	MACGAME1("gadget", "Room(306)",	  "Room(306)",	"7f443f2e63fd497a9ad85b10dc880a91", 384629, 313),
+	// MACGAME1("gadget", "Read Me",	  "Read Me",	"f5277c53bacd27936158dd3867e587e2", 392651, 311),
+	WINGAME2t("gadget", "",			  "GADGET/GADGET.EXE",	"56b006cd4c970094b92ada995c9eccd1", 369009,
+									  "DATA/GA00.MMM",		"0bd279685bdc6569a5ca2bcc6e458f1b", 324508, 310),
+	WINGAME2t("gadget", "Room(306)",  "GADGET/ROOM306.EXE",	"7d0657bab79bc396a0c5b2271fbfeb16", 369009,
+									  "DATA/GA00.MMM",		"0bd279685bdc6569a5ca2bcc6e458f1b", 324508, 310),
+	MACGAME1_l("gadget", "",		  "GADGET",		"f5277c53bacd27936158dd3867e587e2", 392650, Common::JA_JPN, 311),
+	MACGAME1_l("gadget", "Room(306)", "Room(306)",	"f5277c53bacd27936158dd3867e587e2", 392648, Common::JA_JPN, 311),
+	// MACGAME1_l("gadget", "Read Me",	  "Read Me",	"f5277c53bacd27936158dd3867e587e2", 392651, Common::JA_JPN, 311),
+	FMTGAME2_l("gadget", "",		  "GADGET/GADGET.EXE",	"56b006cd4c970094b92ada995c9eccd1", 369009,
+									  "DATA/GA00.MMM",		"72ffa3d703affdf146ba19cb80e6bdbd", 324390, Common::JA_JPN, 310),
+	FMTGAME2_l("gadget", "Room(306)", "GADGET/ROOM306.EXE",	"7d0657bab79bc396a0c5b2271fbfeb16", 369009,
+									  "DATA/GA00.MMM",		"72ffa3d703affdf146ba19cb80e6bdbd", 324390, Common::JA_JPN, 310),
+	// Warning text at the end is in both Japanese and English
 	MACDEMO1("gadget", "Demo", "GADGET",	 "f5277c53bacd27936158dd3867e587e2", 390109, 311),
-	WINDEMO1("gadget", "Demo", "GADGET.EXE", "b439d48205f27ff9431b1f1b0b841340", 684203, 311),
+	WINDEMO1t("gadget", "Demo", "GADGET.EXE", "52a854cc16777395d05aa87859e6be5a", 684203, 311),
 
 	// Original filename is 我流競馬オートデモ
 	MACDEMO1_l("garyukeiba", "Demo", "Garyu Keiba Auto Demo", "276bee761e48a6fd709df77d5c2f60dd", 393175, Common::JA_JPN, 313),
@@ -1917,15 +2012,19 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("gustown", "", "GUS", "7f443f2e63fd497a9ad85b10dc880a91", 384462, 313),
 	WINGAME1("gustown", "", "GUS.EXE", "65d06b5fef155a2473434571aff5bc29", 369999, 310),
 
-	WINGAME1("hellcab", "",   "HELLCAB.EXE", "65d06b5fef155a2473434571aff5bc29", 370006, 310),
-	WINGAME1_l("hellcab", "", "HELLCAB.EXE", "01f98729644d862e15d67ee08ecc302c", 370094, Common::ES_ESP, 310),
-	WINGAME1_l("hellcab", "", "HELLCAB.EXE", "bacbb3b51e553de98f1db77f50450d88", 369982, Common::PT_BRA, 310),
+	// Original filename is "   Hell Cabâ„¢"
+	MACGAME1("hellcab", "",      "xn--   Hell Cab-t35f", "8cbe0a140f28b2165a66d73f4f153572", 601701, 313),
+	MACGAME1_l("hellcab", "",    "Hell Cab", "656a96bd5bceba5f3d99b7490dda8734", 1336675, Common::JA_JPN, 313),
+	WINGAME1t("hellcab", "",     "INSTALL/HELLCAB.EXE", "04d29e3212cebd0c2a30a2712cca7996", 370006, 310),
+	WINGAME1t_l("hellcab", "",   "INSTALL/HELLCAB.EXE", "800dcd986c500ddb269796f59d9118b2", 370094, Common::ES_ESP, 310),
+	WINGAME1t_l("hellcab", "",   "INSTALL/HELLCAB.EXE", "4b36e8e2d52166901a82c4a3f525f20f", 369982, Common::PT_BRA, 310),
+	WINDEMO1t("hellcab", "Demo", "HELLCAB.EXE", "0ae05c878664bdfd2e7314d739a9f914", 370005, 310),
 	MACDEMO1_l("hellcab", "Demo",   "HELLCAB Demo", "f5277c53bacd27936158dd3867e587e2", 389980, Common::JA_JPN, 311),
 
 	MACDEMO1_l("henachoco", "Trial Version", "Hena Choco Derby Demo", "f5277c53bacd27936158dd3867e587e2", 1794267, Common::JA_JPN, 311),
 
 	// Original demo filename is ムズカシイホンヲヨムトネムクナル
-	MACDEMO1_l("henachoco03", "Demo", "Muzukashiihon", "f5277c53bacd27936158dd3867e587e2", 1058521, Common::JA_JPN, 311),
+	MACDEMO1_l("henachoco03", "Demo", "xn--oj7cxalkre7cjz1d2agc0e8b1cm", "f5277c53bacd27936158dd3867e587e2", 1058521, Common::JA_JPN, 311),
 	MACDEMO1_l("henachoco03", "Trial Version", "ITA Choco", "f5277c53bacd27936158dd3867e587e2", 1123529, Common::JA_JPN, 311),
 	// Original filename is ムズカシイホンヲヨムトネムクナル
 	MACGAME1_l("henachoco03", "", "xn--oj7cxalkre7cjz1d2agc0e8b1cm", "f5277c53bacd27936158dd3867e587e2", 1579812, Common::JA_JPN, 311),
@@ -1934,8 +2033,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("hhouse", "", "The Ultimate Haunted House", "2ce360c9ea2da80a2c6d1040b0ad92dd", 384219, 313),
 	WINDEMO1("hhouse", "1994 Demo", "HAUNTED.EXE", "2b3543a9131a49f665982d26513a84f8", 914491, 310),
 
+	MACGAME1("hikaruhana", "", "Shining Flower", "a6e50f2b8f294640a1d0cbe91a73e81c", 392231, 311),
+	MACGAME1("hikaruhana", "Auto", "Shining Flower (Auto)", "a6e50f2b8f294640a1d0cbe91a73e81c", 392231, 311),
+	MACGAME1_l("hikaruhana", "", "HikaruHana", "cebba8af8bf6e1131bdd0c7dfebfc3aa", 392231, Common::JA_JPN, 311),
+	MACGAME1_l("hikaruhana", "Auto", "HikaruHana(Auto)", "cebba8af8bf6e1131bdd0c7dfebfc3aa", 392231, Common::JA_JPN, 311),
 	MACDEMO1_l("hikaruhana", "Sample Version", "HikaruHana", "1e3c3caae3ba8ab04479ebc84fab326c", 393095, Common::JA_JPN, 311),
 
+	MACDEMO1("hirezaudio", "Vol. 1 Demo", "Hi Rez Demo Projector", "1ae45c23586b41997ba52e2e7c771c4c", 1562852, 310),
+
 	MACGAME1("hoaddams2", "",  "AddamsFamilyInt",				"7f443f2e63fd497a9ad85b10dc880a91", 1381040, 313),
 	MACGAME1("hoangus", "",	   "Angus IPK",						"2ce360c9ea2da80a2c6d1040b0ad92dd", 2029855, 313),
 	MACGAME1("hodolores", "",  "Dolores Claiborne Interactive", "7f443f2e63fd497a9ad85b10dc880a91", 1475936, 313),
@@ -1955,6 +2060,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACDEMO1("iliad", "", "Iliad 3.0 Demo", "cfa68a1bc49251497ebde18e5fc9c217", 270830, 200),
 
+	WINDEMO1t("illustrator", "v4 for Windows Demo", "ADOBE.EXE", "1f857a750b64bb81fc5f4b8c89d53e5c", 225238, 300),
+
 	WINGAME1("imaginopolis", "1994 Demo", "MSKIDS.EXE", "2b3543a9131a49f665982d26513a84f8", 370009, 310),
 
 	// Original filesname is IMPACT!ムービー
@@ -1981,26 +2088,30 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO1("iptr", "Sampler", "I Photograph to RememberBIG", "a46f8441517e09088aad16decb13580d", 2632411, 311),
 
 	// Windows version is not Director
-	// Original English filename is Iron Helixâ„¢ Minimum
-	MACGAME1("ironhelix", "", "Iron Helix Minimum", "1ae45c23586b41997ba52e2e7c771c4c", 1652052, 311),
+	// Mac version requires installation, 'Iron Helixâ„¢ Installer' / 'Iron Helixâ„¢ Minimum Installer', Stuffit
+	// Original English filenames are 'Iron Helixâ„¢' and 'Iron Helixâ„¢ Minimum'
+	MACGAME1("ironhelix", "", "xn--Iron Helix-398e/xn--Iron Helix-398e", "1ae45c23586b41997ba52e2e7c771c4c", 1757732, 311),
+	MACGAME1("ironhelix", "Minimum", "xn--Iron Helix Minimum-lu3k/xn--Iron Helix Minimum-lu3k", "1ae45c23586b41997ba52e2e7c771c4c", 1608601, 311),
 	MACGAME1_l("ironhelix", "", "Iron Helix Compact", "f5277c53bacd27936158dd3867e587e2", 1596478, Common::JA_JPN, 311),
 	MACDEMO1("ironhelix", "1992 Demo", "IRON HELIX DEMO", "7c80091b84d4d5d48f7c773b30b10598", 1634901, 310),
 	MACDEMO1_l("ironhelix", "1993 Demo", "Iron Helix Demo (Japanese)", "1ae45c23586b41997ba52e2e7c771c4c", 378801, Common::JA_JPN, 311),
 	MACDEMO1("ironhelix", "1994 Demo", "Iron Helix Demo", "7f443f2e63fd497a9ad85b10dc880a91", 2031871, 313),
 
-	// From the two-floppy set Japan Art Today 04; this is the only
-	// Director application. The others use different tools.
+	// From the two-floppy set Japan Art Today 04; this is the only Director application.
+	// The others use different tools.
 	// Original filename is '04-12SHOCHOROTアニメ'
 	MACGAME1_l("japanart04", "", "xn--04-12SHOCHOROT-eg31fvj4g", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 452303, Common::JA_JPN, 300),
 
-	MACGAME1("jman", "", "Journeyman.16 MB", "1ae45c23586b41997ba52e2e7c771c4c", 437743, 300),
-	MACDEMO1("jman", "Sneak Preview", "Journeyman Sneak Preview", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 6222889, 300),
+	MACGAME1("jman", "",	 "Journeyman.16 MB", "1ae45c23586b41997ba52e2e7c771c4c", 437743, 300),
+	MACGAME1("jman", "v1.2", "Journeyman 16MB",  "2ce360c9ea2da80a2c6d1040b0ad92dd", 440902, 313),
+	WINGAME1("jman", "", "JMAN.EXE",		 "7c8230a804abf9353b05627a675b5ffb", 375282, 300),
+	WINGAME1_l("jman", "", "JOURNEY.EXE",	 "65d06b5fef155a2473434571aff5bc29", -1, Common::JA_JPN, 300),
+	MACDEMO1("jman", "Sneak Preview", "Journeyman Sneak Preview", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 6222633, 300),
+	MACDEMO1("jman", "CD Demo", "Journeyman Demo", "1ae45c23586b41997ba52e2e7c771c4c", 3077381, 311),
 	MACDEMO1("jman", "CD Demo", "Journeyman Demo", "424093b2bc04a1bfa4376c878f67a364", 3083188, 300),
 	MACDEMO1("jman", "v1.2 Demo", "Journeyman Demo", "1ae45c23586b41997ba52e2e7c771c4c", 3077381, 311),
 	MACDEMO1("jman", "IMG CD Demo", "Journeyman Demo", "1ae45c23586b41997ba52e2e7c771c4c", 2880877, 311),
 	MACDEMO1("jman", "Looping Demo", "Journeyman Looping Demo", "1ae45c23586b41997ba52e2e7c771c4c", 3077402, 311),
-	WINGAME1("jman", "", "JMAN.EXE", "7c8230a804abf9353b05627a675b5ffb", 375282, 300),
-	WINGAME1_l("jman", "", "JOURNEY.EXE", "65d06b5fef155a2473434571aff5bc29", -1, Common::JA_JPN, 300),
 	WINDEMO1("jman", "Demo", "JMDEMO.EXE", "7c8230a804abf9353b05627a675b5ffb", 375305, 300),
 
 	// Original filename is JOINT-net/DEMO
@@ -2049,7 +2160,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINDEMO1("leopardspots", "Demo", "LEOPARD.EXE", "2b3543a9131a49f665982d26513a84f8", 1081371, 310),
 
-	MACGAME1("lingoexpo", "", "Navigator", "53c55a79ef2c9247201c3b1873d851c6", 1082586, 400),
+	MACGAME1("lingoexpo", "", "Navigator", "4dacf23c1bb75093a882c4fd89dededb", 38, 400),
 
 	MACGAME1_l("lvi", "Nº1", "LVI_8Mo", "7f443f2e63fd497a9ad85b10dc880a91", 384462, Common::FR_FRA, 310),
 	WINGAME1_l("lvi", "Nº1", "LVI.EXE", "65d06b5fef155a2473434571aff5bc29", 634203, Common::FR_FRA, 310),
@@ -2099,17 +2210,31 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Published by Cambrix, Woodland Hills, California (1996)
 	WINGAME1("mask", "", "MASK.EXE", "c7da3e208b35c77d39af787cf74a57ae", 2377627, 311),
 
-	MACGAME1("maze", "", "Maze", "c4917547b9d9fda87567a9b3544489c4", 384534, 300),
+	// aka Bit-Bot's Math Voyage; A Viagem na Matemática do Bit Bot (PT-BR)
+	// Developed by Magic Quest, Inc.
+	// Floppy version of Bit-Bot's Math Voyage (aka v2.0.4) requires installation, InstallShield v3
+	//   {"BBMV1.Z", "4d8576b627d6dcc79d0a57237261a0ef", 264550}
+	//   {"BBMV2.1", "e8c7538d7e2942a91412375873188177", 710280}
+	//   {"BBMV2.2", "8a1c7a1a1088713b27bb3dc2aadee46b", 1430074}
+	//   {"BBMV2.3", "3ee535d23a7452b5905607ff708f46b2", 195088}
+	//   {"BBMV3.Z", "a7ffc5ca2248b0586fa18a25791ff8c7", 1006724}
+	MACGAME1("mathacejr", "v1.0.1", "xn--Math Ace Jr. CD-le3i", "2ce360c9ea2da80a2c6d1040b0ad92dd", 654765, 313),
+	WINGAME1t("mathacejr", "v1.0.8", "MATHACEJ.EXE", "f31adf00de16b451d5a516788d14f84a", 678371, 310),
+	WINGAME1t("mathacejr", "v2.0.4", "BBMV.EXE", "8306aab5c8ecae7911adf68bc3634cea", 429822, 310),
+	WINGAME1t("mathacejr", "v2.0.10", "BBMV.EXE", "7bb0a645d72403a47621a95540b11530", 637336, 310),
+	WINGAME1t_l("mathacejr", "v2.0.14", "BBMV.EXE", "4eb5532666489fd01c605f64e268d9b6", 678289, Common::PT_BRA, 310),
+
+	MACGAME1("maze", "", "Maze", "c4917547b9d9fda87567a9b3544489c4", 384278, 300),
 
 	// Selection of demos narrated by the MazeBox Tone Cruise mascot:
-	// 		Pyramid Interactive, Virtual Cocktail Bar, MazeBrew, Virtual Edo Castle,
+	//		Pyramid Interactive, Virtual Cocktail Bar, MazeBrew, Virtual Edo Castle,
 	//		Soul Gunner, Q TV, Tennoz, Kokuyo, a CD-ROM cultural course, and others
 	// Original filename is 付録
-	MACGAME1_l("mazebox", "Vol.1", "Appendix", "f5277c53bacd27936158dd3867e587e2", 419787, Common::JA_JPN, 311),
+	MACGAME1_l("mazebox", "Vol.1", "xn--bnq597n", "f5277c53bacd27936158dd3867e587e2", 419531, Common::JA_JPN, 311),
 
 	// Demo runs from Aldus SuperCard with Director movies
-	MACDEMO1_l("mazebrew", "Demo", "MBW", "3350d8c895d47d217d2dfa58aa95496d", 814, Common::JA_JPN, 311),
-	MACGAME1_l("mazebrew", "v2.0", "MazeBrew  v.2.0", "f5277c53bacd27936158dd3867e587e2", 492213, Common::JA_JPN, 311),
+	MACDEMO1_l("mazebrew", "Demo", "MBW", "3350d8c895d47d217d2dfa58aa95496d", 558, Common::JA_JPN, 311),
+	MACGAME1_l("mazebrew", "v2.0", "MazeBrew  v.2.0", "f5277c53bacd27936158dd3867e587e2", 491957, Common::JA_JPN, 311),
 
 	MACDEMO1("meetingmaker", "Demo", "Meeting Maker Demo", "19fe54e0b5c60405c7a88d9e4e032965", 721976, 300),
 
@@ -2147,11 +2272,15 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO1("mspublishd",	   "Demo",		"PUBLISH.EXE",  "2b3543a9131a49f665982d26513a84f8", 1644502, 310),
 	WINDEMO1("mssndbits",	   "Demo",		"SNDBITS.EXE",  "2b3543a9131a49f665982d26513a84f8", 1476769, 310),
 
+	// Found on CD-ROM Today, #4
+	WINDEMO2t("msbaseball", "Demo", "BASEBALL.EXE", "3c11ad6da2a2c9dcb7e02171b04ce23d", 375284,
+									"BASEB1.MMM",	"6cd090073aa3e159490d4a0458adaf7e", 1251222, 300),
+
 	MACGAME1("msdinosaurs", "Overview Movie", "Overview Movie", "479541070b3cbab6fd8473ce6267fb98", 792604, 310),
 
-	MACDEMO1("msproject", "Demo", "MS Project demo", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 1060170, 300),
+	MACDEMO1("msproject", "Demo", "MS Project demo", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 1059914, 300),
 
-	// Message from Apple found on Nikkei Mac CD-ROM (1994-2-17)
+	// "Message from Apple" found on Nikkei Mac CD-ROM (1994-2-17)
 	MACGAME1_l("msgfromapple", "", "Message", "4c7fddccfe5ab2e9c6398efa5dbe37c1", 395782, Common::JA_JPN, 313),
 	MACGAME1_l("msgfromapple", "", "Message from Apple", "4c7fddccfe5ab2e9c6398efa5dbe37c1", 395566, Common::JA_JPN, 313),
 
@@ -2159,23 +2288,27 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("murderbrett", "", "The Environmental Surfer", "2ce360c9ea2da80a2c6d1040b0ad92dd", 384469, 300),
 	WINGAME1("murderbrett", "", "BRETTP.EXE", "65d06b5fef155a2473434571aff5bc29", 370010, 300),
 
-	MACGAME1("murdermagic", "", "The Magic Death", "a8788e8b79dccc582b9818ec63734bed", 736754, 300),
-	WINGAME2("murdermagic", "", "MAGIC.EXE",	   "7c8230a804abf9353b05627a675b5ffb", 375298,
-								"OPENING.MMM",	   "173788e3d829b51c4a89e84544fc642f", 1021086, 310),
+	MACGAME1("murdermagic", "", "The Magic Death", "a8788e8b79dccc582b9818ec63734bed", 736498, 313),
+	WINGAME1t("murdermagic", "", "MAGIC.EXE", "86416853b3f18e841c091dd551f0fa53", 375298, 300),
 
 	// Original Mac English filename is Who Killed Sam Rupert?
 	// Original Japanese demo filename is サム・ルパート殺人事件デモ
 	// English Mac demo from The Family Doctor, 3rd Edition
 	MACGAME1("murdersam", "",		"Who Killed Sam Rupert",  "243ed9ef948de907401784d0938a4ed5", 518996, 310),
-	MACDEMO1_l("murdersam", "Demo", "Sam Rupert Murder Demo", "2ce360c9ea2da80a2c6d1040b0ad92dd", 382525, Common::JA_JPN, 313),
 	WINGAME1("murdersam", "1993", "RUPERT.EXE", "5c6862a40a48881913ee7c50d25cd984", 225256, 300),
 	WINGAME1("murdersam", "1994", "SAM.EXE",	"65d06b5fef155a2473434571aff5bc29", 370016, 310),
 	MACDEMO1("murdersam", "Demo", "Sam Rupert Demo", "1ae45c23586b41997ba52e2e7c771c4c", 375280, 310),
+	MACDEMO1_l("murdersam", "Demo", "Sam Rupert Murder Demo", "2ce360c9ea2da80a2c6d1040b0ad92dd", 382525, Common::JA_JPN, 313),
 
 	// German and Korean versions are D4
 	MACGAME1("murdertaylor", "", "Taylor French", "2ce360c9ea2da80a2c6d1040b0ad92dd", 384469, 300),
 	WINGAME1("murdertaylor", "", "TAYLORF.EXE", "65d06b5fef155a2473434571aff5bc29", 370010, 300),
 
+	// Found on CD-ROM Today, #4
+	MACDEMO1("myfavmonster", "Demo", "Monster Projector", "2ce360c9ea2da80a2c6d1040b0ad92dd", 417605, 313),
+	WINDEMO2t("myfavmonster", "Demo", "MONSTER.EXE", "ba7d54defb25afcc92815006ca75ea39", 375283,
+									  "IPL.MMM",	 "0119abf0ba09f7684aef45abfb4ac47e", 27372, 300),
+
 	MACGAME1("mylk", "", "Mylk DoubleClickMe!", "8a33471513b6896d3d13b8a9c8790d86", 356024, 300),
 
 	MACDEMO1("necrobius", "Demo", "Necrobius (Demo)", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 356865, 300),
@@ -2200,7 +2333,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO1_l("nsxpress", "Demo", "NSX Press", "f5277c53bacd27936158dd3867e587e2", 452135, Common::JA_JPN, 311),
 	MACDEMO1_l("oceansbelow", "Demo", "Oceans Below Auto-Demo", "f5277c53bacd27936158dd3867e587e2", 2680311, Common::JA_JPN, 311),
 
-	MACDEMO1("ofoto", "Tour", "Ofoto Tour", "5cc0930b4cd0b9dfc587b241ba37bf54", 354001, 300),
+	MACDEMO1("ofoto", "Tour", "Ofoto Tour", "5cc0930b4cd0b9dfc587b241ba37bf54", 353745, 300),
 
 	// Original projector filenames are OLプロジェクタ and プロジェクタ
 	// Second filename is 藤沢.ムービー
@@ -2239,7 +2372,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO1("pixar", "1993 Demo", "Pixar Projector", "1ae45c23586b41997ba52e2e7c771c4c", 2324198, 310),
 
 	MACDEMO1("playroom", "Color Demo", "Color Playroom Demo", "b29b31f423a332e7f9e059187e62e1be", 1000478, 300),
-	// MACDEMO1("playroom", "Demo",	   "Demo", 				  "b29b31f423a332e7f9e059187e62e1be", 1000478, 300),
+	// MACDEMO1("playroom", "Demo",	   "Demo",				  "b29b31f423a332e7f9e059187e62e1be", 1000478, 300),
 
 	MACGAME2_l("presenpack", "", "Start",		 "f5277c53bacd27936158dd3867e587e2", 390255,
 								 "SampleMovie1", "ad6bc606c81db01035f12e3d230d6b89", 2872942, Common::JA_JPN, 311),
@@ -2258,6 +2391,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACDEMO1("ramdoubler", "", "RAM Doubler Tour", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 445441, 300),
 
+	// Original filename is ランダムドット
+	MACGAME1_l("randomdot", "", "xn--6ckgpc8i3bzd", "f5277c53bacd27936158dd3867e587e2", 392934, Common::JA_JPN, 310),
+
 	// Original Japanese filename is レイドリームデモVer.1
 	MACDEMO1("raydream", "Tour", "Ray Dream Designer Tour", "1ae45c23586b41997ba52e2e7c771c4c", 3170943, 311),
 	MACDEMO1("raydream", "Gallery", "Ray Dream Gallery 3.2", "2ce360c9ea2da80a2c6d1040b0ad92dd", 6007578, 313),
@@ -2297,7 +2433,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Using Sculpt demo allows choice of English or Japanese
 	MACDEMO1_l("sculpt4d", "Vol.1 Demo", "Sculpt DemoVol.1",  "1ae45c23586b41997ba52e2e7c771c4c", 816379, Common::JA_JPN, 311),
-	MACDEMO1("sculpt4d",   "Vol.2 Demo", "SculptDemo2", 	  "2ce360c9ea2da80a2c6d1040b0ad92dd", 1460601, 313),
+	MACDEMO1("sculpt4d",   "Vol.2 Demo", "SculptDemo2",		  "2ce360c9ea2da80a2c6d1040b0ad92dd", 1460601, 313),
 	MACDEMO1("sculpt4d",   "Vol.3 Demo", "SculptDemo Vol.3",  "f54ac20d51c496911f9144ee595ade60", 2311707, 300),
 	MACDEMO1("sculpt4d",   "Vol.5 Demo", "Sculpt Demo Vol.5", "f54ac20d51c496911f9144ee595ade60", 1456565, 300),
 	MACDEMO1("sculpt4d",   "Using Demo", "UsingSculpt1.0",    "2ce360c9ea2da80a2c6d1040b0ad92dd", 383636, 313),
@@ -2322,10 +2458,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Original Mac version uses audio tracks, hybrid Mac/Win uses WAV files
 	// Das Bi-Ba-Butze-Haus published by Systhema, Munich (1995) and later by Rowohlt-Systhema (1999)
-	MACGAME1("snh",  "",				   "A Silly Noisy House", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 353764, 300),
-	MACGAME1("snh",  "Mac/Windows hybrid", "A Silly Noisy House", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 356886, 300),
-	WINGAME1t("snh", "Mac/Windows hybrid", "SNH.EXE", "6b1c74a8dbe1f083ee942859016d3345", 378901, 310),
-	MACDEMO1("snh", "Sampler", "Silly Noisy House Sampler",	"2064fd9b1871f02d216d20e92019a7ac", 1592334, 311),
+	MACGAME1("snh", "", "A Silly Noisy House", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 353764, 300),
+	MACGAME1("snh", "Hybrid release", "A Silly Noisy House", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 356886, 300),
+	WINGAME1t("snh", "Hybrid release", "SNH.EXE", "6b1c74a8dbe1f083ee942859016d3345", 378901, 310),
+	MACDEMO1("snh", "Sampler", "Silly Noisy House Sampler", "2064fd9b1871f02d216d20e92019a7ac", 1592334, 311),
 	WINGAME1_l("snh", "", "DBBBH.EXE", "9e13813fd39da5e27627ee28894d6ec0", 738336, Common::DE_DEU, 311),
 
 	// Game is HyperCard based. Movies will play with --start-movie from console.
@@ -2355,9 +2491,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1_l("timegal", "", "TimeGal", "f5277c53bacd27936158dd3867e587e2", 392230, Common::JA_JPN, 311),
 
-	// First animation fails to run on Mac emulators
-	MACGAME1("timeline", "24bit 1", "TimeLine 24bit 1", "1ae45c23586b41997ba52e2e7c771c4c", 252464, 310),
-	MACGAME1("timeline", "24bit 2", "TimeLine 24bit 2", "1ae45c23586b41997ba52e2e7c771c4c", 252460, 310),
+	// First animation fails to run on Mac emulators with the error "Problem with the file: Rotate Anim.mma" (22)
+	MACGAME1("timeline", "24bit 1", "TimeLine 24bit 1", "1ae45c23586b41997ba52e2e7c771c4c", 252208, 310),
+	MACGAME1("timeline", "24bit 2", "TimeLine 24bit 2", "1ae45c23586b41997ba52e2e7c771c4c", 252204, 310),
+
+	WINDEMO1t("tlc", "", "TLC.EXE", "0b70b84c5ccaa5e1568fbddf04117477", 375297, 310),
 
 	// Original filename is 闘魂V/デモ
 	MACDEMO1_l("tokon5", "Demo", "Tokon V-Demo", "f5277c53bacd27936158dd3867e587e2", 392497, Common::JA_JPN, 311),
@@ -2366,9 +2504,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACDEMO1("totaldistortion", "Demo", "TD Demo!", "1ae45c23586b41997ba52e2e7c771c4c", 381059, 311),
 	MACDEMO1_l("totaldistortion", "Demo", "TD Demo", "2ce360c9ea2da80a2c6d1040b0ad92dd", 384455, Common::JA_JPN, 313),
+	// from Macromind Director 4.0.4 CD
+	MACDEMO1("totaldistortion", "Great Big Demo", "TD CD Demo!", "1ae45c23586b41997ba52e2e7c771c4c", 287839, 311),
 
 	MACDEMO1_l("transland", "Demo", "Trans Demo", "f5277c53bacd27936158dd3867e587e2", 2339365, Common::JA_JPN, 311),
 
+	// from the Macromind Director 4.0.4 CD, full game is D4
+	MACDEMO1("travelrama", "Preview", "Travelrama Preview", "7f443f2e63fd497a9ad85b10dc880a91", 388022, 314),
+
 	MACDEMO1_l("tree", "Demo", "TREE Demo", "f54ac20d51c496911f9144ee595ade60", 1104947, Common::JA_JPN, 311),
 
 	WINDEMO1("trekfinalunity", "Demo", "PLAYDEMO.EXE", "65d06b5fef155a2473434571aff5bc29", 370018, 310),
@@ -2403,37 +2546,42 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("verttice", "v1.1 PowerMac", "DreamLight Verttice 1.1", "1ae45c23586b41997ba52e2e7c771c4c", 1089447, 311),
 
 	MACGAME2("vvcyber", "", "Start Game", "7f443f2e63fd497a9ad85b10dc880a91", 384846,
-							"START0", 	  "6d6781e7183df66d8995285e4e3f1a50", 807, 300),
+							"START0",	  "6d6781e7183df66d8995285e4e3f1a50", 807, 300),
 	WINGAME1("vvcyber", "", "CYBER.EXE", "65d06b5fef155a2473434571aff5bc29", 371139, 300),
-	MACDEMO1("vvcyber", "Demo", "CyberPlasm", "2ce360c9ea2da80a2c6d1040b0ad92dd", 504157, 300),
-	WINDEMO1("vvcyber", "Demo", "CYBER.EXE", "88f4f7406f34ec36e751a64f7c76f2c4", 639439, 300),
+	MACDEMO1("vvcyber", "Demo", "CyberPlasm", "2ce360c9ea2da80a2c6d1040b0ad92dd", 503901, 300),
+	WINDEMO1t("vvcyber", "Demo", "CYBER.EXE", "f6a00141499568e167ab0ed901fffa05", 639439, 300),
+
 	MACGAME1("vvdinosaur", "", "Start Game", "d41d8cd98f00b204e9800998ecf8427e", -1, 300),
 	WINGAME1("vvdinosaur", "", "DINOSAUR.EXE", "4e6303630f4dd588e730d09241cf7e76", -1, 300),
 	WINGAME1("vvdinosaur", "v1.1", "DINOSAUR.EXE", "88f4f7406f34ec36e751a64f7c76f2c4", 370049, 300),
-	MACGAME1("vvharp", "", "Start Adventure", "7f443f2e63fd497a9ad85b10dc880a91", 383406, 300),
-	WINGAME1("vvharp", "", "HYPNOTIC.EXE", "88f4f7406f34ec36e751a64f7c76f2c4", 370272, 300),
+
+	MACGAME1("vvharp", "", "Start Adventure! (8mb)", "7f443f2e63fd497a9ad85b10dc880a91", 383150, 300),
+	WINGAME1t("vvharp", "", "HYPNOTIC.EXE", "0cf51de2c038e003dd4046295e12a5d6", 370272, 300),
+
 	MACGAME1("vvvampire", "", "The Vampire's Coffin", "d41d8cd98f00b204e9800998ecf8427e", -1, 300),
-	WINGAME1("vvvampire", "", "VAMPIRE.EXE", "88f4f7406f34ec36e751a64f7c76f2c4", -1, 300),
+	MACGAME1("vvvampire", "", "The Vampire's Coffin", "7f443f2e63fd497a9ad85b10dc880a91", 384070, 313),
+	WINGAME1t("vvvampire", "", "VAMPIRE.EXE", "97019593c1c86ac3be60c3ba468c07b6", 370837, 300),
 
 	MACGAME1_l("vvs", "", "VVS Theater-ExtraLarge", "f5277c53bacd27936158dd3867e587e2", 912907, Common::JA_JPN, 311),
 	MACDEMO1_l("vvs", "Demo", "VVS Theater", "f5277c53bacd27936158dd3867e587e2", 639768, Common::JA_JPN, 311),
 
+	MACGAME1("wackyjacks", "v1.2", "Wacky Jacks 1.2/Wacky Jacks", "7f443f2e63fd497a9ad85b10dc880a91", 428279, 310),
+	// from the Macromind Director 4.0.4 CD
+	MACDEMO1("wackyjacks", "Demo", "Wacky Jacks Preview", "7f443f2e63fd497a9ad85b10dc880a91", 388159, 314),
+
 	// Original filename is 'WackyRaces/Intercative' - typo on the original disc
 	MACDEMO1_l("wackyraces", "", "xn--WackyRacesIntercative-6a27h", "71f7df248f2ebc7f0df0c9be39d3aeea", 377276, Common::JA_JPN, 313),
 
 	// Original filename is 'WallobeeJack/Demo'
-	// Contained on the Canadian retail game disc, intended
-	// to be run in retail stores.
+	// Contained on the Canadian retail game disc, intended to be run in retail stores.
 	// Bilingual English/French
 	MACDEMO1("wallobee", "Demo", "xn--WallobeeJackDemo-3a24f", "2ce360c9ea2da80a2c6d1040b0ad92dd", 383688, 313),
-
 	// English version - both are on the same disc
 	MACGAME1("wallobee", "", "WallobeeJack English", "2ce360c9ea2da80a2c6d1040b0ad92dd", 384611, 313),
 	// French version; original filename is 'WallobeeJack Français'
 	MACGAME1_l("wallobee", "", "xn--WallobeeJack Franais-k1b", "2ce360c9ea2da80a2c6d1040b0ad92dd", 384610, Common::FR_FRA, 313),
 	// Decomposed variant of the above
 	MACGAME1_l("wallobee", "", "xn--WallobeeJack Francais-lhm", "2ce360c9ea2da80a2c6d1040b0ad92dd", 384610, Common::FR_FRA, 313),
-
 	// American release, English version - both are on the same disc
 	MACGAME1("wallobee", "American rerelease", "Bingi Burra", "2ce360c9ea2da80a2c6d1040b0ad92dd", 384683, 313),
 	// American release, French version
@@ -2447,14 +2595,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Later demo is originally found on Inside Mac Games
 	// Mac AV versions are from 1994 and 1996, the latter provided by eriktorbjorn
 	// Republished in Europe by Visual Media Systems, Bièvres, France (1995)
-	WINGAME2t("warlock",   "v1.1.3 MPC", "SSWARLCK.EXE", "802c503582d855cb961227e7a619f4b0", 370867,
-										 "AREACTOR.MMM", "f9cc7b0012ee5fb4008d32f57b80fc72", 33380, 310),
-	WINGAME2t_l("warlock", "v1.1.3 MPC", "SSWARLCK.EXE", "802c503582d855cb961227e7a619f4b0", 370867,
-										 "AREACTOR.MMM", "1480a7134cbd257d5e13b0a09d39ec69", 33536, Common::FR_FRA, 310),
-	WINDEMO2t("warlock",   "Demo",		 "SSWDEMO.EXE",	 "ab56bba682d468c84a762f3589cfafe6", 370934,
-										 "ADEMO.MMM",	 "7e36622944a0a01c5757f2299dcf88d8", 388598, 310),
-	WINDEMO2t_l("warlock", "Demo",		 "SSWDEMO.EXE",	 "ab56bba682d468c84a762f3589cfafe6", 370934,
-										 "ADEMO.MMM",	 "4249a5573427e0883f36c22835a49ec9", 388660, Common::FR_FRA, 310),
+	WINGAME2t("warlock",   "v1.1.3 MPC", "SSWARLCK.EXE",     "802c503582d855cb961227e7a619f4b0", 370867,
+										 "NAV/AREACTOR.MMM", "f9cc7b0012ee5fb4008d32f57b80fc72", 33380, 310),
+	WINGAME2t_l("warlock", "v1.1.3 MPC", "SSWARLCK.EXE",     "802c503582d855cb961227e7a619f4b0", 370867,
+										 "NAV/AREACTOR.MMM", "1480a7134cbd257d5e13b0a09d39ec69", 33536, Common::FR_FRA, 310),
+	WINDEMO2t("warlock",   "Demo",		 "SSWDEMO.EXE",		 "ab56bba682d468c84a762f3589cfafe6", 370934,
+										 "NAV/ADEMO.MMM",	 "7e36622944a0a01c5757f2299dcf88d8", 388598, 310),
+	WINDEMO2t_l("warlock", "Demo",		 "SSWDEMO.EXE",		 "ab56bba682d468c84a762f3589cfafe6", 370934,
+										 "NAV/ADEMO.MMM",	 "4249a5573427e0883f36c22835a49ec9", 388660, Common::FR_FRA, 310),
 	MACGAME1("warlock",	   "v1.1.2 AV",  "xn--Spaceship Warlock AV-5h7l", "e043b322d17e0f2ca7f73520466a4311", 381950, 313), // 1994
 	MACGAME1("warlock",	   "v1.1.2 AV",	 "xn--Spaceship Warlock AV-5h7l", "e043b322d17e0f2ca7f73520466a4311", 384214, 313), // 1996
 	MACDEMO1("warlock",	   "Demo",		 "Spaceship Launch",			  "7f443f2e63fd497a9ad85b10dc880a91", 385616, 313),
@@ -2468,11 +2616,16 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Produced by Microsoft; designed by AdWare Inc, Los Gatos, California (1992)
 	WINDEMO1("wfw31", "Demo", "WFWDEMO.EXE", "d98c3f5c1b7ea3039c47cc63d238a60d", 253540, 300),
 
+	// Designed and produced by AdWare Inc, Los Gatos, California (1992)
+	WINDEMO2t("windows31", "Demo", "WINDEMO.EXE", "7d007410fece051b819735a282da7601", 255447,
+								   "WINDEMO.MMM", "0c13c2c5768cd54b01e5b9b1ef093f28", 2824822, 300),
+
 	// Original filename is WONDEROMPM4.5J Ver.2 サンプル
 	MACDEMO1_l("wonderompm", "Sample Version", "WONDEROMPM4.5J Ver.2 sample", "f5277c53bacd27936158dd3867e587e2", 392574, Common::JA_JPN, 311),
 
 	WINGAME1("woodstock25", "",     "FESTIVAL.EXE", "65d06b5fef155a2473434571aff5bc29", 370006, 310),
-	WINDEMO1("woodstock25", "Demo", "WDSTOCK.EXE",  "65d06b5fef155a2473434571aff5bc29", 2099951, 310),
+	WINDEMO1t("woodstock25", "Demo", "WDSTOCK.EXE",  "35aaa39965705c32d927a0c8fbed27af", 2099951, 310),
+	WINDEMO1t("woodstock25", "Demo", "WDSTOCK.EXE",  "dd8af0fd34231850dc0e0c88cb04aa66", 2474071, 310),
 
 	WINDEMO1("wpmainstreet", "", "WPMAINST.EXE", "65d06b5fef155a2473434571aff5bc29", 370000, 300),
 
@@ -2486,16 +2639,24 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACDEMO1("wriggle", "Demo", "'93 Wriggle Demo", "9f0bb7ec7720e4f680ee3aa3d22c1c9d", 353993, 300),
 
-	MACGAME1("wti", "", "WTI Projector", "1ae45c23586b41997ba52e2e7c771c4c", 3715485, 310),
+	MACGAME1("wti", "", "WTI Projector", "1ae45c23586b41997ba52e2e7c771c4c", 3715229, 310),
 
 	// may be vaporware; original name is ∆ X A N T H U S ∆
 	MACDEMO1("xanthus", "Demo", "xn-- X A N T H U S -hd6ipa", "1ae45c23586b41997ba52e2e7c771c4c", 375447, 300),
 
-	MACGAME1("y2lmath", "", "Snoopy Math", "7f443f2e63fd497a9ad85b10dc880a91", 606010, 313),
-	WINGAME1("y2lmath", "", "SNPYMATH.EXE", "65d06b5fef155a2473434571aff5bc29", 413887, 313),
+	// Requires installation, 'Installer', uses Smaller Installer by Cyclos
+	MACGAME1("y2lflintcoloring", "", "Coloring Book", "2ce360c9ea2da80a2c6d1040b0ad92dd", 490543, 313),
 
-	// Requires installation from floppy disks
+	MACGAME1("y2lmath", "v1.07", "Snoopy Math", "7f443f2e63fd497a9ad85b10dc880a91", 605754, 313),
+	WINGAME1t("y2lmath", "v1.07", "SNPYMATH.EXE", "3a06c99298df30784a402f62f65c2bde", 413887, 313),
+
+	// Developed by Image Smith
+	// Requires installation from floppy disks, uses Smaller Installer by Cyclos
+	MACGAME1("y2lpeanuts", "v1.2 Floppy", "Peanuts", "1ae45c23586b41997ba52e2e7c771c4c", 543503, 311),
 	MACGAME1("y2lpeanuts", "v1.2a Floppy", "Peanuts", "1ae45c23586b41997ba52e2e7c771c4c", 543787, 311),
+	// from the Macromind Director 4.0.4 CD
+	MACDEMO1("y2lpeanuts", "Crippled Version", "PEANUTS", "1ae45c23586b41997ba52e2e7c771c4c", 546601, 311),
+	MACDEMO1("y2lpeanuts", "1 minute Demo", "Y-2-L Demo", "1ae45c23586b41997ba52e2e7c771c4c", 381129, 311),
 
 	// CD-ROM language selection: German, Swedish, Dutch, Danish, English, French
 	{
@@ -2511,9 +2672,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 		313
 	},
 
+	// from Yearn2Learn: Master Snoopy's Math
 	// English Mac demos are simply quicktime files, no director
-	WINDEMO1("y2lpeanuts", "QuickTime Preview", "PEANUTS.EXE", "65d06b5fef155a2473434571aff5bc29", 370017, 310),
-	WINDEMO1("y2lsnoopy", "QuickTime Preview", "SNOOPY.EXE", "65d06b5fef155a2473434571aff5bc29", 370016, 310),
+	WINDEMO1t("y2lpeanuts", "QuickTime Preview", "PEANUTS.EXE", "a9f24851955b9e260274cd9380254f5b", 370017, 310),
+	WINDEMO1t("y2lsnoopy", "QuickTime Preview", "SNOOPY.EXE", "6a1c5ea0d9870bacd2017e1f2267a743", 370016, 310),
 
 	// Original filename is スヌーピー Demo
 	MACDEMO1_l("y2lsnoopy", "v1.2 Demo", "Snoopy Demo", "1ae45c23586b41997ba52e2e7c771c4c", 402263, Common::JA_JPN, 311),
@@ -2523,7 +2685,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Requires installation from floppy disks
 	WINGAME1("y2lspelling", "v1.0 Floppy", "SPELLACE.EXE", "65d06b5fef155a2473434571aff5bc29", 438552, 310),
 
-	MACGAME1("ybr1", "",   "YBR", 		"f5277c53bacd27936158dd3867e587e2", 414242, 300),
+	MACGAME1("ybr1", "",   "YBR",		"f5277c53bacd27936158dd3867e587e2", 414242, 300),
 	WINGAME2("ybr1", "",   "YBR.EXE",	"2cc9e2dacb90fb130f6ee9519b66c5a8", 369007,
 						   "START.MMM",	"69012b34b3f0e6f1886133b807db4476", 2566872, 300),
 	MACGAME2_l("ybr1", "", "YBR",		"f5277c53bacd27936158dd3867e587e2", 414242,
@@ -2559,24 +2721,41 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("abrapalabra", "", "ABRAPALABRA", "bcd3c718db258701496b3c5bcb827ef2", 483774, Common::ES_ESP, 404),
 	WINGAME1_l("abrapalabra", "", "PALABRA.EXE", "a24a52bdb12d61eae64b9088b25ea03b", 862425, Common::ES_ESP, 404),
 
+	// Found on A.D.A.M. v1.1 for Mac
+	MACGAME1("adamcatalog", "", "A.D.A.M. Catalog", "99312ebd2a530b9e88f536f754c6b335", 302321, 400),
+
 	// Found on Nine Month Miracle for Mac
 	MACDEMO1("adamcmp", "Demo", "Comprehensive", "17efee018a660458fae80de4364021ac", 483746, 404),
-	MACDEMO1("adamess", "Demo", "Essentials",	 "17efee018a660458fae80de4364021ac", 483746, 404),
-	MACDEMO1("adamstd", "Demo", "Standard",		 "17efee018a660458fae80de4364021ac", 483746, 404),
 
-	// Found on A.D.A.M. v1.1.1 for Mac
+	// Found on Nine Month Miracle for Mac
+	MACDEMO1("adamess", "Demo", "Essentials",	"17efee018a660458fae80de4364021ac", 483746, 404),
+	// Found on Life's Greatest Mysteries v1.01 (Win)
+	WINGAME1t("adamess", "Demo", "ESSDEMO.EXE", "81dbb88c9cce74bdbc05fb655c07d84e", 3440475, 400),
+
+	// Found on Nine Month Miracle for Mac
+	MACDEMO1("adamstd", "Demo", "Standard", "17efee018a660458fae80de4364021ac", 483746, 404),
+
+	// Found on A.D.A.M. v1.11 for Mac
 	MACGAME1("adamscholar", "", "Run Demo!", "17efee018a660458fae80de4364021ac", 483746, 404),
 
 	// Animated Dissection of Anatomy for Medicine
 	// Created by A.D.A.M. Software, Marietta, Georgia, USA
+	// Mac demo called "The Inside Story Demo" found on v1.1
 	// Puzzle demo is found on apcmag.cd Dec 1999 disc 3, published by Australian Consolidated Press
 	// PUZZLE.EXE is the only file in this demo
 	// Versions 2.x are labeled 1997 Edition
-	MACGAME1("adamtis", "v1.1.1",	  "Adam Player.ppc",   "17085276f3b938562330a4e8bfdc97ce", 57702, 404),
-	MACDEMO1("adamtis", "Demo",		  "Inside Story Demo", "ea646eccc9a53f44ce082459d4809a06", 481482, 404),
-	WINGAME1("adamtis", "v1.11",	  "ADAMPLAY.EXE",	   "81bcf05f92ebbd98034a189cde6a4936", 695721, 404),
-	WINGAME1("adamtis", "v2.01",	  "ADAMPLAY.EXE",	   "803570c5edef30938a1efb0900f113e0", 695855, 404),
-	WINDEMO1("adamtis", "Skull Demo", "PUZZLE.EXE",		   "d2dcc8b55382fc1807e357af5108f7ba", 1057997, 404),
+	MACGAME2("adamtis", "v1.1",		  "Adam Player.ppc",			   "17085276f3b938562330a4e8bfdc97ce", 57446,
+									  "A.D.A.M. The Inside Story 1.1", "aff58aef8781629c7fb011c389d45e37", 334061, 404),
+	MACGAME2("adamtis", "v1.11",	  "Adam Player.ppc",			   "17085276f3b938562330a4e8bfdc97ce", 57446,
+									  "A.D.A.M. The Inside Story 1.1", "aff58aef8781629c7fb011c389d45e37", 336715, 404),
+	WINGAME2t("adamtis", "v1.11",	  "ADAMPLAY.EXE",		   "e1df8f99d27cdead0717ee63685ceb2c", 695721,
+									  "INSIDE.EXE",			   "ddefd17508c1399690fa6127fb18faf8", 1341120,	404),
+	WINGAME2t("adamtis", "v2.01",	  "ADAMPLAY.EXE",		   "e1df8f99d27cdead0717ee63685ceb2c", 695855,
+									  "INSIDE.EXE",			   "ab403a2e33b087e318eaacec6abb60a7", 2532288,	404),
+	MACDEMO1("adamtis", "Demo",		  "The Inside Story Demo", "22815cf659b911c4e07d0015cac5d98f", 301669,	400),
+	MACDEMO1("adamtis", "Demo",		  "Inside Story Demo",	   "ea646eccc9a53f44ce082459d4809a06", 481226,	404),
+	WINDEMO1t("adamtis", "Demo",	  "ADAMDEMO.EXE",		   "451a5ea3f5a47874dbad22d1715d2635", 7342649, 404),
+	WINDEMO1("adamtis", "Skull Demo", "PUZZLE.EXE",			   "d2dcc8b55382fc1807e357af5108f7ba", 1057997,	404),
 
 	MACGAME1("alice", "", "Alice", "3b61149c922f0fd815ca29686e4f554a", 304458, 400),
 	WINGAME1("alice", "", "ALICE.EXE", "c67ece9b657ee80355520ac37a25fe55", 684733, 400),
@@ -2594,12 +2773,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Windows version is D5
 	MACGAME1("amber", "", "xn--AMBER-Journeys Beyond-yb4m", "a6a7812d8b3de0da884197eb26a1b059", 60086, 404),
 
-	WINGAME1("amnesty", "", "AMNESTY.EXE", "39b849bbba9eaf39c92ca25e0bb36a56", 736902, 404),
+	MACGAME2("amnesty", "", "Double-Click Me", "ef59432e7b24df951cb7096cfd45d168", 373184,
+							"Rights.Dir", "196e02dd14e685b599cfc6f8dcc7cd3b", 641230, 400),
+	WINGAME1t("amnesty", "", "AMNESTY.EXE", "3e647bd639f00391da11f015a241d9e7", 736902, 404),
 
 	WINGAME1_l("angelgate", "",		"ANGEL.EXE", "046f0458f64b9008bc4b0dca5b895390", 746991, Common::JA_JPN, 404),
 	WINDEMO2_l("angelgate", "Demo", "DEMO.EXE",	 "32640d047e9e0d9498a6654de07e8248", 746865,
 									"START",	 "9261f9d13410517d9172975ea33695c2", 10354, Common::JA_JPN, 404),
-	MACDEMO2_l("angelgate", "Demo", "DEMO", 	 "bcd3c718db258701496b3c5bcb827ef2", 483415,
+	MACDEMO2_l("angelgate", "Demo", "DEMO",		 "bcd3c718db258701496b3c5bcb827ef2", 483415,
 									"START",	 "66600069c64ac7938eba0531ea1c1537", 10482, Common::JA_JPN, 404),
 	// Original filename is 'デモ', e.g. 'demo'
 	MACDEMO2_l("angelgate", "Demo", "xn--edkuc", 	 "bcd3c718db258701496b3c5bcb827ef2", 483159,
@@ -2619,10 +2800,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Original Pro demo filename is Ants Afire! Proâ„¢ PM
 	// Demo is from Inside Mac Games #25 - Mar 25 1995
 	MACGAME1("antsafire", "v1.2", "xn--Ants Afire! 1.2-ke3i", "1682231de376e5465240f6e4a7952072", 292216, 403),
-	MACDEMO1("antsafire", "Pro 1.2.7 Demo", "xn--Ants Afire! Pro PM-qu3k", "71287376e445ab9c98f0d150bb0ed175", 60096, 404),
+	MACDEMO1("antsafire", "Pro 1.2.7 Demo", "xn--Ants Afire! Pro PM-qu3k", "71287376e445ab9c98f0d150bb0ed175", 60096, 404), // 1.2 on title screen
 
-	MACDEMO1("aol", "v2.6 Demo", "America Online Easy", "67f572196550aedb1f9523d782022be0", 482838, 404),
-	WINDEMO1("aol", "Demo", "AOL.EXE", "6fa7b1fce40c6edb7710d0550431b2df", 1426687, 404),
+	MACDEMO1("aol", "v2.6 Demo", "America Online Easy", "67f572196550aedb1f9523d782022be0", 482582, 404),
+	WINDEMO1t("aol", "Demo", "AOL.EXE", "b91b98671625a60252dba2cc7d052e7d", 1426687, 404),
 
 	MACGAME1("applestore", "", "Apple Company Store", "19b7c96659c773e73b13986d06b28c5c", 774048, 404),
 
@@ -2630,15 +2811,13 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO1t_l("aquazone", "Demo", "AZDEMO.EXE", "4644e6e5015ed2c7e4a30619c5efc464", 4011337, Common::JA_JPN, 404),
 
 	MACGAME2_l("aramata", "", "START", "0c7bbb4b24823e5ab871cb4c1d6f3710", 484095,
-		"SRC/MACLOBBY.Dxr", "2332900b20b0d33e0617e5e7505923e8", 290058,
-		Common::JA_JPN, 404),
+							  "SRC/MACLOBBY.Dxr", "2332900b20b0d33e0617e5e7505923e8", 290058, Common::JA_JPN, 404),
 	WINGAME2t_l("aramata", "", "START.EXE", "bb031b7d7a57557636530e80b4c061b3", 747081,
-		"SRC/WINLOBBY.Dxr", "f53af0b58070d2450a3672847434b609", 5282042,
-		Common::JA_JPN, 404),
+							   "SRC/WINLOBBY.Dxr", "f53af0b58070d2450a3672847434b609", 5282042, Common::JA_JPN, 404),
 
 	MACGAME1("arcofdoom", "", "Arc Player (4mb)", "ea553e3f3fa123ad38fa5249621e8c8b", 295426, 400),
-	MACDEMO1("arcofdoom", "Demo", "ArcDemo", "cdb27c916044ae4dceb4b7326063fa03", 301925, 400),
 	WINGAME1("arcofdoom", "", "ARC.EXE", "fd3e9ad004597b01656b28c348a2ae7f", 687973, 400),
+	MACDEMO1("arcofdoom", "Demo", "ArcDemo", "cdb27c916044ae4dceb4b7326063fa03", 301669, 400),
 
 	WINDEMO2("artofmagic", "Demo", "MAGIC.EXE", "57347ee90d930c1bb222c5652c4b3a50", 690969,
 								   "WINWORLD.DIR", "0cf86a011d48ef31790514f13f92484d", 19977904, 404),
@@ -2649,16 +2828,18 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("aruba", "", "ARUBA POWER PC", "d8b8e42c2d9875b47ea762ca3fd45122", 57122, 404),
 	WINGAME1("aruba", "", "ARUBA.EXE", "adb2655694ddacd49513ae50f58977ea", 696671, 404),
 
-	 // Full game is not Director
+	// Full game is not Director
 	WINDEMO1("ataripack", "Demo", "ACTDEMO.EXE", "4a8fd0d74faef305bc935e1aac94d3e8", 712817, 400),
 
+	MACGAME1("atbat", "2.0", "At Bat", "ea553e3f3fa123ad38fa5249621e8c8b", 292906, 403),
+	WINGAME1t("atbat", "2.0", "ATBAT.EXE", "de8a2b4f91c1e7a22e36f394a3a64af5", 842033, 400),
+
 	MACGAME1("athletics", "", "ATHLETICS", "17efee018a660458fae80de4364021ac", 482866, 404),
 	WINGAME1("athletics", "", "PROJECT.EXE", "b804f1e4bf84c31979502329ee0f8c28", 696839, 404),
 
 	// Developed by Future Pirates
 	// L sets gextendmemoryflg to 1; S sets it to 0
-	PIPGAME1_l("atmarktown", "L", "L", "f48b3fd88055f0700ceb2b378d25b079", 57774, Common::JA_JPN, 404),
-	PIPGAME1_l("atmarktown", "S", "S", "f48b3fd88055f0700ceb2b378d25b079", 57802, Common::JA_JPN, 404),
+	PIPGAME1_l("atmarktown", "", "L", "f48b3fd88055f0700ceb2b378d25b079", 57774, Common::JA_JPN, 404),
 
 	// Original filename is 'オウム報道全記録Demo'
 	MACDEMO1_l("aumhodozenkiroku", "Demo", "xn--Demo-4k4cxa39ay43tw0mbx1jiloc9h", "7fd44b6dffa0ea0402eaed4c3769b39b", 304674, Common::JA_JPN, 404),
@@ -2679,11 +2860,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Kidsoft US packaging says A Bear Family Adventure featuring Playtime in the Park by Erica Dale
 	MACDEMO1_l("bearfamily", "Demo", "Playtime Demo", "77f4098988d5386794d1530065f514cd", 301953, Common::JA_JPN, 400),
 
-	MACGAME2("beatexp", "", "The Beat Experience", "17efee018a660458fae80de4364021ac", 486046,
-							"MAIN.DIR",			   "988fb673e94af049b30e146c1bce3fa9", 5761764, 404),
-	MACDEMO2("beatexp", "Demo", "The Beat Experience", "17efee018a660458fae80de4364021ac", 486046,
+	MACGAME2("beatexp", "", "The Beat Experience", "17efee018a660458fae80de4364021ac", 485790,
+							"MAIN.DIR",			   "8735a5265dcf7d6861992f63f8eb82bf", 5761636, 404),
+	MACDEMO2("beatexp", "Demo", "The Beat Experience", "17efee018a660458fae80de4364021ac", 485790,
 								"MAIN.DIR",			   "b4b6fa644f64555f9f7af51454c40909", 397994, 404),
-	WINGAME1("beatexp", "", "BEATEXP.EXE", "2b70ef82a850598dfaf097d0a89ca454", 3588245, 404),
+	WINGAME1t("beatexp", "", "BEATEXP.EXE", "046a68edce43728141b1b7239e8667c8", 3588245, 404),
 
 	// Original filename is BeBoxへの招待
 	MACDEMO1_l("bebox", "Demo", "Invitation to BeBox", "5e2eb92e059fd2aa880c537da1385aa1", 484323, Common::JA_JPN, 404),
@@ -2706,33 +2887,41 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Demo is from covermount of PC Guide (UK) Feb 1997
 	MACGAME1("bht", "",   "A Brief History Of Time 16megs", "8719de9c083aca942fc0e5c0a127b6dc", 486982, 404),
 	MACGAME1_l("bht", "", "Eine kurze Geschichte der Zeit", "8719de9c083aca942fc0e5c0a127b6dc", 486982, Common::DE_DEU, 404),
-	WINGAME2("bht", "", 	"BHT.EXE", 		"d2f280d5ec355b252ffdadbe19332893", 692381,
+	WINGAME2("bht", "",		"BHT.EXE",		"d2f280d5ec355b252ffdadbe19332893", 692381,
 							"PLAY_BHT.DIR", "663acc406405b6fcac7e2d89230c4cc2", 8398, 404),
 	WINDEMO2("bht", "Demo", "BHT.EXE",		"d2f280d5ec355b252ffdadbe19332893", 692381,
 							"PLAY_BHT.DIR", "9417d6ebe716c963a4424a1611aaa2ca", 3522, 404),
-	WINGAME2_l("bht", "", 	"BHT.EXE", 		"d2f280d5ec355b252ffdadbe19332893", 692381,
+	WINGAME2_l("bht", "",	"BHT.EXE",		"d2f280d5ec355b252ffdadbe19332893", 692381,
 							"PLAY_BHT.DIR", "a11fe20066d9e84423df6c3ef4966636", 69068, Common::DE_DEU, 404),
 
 	WINDEMO2t("baseballhits", "Demo", "BASEBALL.EXE", "008d1690b0b764f8a75e4f4c6542b739", 3569928,
 									  "WINDEMO.DIR", "e8e44e90e25c0efe74ddb77df545db1e", 2958900, 400),
+	// Found on CD-ROM Today, #4
+	MACDEMO1("baseballhits", "Demo", "Baseball demo", "5f850a4b82c69bb4074650c3c2044784", 301669, 400),
+	WINDEMO2t("baseballhits", "Demo", "BASEBALL.EXE", "008d1690b0b764f8a75e4f4c6542b739", 3569928,
+									  "WINDEMO.DIR", "6f9289021ac872ed504209b0b944c8fb", 2958900, 400),
 
 	MACGAME1("blam2", "", "   BLAM!2-powermac", "71287376e445ab9c98f0d150bb0ed175", 60096, 404),
 
 	WINGAME1("blaster", "", "DEMO.EXE", "617725437da4d66c176a9e7011977097", 24300731, 400),
 
 	MACGAME2("blender", "Volume 2.1", "BLENDME (POWERMAC)", "9d10bbbf1b8d527e203c6be2eac3518c", 58058,
-									  "OPENING.DIR",		"f5d3c1e813ec276de53d5ff13a6bf337", 2888054, 404),
+									  "FILES/OPENING.DIR",	"f5d3c1e813ec276de53d5ff13a6bf337", 2888054, 404),
 	MACGAME2("blender", "Volume 2.2", "BLENDME (POWERMAC)", "9d10bbbf1b8d527e203c6be2eac3518c", 58058,
-									  "OPENING.DIR",		"9984fd46227b54b7e48a76cec2cec06b", 1991202, 404),
-	WINGAME2("blender", "Volume 2.1", "BLENDME.EXE", "408fdb0f6806d93a9af0412f3704481e", 728849,
-									  "OPENING.DIR", "9cc466058bb16422489ce97fe02cb44a", 2887926, 404),
-	WINGAME2("blender", "Volume 2.2", "BLENDME.EXE", "408fdb0f6806d93a9af0412f3704481e", 728849,
-									  "OPENING.DIR", "5df4561b730dabc240e6cdf530f78d23", 1991074, 404),
-	WINDEMO1t("blender", "Volume 2.3", "BLENDME.EXE", "ce776239b21820b1a8030cffa190ab37", 728849, 404),
+									  "FILES/OPENING.DIR",	"9984fd46227b54b7e48a76cec2cec06b", 1991202, 404),
+	WINGAME2t("blender", "Volume 2.1", "BLENDME.EXE",		"ce776239b21820b1a8030cffa190ab37", 728849,
+									   "FILES/OPENING.DIR",	"b4fdf4b19e4a425a241624855617802a", 2887926, 404),
+	WINGAME2t("blender", "Volume 2.2", "BLENDME.EXE",		"ce776239b21820b1a8030cffa190ab37", 728849,
+									   "FILES/OPENING.DIR",	"3dd81344b84bc717bee11e878afe4339", 1991074, 404),
+	WINDEMO2t("blender", "Volume 2.3", "BLENDME.EXE",		"ce776239b21820b1a8030cffa190ab37", 728849,
+									   "OPENING.DIR",		"cf1e8a8c8e8ee15fddda07490ded4b0e", 6989498, 404),
 
 	MACGAME1("blenderbest", "", "PPC LAUNCHER", "9d10bbbf1b8d527e203c6be2eac3518c", 58058, 404),
 	WINGAME1("blenderbest", "", "BLENDPC.EXE", "408fdb0f6806d93a9af0412f3704481e", 728849, 404),
 
+	WINGAME1t("blinddate", "", "BLINDATE.EXE", "200eb58f092b3714e66596d9c435c301", 685837, 400),
+	MACGAME1("blinddate", "", "Blind Date", "5323b298a375507307a2db7de1681a64", 310661, 403),
+
 	// Dutch title is Blinky Bill 1 en het verhaal van de Griezel-Grot
 	// Portuguese title is A Caverna do Fantasma de Blinky Bill
 	WINGAME1("blinkybill1", "",		   "BLINKY.EXE",   "0d374b4a559e505c0db63cabc2219380", 712501, 404),
@@ -2747,10 +2936,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1("bowie", "", "JUMP.EXE", "1706ba3b999d724957198c134e508127", 684317, 400),
 
-	MACGAME1("brer", "", "Brer Rabbit", "67f572196550aedb1f9523d782022be0", 483756, 404),
-	WINGAME1("brer", "", "BRER.EXE", "c69462a167f1c0676c5299414484b96b", 699943, 404),
+	MACGAME1("brer", "", "Brer Rabbit", "67f572196550aedb1f9523d782022be0", 483500, 404),
+	WINGAME1t("brer", "", "BRER.EXE", "80b9c1a56bfa3c37c233341dc6bbdcc7", 699943, 404),
 
-	WINDEMO1("bugbook", "Demo", "BUGBOOK.EXE", "50db9dea4e8a1778bf55c4b96c00ea5d", 770291, 404),
+	WINDEMO1t("bugbook", "Demo", "BUGBOOK.EXE", "424749843e7c8e33d36e212f6c114a7c", 770291, 404),
 
 	// Full game is not Director
 	WINDEMO1("c64pack", "Demo", "C64DEMO.EXE", "0458e44d9ad4ae0d3a583ac4141d21ae", 1007517, 400),
@@ -2761,10 +2950,16 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("casino", "", "Casino! for PowerPC", "5bb6f4e7f9f026e2b5cf758796db3cd2", 57984, 400),
 	WINGAME1("casino", "", "CASINO.EXE", "7bb58472256eb84983a7d86843c81042", 692873, 404),
 
-	MACDEMO1("catseyeview", "Demo", "Cat's Eye View.DEMO", "33f733b2809b94c3301096902f642b6e", 289746, 402),
+	// aka Cat'sEyeView
+	// by Eij Kato
+	// Later entries use Director 6
+	MACDEMO1("catseyeview", "Demo", "Cat's Eye View.DEMO", "33f733b2809b94c3301096902f642b6e", 289490, 402),
+	MACGAME1("catseyeview", "Vol. 1", "CAT'S EYE VIEW vol.1", "6f75a7279e4b05a6bce8c16971e9f244", 483187, 404),
+	MACGAME1("catseyeview", "Vol. 2", "Cat'sEyeView vol.2", "6f75a7279e4b05a6bce8c16971e9f244", 483187, 404),
 	MACGAME1("catseyeview", "Vol. 3", "Cat'sEyeView vol.3", "2c94dee7ddad3e6b47c7d62565286007", 484095, 404),
+	WINGAME1("catseyeview", "Vol. 3", "CatsEyeView3.exe", "9ba8ac33552a3053cb1f23679422775e", 1900433, 404),
 
-	MACGAME1("cbible", "", "Children\'s Bible Stories", "17efee018a660458fae80de4364021ac", 483746, 404),
+	MACGAME1("cbible", "", "Children's Bible Stories", "17efee018a660458fae80de4364021ac", 483746, 404),
 	WINGAME1("cbible", "", "CBIBLE.EXE", "d408f781d32337f8a5a9b3655c7d7803", 1727225, 404),
 
 	// Both versions require installation
@@ -2783,8 +2978,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("cezannetour", "", "Paul Cezanne 8 Mb", "2dca4bcd28ed470676af68563bf6a63e", 484331, Common::PT_BRA, 400),
 	WINGAME1_l("cezannetour", "", "CEZANNE.EXE", "1463f0b6aa7d3d20de66699c16de2f98", 688027, Common::PT_BRA, 400),
 
+	// from Hypermind
 	WINDEMO2("chuniverse", "Demo", "UNIVERSE.EXE", "53f7608bfe324d1837fa03966a879470", 697235,
-								   "DEFI.DXR", 	   "f23981667821bd1ead36e94b3c6d7878", 1149448, 404),
+								   "DEFI.DXR",	   "f23981667821bd1ead36e94b3c6d7878", 1149448, 404),
 
 	WINDEMO1("cinemania95", "1995 Demo", "CINEDEMO.EXE", "22a3ac2d4ad33edbfe531d269fe59738", 692419, 404),
 
@@ -2821,9 +3017,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("circus", "", "Circus!", "dc5a87dda7a0daf46604515f7d2cca66", 319863, 400),
 	WINGAME1("circus", "", "CIRCUS.EXE", "50d81af709047f5d1310468a3cd5a248", 1503187, 400),
 	PIPGAME1_l("circus", "", "Circus!", "0d69b9bb731fba3d861a5f18e1810aa5", 61739, Common::JA_JPN, 404),
-	MACDEMO2("circus", "Demo", "Demo", 		  "dc5a87dda7a0daf46604515f7d2cca66", 308286,
-							   "DemoLoop", 	  "dc5a87dda7a0daf46604515f7d2cca66", 308286, 403),
-	WINDEMO2("circus", "Demo", "DEMO.EXE", 	  "360f8621637354b9231059470c71fc43", 685645,
+	MACDEMO2("circus", "Demo", "Demo",		  "dc5a87dda7a0daf46604515f7d2cca66", 308286,
+							   "DemoLoop",	  "dc5a87dda7a0daf46604515f7d2cca66", 308286, 403),
+	WINDEMO2("circus", "Demo", "DEMO.EXE",	  "360f8621637354b9231059470c71fc43", 685645,
 							   "PREVIEW.EXE", "d98e36d5e525e8369458509b46587d8d", 686139, 400),
 
 	// Product catalog - does not correspond to any single game
@@ -2839,8 +3035,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINDEMO1t("compton", "Guided Tour", "TOURDEMO.EXE", "cb88f94bc905aeb3ef8717196c4b0be9", 688039, 404),
 
-	WINDEMO2("comusic", "Sampler", "START.EXE", "fba297f096949fe11676360457a1a52f", 731053,
-								   "INIT.DIR",  "349635e29a5e28f88a43f3cf48b13380", 57796, 404),
+	WINDEMO2t("comusic", "Sampler", "START.EXE", "53331f10b1eb1d9e45e713e80e2a7c1b", 731053,
+								    "INIT.DIR",  "5b7a286b8e36f97ae594c35f4f89db51", 57796, 404),
 
 	WINGAME2t("connections", "", "CONNECT.EXE", "6fab237cd2349f6450fabe8739148904", 690019,
 								 "LAUNCHER.DXR", "19e29c3dc9f5c3ac45028e44fb28c435", 825370, 404),
@@ -2868,12 +3064,20 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("curiocity", "Vol.1", "CURIO CITY", "8719de9c083aca942fc0e5c0a127b6dc", 502845, Common::JA_JPN, 404),
 	WINGAME1_l("curiocity", "Vol.1", "CURIO.EXE", "15a14209211895887d80e650984b9e32", 747389, Common::JA_JPN, 404),
 
-	WINDEMO1("d", "Demo", "DDEMO.EXE", "fe9a58b5b5e782aac644eb9183136694", 697001, 404),
-
-	MACGAME2("daedalus", "", "DAEDALUS",	 "0c7bbb4b24823e5ab871cb4c1d6f3710", 483490,
-							 "DAEDALUS.DAT", "4eb2fab14f1b932ae9f01d8b05a411de", 69538, 400),
-	MACGAME1_l("daedalus", "", "DAEDALUS.DAT", "2b9e22ee93e5d58f383ef389fa09e12b", 69538, Common::DE_DEU, 400),
-	MACGAME1_l("daedalus", "", "DAEDALUS.DAT", "2b9e22ee93e5d58f383ef389fa09e12b", 69538, Common::FR_FRA, 400),
+	WINDEMO1t("d", "Demo", "DDEMO.EXE", "66359d2e80ba536e34cb4f70772a80e1", 697001, 404),
+
+	// MACGAME2("daedalus",   "Minimal",  "DAEDALUS",	   "0c7bbb4b24823e5ab871cb4c1d6f3710", 483490,
+	//									  "DAEDALUS.DAT",  "4eb2fab14f1b932ae9f01d8b05a411de", 69538, 404),
+	MACGAME2("daedalus",   "", "DAEDALUS",	   "0c7bbb4b24823e5ab871cb4c1d6f3710", 483490,
+							   "DAEDALUS.DAT", "2b9e22ee93e5d58f383ef389fa09e12b", 69538, 404),
+	// MACGAME2_l("daedalus", "Minimal",  "DAEDALUS",	  "0c7bbb4b24823e5ab871cb4c1d6f3710", 483490,
+	//									  "DAEDALUS.DAT", "2b9e22ee93e5d58f383ef389fa09e12b", 69538, Common::DE_DEU, 404),
+	MACGAME2_l("daedalus", "", "DAEDALUS",	   "0c7bbb4b24823e5ab871cb4c1d6f3710", 483490,
+							   "DAEDALUS.DAT", "4eb2fab14f1b932ae9f01d8b05a411de", 69538, Common::DE_DEU, 404),
+	// MACGAME2_l("daedalus", "Minimal",  "DAEDALUS",	  "0c7bbb4b24823e5ab871cb4c1d6f3710", 483518,
+	//									  "DAEDALUS.DAT", "2b9e22ee93e5d58f383ef389fa09e12b", 69538, Common::FR_FRA, 404),
+	MACGAME2_l("daedalus", "", "DAEDALUS",	   "0c7bbb4b24823e5ab871cb4c1d6f3710", 483518,
+							   "DAEDALUS.DAT", "4eb2fab14f1b932ae9f01d8b05a411de", 69538, Common::FR_FRA, 404),
 
 	WINDEMO2("dailymail100", "Demo", "STARTUP.EXE", "2e62abdad839e42068afdcd0644d7dcf", 1129467,
 									 "LAUNCH2.DIR", "f913a0c83847ccc9df461311a4475a77", 223086, 404),
@@ -2892,10 +3096,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("davidsonpp", "1995", "DPP.EXE", "36c28cd89054df395c17c024a6ad6197", 112839901, 404),
 
 	// Original Pippin filename is ダズロイド
-	MACGAME1("dazzeloids", "", "Dazzeloids", "c9c25d0d249d529680302a81c30852d0", 367320, 400),
+	MACGAME1("dazzeloids", "", "Dazzeloids", "c9c25d0d249d529680302a81c30852d0", 367064, 400),
 	MACDEMO1("dazzeloids", "Demo", "Dazzleoids", "77f4098988d5386794d1530065f514cd", 301697, 400),
 	PIPGAME1_l("dazzeloids", "", "xn--eck0br2b9l", "2324c2928417a696fca46535ded53e32", 68242, Common::JA_JPN, 400),
-	WINGAME1("dazzeloids", "", "DAZZ.EXE", "65768d30ebe836309ad2c3779a66f3ce", 1034266, 400),
+	WINGAME1t("dazzeloids", "", "DAZZ.EXE", "4c968958368bed9ad4f5ec0e05d04b9f", 1034266, 400),
 	PIPDEMO1_l("dazzeloids", "Non-interactive Demo", "xn--PippinDEMO-jx4ixivcug6w", "8b138db44d4421cc7294a9dc792ccf1b", 502657, Common::JA_JPN, 404),
 
 	MACGAME1_l("dcanyon", "", "Devils Canyon (16+Mb)", "97474208c44c78f26bef8b2011d341aa", 483774, Common::IT_ITA, 404),
@@ -2942,22 +3146,20 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1t_l("doshifunspecial", "", "DOSHIFUN.EXE", "7bf89e4d7175aef9f5ea532774cf2d4e", 4854695, Common::JA_JPN, 404),
 
-	// Mac versions are D5
-	// Het Geheim Van Dracula localized by Transposia
+	// Het Geheim Van Dracula localized by Transposia,
 	// Dracula : Le Mystère du chateau published by Hoffmann + associates
-	WINGAME1("draculassecret", "",	 "SECRET.EXE",	"79cca0ac2870f070ea5228bff152b462", 808748, 404),
+	WINGAME1("draculassecret", "", "SECRET.EXE", "79cca0ac2870f070ea5228bff152b462", 808748, 404),
 	WINGAME1_l("draculassecret", "", "Dracula.exe", "033eed030a848f54a8f1671f50c616e9", 772925, Common::FR_FRA, 404),
 	WINGAME1_l("draculassecret", "", "secret.exe",	"b24fbaf90985cdb79132eda2ee5b73d2", 1132985, Common::NL_NLD, 404), // original release
-	WINGAME1_l("draculassecret", "", "secret.EXE",	"169e3f445e3f5489f98194e63ad14730", 763851, Common::NL_NLD, 404),
+	MACGAME1_l("draculassecret", "", "Secret.PPC", "b147d31ed577b9bbd3af764f178bb71c", 57832, Common::NL_NLD, 404),
+	WINGAME1t_l("draculassecret", "", "secret.EXE",	"935dd6dc5bd2ea550396bdfd4f96d975", 763851, Common::NL_NLD, 404),
 
 	MACGAME1("dreidel", "", "dreidel", "77f4098988d5386794d1530065f514cd", 304189, 400),
 
-	MACGAME2_l("dropcity", "", "Mac_Hi", "17efee018a660458fae80de4364021ac", 481803,
-		"MAIN.Mov", "24a0bed30cef7fc9a83410f14cc51adc", 108648,
-		Common::JA_JPN, 404),
-	WINGAME2t_l("dropcity", "", "WIN.EXE", "9680a67c57977e5d4a679455f722c240", 1298847,
-		"MAIN.MOV", "69989b3693715e55366abdcb8cc77a2c", 90280972,
-		Common::JA_JPN, 404),
+	MACGAME2_l("dropcity", "", "Mac_Hi",   "17efee018a660458fae80de4364021ac", 481803,
+							   "MAIN.Mov", "24a0bed30cef7fc9a83410f14cc51adc", 108648, Common::JA_JPN, 404),
+	WINGAME2t_l("dropcity", "", "WIN.EXE",  "9680a67c57977e5d4a679455f722c240", 1298847,
+								"MAIN.MOV", "69989b3693715e55366abdcb8cc77a2c", 90280972, Common::JA_JPN, 404),
 
 	MACGAME1_l("earthtia", "", "LATHUR'S LEGEND", "b267d7e5f42c170a4f5dbb50a0f4e064", 289818, Common::JA_JPN, 402),
 
@@ -2986,7 +3188,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1("einstein", "", "EINSTEIN.EXE", "5f2b54a1cbf0c62913d4f1fa07b5f3a9", 711759, 404),
 
-	WINDEMO1("elmopreschool", "Demo", "ELMO.EXE", "655f0e18645a04108ebd78d6303afc38", 5070639, 404),
+	WINDEMO1t("elmopreschool", "Demo", "ELMO.EXE", "52a0a157d70d370f4091e86ecf7a9408", 5070639, 404),
 
 	// Demo is found on Pantsylvania CD
 	MACDEMO1("elroybug", "Demo", "Elroy Goes Bugzerk Demo", "bcd3c718db258701496b3c5bcb827ef2", 498650, 404),
@@ -3021,7 +3223,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2_l("explorers", "", "XPLRNW.EXE",	"907c28b272eb40fad1b5f42ec841b010", 696741,
 								"STARTEXP.DIR", "3c3ab943769c548856d7cd84a8f808ec", 11198, Common::PT_BRA, 404),
 
-	WINDEMO1("famalbum", "Tour", "TOUR.EXE", "fbc562a9945b17d9a353ccebddd2ff67", 1962659, 404),
+	WINDEMO1t("famalbum", "Tour", "TOUR.EXE", "73b4edd8e627dc50d8107913d9386c9a", 1962659, 404),
 
 	WINDEMO1("famdoc4", "1995 Demo", "BUBBA.EXE", "40e115073d00b7b763ff63b49e0ff798", 9322307, 404),
 	WINDEMO1("famdoc4", "1996 Demo", "FAMDOC4.EXE", "cd004ff93ca55c4a5f04e4ec20db5d80", 13804287, 404),
@@ -3041,7 +3243,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("ffa", "", "FFA-8M", "411051c134236a9ead0d0d1837aafb5e", 290682, Common::JA_JPN, 402),
 	PIPGAME1_l("ffa", "", "FFA", "2618a85198d0180e3eae9162f81aafed", 60921, Common::JA_JPN, 404),
 
-	//Fred en de Flessenfiets (Demo)
+	// Fred en de Flessenfiets (Demo)
 	WINDEMO1_l("flaschenfahrrad", "Demo", "FREDDEMO.EXE", "f5fa2d95970e8eb85761e95d755883d2", 812075, Common::NL_NLD, 400),
 
 	// Willy, der Zauberfisch : ein Meer voll Überraschungen!
@@ -3052,35 +3254,38 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1_l("fishwish", "",	 "WENSVIS.EXE",	 "50004a80942bafec52bbde5c09674bf9", 696993, Common::NL_NLD, 404),
 	WINDEMO1("fishwish", "Demo", "FISHWISH.EXE", "04e5006ccbb86e4ba2d866ce9a5f69ae", 696845, 404),
 
-	MACGAME1("fpbaxter", "", "bigplayer", "07710cabdfcf6d9fba4205dce062399c", 642443, 404),
-	WINGAME2("fpbaxter", "", "START.EXE",  "560c84484a76412254325caa953deeae", 698957,
-							 "STARTW.DIR", "515c16244e84c2e2c2ef8a4e84c59e43", 29216, 404),
+	MACGAME1("fprpbaxter", "", "bigplayer", "07710cabdfcf6d9fba4205dce062399c", 642443, 404),
+	WINGAME2("fprpbaxter", "", "START.EXE",  "560c84484a76412254325caa953deeae", 698957,
+							   "STARTW.DIR", "515c16244e84c2e2c2ef8a4e84c59e43", 29216, 404),
+
+	MACGAME1("fprpyolanda", "", "bigplayer", "07710cabdfcf6d9fba4205dce062399c", 642443, 404),
+	WINGAME2("fprpyolanda", "", "START.EXE", "560c84484a76412254325caa953deeae", 698957,
+								"YP1.DIR",   "86dca2337cbbd2612fc92bd5d0805d85", 4509574, 404),
 
-	MACDEMO1("fppirates", "Preview v1.0", "Pirates Preview (Power Mac)", "ccf864a8dc6e9d0d26eb73b4683e634b", 63532, 404),
+	// ©1996 Davidson & Associates, Inc.
+	MACDEMO1("fpgapirates", "Preview v1.0", "Pirates Preview (Power Mac)", "ccf864a8dc6e9d0d26eb73b4683e634b", 63276, 404),
+	WINDEMO1t("fpgapirates", "Preview v1.0", "FPPSTART.EXE", "824388aeb958eda1a5691a1d6667a410", 792405, 404),
 
 	// Collection of demos for the Puddle Books series
-	MACGAME1("fppuddlebooks", "", "Puddle Books Demo", "07710cabdfcf6d9fba4205dce062399c", 644707, 404),
+	MACGAME1("fppuddlebooks", "v1.0d2", "Puddle Books Demo", "07710cabdfcf6d9fba4205dce062399c", 644451, 404),
 	WINGAME2("fppuddlebooks", "", "START.EXE", "c988e54a65cc107345f113a601bc47f7", 696731,
 								  "START.DIR", "d66ca8450f52c8632e9c24e193c47bec", 9030, 404),
 
-	MACGAME1("fpyolanda", "", "bigplayer", "07710cabdfcf6d9fba4205dce062399c", 642443, 404),
-	WINGAME2("fpyolanda", "", "START.EXE", "560c84484a76412254325caa953deeae", 698957,
-							  "YP1.DIR",   "86dca2337cbbd2612fc92bd5d0805d85", 4509574, 404),
-
 	// Portuguese version is from cover disc of Revista Big Max #10
+	MACGAME1("frankenstein", "",	 "Frankenstein", "01be45e7241194dad07938e7059b88e3", 483771, 403),
+	WINGAME1("frankenstein", "",	 "FRANKIE.EXE",	 "a9a4e3a07f3ecda7e59215aabb844532", 2229509, 404),
+	WINGAME1_l("frankenstein", "",	 "FRANKIE.EXE",	 "98beeaa18c58708b0ce82de320e3bdf7", 2196911, Common::DE_DEU, 404),
+	WINGAME1_l("frankenstein", "",	 "FRANKIE.EXE",	 "1e4e424f5c6c78f68080e973fc4493a0", 2386679, Common::PT_BRA, 404),
 	MACDEMO1("frankenstein", "Demo", "Frankenstein (PowerMac)", "db9f5fce2025aa6c1f8755af849fd49b", 61234, 400),
+	MACDEMO1("frankenstein", "Demo", "Frankenstein Demo", "01be45e7241194dad07938e7059b88e3", 483526, 403),
 	WINDEMO1("frankenstein", "Demo", "FRNKDEMO.EXE", "ed00aa67138b715a8bee6f41756852c5", 7365699, 400),
-	MACGAME1("frankenstein", "",   	 "Frankenstein", "01be45e7241194dad07938e7059b88e3", 483771, 403),
-	WINGAME1("frankenstein", "",   	 "FRANKIE.EXE",	 "a9a4e3a07f3ecda7e59215aabb844532", 2229509, 404),
-	WINGAME1_l("frankenstein", "", 	 "FRANKIE.EXE",	 "98beeaa18c58708b0ce82de320e3bdf7", 2196911, Common::DE_DEU, 404),
-	WINGAME1_l("frankenstein", "", 	 "FRANKIE.EXE",	 "1e4e424f5c6c78f68080e973fc4493a0", 2386679, Common::PT_BRA, 404),
 
-	MACDEMO1("frankrw", "Demo", "Franklin's Reading World Demo", "b66a5580d7b10e365241932e941b1dda", 483746, 404),
-	WINDEMO2("frankrw", "Demo", "TITLE.EXE", "37a5db8af81ed3ab09e96ff0eaf95ee1", 696855,
-								"TITLE.DXR", "69ce66337b1781a654131ef854231996", 2371220, 404),
+	MACDEMO1("frankrw", "Demo", "Franklin's Reading World Demo", "b66a5580d7b10e365241932e941b1dda", 483490, 404),
+	WINDEMO2("frankrw", "Demo", "TITLE.EXE", "8879c4196154261cba4cba13fd8e6497", 696855,
+								"TITLE.DXR", "e2b2e3bdf7d87ecd98e9bb768b7ed555", 2371220, 404),
 
 	MACGAME1("freakshow", "D4", "FreakShow Projector", "dc5a87dda7a0daf46604515f7d2cca66", 300644, 400),
-	WINGAME1("freakshow", "", "FREAKS.EXE", "b2e1c5abc0e3c31ddd2089a55a27a0a5", 695893, 400),
+	WINGAME1t("freakshow", "", "INSTALL/FREAKS.EXE", "e36cf1ec95f220eb165f38b0e7b572a5", 695893, 400),
 
 	// http://discogs.com/release/2052805
 	// Remastered album released by Euro Ralph, Hamburg (1994)
@@ -3142,14 +3347,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Original multilingual Mac filename is Gröna Musikmössen
 	// International release plays in English, Danish, Finnish, Swedish, Norwegian
 	MACGAME1("ggmd", "", "Grona Musikmossen",			"8c50fe295dd0e2e523d430e8d6fba448", 483791, 404),
-	MACGAME1_l("ggmd", "", "Mausejagd",					"ea646eccc9a53f44ce082459d4809a06", 483746, Common::DE_DEU, 404),
+	MACGAME1_l("ggmd", "", "xn--Musejagd-0za",			"ea646eccc9a53f44ce082459d4809a06", 483490, Common::DE_DEU, 404),
 	MACGAME1_l("ggmd", "", "Help! Muizen in 't hotel!", "e6833f1ce3b022f0128e4c80a55bcd46", 285538, Common::NL_NLD, 404),
 	WINGAME1("ggmd", "",   "KMDGM.EXE",					"c45bac8f730cae2e2a174dbc14deff7b", 690021, 404),
 	WINGAME1_l("ggmd", "", "MAUSJAGD.EXE",				"04d63d66464bce6356f9d70d83487838", 1302352, Common::DE_DEU, 404),
 	WINGAME1_l("ggmd", "", "MUIZEN.EXE",				"97f8977dae92d12cc8f9c7deff5e8f8d", 1483435, Common::NL_NLD, 404),
 	MACGAME1("ggmdmaze", "", "Mouse Maze",				"17efee018a660458fae80de4364021ac", 482866, 404),
-	WINGAME1("ggmdmaze", "", "MOUSMAZE.EXE", 			"c306a1b1065c2ffe0ce2bfc0d58c52b4", 1690622, 404),
-	MACGAME1_l("ggmdpics", "", "Gallery",				"ea646eccc9a53f44ce082459d4809a06", 483746, Common::DE_DEU, 404),
+	WINGAME1("ggmdmaze", "", "MOUSMAZE.EXE",			"c306a1b1065c2ffe0ce2bfc0d58c52b4", 1690622, 404),
+	MACGAME1_l("ggmdpics", "", "Gallery",				"ea646eccc9a53f44ce082459d4809a06", 483490, Common::DE_DEU, 404),
 	MACGAME1_l("ggmdpics", "", "Galerij",				"ea646eccc9a53f44ce082459d4809a06", 483774, Common::NL_NLD, 404),
 	WINGAME1_l("ggmdpics", "", "GALLERY.EXE",			"c476512cadbbcffc6af5cfee8670f8f7", 5099674, Common::DE_DEU, 404),
 	WINGAME1_l("ggmdpics", "", "GALERIJ.EXE",			"c476512cadbbcffc6af5cfee8670f8f7", 5099674, Common::NL_NLD, 404),
@@ -3199,7 +3404,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("guignols1", "", "LE JEU ! 12Mo", "e07d16e7d0986ef7acf3a5e302ed905e", 484331, Common::FR_FRA, 404),
 	WINGAME1_l("guignols1", "", "ELM.EXE", "b04c8494176cbc3b2080bf1630ae1748", 697216, Common::FR_FRA, 404),
 
-	MACDEMO1("gundam0079", "Demo", "Gundam Demo", "01be45e7241194dad07938e7059b88e3", 483376, 400), // full game is D5
+	// Full game is D5
+	MACDEMO1("gundam0079", "Demo", "Gundam Demo", "01be45e7241194dad07938e7059b88e3", 483376, 400),
 
 	MACGAME1("guns", "", "Multimedia Guns", "01be45e7241194dad07938e7059b88e3", 486927, 404),
 	WINGAME1("guns", "", "GUNS.EXE", "43342caa10c6dc46f983787da1b625b7", 1636235, 404),
@@ -3209,9 +3415,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO1("gusolis", "Demo", "Cyberopolis DEMO",				  "77f4098988d5386794d1530065f514cd", 304217, 400),
 	MACGAME1("guspark", "",		"Gus goes to CyberStone Park",	  "ccfbfc1a0ac231db40a250babaa6ad7c", 285538, 404),
 	MACDEMO1("gustown", "Demo", "Gus Goes To CyberTown DEMO",	  "77f4098988d5386794d1530065f514cd", 304217, 400),
-	//Guus in Cyberstad (demo)
+	// Guus in Cyberstad (demo)
 	WINDEMO1_l("gustown", "Demo", "GUUS.EXE",	  "775eb4d8a78916b10e7531eebc758dd2", 8319869, Common::NL_NLD, 404),
+
 	WINGAME1("gusbuds", "",		"MMVDEMOS.EXE", "71d4ad9e9dc92a81561476d4d9813492", 692037, 404),
+
 	WINGAME1("guspark", "",		"CYBSTONE.EXE", "ac22c7568c90ab4af7396148521f446e", 707439, 400),
 	WINGAME1_l("guspark", "",	"CYBSTONE.EXE", "dc0be57ab8e9f9b54de24ac41b1b4854", 703913, Common::PT_BRA, 404),
 
@@ -3226,6 +3434,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("haight", "Drop Out", "Drop Out",                      "c9c25d0d249d529680302a81c30852d0", 539498, 404),
 	WINGAME1("haight", "Haight",   "HAIGHT.EXE",                    "f309096bd3eb9f45283d7218bb8f1c88", 821499, 404),
 	WINDEMO1("haight", "Demo",     "HAROCK.EXE",                    "cd0ffd0e7612cd60aadaf42a7b4f480c", 821041, 404),
+	WINDEMO1t("haight", "Demo",	   "HAROCK.EXE",					"5ceb3361a90e783c42991de65984b3ca", 820913, 404),
 
 	// Different releases of hamsterland1 allow choice of language on the opening screen
 	// English is always available, along with one alternate language
@@ -3310,7 +3519,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("horrortour2", "", "ZEDDAS PowerPC", "da7d3f1d85bdb99518b586c40d2a673e", 60013, Common::JA_JPN, 400),
 	WINGAME1_l("horrortour2", "", "HT2.EXE", "499d8545ee2325b18d3f09fb2c0fc26e", 698029, Common::JA_JPN, 400),
 
-	WINDEMO1("hyperblade", "Demo", "HYPER.EXE", "4a8fd0d74faef305bc935e1aac94d3e8", 712817, 400), // full game is not Director
+	// Full game is supported in SCI engine
+	WINDEMO1t("hoyle5", "Demo", "HOYLE5.EXE", "499760334d09425e80c69e9a1b178ec5", 6287863, 404),
+
+	// full game is not Director
+	WINDEMO1("hyperblade", "Demo", "HYPER.EXE", "4a8fd0d74faef305bc935e1aac94d3e8", 712817, 400),
 
 	WINGAME1t("hotwheelscamaro", "", "CAMARO.EXE", "564b1fa630690b74eb1e2b940df4a8c6", 1435537, 404),
 	WINGAME1t("hotwheelshydro", "", "HYDRO.EXE", "74a10424115e3f5e47b0422f31998e53", 1437147, 404),
@@ -3358,7 +3571,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("insidemacgames", "Volume 1", "IMG CD-ROM", "2e2becf3549673a8107c0d2028a08fc1", 353787, 400),
 
 	// Also launches three other projectors on disc, including some D3 and D5
-	MACGAME1("interactivemagic", "", "Mac Interactive Magic", "337c94c66b435e075a2d7f94b3cffc49", 483746, 404),
+	MACGAME1("interactivemagic", "", "Mac Interactive Magic", "337c94c66b435e075a2d7f94b3cffc49", 483490, 404),
 
 	MACGAME1_l("intro2", "", "Intro_02", "0666ae690e459d3d0d91800ebd94de46", 290398, Common::JA_JPN, 402),
 	WINGAME1t_l("intro2", "", "INTRO_2.EXE", "bbca5270c1b88a67e5f05f498ef61114", 1531397, Common::JA_JPN, 400),
@@ -3410,25 +3623,31 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// French version was distributed by Ubi Soft
 	// English versions 2.00 and 2.0.1 were distibuted by Discis and DreamCatcher, respectively
 	// Horses of Asva demo is found on Czech Super Hry III CD from Future Media International
-	MACGAME2("jewels1", "v2.00",         "Jewels 11 Meg",   "339c89a148c4ff2c5c815c62ac006325", 483666,
-										 "NAVLOAD.Dxr",     "862688a820a7494f8a9edd196e04b5bf", 164, 404),
-	MACGAME1t_l("jewels1", "2.00",		"Jewels 11 Meg",   "4b3bf99f4e591b71fe79cde05eece71e", 1200512, Common::FR_FRA, 404),
-	MACGAME2_l("jewels1", "",		     "Jewels 11 Meg",   "339c89a148c4ff2c5c815c62ac006325", 483666,
-										 "NAVLOAD.Dxr",     "711211bf062c3cab48ce90870900bc3b", 215, Common::FR_FRA, 404),
-	MACDEMO1("jewels1", "Demo",		     "Two-Minute Demo", "01be45e7241194dad07938e7059b88e3", 483490, 404),
-	WINGAME2t("jewels1", "v2.00",        "JEWELS.EXE",      "342a30a28575249a6f18ce409e15fc26", 712515,
-										 "NAVLOAD.DXR",     "8c11e4282c40a82107e6638112d7b495", 765030, 404),
-	WINGAME2t_l("jewels1", "v2.00",      "JEWELS.EXE",      "a3c4be6eb9803f577ed1d80d51e236e1", 800395,
-										 "NAVLOAD.DXR",     "c696b2453b861d51cea75c7398acb5a8", 405050, Common::FR_FRA, 404),
-	WINGAME2("jewels1", "v2.0.1",        "JEWELS.EXE",      "bb6d81471d166088260090472c6c3a87", 800395,
-										 "NAVLOAD.DXR",     "ff8446121236a1cbfb1fe431fea5bc09", 405042, 404),
-	WINDEMO1("jewels1", "Horses Demo",   "HORSE.EXE",		"03bbe56c80fcbca3939ba08407d99f76", 847689, 400),
-	WINDEMO2("jewels1", "Demo",		     "JEWELS.EXE",      "abcc448c035e88d4edb4a29034fd1e34", 863983,
-										 "PUZZ_01.DXR",     "ea75491b1be5352de158c310fcf7baf5", 267074, 400),
-	WINDEMO2("jewels1", "Nightsky Demo", "DEMO.EXE",        "ebee52d3c4280674c600177df5b09da0", 800403,
-										 "NAVLOAD.DXR",     "1f4466ba91364dd7223264b86dd5402c", 403980, 404),
-	WINDEMO2_l("jewels1", "Demo",        "DEMO.EXE",		"ebee52d3c4280674c600177df5b09da0", 800403,
-										 "NAVLOAD.DXR",     "1f4466ba91364dd7223264b86dd5402c", 403980, Common::FR_FRA, 404),
+	// Japanese demo was distributed by UEP
+	// Original filename of Japanese demo is 2分間デモ
+	MACGAME2("jewels1", "v2.00",		 "Jewels 11 Meg",	"339c89a148c4ff2c5c815c62ac006325", 483666,
+										 "NAVLOAD.Dxr",		"862688a820a7494f8a9edd196e04b5bf", 164, 404),
+	MACGAME1t_l("jewels1", "2.00",		 "Jewels 11 Meg",	"4b3bf99f4e591b71fe79cde05eece71e", 1200512, Common::FR_FRA, 404),
+	MACGAME2_l("jewels1", "",			 "Jewels 11 Meg",	"339c89a148c4ff2c5c815c62ac006325", 483666,
+										 "NAVLOAD.Dxr",		"711211bf062c3cab48ce90870900bc3b", 215, Common::FR_FRA, 404),
+	MACDEMO1("jewels1", "Demo",			 "Two-Minute Demo", "01be45e7241194dad07938e7059b88e3", 483490, 404),
+	WINGAME2t("jewels1", "v2.00",		 "JEWELS.EXE",		"342a30a28575249a6f18ce409e15fc26", 712515,
+										 "NAVLOAD.DXR",		"8c11e4282c40a82107e6638112d7b495", 765030, 404),
+	WINGAME2t_l("jewels1", "v2.00",		 "JEWELS.EXE",		"a3c4be6eb9803f577ed1d80d51e236e1", 800395,
+										 "NAVLOAD.DXR",		"c696b2453b861d51cea75c7398acb5a8", 405050, Common::FR_FRA, 404),
+	WINGAME2("jewels1", "v2.0.1",		 "JEWELS.EXE",		"bb6d81471d166088260090472c6c3a87", 800395,
+										 "NAVLOAD.DXR",		"ff8446121236a1cbfb1fe431fea5bc09", 405042, 404),
+	WINDEMO1("jewels1", "Horses Demo",	 "HORSE.EXE",		"03bbe56c80fcbca3939ba08407d99f76", 847689, 400),
+	WINDEMO2("jewels1", "Demo",			 "JEWELS.EXE",		"abcc448c035e88d4edb4a29034fd1e34", 863983,
+										 "PUZZ_01.DXR",		"ea75491b1be5352de158c310fcf7baf5", 267074, 400),
+	WINDEMO2("jewels1", "Nightsky Demo", "DEMO.EXE",		"ebee52d3c4280674c600177df5b09da0", 800403,
+										 "NAVLOAD.DXR",		"1f4466ba91364dd7223264b86dd5402c", 403980, 404),
+	WINDEMO2_l("jewels1", "Demo",		 "DEMO.EXE",		"ebee52d3c4280674c600177df5b09da0", 800403,
+										 "NAVLOAD.DXR",		"1f4466ba91364dd7223264b86dd5402c", 403980, Common::FR_FRA, 404),
+	MACDEMO1_l("jewels1", "Demo",		 "xn--edkuc862lmq0ddizf", "01be45e7241194dad07938e7059b88e3", 483518, Common::JA_JPN, 404),
+	MACDEMO1("jewels1", "Preview",				 "Jewels (Millions of colors)", "dc5a87dda7a0daf46604515f7d2cca66", 291988, 400),
+	MACDEMO1("jewels1", "Preview, Puzzles only", "Jewels (Puzzles Only)", "dc5a87dda7a0daf46604515f7d2cca66", 291988, 400),
+	MACDEMO1("jewels1", "Preview, Tour",		 "Jewels Tour", "dc5a87dda7a0daf46604515f7d2cca66", 291988, 400),
 
 	// Original filename is '人格図鑑'
 	MACGAME1_l("jinkakuzukan", "", "xn--gmq53rj3o0s5b", "bcd3c718db258701496b3c5bcb827ef2", 484095, Common::JA_JPN, 404),
@@ -3450,12 +3669,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO1("jman2", "06/22/94 Demo 2", "xn--Buried in Time Demo-yp97h", "cdb27c916044ae4dceb4b7326063fa03", 329595, 400),
 	MACDEMO1("jman2", "06/22/94 Demo 2", "xn--Buried in Time Demo-eo0l", "cdb27c916044ae4dceb4b7326063fa03", 329595, 400),
 	MACDEMO1("jman2", "Final Demo", "Buried in Time Demo", "cc3321069072b90f091f220bba16e4d4", 292731, 400),
+	MACDEMO1("jman2", "IMG Jun/95 Demo", "xn--Buried in Time Demo-eo0l", "ea646eccc9a53f44ce082459d4809a06", 494206, 404),
 	MACDEMO1("jman2", "Gallery", "BIT Gallery", "01be45e7241194dad07938e7059b88e3", 484284, 400),
 	MACDEMO1("jman2", "Overview", "BIT Overview", "01be45e7241194dad07938e7059b88e3", 484284, 400),
 	MACDEMO1_l("jman2", "10/05/95 Demo", "B.I.T Demo PPC", "950744d1d93c7a137d66ab6fec146070", 60665, Common::JA_JPN, 404),
 	WINDEMO1t_l("jman2", "10/02/95 Demo", "BITDEMO.EXE", "649a48ec679574c4df376c62e091f844", 727569, Common::JA_JPN, 404),
 
-	MACGAME1("jmmd", "", "Just Me & My Dad", "ea646eccc9a53f44ce082459d4809a06", 486966, 400),
+	// Windows version on the same disc is not Director
+	MACGAME1("jmmd", "", "Just Me & My Dad", "ea646eccc9a53f44ce082459d4809a06", 486710, 400),
 
 	// Bilingual English & Spanish
 	MACGAME1("journey2life", "", "The Journey to Life", "bcd3c718db258701496b3c5bcb827ef2", 483774, 404),
@@ -3463,8 +3684,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	PIPGAME1_l("junglepark", "", "JunglePark for Pippin", "dcf4cc0d9aa3cf8fa0c127cf72477af9", 60665, Common::JA_JPN, 404),
 	MACGAME1_l("junglepark", "", "JunglePark for ppc", "fb8ad82e79d2c65872a48261c8aeaaac", 60665, Common::JA_JPN, 404),
-	WINGAME1t_l("junglepark", "Mac/Windows hybrid", "JU_PARK.EXE", "f5357cf42fc929f98b4000015bf327db", 697087, Common::JA_JPN, 404),
-	MACGAME1_l("junglepark", "Mac/Windows hybrid", "JunglePark ppc", "af6f439598af8d750d8298c4e62ba88c", 60665, Common::JA_JPN, 404),
+	WINGAME1t_l("junglepark", "Hybrid release", "JU_PARK.EXE", "f5357cf42fc929f98b4000015bf327db", 697087, Common::JA_JPN, 404),
+	MACGAME1_l("junglepark", "Hybrid release", "JunglePark ppc", "af6f439598af8d750d8298c4e62ba88c", 60665, Common::JA_JPN, 404),
 	WINGAME1t_l("junglepark", "", "JUNGLE.EXE", "ce26af47699aa5a1c1948de7d81916f8", 742377, Common::FR_FRA, 404),
 	MACGAME1_l("junglepark", "", "Jungle Park PPC", "4730ce8bdd2ab17bf714da3ff7f3e510", 60884, Common::FR_FRA, 404),
 
@@ -3498,18 +3719,27 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("kinderkit", "", "Kinder-Kit", "bcd3c718db258701496b3c5bcb827ef2", 483774, Common::PT_BRA, 404),
 	WINGAME1_l("kinderkit", "", "KKIT.EXE", "a24a52bdb12d61eae64b9088b25ea03b", 862425, Common::PT_BRA, 404),
 
+	// From Star Trek: Klingon (Disc 3)
+	MACGAME1("klingonlab", "", "Klingon Language Lab/Klingon Language Lab", "b797956eb3a4dabcc15bfadf6fc66591", 481226, 404),
+	WINGAME1("klingonlab", "", "TREK_WIN.EXE", "204417e63c0a2df18cf42d780b97ed58", 1425763, 400),
+
 	MACGAME1("kyoto", "v2.0", "Cosmology of KYOTO", "8719de9c083aca942fc0e5c0a127b6dc", 484370, 400),
 	WINGAME1("kyoto", "", "PLAY_E.EXE", "84cc8880f8c46b4da121b4c9f184418a", 691269, 400),
 	MACGAME1_l("kyoto", "v2.0", "Cosmology of KYOTO", "8719de9c083aca942fc0e5c0a127b6dc", 484445, Common::JA_JPN, 400),
-	WINGAME2_l("kyoto", "", "PLAY.EXE", 	"865b1b59e32e51a6670b9105ac8501ec", 741137,
+	WINGAME2_l("kyoto", "", "PLAY.EXE",		"865b1b59e32e51a6670b9105ac8501ec", 741137,
 							"OPENING1.DXR", "b96015c8c138c6626b10fffaed28efea", 679328, Common::JA_JPN, 400),
 
 	MACGAME1("laughingbird", "", "The Laughing Bird Restaurant", "547553eca48ebc089e893ba1905c2b74", 673138, 404),
 
+	WINGAME1t("learningcoreldraw3", "", "PROGRAM/LRNDRAW3.EXE", "aa6fa44a1161fe91f3be54ded6b53cbf", 1152788, 404),
+
 	WINGAME1_l("leonardo", "", "LEO.EXE", "0be0b03b89bb4aba716a974c3ccc3950", 692347, Common::PT_BRA, 404),
 
 	WINDEMO1("letters", "Demo", "LETTERS.EXE", "ed0636bab94b299d96552e4c71bc82a1", 3875399, 404),
 
+	WINGAME1t("lifemysteries", "v1.01", "_SETUP/LGM/LGM.EXE", "c9ffbacdc78482eeaf644730a2fedc15", 1024075, 404),
+	WINGAME1t("lifemysteries", "Demo", "LGMDEM.EXE", "dd13662fa71a413c2ba9228ea73e5448", 5539283, 404),
+
 	// full game is DOS only, not Director
 	MACDEMO1("lion", "Demo", "Lion Demo", "01be45e7241194dad07938e7059b88e3", 484284, 400),
 
@@ -3567,22 +3797,29 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1("mastermansion", "", "Masterpiece Mansion", "bdd793ba61c4333dfeaf976d6adc38fe", 285533, 404),
 	WINGAME1("mastermansion", "", "MANSION.EXE", "b397657fec77654afc589000612de963", 84700821, 404),
-	WINDEMO1("mastermansion", "Demo", "MANSION.EXE", "be88c599759d0c8d6bdc1d2719ca769a", 17866669, 404),
+	WINDEMO1t("mastermansion", "Demo", "MANSION.EXE", "c641804b034e11abeaa289ca52c4b38c", 17866669, 404),
 	MACGAME1("mastermansionex", "", "Art Explorer", "9e9696433d18629b88714089034c086b", 285509, 404),
 	WINGAME1("mastermansionex", "", "EXPLORER.EXE", "7a335c6571e359b56453edb78e6fdc53", 36685767, 404),
 
 	WINDEMO1t_l("mathmystery", "Demo", "LB_DEMO.EXE", "32f5a6d9ad00ece84526e1fe23965524", 698539, Common::NB_NOR, 404),
 
 	MACGAME1("martian", "", "The Martian Chronicles PPC CD", "db9b7f11aea52a294d2986a94a184000", 60328, 400),
-	WINGAME1("martian", "", "MC.EXE", "ee6267d276a18e8bfd6f0e4ecd07ba36", 1764151, 400),
+	WINGAME1t("martian", "", "MC.EXE", "55e0837d623be4218b317370abc5fc3b", 1764151, 404),
 
-	MACDEMO1("mathblasterjr", "Preview v1.0c", "Math Blaster Jr. Power MAC", "602e61f10c158183218405dd30a09b3f", 60324, 404),
+	MACDEMO1("mathblasterjr", "Preview v1.0c", "Math Blaster Jr. Power MAC", "602e61f10c158183218405dd30a09b3f", 60068, 404),
+	// from Great Adventures by Fisher-Price: Castle (1995)
+	MACDEMO1("mathblasterjr", "Preview v1.0c", "Math Blst Jr. Pwr Mac", "602e61f10c158183218405dd30a09b3f", 60068, 404),
 
 	MACGAME1("mathtest", "", "mathtest (mac)", "cdb27c916044ae4dceb4b7326063fa03", 301925, 400),
 
+	// German title is Max und die Geheimformel
+	// German demo from CD ROM Hits 1995-10
+	WINDEMO1t_l("max1", "Demo", "MAX1DEMO.EXE", "6805c5c8e800dd10648494421506b2f7", 700829, Common::DE_DEU, 404),
 	MACDEMO1_l("max1", "Demo", "Max en de geheime... DEMO", "a2f5930615493c2358b2ad07e731c475", 502790, Common::NL_NLD, 404),
 	WINDEMO1_l("max1", "Demo", "MAX1DMA.EXE", "b35d311e2982849c08379f2d74519d58", 752991, Common::NL_NLD, 404),
 
+	// German demo from CD ROM Hits 1995-10
+	WINDEMO1t_l("max2", "Demo", "MAX2DEMO.EXE", "e4a961e789ce970e3d23356d327b9f31", 700837, Common::DE_DEU, 404),
 	MACDEMO1_l("max2", "Demo", "Max en Merel... DEMO", "a2f5930615493c2358b2ad07e731c475", 502790, Common::NL_NLD, 404),
 
 	// Max und das Schloßgespenst (original) published by Tivola (1996)
@@ -3604,7 +3841,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1("mckenzie", "", "MCKFRAME.EXE", "581608fa7224b0b62e11e397d2aa76c1", 3217950, 404),
 	WINDEMO1("mckenzie", "November 16", "MCKDEMO.EXE", "f2bc8c75f8df853780619583ba216beb", 8634631, 404),
-	WINDEMO1("mckenzie", "30 Megs", "MCKDEMO.EXE", "089bcc7d82376ee11c433ecd58c16c29", 7212177, 404),
+	WINDEMO1t("mckenzie", "30 Megs", "MCKDEMO.EXE", "7f524fed018d3455c0a9358b34543123", 7212177, 404),
 
 	WINGAME1("mckenziemf", "", "MCKFRAME.EXE", "49c04e880f314a4965d21273df4f2dee", 4038355, 404),
 
@@ -3612,19 +3849,19 @@ static const DirectorGameDescription gameDescriptions[] = {
 							 "fg/sunmorn.mov", "baee2df57be48984fabb721ce996b224", 1331857, 404),
 	MACGAME1("mcluhan", "", "McLuhan.dxr", "ce91eb31b2fcebc26451e0cc1632a964", 44371496, 404),
 
-	WINDEMO1("mcmillennium", "Demo", "MILLDEMO.EXE", "b6027f900ae90ed59de3d22e68d2bfed", 3630918, 404),
+	WINDEMO1t("mcmillennium", "Demo", "MILLDEMO.EXE", "028a149906ca490f8634e30c6b3c3957", 3630918, 404),
 
 	// Full game is not Director
 	WINDEMO1("mechwarrior2", "Demo", "MW2DEMO.EXE", "4a8fd0d74faef305bc935e1aac94d3e8", 712817, 400),
 
-	// Original file name is Meet MediaBandâ„¢
+	// Original file name for v1.0 and v1.1 is Meet MediaBandâ„¢
 	MACGAME2("mediaband", "v1.0", "xn--Meet MediaBand-yk6h", "17efee018a660458fae80de4364021ac", 483774,
 								  "title", "88e717a623bc2690d84a1246e512eaff", 2646636, 404),
 	MACGAME2("mediaband", "v1.1", "xn--Meet MediaBand-yk6h", "17efee018a660458fae80de4364021ac", 483774,
 								  "title", "14a64b7999d909a23df7842cec65458c", 2752392, 404),
 	MACGAME2("mediaband", "v4.2", "Meet MediaBand", "1682231de376e5465240f6e4a7952072", 291988,
 								  "Main/Intro", "6f190b627f696ef29819c71682bd7057", 1055430, 403),
-	WINGAME1("mediaband", "v1.1", "MEDIABND.EXE", "0cfb9b4762e33ab56d656a0eb146a048", 717921, 404),
+	WINGAME1t("mediaband", "v1.1", "MEDIABND.EXE", "c18c8e9dfd1101d86ab9e6d00b6c77fe", 717921, 404),
 
 	// Projector is 4.0 Demo from Lingo Workshop
 	MACDEMO1("mediabook", "Sampler", "MediaBook Sampler 16Mb", "78138a77207907642744d0960c14d9e5", 510450, 400),
@@ -3639,6 +3876,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("mirage", "", "MIRAGE.EXE", "2291ea234c14f1ccb8f2e67ae09bbfa3", 696867, 400),
 	MACGAME1("mirage", "Making Of", "The Making of Mirage", "78138a77207907642744d0960c14d9e5", 486982, 400),
 	WINGAME1("mirage", "Making Of", "MAKINGOF.EXE", "2458926212e5589c013b7e7c28b9bee0", 698407, 400),
+	WINDEMO1t("mirage", "Demo", "MIRAGE.EXE", "83f5b8b60d480ac0d39a8356d9457c81", 1810139, 404),
 
 	MACGAME1("mmiqtest", "", "Multimedia IQ Test", "7fd44b6dffa0ea0402eaed4c3769b39b", 285566, 404),
 	WINGAME1("mmiqtest", "", "IQTEST.EXE", "2a788332a4d3af3e5c5f9fe230e6c89f", 740528, 404),
@@ -3655,6 +3893,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("moritaka", "", "WATARASE-BASHI", "c761bfe3a0865ca0f43cb5556230ed5b", 107527, Common::JA_JPN, 404),
 	PIPGAME1_l("moritaka", "", "Pippin Projector", "b708dcf9cdc19e6e186000ad93e41997", 73705, Common::JA_JPN, 404),
 
+	// Full game is supported in SCI engine
+	MACDEMO1("mothergoosehires", "Demo", "Mother Goose Demo", "77f4098988d5386794d1530065f514cd", 303933, 400),
+
 	MACGAME1_l("moworld", "", "MO-World", "27519b873d23565470f627ad2f3d1b03", 321547, Common::JA_JPN, 400),
 
 	WINGAME1t_l("murphystv", "", "MURPHY.EXE", "8614c962ec56d95d8a0b602621661bcd", 742693, Common::JA_JPN, 404),
@@ -3694,6 +3935,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO1("msoffice", "Windows 95 Demo", "OFC95DEM.EXE", "3a3b86311ea93318c00e615910c9b9af", 2278071, 404),
 	WINDEMO1("msoffice", "HyperMedia Demo", "OFFICE.EXE",	"6d3a440ed39ea166bc709941d1ac4d1e", 2259121, 404),
 	WINDEMO1t_l("msoffice", "HyperMedia Demo", "GERMOFC.EXE", "e78e12d833531484399680158e141f8e", 2562727, Common::DE_DEU, 404),
+	// JP version created by The HyperMedia Group, produced by S.I.P. Corporation
+	WINDEMO1t_l("msoffice", "HyperMedia Demo", "START.EXE", "09cc52110abd047f4fa78280f550e0bf", 742563, Common::JA_JPN, 404),
+	// Found on PC Review disc 17, demo created by Pub Pow Inc.
+	WINDEMO1t("msoffice", "Professional for Windows 95 Demo", "OFC95DEM.EXE", "cfbf1f3af1520d2af001399ffd01af6d", 2278779, 404),
+
 	WINDEMO2("mspowerpoint",		"Demo", "PPDEMO.EXE",	"8c49e85fe392cc16bfaaa4e4f5f3b38f", 2382163,
 											"PPMENU.DIR",	"9af214d29ea0db2bc1cda9263b7adade", 1802184, 404),
 	WINDEMO1("msproject",			"Demo",	"PROJDEMO.EXE", "01d88edc91499189f59467d32a0c27b2", 692401, 404),
@@ -3701,7 +3947,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO1("msschedule",			"Demo", "SCDEMO.EXE",	"3490bdb0957fed1ef43b09f774720ce2", 2595817, 404),
 	WINDEMO1("mswine",				"Demo", "WINEDEMO.EXE",	"c84dcde32949946851630de98c6c9aa7", 2048505, 404),
 	WINDEMO1("msword",	 "Windows 95 Demo", "WDDEMO.EXE",	"978b912f4d83feefbc2a72e19bf63539", 2408327, 404),
-	WINDEMO1("msworks",				"Demo", "WORKS.EXE", 	"2f28c708b365ab1b7f8ae511bf515a33", 5021281, 400),
+	WINDEMO1("msworks",				"Demo", "WORKS.EXE",	"2f28c708b365ab1b7f8ae511bf515a33", 5021281, 400),
 
 	// Original filename is 日本昔話
 	MACDEMO1_l("mukashibanashi", "Demo", "Nihon Mukashi Banashi", "8ea9e9a699c61edddffd79ddd0c994d7", 290654, Common::JA_JPN, 402),
@@ -3710,7 +3956,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("mummy", "", "MUMMY", "01be45e7241194dad07938e7059b88e3", 503560, 400),
 	WINGAME1("mummy", "", "MUMMY.EXE", "2ebe3a4ef8c128db46794333d4b61c36", 2939630, 404),
 
-	 // Full game is not Director
+	// Full game is not Director
 	WINDEMO1("muppets", "Demo", "MUPPETS.EXE", "4a8fd0d74faef305bc935e1aac94d3e8", 712817, 400),
 
 	// English version is D3
@@ -3736,6 +3982,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("negi1", "", "Power", "1e817476c1d58b61cc74a08d685460fd", 100069, Common::JA_JPN, 404),
 	WINGAME1t_l("negi1", "", "NEGI.EXE", "295224cdc826db343629e7741f5163af", 751189, Common::JA_JPN, 400),
 
+	// Rest of screensavers are D5
+	MACGAME1("nekojiruudonss", "Ashi", "ASHI", "bc1822fcc8cf27e2ffb1028c691fb06d", 395020, 402),
+	MACGAME1("nekojiruudonss", "Chin", "CHIN", "bc1822fcc8cf27e2ffb1028c691fb06d", 395020, 402),
+	MACGAME1("nekojiruudonss", "Doga", "DOGA", "bc1822fcc8cf27e2ffb1028c691fb06d", 395020, 402),
+	MACGAME1("nekojiruudonss", "Guruguru", "GURUGURU", "bc1822fcc8cf27e2ffb1028c691fb06d", 395020, 402),
+	MACGAME1("nekojiruudonss", "Nezumi", "NEZUMI", "bc1822fcc8cf27e2ffb1028c691fb06d", 395020, 402),
+	MACGAME1("nekojiruudonss", "Zikansa", "ZIKANSA", "bc1822fcc8cf27e2ffb1028c691fb06d", 395020, 402),
+
 	// Main app isn't Director.
 	// Original filename 'Nendo デモムービー'
 	MACDEMO1_l("nendo", "Demo Movie", "xn--Nendo -8v4emd6eta10ab", "bcd3c718db258701496b3c5bcb827ef2", 481803, Common::JA_JPN, 404),
@@ -3749,7 +4003,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Later released as Nikolai's Toys
 	// Original Mac filename is NN’nN Toy Makers™
-	MACGAME1("nikolaitoys", "", "NN\'nN Toy Makers", "2c7d0c0d55cbe3f622c7d68cedb671e0", 487026, 404),
+	MACGAME1("nikolaitoys", "", "NN'nN Toy Makers", "2c7d0c0d55cbe3f622c7d68cedb671e0", 487026, 404),
 	WINGAME1("nikolaitoys", "", "NNN_TOYS.EXE", "22147e4c6311f670f72d43f8b793169e", 3206640, 404),
 
 	MACDEMO1("nightsky", "Sampler", "Night Sky Interactive Sampler", "cbce20666bfe47a9533331c6be1e6039", 285525, 400),
@@ -3772,18 +4026,19 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO2_l("niningashi", "Demo", "S.EXE",			"0c8a24a885123f20992c0c74d8c5062c", 768683,
 									 "MAIN.DXR",		"8af3de22d679eb4e192429ca682bb974", 1119286, Common::JA_JPN, 404),
 
-	WINDEMO1("nixon", "Demo", "NIXON.EXE", "ca89b860bb28aed3a699478a7f411ee5", 3193595, 404),
+	WINDEMO1t("nixon", "Demo", "NIXON.EXE", "2136d259b08bff165dea5085938abd12", 3193595, 404),
 
-	// Pregnancy demo is from ADAM v1.1.1 for Mac
-	MACGAME1("nmm", "",		"Adam Player.ppc", "df028c9e22b2dec8f7ffeee28ca7b991", 57726, 404),
-	MACDEMO1("nmm", "Demo", "NMM Demo",		   "17efee018a660458fae80de4364021ac", 481482, 404),
+	// Pregnancy demo is from ADAM v1.11 for Mac and NMM v1.0
+	// Windows demo from Life's Greatest Mysteries v1.01
+	MACGAME2("nmm", "",		"Nine Month Miracle 1.0/ADAM Resources/Adam Player.ppc", "df028c9e22b2dec8f7ffeee28ca7b991", 57470,
+							"_A.D.A.M. Data/Fetus Images",							 "9aaef35beea323a4d1c714c32163c143", 563806, 404),
+	MACDEMO1("nmm", "Demo", "NMM Demo", "17efee018a660458fae80de4364021ac", 481226, 404),
+	WINDEMO1t("nmm", "Demo", "NMMDEMO.EXE", "69404c5a228259b44356f1eb477317d2", 7622823, 404),
 
 	MACDEMO2_l("noahsark", "Demo", "GO", "97474208c44c78f26bef8b2011d341aa", 484067,
-		"NOADATA/NOAm16h.dxr", "5ff168be3f36b3c7c1a27e0ba92af80a", 4313024,
-		Common::JA_JPN, 404),
+								   "NOADATA/NOAm16h.dxr", "5ff168be3f36b3c7c1a27e0ba92af80a", 4313024, Common::JA_JPN, 404),
 	WINDEMO2t_l("noahsark", "Demo", "GO.EXE", "bf8926c2275b8e83f237812a18964dbd", 747005,
-		"NOADATA/NOAW08H.DXR", "c66f86fe178c6a0bb9c5165202c0f8c3", 2991026,
-		Common::JA_JPN, 404),
+									"NOADATA/NOAW08H.DXR", "c66f86fe178c6a0bb9c5165202c0f8c3", 2991026, Common::JA_JPN, 404),
 
 	WINGAME1("noddytoytown", "", "NODDY.EXE", "d16d57c823205e32759e1771bfdbb330", 4505770, 404),
 
@@ -3818,8 +4073,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1t("origin", "V7",  "CATALOG.EXE", "40ba0c1bf02701fbe6ed12011b487082", 8498835, 400),
 	WINGAME1("origin", "V8",  "CATALOG.EXE", "e6fe968cbe2b51ea423af58216c78392", 9509999, 400),
 	WINGAME1("origin", "V10", "CATALOG.EXE", "7cff9d0feac9240a93dbd442f556e6d5", 9509767, 400),
-	WINGAME1("origin", "V11", "CATALOG.EXE", "c117a85d635a2b4469a141f7f051b0a8", 10347633, 400),
-	WINDEMO1("origin", "Fall 95", "CATALOG.EXE", "7d68d0cada5849c3732e5b87ee26a4c8", 9990989, 404),
+	WINGAME1t("origin", "V11", "CATALOG.EXE", "204be6f83ddff4b59834645ae33cb923", 10347633, 400),
+	WINGAME1("origin", "Fall 95", "CATALOG.EXE", "7d68d0cada5849c3732e5b87ee26a4c8", 9990989, 404),
 
 	WINGAME1_l("osaka1", "",	 "OSAKA.EXE", "c0479277618ab17bd9c79b5da66ab435", 1491097, Common::JA_JPN, 400),
 	WINDEMO2_l("osaka1", "Demo", "DEMO.EXE",  "763f360a098cf3bec7cbdc5685b1e4a3", 1193483,
@@ -3827,17 +4082,21 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO2_l("osaka1", "Demo", "DEMO",	  "5a012e69fec2369ad2e8d73c42d928f3", 1096269,
 								 "START.DIR", "8b82c58788768cfa88115217de4e8995", 825192, Common::JA_JPN, 404),
 
-	MACGAME1("oslotg", "", "OSLO\'s T&G", "ef59432e7b24df951cb7096cfd45d168", 307427, 400),
+	MACGAME1("oslotg", "", "OSLO's T&G", "ef59432e7b24df951cb7096cfd45d168", 307427, 400),
 	WINGAME1("oslotg", "", "OSLOTG.EXE", "c4be18eb4f16e3e21df22d0703866900", 995939, 400),
 
 	WINGAME1("painters", "", "PAINTERS.EXE", "3cba94b585493ef5f22d0d650b6eb7fd", 895727, 404),
 	MACGAME1("painters", "", "Painters Painting", "0a81aee4106eec4ffc0cc564a7c15a23", 288774, 404),
 
+	// Developed by Museworthy
+	MACGAME1("paparazzi", "", "MUSEWTHY/Paparazzi!", "0c7bbb4b24823e5ab871cb4c1d6f3710", 482610, 404),
+	WINGAME1t("paparazzi", "", "PPRAZZI.EXE", "2b0ea9256d85425a2a31e4bdf0ba3aa9", 5331351, 400),
+
 	// Full version is bilingual. Demo is French only.
 	// Demo found on EMME Keys to Knowledge sampler CD
 	MACGAME1("paris", "",		"PARIS History & Splendour", "1c2e5371b835680e7c1ca8bcea008bef", 482838, 404),
-	MACDEMO1_l("paris", "Demo", "DEMO PARIS INFO LINK-EMME", "1c2e5371b835680e7c1ca8bcea008bef", 482838, Common::FR_FRA, 404),
 	WINGAME1("paris", "",		"PARISPC.EXE",	"efff9526abac439e895005efb07499cb", 234012595, 404),
+	MACDEMO1_l("paris", "Demo", "DEMO PARIS INFO LINK-EMME", "1c2e5371b835680e7c1ca8bcea008bef", 482838, Common::FR_FRA, 404),
 	WINDEMO1_l("paris", "Demo", "DPARISPC.EXE", "875af2a4007c6ec11939ca0cc1f380d5", 719579, Common::FR_FRA, 404),
 
 	// All four languages found on Apple Europe Edition CD
@@ -3917,14 +4176,30 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACDEMO1("photos4us", "Demo", "Photos4us", "2c27791a84756be6201d281bad54f7bb", 351560, 404),
 
+	// From Star Trek: Borg (Disc 2)
+	MACGAME1("picarddossier", "", "Picard Dossier", "e1dc28c1dd8409c2d2e0d5d269df5ffc", 519813, 400),
+	WINGAME1t("picarddossier", "", "OMNIBORG.EXE", "59dbe112ee3a8d2a5c9cdf5f528dcfbd", 811363, 404),
+
 	WINGAME1("picklesbook", "", "PICKLE.EXE", "fb00695cb48e574f4acd75587b280756", 805141, 404),
 
 	// Full game is not Director
-	WINDEMO1("pitfall", "Demo", "PITDEMO.EXE", "4a8fd0d74faef305bc935e1aac94d3e8", 712817, 400),
+	// The second, later demo also contained the earlier demo as PITOLD.EXE in an incomplete state
+	WINDEMO1t("pitfall", "Demo", "PITDEMO.EXE", "0f492b1b4d9598bd0ac19ea35f89dd3a", 712817, 404),
+	WINDEMO1t("pitfall", "Demo", "PITDEMO.EXE", "71bca5c0c57532387e37ca1d322602a9", 699305, 404),
 
 	// 1996.3; Developed by Future Pirates
 	PIPGAME1_l("pipcatalog", "Vol. 1", "PiPPiN_DEMO", "d5ba36a687a999e0929a58c0c37edc79", 58401, Common::JA_JPN, 404),
 
+	// Game contains Swedish, Danish, Finnish, Norwegian, English (US+UK), German, French, Spanish, Dutch, Japanese, Italian
+	MACGAME1_l("pippi", "v1.3.1", "Pippi Start", "7c5a372c48e8879b2b1d107efe27e3b6", 530154, Common::EN_ANY, 404),
+	WINGAME1t_l("pippi", "v1.3.1", "PIPPI.EXE", "816d2d015cda54a7836a41141caa9d8d", 696959, Common::EN_ANY, 404),
+	// TDK rerelease
+	// Is there a Mac version? (MobyGames has this as a hybrid release)
+	WINGAME1t_l("pippi", "V1.3.1, TDK", "PIPPI.EXE", "2f3533b95406015d03d5dcd8ba7d961f", 691043, Common::EN_ANY, 404),
+	// Published by Ahead Multimedia AB
+	MACGAME1_l("pippi", "v1.3.3", "Pippi Start", "5f48d38b0c9b9c8790796d1eb1525713", 517216, Common::EN_ANY, 404),
+	WINGAME1t_l("pippi", "v1.3.3", "PIPPI.EXE", "2f3533b95406015d03d5dcd8ba7d961f", 691043, Common::EN_ANY, 404),
+
 	MACGAME1("planetarizona", "", "Planet Arizona", "0c7bbb4b24823e5ab871cb4c1d6f3710", 488433, 400),
 	WINGAME1("planetarizona", "", "ARIZONA.EXE", "a23462ec87eff973d2cdb2ddfd4a59fa", 698651, 400),
 
@@ -3934,7 +4209,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 							   "START.DIR",	   "cbd61d015d533b25f3d568002f96bcee", 21469988, 404),
 
 	// Distributed with Vote America demo
-	WINGAME1("poliq", "", "POLIQ.EXE", "064decf4d538e2dcdc8ccbbbb857ff7e", 1376591, 404),
+	WINGAME1t("poliq", "", "POLIQ.EXE", "08ea6f2f9af69af4d70967870fd92f81", 1376591, 404),
 
 	MACGAME1_l("popup", "", "POP UP COMPUTER", "c1c73a286e7fdb439c8d49c79a2d9997", 318305, Common::JA_JPN, 400),
 	WINGAME1_l("popup", "", "POPUP.EXE", "f47f7663a75120eca6c9e91025d51786", 65216494, Common::JA_JPN, 400),
@@ -3975,9 +4250,13 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO1_l("quantumgate2", "Demo",	 "xn--2bk1b4a0bo8jve", "b7e69c37b7355022d400c14aa97c5d54", 484067, Common::JA_JPN, 404),
 	WINDEMO1t_l("quantumgate2", "Demo",	 "VORTEX.EXE", "11627f883100bb7cf5bb232a2322941f", 739889, Common::JA_JPN, 404),
 
-	MACDEMO1_l("racingdays", "Demo", "Racing Days World", "fbe75e9140b23cf5bb2f5fd6f7ce8e88", 482059, Common::JA_JPN, 404),
+	MACDEMO1_l("racingdays", "Demo", "Racing Days World", "fbe75e9140b23cf5bb2f5fd6f7ce8e88", 481803, Common::JA_JPN, 404),
+	MACDEMO1_l("racingdays", "Demo", "Racing Days World", "0d5f13d9321d36c23b63f229460928b4", 481803, Common::JA_JPN, 404),
+	MACDEMO1_l("racingdays", "Demo v1.01", "Racing Days World 1.01", "fbe75e9140b23cf5bb2f5fd6f7ce8e88", 481803, Common::JA_JPN, 404),
 
-	MACDEMO1("readblasterjr", "Preview v1.0c", "Reading Blaster Jr. Power Mac", "49aa41e6b624e64e8e48850faa882cc8", 63532, 404),
+	MACDEMO1("readblasterjr", "Preview v1.0c", "Reading Blaster Jr. Power Mac", "49aa41e6b624e64e8e48850faa882cc8", 63276, 404),
+	// from Great Adventures by Fisher-Price: Castle (1995)
+	MACDEMO1("readblasterjr", "Preview v1.0c", "Reading Blaster Power Mac", "49aa41e6b624e64e8e48850faa882cc8", 61732, 404),
 
 	MACDEMO1("redshift", "1994 Demo", "RSDEMO.MAC", "4f7ff33ce95ed9f42befdae4f9b6b690", 292244, 403),
 	MACDEMO2("redshift", "Sound Demo", "RedShift Demo", "22815cf659b911c4e07d0015cac5d98f", 301669,
@@ -3990,6 +4269,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Original filename is ラインの黄金CD
 	MACDEMO1_l("rheingold", "Demo", "Das Rheingold CD", "b7e69c37b7355022d400c14aa97c5d54", 484351, Common::JA_JPN, 404),
 
+	MACGAME1("rooked", "v1.1P", "ROOKED v1.1P", "58b4e23f8260c100f84232e7b62b74f8", 504455, 404),
+
 	// Developed by Masahiro Fukuda & Co, published by Mizuki of Kashiba, Nara, Japan (1995)
 	// Auto Mode plays game as a non-interactive movie
 	WINGAME1_l("sabotenman", "",          "SABOTEN.EXE",  "30721602cb11d8764c5f0d9999ebe04d", 753725, Common::JA_JPN, 404),
@@ -4014,6 +4295,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1("scrutiny", "", "ScruTiny in the Great Round", "f5c99f14046b52844b2e9bd0575f1eed", 494142, 404),
 	WINGAME1("scrutiny", "", "SCRUTINY.EXE", "05dd9dfaf51383c242f61e990575fa34", 724885, 404),
+	WINDEMO1t("scrutiny", "Demo", "SCRUTINY.EXE", "a59b58eb52edb172fc142ad6eeceb0f8", 715449, 404),
 
 	WINDEMO1("searchlearn", "Demo", "SEARCH.EXE", "a563a1a244faf97137b47a3c0ee82176", 8088823, 404),
 
@@ -4035,10 +4317,12 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Player app is a standalone player for cartoons created in Studio
 	// Demo is found on apcmag.cd Dec 1999 disc 3, published by Australian Consolidated Press
+	// Larger demo found on Computer Shopper 107 (February 1997)
 	MACGAME1("simpsonsstudio", "",	   "Simpsons Cartoon Studio", "cd98745b01c43b49b223ecb1543cb3b1", 317514, 403),
-	MACGAME1("simpsonsplayer", "",	   "Simpsons Cartoon Player", "f18e1cf6fb9fea099aae580c2057e551", 502040, 403),
 	WINGAME1("simpsonsstudio", "",	   "SIMPSONS.EXE", "358af28ffe3fa515a9b9a03149483cb1", 3368957, 404),
 	WINDEMO1("simpsonsstudio", "Demo", "SIMPDEMO.EXE", "bcd332d5061ec00b103c1529b4095a49", 901047, 404),
+	WINDEMO1t("simpsonsstudio", "Demo", "SIMPSONS/SIMPDEMO.EXE", "e45f75ff547f392b8a4208afb15d0d1b", 2670335, 404),
+	MACGAME1("simpsonsplayer", "",	   "Simpsons Cartoon Player", "f18e1cf6fb9fea099aae580c2057e551", 502040, 403),
 	WINGAME1("simpsonsplayer", "",	   "SPLAYER.EXE",  "8966c096c5718316fddc7b238dd9df94", 884843, 404),
 
 	// Win version is D5
@@ -4054,7 +4338,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINDEMO1("smashsounds1", "Demo", "SMASH.EXE", "cc9f6f623ef61d2ac364eb41f65957ed", 2076581, 404),
 
-	MACGAME1("sorgato", "", "SORGATO\'S VARIABLE COLOR", "4011dd51c0eed1b5cf1fbf55360a7f60", 304189, 400),
+	MACGAME1("sorgato", "", "SORGATO'S VARIABLE COLOR", "4011dd51c0eed1b5cf1fbf55360a7f60", 304189, 400),
 
 	// Developed by KimTec UK; Published by McGraw-Hill, London (1996)
 	// Provides an introduction to the seven main religions in the world
@@ -4077,6 +4361,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("stream", "Volume 1", "Stream_1", "cdb27c916044ae4dceb4b7326063fa03", 304217, 400),
 	WINGAME1("stream", "Volume 1", "STREAM_1.EXE", "147c76b43a5ec051381c238488f722d5", 690979, 400),
 
+	// by Eij Kato
+	MACDEMO1("summertime", "Demo", "Summertime.DEM0", "33f733b2809b94c3301096902f642b6e", 289490, 402),
+
 	// From Super Sunday: An Interactive History Volume 2
 	MACGAME1("superbowltrivia", "", "SB Trivia Game", "4979678478db83693217cf295f53572c", 544413, 404),
 
@@ -4106,7 +4393,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Mac full executable name is ハイ!鉄マンです
 	// Mac demo executable name is デモ
-	MACGAME1_l("tetsuman", "", 	   "Tetsuman",		"bcd3c718db258701496b3c5bcb827ef2", 484323, Common::JA_JPN, 404),
+	MACGAME1_l("tetsuman", "",	   "Tetsuman",		"bcd3c718db258701496b3c5bcb827ef2", 484323, Common::JA_JPN, 404),
 	MACDEMO2_l("tetsuman", "Demo", "Demo",			"bcd3c718db258701496b3c5bcb827ef2", 484323,
 								   "LOGO",			"eca1db6f65dbd3213dbddf121adb3db2", 1050164, Common::JA_JPN, 404),
 	MACDEMO2_l("tetsuman", "Demo", "xn--edkuc",			"bcd3c718db258701496b3c5bcb827ef2", 484067,
@@ -4126,7 +4413,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 	PIPGAME1_l("tetsumangaiden", "",	 "GAIDEN.Pippin",	"2618a85198d0180e3eae9162f81aafed", 61059, Common::JA_JPN, 404),
 	WINGAME1_l("tetsumangaiden", "",	 "GAIDEN.EXE",		"e0176c2683e3f3cac971e976bafb8fee", 747105, Common::JA_JPN, 404),
 	WINDEMO2_l("tetsumangaiden", "Demo", "S.EXE",			"6e8d348333574dad57d316b780bc5f35", 747195,
-										 "LOGO", 			"82d44fb57e72e6243b55634379a74f6c", 1051768, Common::JA_JPN, 404),
+										 "LOGO",			"82d44fb57e72e6243b55634379a74f6c", 1051768, Common::JA_JPN, 404),
+
+	// Full version is not Director
+	MACDEMO1_l("thetowerxmas", "Demo", "TowerXmasDiscDEMO", "b0fb747bd526bd4ba820a4072d009bd0", 481803, Common::JA_JPN, 404),
 
 	// Mac version is not Director
 	WINGAME1("thinkinthingsdp", "", "PARENTS.EXE", "4e82061a925caa16320c52b38aeb68c5", 1160899, 400),
@@ -4139,7 +4429,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACDEMO1_l("toeic", "Demo", "TOEIC", "77f4098988d5386794d1530065f514cd", 301937, Common::JA_JPN, 400),
 
-	WINDEMO1("tommy", "Demo", "TOMMY.EXE", "ee4a543d88cbeaf3372ea25068720642", 696897, 404),
+	WINDEMO1t("tommy", "Demo", "TOMMY.EXE", "c754198b33865bb95d77c1188d0a67d6", 696897, 404),
 
 	// Full version is available on Tone Tales from Tomorrow Too from Ntone (CD9)
 	WINDEMO1("tonetrakker", "Demo", "TTSTART.EXE", "7ab8fc552f890fe827ccd60679032527", 697017, 404),
@@ -4151,14 +4441,17 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("totaldistortion", "", "TOTAL_DN.EXE", "461b407c321e80487ae4882056310f9f", 700747, 404),
 	MACDEMO1("totaldistortion",	 "Great Big Demo", "TD Demo 12 Meg", "17efee018a660458fae80de4364021ac", 485818, 404),
 	WINDEMO1t("totaldistortion", "Great Big Demo", "TD_DEMO.EXE",	 "028063f8a752f5ffda7477f328500d82", 700447, 404),
-	WINDEMO1("totaldistortion",	 "Demo",		   "TD_DEMO.EXE",	 "3ae9cfa4b020861b41f3bab9b28f3f5a", 696855, 404),
+	WINDEMO1t("totaldistortion", "Demo",		   "TD_DEMO.EXE",	 "a6782c106252b247345b41a895068808", 696855, 404),
 	WINDEMO1t("totaldistortion", "Demo",		   "TD_DEMO.EXE",	 "9383e298afa7e1a5f24f381051458e00", 684187, 400),
 	MACDEMO1_l("totaldistortion","Great Big Demo", "Total Distortion DemoJ", "98f6c9068ba48471757da0b522ce3e67", 485818, Common::JA_JPN, 404),
 
 	MACGAME1("toyota95", "", "Toyota 95", "01be45e7241194dad07938e7059b88e3", 486985, 404),
 
-	MACGAME1("trekborg", "", "Picard Dossier", "e1dc28c1dd8409c2d2e0d5d269df5ffc", 520069, 400),
-	WINGAME1("trekborg", "", "OMNIBORG.EXE", "1580ebad7599fb6c18815e244b0bfda3", 811363, 400),
+	// Developed by Zenda Studio
+	MACGAME1("travelrama", "", "Travelrama - PowerMac ONLY!/Travelrama PowerMac", "d8b8e42c2d9875b47ea762ca3fd45122", 128137, 404),
+	MACGAME1("travelrama", "Tour", "Travelrama Tour", "e6833f1ce3b022f0128e4c80a55bcd46", 288518, 404),
+	WINGAME1t("travelrama", "", "TRAMAWIN/TRAMA.EXE", "52d68e3a8d54b2091dd58ddc464c850d", 698215, 404),
+	WINGAME1t("travelrama", "Tour", "TRAMAWIN/TOUR.EXE", "cf439eb7a102716908c4f7ef0bb09637", 697009, 404),
 
 	MACGAME1("trekguideds9", "v1.0", "Omnipedia DS9 Episodes", "1c2e5371b835680e7c1ca8bcea008bef", 505317, 400),
 	WINGAME1("trekguideds9", "v1.0", "OMNI_DS9.EXE", "0058390ff77e527c7bb413081004c304", 805517, 400),
@@ -4166,20 +4459,20 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("trekguidetng", "v1.1", "TNG Episodes", "1c2e5371b835680e7c1ca8bcea008bef", 520149, 400),
 	WINGAME1("trekguidetng", "v1.1", "OMNI_TNG.EXE", "0049d72e2d5869408fc33860ec4b5c1f", 794201, 400),
 
-	MACGAME1("trekklingon", "", "Klingon Language Lab", "b797956eb3a4dabcc15bfadf6fc66591", 481482, 400),
-	WINGAME1("trekklingon", "", "TREK_WIN.EXE", "204417e63c0a2df18cf42d780b97ed58", 1425763, 400),
-
 	MACGAME1("trekomni", "v1.00", "Omnipedia", "b7e69c37b7355022d400c14aa97c5d54", 516791, 400),
 	MACGAME1("trekomni", "v1.1.2 Upgrade", "Omnipedia 2", "b7e69c37b7355022d400c14aa97c5d54", 613253, 400),
 	WINGAME1("trekomni", "Premier Edition", "ST_OMNI.EXE", "1a648d47632561f10a98782f1dde5738", 811827, 400),
 	WINGAME1("trekomni", "v1.1.2 Upgrade", "ST_OMNI2.EXE", "1d60aad73cc9c69776a878aa59e65230", 809781, 400),
 
-	MACGAME1("trektech", "", "STNG Technical Manual (PowerPC)", "a9bd9f3a82fcde6e4d151868e256aec7", 525946, 400),
+	MACGAME1("trektech", "", "Install on Hard Drive (Big)/STNG Technical Manual (PowerPC)", "a9bd9f3a82fcde6e4d151868e256aec7", 525690, 400),
+	WINGAME1("trektech", "", "STARTREK/NCC1701D.EXE", "02aec408cee26413a096aec9b1cb1878", 720249, 400),
+	WINGAME1_l("trektech", "", "STARTREK/NCC1701D.EXE", "dc960a161de1883867030b3612313f06", 726723, Common::DE_DEU, 400),
 	MACDEMO1("trektech", "Demo", "TrekForMac", "68ed73866232194a9a5609040dc1f242", 289696, 403),
-	WINGAME1("trektech", "", "NCC1701D.EXE", "02aec408cee26413a096aec9b1cb1878", 720249, 400),
-	WINGAME1_l("trektech", "", "NCC1701D.EXE", "dc960a161de1883867030b3612313f06", 726723, Common::DE_DEU, 400),
+	MACDEMO1("trektech", "Demo", "For_Mac", "bcd3c718db258701496b3c5bcb827ef2", 481226, 404),
+	WINDEMO1t("trektech", "Demo", "TREK_WIN.EXE", "e2f2951b83acf5b15e4d325aa3980872", 4061175, 404),
 
 	// Bilingual English/Spanish
+	// Spanish title is Verdades y Ficciones
 	MACGAME1("truthsfictions", "", "Truths & Fictions", "4577dd3eadc467a986ab172d90871b22", 534968, 404),
 
 	// Original filenames are 合わせ月の夜 (disc 1), フェンネル (disc 2), いにしえびと (disc 3)
@@ -4191,7 +4484,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("ubt", "", "BTDEMO.EXE", "dbe72b7dc91c72db5b4597857aecf5c6", 696813, 404),
 
 	// YOBI.EXE is a projector for lower performance systems
-	WINGAME1_l("ukiuki1", "", 	  "TENNGU.EXE", "f0bbb9938a7cb899b6fc93ef7f3e8150", 747145, Common::JA_JPN, 404),
+	WINGAME1_l("ukiuki1", "",	  "TENNGU.EXE", "f0bbb9938a7cb899b6fc93ef7f3e8150", 747145, Common::JA_JPN, 404),
 	WINDEMO2_l("ukiuki1", "Demo", "S.EXE",		"09430e02b3540e623d0b400792958901", 747145,
 								  "LOGO.DIR",	"b6d341c63fbea25898fc310981413c28", 1053528, Common::JA_JPN, 404),
 	WINGAME1("ukiukibgv", "",	  "BGV",		"4dc07ac998272bb4027a9979f5b6c3b6", 1097649, 404),
@@ -4214,9 +4507,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Windows demos on Uki Uki 3 sample disc are hidden in MOVIE/BMP
 	// All of the Windows demo projectors use the S.EXE filename
 	MACGAME1_l("ukiuki2", "",	  "Hashi no gomoku-dzuri", "bcd3c718db258701496b3c5bcb827ef2", 488946, Common::JA_JPN, 404),
-	MACDEMO2_l("ukiuki2", "Demo", "Demo",  				   "5ef06a50a335ec0a9a0f9017057ccfe9", 1097469,
-								  "START", 				   "c1eaf606b97d1fb5a55214485d330aa9", 9228, Common::JA_JPN, 404),
-	WINDEMO2_l("ukiuki2", "Demo", "S.EXE",  			   "5ef06a50a335ec0a9a0f9017057ccfe9", 1097469,
+	MACDEMO2_l("ukiuki2", "Demo", "Demo",				   "5ef06a50a335ec0a9a0f9017057ccfe9", 1097469,
+								  "START",				   "c1eaf606b97d1fb5a55214485d330aa9", 9228, Common::JA_JPN, 404),
+	WINDEMO2_l("ukiuki2", "Demo", "S.EXE",				   "5ef06a50a335ec0a9a0f9017057ccfe9", 1097469,
 								  "OPENING",			   "c1eaf606b97d1fb5a55214485d330aa9", 9228, Common::JA_JPN, 404),
 
 	// Demo is D5
@@ -4234,6 +4527,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2("universe", "", "UNIVERSE.EXE", "77ddb6ca4c45b78cc501868afa55e166", 700157,
 							 "STARTUP.DIR",	 "f66999c161fd9bac1f70be4635abfcc2", 24958, 404),
 
+	MACGAME1("universe", "", "Invisible Universe", "78138a77207907642744d0960c14d9e5", 596510, 404),
+	WINGAME2t("universe", "", "UNIVERSE.EXE", "2ae0654d19de7b366e9d6e9ac4588c50", 700157,
+							  "STARTUP.DIR",	 "34d4084b17cea8982fd24f9561d77d65", 24958, 404),
+
 	WINGAME1t("ushistory", "", "HISTORY.EXE", "5660e6a7b772b5bf8867627ab0d7a58b", 703629, 404),
 
 	// French version titled "Valmaison au fil des saisons"
@@ -4262,13 +4559,21 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1_l("virtualmuseum", "", "Virtual Museum Vol.1", "8b138db44d4421cc7294a9dc792ccf1b", 503337, Common::JA_JPN, 403),
 
-	WINDEMO1("vote", "Demo", "VOTEDEMO.EXE", "4b8c50c375c348e2d46086e1cccdd407", 7679955, 404),
+	WINDEMO1t("vote", "Demo", "VOTEDEMO.EXE", "9730557013fd18686943f3787c030f23", 7679955, 404),
 
 	MACGAME1("vnc", "", "VNC", "0c7bbb4b24823e5ab871cb4c1d6f3710", 486116, 404),
 	WINGAME1("vnc", "", "VNC.EXE", "40ba00213a10164eb6e01847108f9b21", 1086869, 404),
 	WINGAME1("vnc", "Beta", "VNC.EXE", "e6f284971c09f19e3277aa8ebcf58cbd", 726643, 404),
 
-	WINDEMO1("vtarot", "Demo", "VTAROT.EXE", "06bf4ef6c25c6590949f57ea3b043abd", 693261, 404),
+	// English Windows version also contains this application
+	// "The PC version is launched from a very simple projector called "GOPREV.EXE", which lives in the "SUPPL" folder. The installer copies this executable to a directory on the hard drive, and creates a lingo.ini file that puts the drive letter of the CD-ROM drive into a global called CDPath. This projector calls the movie CDPath&"PREVIEW.DIR"."
+	// WINGAME1t("vygrpresents", "Installed", "GOPREV.EXE", "d6cbe5df16170418dee965c5bc1d5e87", 712453, 400),
+	// Japanese version is Mac-only
+	MACGAME1("vygrpresents", "", "Voyager Preview", "4efba92cbb95eff273c40e57d0f0f535", 296494, 403),
+	WINGAME1t("vygrpresents", "", "PREVIEW.EXE", "d1e277b509be1fe48f5ca6c48324382c", 4278225, 404),
+	MACGAME1_l("vygrpresents", "", "Voyager Preview", "4577dd3eadc467a986ab172d90871b22", 310336, Common::JA_JPN, 402),
+
+	WINDEMO1t("vtarot", "Demo", "VTAROT.EXE", "4c6c3949bda323f92f09a5769bbb250c", 693261, 404),
 
 	// Original Mac filename is VUSICâ„¢ The Screen Raverâ„¢
 	MACDEMO1("vusic", "Demo", "VUSIC The Screen Raver", "5bbb193a8785c70abe2a4d86b99e1536", 283291, 403),
@@ -4276,11 +4581,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Original filename 'ワロビージャックの大冒険<デモ>'
 	MACDEMO2_l("wallobee", "Demo", "xn--baa0pja0512dela6bueub9gshf1k1a1rt742c060a2x4u", "0666ae690e459d3d0d91800ebd94de46", 290780,
-		"001b.mov", "2b49fe4e49f9e846fb6e78f92e9a296d", 6675,
-		Common::JA_JPN, 402),
+								   "001b.mov", "2b49fe4e49f9e846fb6e78f92e9a296d", 6675, Common::JA_JPN, 402),
+
 	MACDEMO2_l("wallobee2", "Demo", "xn--baa0pja0512dela6bueub9gshf1k1a1rt742c060a2x4u", "0666ae690e459d3d0d91800ebd94de46", 290780,
-		"000.MOV", "92db07a408eca6bc0ebc230e31e6caa4", 461940,
-		Common::JA_JPN, 402),
+									"000.MOV", "92db07a408eca6bc0ebc230e31e6caa4", 461940, Common::JA_JPN, 402),
 
 	MACGAME1("wallobee3", "", "Lost Lionardo", "cdb27c916044ae4dceb4b7326063fa03", 303961, 400),
 	WINGAME1("wallobee3", "", "LIONARDO.EXE", "51de9e2a40f06d96ca59fcf37c6f297a", 775449, 400),
@@ -4308,11 +4612,15 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1("wildblueyonder1", "", "Wild Blue Yonder 1", "dc5a87dda7a0daf46604515f7d2cca66", 292244, 403),
 
+	WINGAME1t("williamsbts", "", "BEHIND.EXE", "0a432cb988c9865c478bdc195429d3fd", 693077, 404),
+	MACGAME1("williamsbts", "", "Behind the Scenes", "5442b05b2d320eb2e2ec3c74fa41f953", 483490, 404),
+
 	WINDEMO1("windows95", "Demo", "W95DEMO.EXE", "508a025373f0e8f6ae514578cf97c281", 24814094, 404),
 
-	// Heksenspul met Hennie de heks en de kat Helmer
+	// Heksenspul met Hennie de heks en de kat Helmer (NL); Häxan Hekla (SE)
 	// Published in the UK by Oxford University Press
 	WINGAME1_l("winniewitch", "", "HENNIE.EXE", "25b6c57704b8a2913cfa5d7f30adbc9a", 967339, Common::NL_NLD, 400),
+	WINGAME1t_l("winniewitch", "", "HEKLA.EXE", "4ccad55d613b194bc69684ebe3e03777", 698139, Common::SE_SWE, 404),
 	WINDEMO1("winniewitch", "Demo", "WINNIE.EXE", "6efbdb88014d09c9d189a019cffa89ff", 977277, 404),
 
 	// Japanese title 'よく見てごらん!'
@@ -4337,11 +4645,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO2t("wrath", "Demo", "000WRATH.EXE", "5d0ee796571b99d402a06438ae2f3d56", 696815,
 							   "SHARED.DIR", "27afa0d790af95b99ba30da10c883f92", 3570628, 404),
 	// Found on The Crystal Skull CD
-	MACDEMO2("wrath",  "", "gomac",		 "01be45e7241194dad07938e7059b88e3", 508848,
-						   "Shared.Dir", "89f558d6a6535c16ec440948d86988b8", 3570542, 404),
+	MACDEMO2("wrath",  "Demo", "gomac",		 "01be45e7241194dad07938e7059b88e3", 508848,
+							   "Shared.Dir", "89f558d6a6535c16ec440948d86988b8", 3570542, 404),
 	WINDEMO2t("wrath", "", "WRATH.EXE",	 "5d0ee796571b99d402a06438ae2f3d56", 696815,
 						   "SHARED.DIR", "e709f7b88f6241e4f45632beb0533ac1", 3570542, 404),
 
+	// Full game is not Director
+	MACDEMO1("wttf", "Demo", "WTTF", "01be45e7241194dad07938e7059b88e3", 483518, 404),
+
 	WINDEMO1("wwanimals", "Demo", "ANIMALS.EXE", "25fee176193d52cf7cbc2b604bfcbf8c", 6961631, 404),
 
 	MACGAME1_l("xaxa", "", "XAXA MACHINE", "ff0b7a4b925c7345785c372d618d0967", 342977, Common::JA_JPN, 400),
@@ -4353,6 +4664,13 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Published by Oxford Multimedia (1995)
 	WINDEMO1("xmasstory", "Demo", "ACS.EXE", "864edd47c1870fafa463340f9e2ac878", 692713, 404),
 
+	// Windows version requires install, INSTALL.Z, InstallShield V3
+	// Mac version requires install, Install Me, uses Smaller Installer by Cyclos
+	MACGAME1("y2lsnoopycoloring", "v1.0", "MS Coloring Book", "c5ca29779414b218e7cb8007e6a2c5ed", 491992, 404),
+	WINGAME1t("y2lsnoopycoloring", "v1.0", "COLBOOK.EXE", "28ae91c6227fa616d1342c9db2b927d7", 728111, 400),
+
+	// Windows version requires installation, INSTALL.Z, InstallShield v3
+	MACGAME1("y2lgeography", "", "MSWorldGeography", "c5ca29779414b218e7cb8007e6a2c5ed", 550644, 404),
 	WINGAME1("y2lgeography", "", "MS_GEO.EXE", "97bed0dfebc8d7e1fd4547578fe07c3f", 710977, 404),
 
 	MACGAME1_l("ybr2", "", "YBR2", "b797956eb3a4dabcc15bfadf6fc66591", 504153, Common::JA_JPN, 400),
@@ -4366,7 +4684,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Original Mac filename is 真・百物語
 	MACGAME1_l("yokai", "", "xn--vek138qttcmsa439e", "17efee018a660458fae80de4364021ac", 556245, Common::JA_JPN, 404),
-	WINGAME1_l("yokai", "", "YOUKAI.EXE", "d223c4b2174baf83bc33357a94077fea", 740279, Common::JA_JPN, 404),
+	WINGAME1t_l("yokai", "", "YOUKAI.EXE", "0e8457a40c5ed1729ffdaf025ad92309", 740279, Common::JA_JPN, 404),
 
 	// Original filename is '吉本芸能整形'
 	MACGAME1_l("yoshimotogeino", "", "xn--9pry7xgzejzbf61d6fc", "0c7bbb4b24823e5ab871cb4c1d6f3710", 484067, Common::JA_JPN, 404),
@@ -4396,7 +4714,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO1("znemesis", "Demo", "ZORKDEMO.EXE", "4a8fd0d74faef305bc935e1aac94d3e8", 712817, 400),
 
 	WINDEMO1("zoombini", "Demo", "_ZOOMDAT.EXE", "d573b80bb932f50cbe69395b158e9f47", 696927, 404),
-	WINDEMO1("zoombini", "Demo", "ZOOMBINI.EXE", "e68b82276dc4f89a292c7d60d97983fe", 4632551, 404),
+	WINDEMO1t("zoombini", "Demo", "ZOOMBINI.EXE", "fffa1e234005c89a366a4f5a3d82d34e", 4632551, 404),
 
 //////////////////////////////////////////////////
 //
@@ -4406,7 +4724,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// From Elmo's Art Workshop CD
 	MACDEMO1("3datlas98", "Demo", "3D98DEMO", "231d3041df162be4a0ddd36a74eb03b6", 718357, 501),
-	WINDEMO1t("3datlas98", "Demo", "3D98DEMO.EXE", "843fd6ad5664c9fcce2ee722f64b2991", 917511, 505),
+	WINDEMO1t("3datlas98", "Demo", "3D98DEMO.EXE", "843fd6ad5664c9fcce2ee722f64b2991", 917511, 500),
 
 	WINGAME1_l("a5tours", "", "A5TOURS.EXE", "38b75ecdedf662326fe4931a68ae60cd", 1410246, Common::JA_JPN, 501),
 
@@ -4420,7 +4738,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1t_l("acneattack", "", "Acne.exe", "9ec3d648c42e41cc2263d3c643d7ad1e", 1905311, Common::SE_SWE, 501),
 
 	// Installers for both platforms also use Director
-	MACGAME1("alcohol101", "", "Let\'s Party", "2d2ac01320f4c2dce8e156cda5c73fe8", 719289, 501),
+	MACGAME1("alcohol101", "", "Let's Party", "2d2ac01320f4c2dce8e156cda5c73fe8", 719289, 501),
 	WINGAME2("alcohol101", "", "START95.EXE",  "1a7acbba10a7246ba58c1d53fc7203f5", 1411661,
 							   "INTRO.DXR",	   "de5b5bbc9cc4659b3a6464efffd22fb9", 903418, 501),
 
@@ -4435,8 +4753,12 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Original file names are ' ANKH2 ' and ' ANKH3 '
 	MACGAME1_l("ankh2", "", "ANKH2", "779a44f65837ded641cc3fbbebe5ace1", 721432, Common::JA_JPN, 501),
+
 	MACGAME1_l("ankh3", "", "ANKH3", "f715a3036c1b54ab1121e90388948018", 720456, Common::JA_JPN, 501),
 
+	MACDEMO1("aptesampler", "", "Product Sampler", "aa6a527c1314eae56f00d9b9fb587683", 719033, 501),
+	WINDEMO1t("aptesampler", "", "APTE32.EXE", "a42cd36dd6224f4382f676f946e48914", 1410355, 501),
+
 	WINGAME1("arad", "", "arad95nt.exe", "3460ad87d2ba57104e2810a77b53c220", 2623135, 500),
 
 	// Available here: http://web.archive.org/web/20080412010505/http://www.beachware.com/download/
@@ -4454,8 +4776,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2("arcadesubs", "",		"shware32.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1410427,
 									"Caverns.Dxr",	"57bf22de8a2f1822e9259d4a3d8e3f5a", 3188250, 501),
 
-	MACGAME1("arcmedia", "", "MAC.EXE", 	"231d3041df162be4a0ddd36a74eb03b6", 716997, 501),
-	WINGAME2("arcmedia", "", "WIN95.EXE", 	"1a7acbba10a7246ba58c1d53fc7203f5", 1411325,
+	MACGAME1("arcmedia", "", "MAC.EXE",		"231d3041df162be4a0ddd36a74eb03b6", 716997, 501),
+	WINGAME2("arcmedia", "", "WIN95.EXE",	"1a7acbba10a7246ba58c1d53fc7203f5", 1411325,
 							 "000MAIN.DXR", "0fb364d9201b3b652f575282abb6ea16", 311662, 501),
 
 	// Launcher, ' ATMOS ' in the root, is also Director
@@ -4468,9 +4790,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Developed by TATI Mixedia, Gothenburg, Sweden (1999); published locally by IQ Media Nordic, Stockholm
 	WINDEMO1("backpackerjr", "Demo", "BPJDEMO.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1418681, 501),
 
-	// Installer is also Director
-	WINGAME1_l("backpacker2", "", "bp2new.exe", "842014a812b454620f64b860fd7211f0", 940821, Common::NB_NOR, 501),
-	WINGAME1_l("backpacker2", "", "bp2new.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1418983, Common::SE_SWE, 501),
+	// Requires installation, installer is also Director
+	WINGAME1_l("backpacker2", "", "BP2NEW.EXE", "842014a812b454620f64b860fd7211f0", 940821, Common::NB_NOR, 501),
+	WINGAME1t_l("backpacker2", "", "BP2NEW.EXE", "8320e90992dffe88d21d39743ed7b89e", 1418983, Common::SE_SWE, 501),
 
 	WINDEMO1t("backpackjr", "", "BPJDEMO.EXE", "8320e90992dffe88d21d39743ed7b89e", 1418643, 501),
 	WINDEMO1t("backpackjr", "", "BPJDEMO.EXE", "8320e90992dffe88d21d39743ed7b89e", 1418681, 501),
@@ -4480,6 +4802,12 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("backpackerjrdiy", "v1.1", "xn--BPJ D.I.Y.-", "b861188374e80b1184e7f96dcab4fc9b", 718097, Common::EN_ANY, 501),
 	WINGAME1t_l("backpackerjr", "v1.1", "BPJunior.exe", "8320e90992dffe88d21d39743ed7b89e", 1418697, Common::EN_ANY, 501),
 	WINGAME1t_l("backpackerjrdiy", "v1.1", "DIY.exe", "8a71d255edf60f7e8a0641206da26fcc", 1467987, Common::EN_ANY, 501),
+	// 2002 Win/Mac hybrid release published by Elävät Kirjat
+	// Requires installation, Instdata{1,2,3,4}/install.exe, uses Vise
+	MACGAME1_l("backpackerjr", "v1.1", "BP Juniori", "6f364c18bf735ea9034f1d0009e2df17", 705481, Common::EN_ANY, 500),
+	MACGAME1_l("backpackerjrdiy", "v1.1", "xn--D.I.Y.-", "6f364c18bf735ea9034f1d0009e2df17", 705481, Common::EN_ANY, 500),
+	WINGAME1t_l("backpackerjr", "v1.1", "BPJuniori.exe", "8320e90992dffe88d21d39743ed7b89e", 1418697, Common::EN_ANY, 501),
+	WINGAME1t_l("backpackerjrdiy", "v1.1", "DIY.exe", "245511e514fac31b8a998c0a7806e59f", 1518587, Common::EN_ANY, 501),
 
 	// Original filename is 'かわら盤Vol.03'
 	MACGAME1_l("bandaipreviews3", "", "xn--Vol.03-953eurwbv611j", "33f733b2809b94c3301096902f642b6e", 292846, Common::JA_JPN, 402),
@@ -4513,11 +4841,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	MACGAME1("blam3", "", "  BLAM!3ppc.prj", "8a093239a2bbfd73269bc70f873c69b8", 106887, 501),
 
-	MACGAME1("blender", "Volume 2.5", "Blender (PPC)", "f102e699371fd85eaf57606a1c0b1adc", 94329, 501),
-	MACGAME1("blender", "Volume 3.1", "Blender (PPC)", "013ce52c2d8fa0f004fe6d1118448a58", 108119, 501),
-	WINGAME2("blender", "Volume 2.5", "BLENDME.EXE",   "2e62abdad839e42068afdcd0644d7dcf", 949909,
-									  "OPENING.DIR",   "45cb69d7174a3f93d54e9a5ee1fb9f3b", 2274768, 500),
-	WINGAME1("blender", "Volume 3.1", "LNCHR_32.EXE",  "1a7acbba10a7246ba58c1d53fc7203f5", 1421431, 501),
+	MACGAME1("blender", "Volume 2.5", "Blender (PPC)",	   "f102e699371fd85eaf57606a1c0b1adc", 94329, 501),
+	MACGAME1("blender", "Volume 3.1", "Blender (PPC)",	   "013ce52c2d8fa0f004fe6d1118448a58", 108119, 501),
+	WINGAME2("blender", "Volume 2.5", "BLENDME.EXE",	   "2e62abdad839e42068afdcd0644d7dcf", 949909,
+									  "FILES/OPENING.DIR", "45cb69d7174a3f93d54e9a5ee1fb9f3b", 2274768, 500),
+	WINGAME1("blender", "Volume 3.1", "LNCHR_32.EXE",	   "1a7acbba10a7246ba58c1d53fc7203f5", 1421431, 501),
 
 	// Designed by In Chair Viewing (ICV)
 	// Binaries provided for Win3.1, Win95, WinNT
@@ -4543,7 +4871,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 									"Keno.Dxr",		"229860fdf77f1d92da7ca23535393597", 314064, 501),
 	WINGAME2("casinopoker", "",		"shware32.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1410427,
 									"Draw.Dxr",		"56f8b8fa6324b2abc16eafa8aa6ba403", 489404, 501),
-	WINGAME2("casinoslots", "", 	"shware32.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1410427,
+	WINGAME2("casinoslots", "",		"shware32.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1410427,
 									"Quarters.Dxr",	"4b91f3fa860cd4de3b0aa167f3afdff3", 527618, 501),
 
 	MACGAME1("cassandra", "", "The Cassandra Galleries", "231d3041df162be4a0ddd36a74eb03b6", 718353, 501),
@@ -4587,7 +4915,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME2("davidsonps", "v1.0", "DPS32.EXE",	  "3460ad87d2ba57104e2810a77b53c220", 1401517,
 								   "DPSHOT.DXR",  "d980c9272bc723c57238a31790b71f11", 1354686, 500),
-	WINGAME1("davidsonps", "v2.0", "DPS2032.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1425025, 501),
+	// Developed by Wag the Dog Productions
+	MACDEMO1("davidsonps", "v2.0L", "DPS v2.0", "9fbd2e99a6a23933083ba0934e4a7d01", 705417, 500),
+	WINDEMO1t("davidsonps", "v2.0L", "DPS2032.EXE", "7c325424b7deb932de6f080dc6c9b8e6", 1425025, 501),
 	{
 		{
 			"davidsonps", "CD",
@@ -4603,8 +4933,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	},
 
 	// Mini-game from Star Warped can also be launched separately
-	MACGAME1("deathstar", "Minigame", "Death Star Destructo", "11aea1c6868839f53cc6312df724364f", 108091, 501),
-	WINGAME1("deathstar", "Minigame", "DSD32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 2758841, 501),
+	MACGAME1("deathstar", "Minigame", "Death Star Destructo", "11aea1c6868839f53cc6312df724364f", 107835, 501),
+	WINGAME1t("deathstar", "Minigame", "DSD32.EXE", "9e3c304fdd669c79b5670057557cd1fb", 2758841, 501),
 
 	// Windows executables for Win 3.1 and 95; Mac executables for 68k, PPC, and Fat binary
 	MACGAME1("dimensionq", "", "Dimension Q", "c148f66ae3511fb88733102aa27efe7e", 719313, 501),
@@ -4652,42 +4982,64 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1t("delaware", "the thinker", "11the_thinker.exe", "b12c52cb1ed6bf9658ee0f0d44ce9f6b", 8498468, 501),
 	WINGAME1t("delaware", "never mind the bollocks", "12never_mind_the_bollocks.exe", "bf6759ac50902409d53691d028705570", 2693444, 501),
 
-	// Het Geheim van Dracula, Win versions on same discs are D4
+	// Other versions are D4
 	MACGAME1_l("draculassecret", "", "Dracula.PPC", "65f0701cced8f5c64813e1e0353f0510", 108119, Common::FR_FRA, 501),
-	MACGAME1_l("draculassecret", "", "Het geheim", "a4df1e62980bf13fb87cc2598ca72c9e", 95653, Common::NL_NLD, 500),
+
+	// Published by Bibliographisches Institut & F.A. Brockhaus AG
+	// Contains previews for:
+	// - Mein erstes Lexikon
+	// - Das Wunder unseres Körpers
+	// - Wie funktioniert das?
+	// - Das Flaggschiff des Königs
+	// Mac filename is "Duden/Meyer MM"
+	MACGAME1_l("dudenmeyer", "", "xn--DudenMeyer MM-ta40e", "06ed90580400cd9e263525f84c8075fd", 704509, Common::DE_DEU, 500),
+	WINGAME1t_l("dudenmeyer", "", "DUDMEY.EXE", "e838d14566480d75a674e6e94b736088", 1094419, Common::DE_DEU, 501),
 
 	// Win version on same discs is D6
 	MACGAME1("dynamichuman", "v2.0", "Dynamic Human 2.0", "bfd348abd981acae64c13d5e5e4d9540", 718353, 501),
 
-	MACGAME1("easybass", "", "Bass", 		"231d3041df162be4a0ddd36a74eb03b6", 719261, 501),
-	WINGAME2("easybass", "", "WIN95.EXE", 	"1a7acbba10a7246ba58c1d53fc7203f5", 1411387,
+	MACGAME1("easybass", "", "Bass",		"231d3041df162be4a0ddd36a74eb03b6", 719261, 501),
+	WINGAME2("easybass", "", "WIN95.EXE",	"1a7acbba10a7246ba58c1d53fc7203f5", 1411387,
 							 "322MAIN.DXR", "5f66f50a682be582b7b88444945b45df", 1007992, 501),
 
 	MACGAME1("edmark", "", "Edmark Demo", "d0f3aedb1f7c46853243b6a560440dd7", 705613, 500),
-	WINGAME2("edmark", "", "DEMO.EXE", 	  "2e62abdad839e42068afdcd0644d7dcf", 917547,
+	WINGAME2("edmark", "", "DEMO.EXE",	  "2e62abdad839e42068afdcd0644d7dcf", 917547,
 						   "MAININT",	  "1e995592236894b843c3853906bbee1d", 2935876, 500),
 
 	// Original Mac filename is 江口寿史
 	MACGAME1_l("eguchi", "", "xn--6or4a778bbur", "552992fb31c736ca67ffd403096596d6", 719653, Common::JA_JPN, 501),
 	WINGAME1_l("eguchi", "", "EGU32.EXE", "38b75ecdedf662326fe4931a68ae60cd", 1410078, Common::JA_JPN, 501),
 
-	MACGAME1_l("epson96", "", "EPSON'96", "c7de2891be2a39e6552807db386faae6", 703181, Common::JA_JPN, 505),
-	WINGAME1t_l("epson96", "", "EPSON96.EXE", "f535d4df97b64fcefa85667ce59012de", 2264365, Common::JA_JPN, 505),
+	MACGAME1_l("epson96", "", "EPSON'96", "c7de2891be2a39e6552807db386faae6", 703181, Common::JA_JPN, 500),
+	WINGAME1t_l("epson96", "", "EPSON96.EXE", "f535d4df97b64fcefa85667ce59012de", 2264365, Common::JA_JPN, 500),
 
-	WINGAME1_l("ernie", "", "Ernie.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1417481, Common::SE_SWE, 500),
+	MACGAME1_l("ernie", "", "Ernie (PPC)", "4c38a51a21a1ad231f218c4786ff771d", 106955, Common::SE_SWE, 501),
+	WINGAME1t_l("ernie", "", "Ernie.exe", "5b5c34933594af422baa9344b07e0b6a", 1417481, Common::SE_SWE, 501),
 	WINDEMO1_l("ernie", "Demo", "ERNIE.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1417371, Common::SE_SWE, 500),
 
 	// Developed by Brilliant Interactive Ideas, published by Brainstorm
 	MACGAME1("flipper", "", "Flipper!",	  "6e7e31d05709e1d38d63f4df6a59eec0", 718381, 501),
 	WINGAME1("flipper", "", "FLIP32.EXE", "3460ad87d2ba57104e2810a77b53c220", 1398201, 500),
 
-	MACGAME1("frankac", "", "Franklin's Activity Center", "06ed90580400cd9e263525f84c8075fd", 705701, 500),
+	MACDEMO1("fplit", "Demo", "Toyland Preview", "9fbd2e99a6a23933083ba0934e4a7d01", 705417, 500),
+
+	WINDEMO1t("fpreadyk", "Demo", "FPRFS32.EXE", "b976d39fa7f7cf18a05149b5593f43e0", 2901579, 501),
+
+	// ©1996 Davidson & Associates, Inc.
+	MACGAME1("fpreadyp", "", "Ready for Preschool", "231d3041df162be4a0ddd36a74eb03b6", 719022, 501),
+	WINGAME2t("fpreadyp", "", "PRE32/START32.EXE", "564db7e9ffacb6c0fecbf83c1f988069", 1394437,
+							  "FILES/INTRO.DIR",   "7272848176803ae06bcbc930a1177175", 3043164, 501),
+	MACDEMO1("fpreadyp", "Preview v1.0", "RFPS Preview", "06ed90580400cd9e263525f84c8075fd", 705417, 500),
+	WINDEMO2t("fpreadyp", "Preview v1.0", "START32.EXE", "5308d6298ee641b15c9b4e5b282e4f25", 1396105,
+										  "PSSTART.DIR", "38e260d5cab3aba21f800216025e5cae", 25276, 501),
+
+	MACGAME1("frankac", "", "Franklin's Activity Center", "06ed90580400cd9e263525f84c8075fd", 705445, 500),
 	WINGAME2("frankac", "",	  "NAVIGATE.EXE", "2e62abdad839e42068afdcd0644d7dcf", 917643,
 							  "NAVIGATE.DXR", "01549a16ecc542ead343bb2ed8ebf604", 3303124, 500),
 	WINGAME2_l("frankac", "", "NAVIGATE.EXE", "2e62abdad839e42068afdcd0644d7dcf", 917643,
 							  "NAVIGATE.DXR", "edeb8f86c0579a44f8163a135a30dd90", 4062902, Common::PT_BRA, 500),
 
-	MACDEMO1("franklm", "Demo", "Franklin Learns Math Info", "f637b7b88b82c0772082f84a0b2cf628", 705673, 500),
+	MACDEMO1("franklm", "Demo", "xn--Franklin Learns Math Info.-", "f637b7b88b82c0772082f84a0b2cf628", 705417, 500),
 	WINDEMO1("franklm", "Demo", "FLMINFO.EXE", "2e62abdad839e42068afdcd0644d7dcf", 1119725, 500),
 
 	// Other versions are D3
@@ -4700,7 +5052,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2_l("gadgetpaf", "", "GADGET.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1411507,
 								"TEXT_E.Cxt", "056ab5419f65fab51fa50c28ad360e76", 561824, Common::ES_ESP, 501),
 
-	MACGAME1("gamingmegapac", "", "Gaming MegaPac", "b861188374e80b1184e7f96dcab4fc9b", 719261, 501),
+	MACGAME1("gamingmegapac", "", "Gaming MegaPac", "b861188374e80b1184e7f96dcab4fc9b", 719005, 501),
 
 	MACGAME1_l("gasbook", "", "VOL1_10M", "5a97d1b69b1cac7dd335c32a297c281b", 742542, Common::JA_JPN, 501),
 	WINGAME1t_l("gasbook", "", "GAS32.EXE", "cc7b111dfaa7c7534c21b7bde144fa03", 1407638, Common::JA_JPN, 501),
@@ -4741,11 +5093,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1_l("guignols2", "", "CPPD.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1465338, Common::FR_FRA, 501),
 	WINDEMO1_l("guignols2", "Demo", "GUIGNOLS.EXE", "2e62abdad839e42068afdcd0644d7dcf", 971988, Common::FR_FRA, 501),
 
-	MACGAME2("gundam0079", "", 	 "Gundam0079",	   "4c38a51a21a1ad231f218c4786ff771d", 107211,
+	MACGAME2("gundam0079", "",   "Gundam0079",	   "4c38a51a21a1ad231f218c4786ff771d", 106955,
 								 "MENU.CST",	   "d4de2296fc46f76cc249b0a1d01e7003", 3580645, 501),
-	MACGAME2_l("gundam0079", "", "GUNDAM0079",	   "4c38a51a21a1ad231f218c4786ff771d", 107211,
+	MACGAME2_l("gundam0079", "", "GUNDAM0079",	   "4c38a51a21a1ad231f218c4786ff771d", 106955,
 								 "MENU.Cxt",	   "730d60b0f5fbc925a01b04319c50e59d", 2862062, Common::JA_JPN, 501),
-	WINGAME1("gundam0079", "", 	 "Gundam0079.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1411761, 501),
+	WINGAME1t("gundam0079", "",  "Gundam0079.exe", "ad9789b126467a250480581b671a4385", 1411761, 501),
 
 	MACGAME1("gussshc", "", "Write On", "9e9309ff1b58f6b56a440893e9723bd6", 705585, 500),
 	WINGAME1("gussshc", "", "SCHOOL.EXE", "2e62abdad839e42068afdcd0644d7dcf", 917645, 500),
@@ -4802,7 +5154,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO1("jewels2", "Demo", "Jewels II", "231d3041df162be4a0ddd36a74eb03b6", 719261, 501),
 	WINGAME1("jewels2", "", "JewsII95.exe", "3460ad87d2ba57104e2810a77b53c220", 1454223, 500),
 
-	WINGAME1t_l("jinseiproresu", "", "JINPRO32.EXE", "1edfa12f4560c0bd105a9497ed2f0188", 1388043, Common::JA_JPN, 505),
+	WINGAME1t_l("jinseiproresu", "", "JINPRO32.EXE", "1edfa12f4560c0bd105a9497ed2f0188", 1388043, Common::JA_JPN, 500),
 
 	MACGAME1("jslearn", "1997 D5 Demo", "JumpStart Previews", "231d3041df162be4a0ddd36a74eb03b6", 718745, 501),
 	WINGAME1("jslearn", "1997 D5 Demo", "PREV32A.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1411155, 501),
@@ -4818,12 +5170,12 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("llla", "",	  "LLLA_PC.EXE",	 "3646e2d759d305f25dc7b65970e1024e", 603678, 501),
 
 	// Requires installation
-	// Windows files in DATA.1 (renamed InstallShieldv3 archive)
+	// Windows files in DATA.1 (renamed InstallShield v3 archive)
 	// Mac files in Life in the Universe Installer
 	WINGAME2t("lifeuniverse", "Compact", "SWHLife.exe", "b2fa91f178adc1f393267d5dfe0089e0", 1394457,
-										 "LU_main.Dxr", "17dc83fcb87914cc55cfe3a6b6104dca", 23921856, 505),
+										 "LU_main.Dxr", "17dc83fcb87914cc55cfe3a6b6104dca", 23921856, 500),
 	WINGAME2t("lifeuniverse", "Full", "SWHLife.exe", "b2fa91f178adc1f393267d5dfe0089e0", 1394457,
-									  "LU_main.Dxr", "b3a548cd57f5129afac208e24463fa1d", 13234768, 505),
+									  "LU_main.Dxr", "b3a548cd57f5129afac208e24463fa1d", 13234768, 500),
 	MACGAME2("lifeuniverse", "Compact", "Start Life (PPC)", "cf7d00bbabf0e5476195616940febf05", 104815,
 										"LU_main.Dxr", "17dc83fcb87914cc55cfe3a6b6104dca", 23921856, 501),
 	MACGAME2("lifeuniverse", "Full", "Start Life (PPC)", "cf7d00bbabf0e5476195616940febf05", 104815,
@@ -4835,8 +5187,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("luxor", "", "Secrets PPC", "0fb300fd8a82c7a2d264cea1736bd124", 96616, 505),
 
 	MACGAME1("kidsbox", "", "KIDS BOX(PPC)", "e7ee6c4e4cf63575db94bf3fc433053d", 107863, 500),
-	WINGAME1t("kidsbox", "Normal", "KIDS_N.EXE", "7abed0fbe806404b5e4045927b293950", 1443095, 505),
-	WINGAME1t("kidsbox", "Slow", "KIDS_O.EXE", "7abed0fbe806404b5e4045927b293950", 1443093, 505),
+	WINGAME1t("kidsbox", "Normal", "KIDS_N.EXE", "7abed0fbe806404b5e4045927b293950", 1443095, 500),
+	WINGAME1t("kidsbox", "Slow", "KIDS_O.EXE", "7abed0fbe806404b5e4045927b293950", 1443093, 500),
 
 	MACGAME1("maccubed7", "", "Let's Go! Internet & Utilities", "5b3a7fa45ec7655c5f9b7fe39ae37a11", 705613, 500),
 
@@ -4850,7 +5202,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1_l("maria", "", "MARIA1.EXE", "3460ad87d2ba57104e2810a77b53c220", 6727617, Common::JA_JPN, 500),
 
-	MACDEMO1("mavisbeacon", "v5.0 Demo", "Mavis 5 Demo 12_12", "35dbf55e70f69e00ca016e3663379970", 703409, 500),
+	// Original filename is Mavis 5 Demo 12/12
+	MACDEMO1("mavisbeacon", "v5.0 Demo", "xn--Mavis 5 Demo 1212-7a88f", "35dbf55e70f69e00ca016e3663379970", 703153, 500),
 
 	// Original Mac filename is Demonstraciä
 	// Found on Russian Max 3 CD from NRG
@@ -4874,6 +5227,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1t("missileattack", "", "sub95.exe", "f5dde0458de1a26d6901a7847f35ff57", 1737817, 501),
 
+	// Published by APTE
+	MACGAME1("missionplanetx", "v2.0", "Mission To Planet X", "575bc118621e964630087984e463c283", 705445, 500),
+	WINGAME1t("missionplanetx", "v2.0", "MISSN32.EXE", "b7775ca5e79f95cddd5fecfa31c8f84d", 1413807, 501),
+
 	WINGAME1("mmalgebra", "", "mmalgbra.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1887007, 501),
 
 	// Apple Masters of Media #011
@@ -4906,15 +5263,56 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("negi3", "", "xn--3-j8t9dxhu56l", "e2acdaafa16d8dbecbeca418d7e44899", 719636, Common::JA_JPN, 500),
 	WINGAME1t_l("negi3", "", "NEGI_3.EXE", "da9cee84ee984174c52d359132ad4ac6", 929342, Common::JA_JPN, 501),
 
+	// Other screensavers are D4
+	MACGAME1("nekojiruudonss", "Diginya", "DIGINYA", "82def1f3b9980018ed9b662893884546", 873267, 501),
+	MACGAME1("nekojiruudonss", "Firekoro", "FIREKORO", "82def1f3b9980018ed9b662893884546", 873268, 501),
+	MACGAME1("nekojiruudonss", "Indozin", "INDOZIN", "82def1f3b9980018ed9b662893884546", 873267, 501),
+	MACGAME1("nekojiruudonss", "Itachi", "ITACHI", "82def1f3b9980018ed9b662893884546", 873266, 501),
+	MACGAME1("nekojiruudonss", "Koma", "KOMA", "82def1f3b9980018ed9b662893884546", 873265, 501),
+	MACGAME1("nekojiruudonss", "Komatta", "KOMATTA", "82def1f3b9980018ed9b662893884546", 873267, 501),
+	MACGAME1("nekojiruudonss", "Koropeta", "KOROPETA", "82def1f3b9980018ed9b662893884546", 873308, 501),
+	MACGAME1("nekojiruudonss", "N_N", "N_N", "82def1f3b9980018ed9b662893884546", 873263, 501),
+	MACGAME1("nekojiruudonss", "Noguchi", "NOGUCHI", "82def1f3b9980018ed9b662893884546", 873267, 501),
+	MACGAME1("nekojiruudonss", "Saru", "SARU", "82def1f3b9980018ed9b662893884546", 873264, 501),
+	MACGAME1("nekojiruudonss", "Taikyoku", "TAIKYOKU", "82def1f3b9980018ed9b662893884546", 873308, 501),
+	WINGAME1t("nekojiruudonss", "Diginya", "DIGINYA.EXE", "f8ffb68095f80fd385f1ba9d4c76ec26", 1601138, 501),
+	WINGAME1t("nekojiruudonss", "Firekoro", "FIREKORO.EXE", "af297fb6a0f204af5ef1e47c9b9b7830", 1541948, 501),
+	WINGAME1t("nekojiruudonss", "Indo", "INDO.EXE", "88212f81d6ed89d66666c647f483020f", 1613050, 501),  // Indozin?
+	WINGAME1t("nekojiruudonss", "Install1", "INSTALL1.EXE", "8a9fb7cd79b396bf0a4a915e60e629c3", 1857700, 501),  // Ashi?
+	WINGAME1t("nekojiruudonss", "Install2", "INSTALL2.EXE", "9f7c7d17c44c4baeaf26d03803236f12", 1827410, 501),  // Chin?
+	WINGAME1t("nekojiruudonss", "Install3", "INSTALL3.EXE", "e088934cd3f7324c7290b34c0c8e8a96", 1834716, 501),  // Doga?
+	WINGAME1t("nekojiruudonss", "Install4", "INSTALL4.EXE", "d49af229d14bbe19cb4b16134dd21e72", 1861494, 501),  // Guruguru?
+	WINGAME1t("nekojiruudonss", "Install5", "INSTALL5.EXE", "5a98fe24a8920fe304111958c10cebf6", 1791866, 501),  // Nezumi?
+	WINGAME1t("nekojiruudonss", "Install6", "INSTALL6.EXE", "e0813c040f52a3697bf985d4d0ff44aa", 2560174, 501),  // Zikansa?
+	WINGAME1t("nekojiruudonss", "Itachi", "ITACHI.EXE", "a12d5ae1b9080b9c573e867b5033ce6d", 1897196, 501),
+	WINGAME1t("nekojiruudonss", "Koma", "KOMA.EXE", "78f7d8806360e12c04cc508ae7d063ab", 1674152, 501),
+	WINGAME1t("nekojiruudonss", "Komatta", "KOMATTA.EXE", "1060c4d7606374365bd937519ec6f71f", 1741794, 501),
+	WINGAME1t("nekojiruudonss", "Koropeta", "KOROPETA.EXE", "9d7ee4a0ab7b822e476fb597f6a32155", 1893820, 501),
+	WINGAME1t("nekojiruudonss", "N_N", "N_N.EXE", "a02a23cbe6b3079592ecebce8107ac39", 1539396, 501),
+	WINGAME1t("nekojiruudonss", "Noguchi", "NOGUCHI.EXE", "ff9d22ae7dbcf5a19dc40736dc98a322", 1789020, 501),
+	WINGAME1t("nekojiruudonss", "Saru", "SARU.EXE", "11300003a98cede0fdde607aba6212ec", 1556846, 501),
+	WINGAME1t("nekojiruudonss", "Taikyoku", "TAIKYOKU.EXE", "37352ac6d45277dbe9ed0beb05e680df", 1660674, 501),
+	MACDEMO1("nekojiruudonss", "Diginya sample", "DIGINYA", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Firekoro sample", "FIREKORO", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Indozin sample", "INDOZIN", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Itachi sample", "ITACHI", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Koma sample", "KOMA", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Komatta sample", "KOMATTA", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Koropeta sample", "KOROPETA", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "N_N sample", "N_N", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Noguchi sample", "NOGUCHI", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Saru sample", "SARU", "82def1f3b9980018ed9b662893884546", 717613, 501),
+	MACDEMO1("nekojiruudonss", "Taikyoku sample", "TAIKYOKU", "82def1f3b9980018ed9b662893884546", 717613, 501),
+
 	// Found on PC World (Czechia) Sept 2003
 	WINGAME2_l("nemcina", "", "START_32.EXE", "3460ad87d2ba57104e2810a77b53c220", 1710313,
 							  "CVIC.DXR",     "8f12d20e12dddc2fc3207e1f4e571d17", 23223862, Common::CS_CZE, 500),
 
 	// All original Mac filenames end with â„¢
 	// Nikolai in Outer Space did not get a Mac release
-	MACGAME1("nikolaiknights", "v2.0", "Nikolai\'s Knights",   "c43bfadda9be111e461dc0b735430ad3", 720690, 501),
-	MACGAME1("nikolaimystery", "",     "Nikolai\'s Mysteries", "c43bfadda9be111e461dc0b735430ad3", 719241, 501),
-	MACGAME1("nikolaipirates", "",     "Nikolai\'s Pirates",   "c43bfadda9be111e461dc0b735430ad3", 719289, 501),
+	MACGAME1("nikolaiknights", "v2.0", "Nikolai's Knights",   "c43bfadda9be111e461dc0b735430ad3", 720690, 501),
+	MACGAME1("nikolaimystery", "",     "Nikolai's Mysteries", "c43bfadda9be111e461dc0b735430ad3", 719241, 501),
+	MACGAME1("nikolaipirates", "",     "Nikolai's Pirates",   "c43bfadda9be111e461dc0b735430ad3", 719289, 501),
 	WINGAME1("nikolaiknights", "v2.0", "KNIGHT95.EXE",         "1a7acbba10a7246ba58c1d53fc7203f5", 1410541, 501),
 	WINGAME1("nikolaipirates", "",     "PIRATE95.EXE",         "3460ad87d2ba57104e2810a77b53c220", 1394017, 500),
 	WINGAME1("nikolaispace", "",       "0_LAUNCH.EXE",         "3460ad87d2ba57104e2810a77b53c220", 1394291, 501),
@@ -4974,7 +5372,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Later releases are D6
 	// Multi3 disc from Zeta Multimedia (Barcelona) contains Brazil/Catalan/Spanish
-	MACGAME1("pingu1", "",		"Pingu CD-ROM", "35dbf55e70f69e00ca016e3663379970", 705701, 500),
+	// Other projectors on the disc (Mac):
+	// "Pingu Screen Saver Chooser", "35dbf55e70f69e00ca016e3663379970", 705445, 500
+	// "Remove Pingu", "35dbf55e70f69e00ca016e3663379970", 705445, 500
+	MACGAME1("pingu1", "",		"Pingu CD-ROM", "35dbf55e70f69e00ca016e3663379970", 705445, 500),
 	WINGAME2("pingu1", "1282A", "PINGU.EXE",	"2e62abdad839e42068afdcd0644d7dcf", 917473,
 								"PINTITLE.DXR", "2e604dfd80ce4189dc0162dbe47ca7e2", 478854, 500),
 	WINGAME2_l("pingu1", "",	"PINGU.EXE",	"2e62abdad839e42068afdcd0644d7dcf", 917473,
@@ -4983,40 +5384,58 @@ static const DirectorGameDescription gameDescriptions[] = {
 								"PINTITLE.DXR", "2b0c09c2aab5064afd0006fc33579d52", 482580, Common::ES_ESP, 500),
 	WINGAME2_l("pingu1", "",	"PINGU.EXE",	"2e62abdad839e42068afdcd0644d7dcf", 917473,
 								"PINTITLE.DXR", "3c4192601421a1eee08bb6b8f0c33b84", 481270, Common::PT_BRA, 500),
-	WINGAME2_l("pingu1", "",	"PINGU.EXE",	"2e62abdad839e42068afdcd0644d7dcf", 917473,
-								"Pintitle.dxr", "7244d4a9cca1ef8d665b11639233a7d6", 524602, Common::SE_SWE, 500),
+	WINGAME2t_l("pingu1", "",	"PINGU.EXE",	"828102166219aa43f00c7cd72c0a4fc9", 917473,
+								"Pintitle.dxr", "f9a790a2bd485d634bf638bfd3db18a0", 524602, Common::SE_SWE, 500),
 
-	// Included with Pingu 1. Contains no text nor speech.
+	// Included with pingu1. Contains no text nor speech.
 	// Mac version uses a different projector for each screen saver
-	WINGAME1("pinguss", "GSP",	"PINGU_SS.EXE", "2e62abdad839e42068afdcd0644d7dcf", 918527, 500),
-	WINGAME1("pinguss", "Zeta", "Pingu_ss.exe", "2e62abdad839e42068afdcd0644d7dcf", 918549, 500),
-	MACGAME1("pingufish",  "Screen Saver", " PINGU - Fish Chase",	  "35dbf55e70f69e00ca016e3663379970", 799260, 500),
-	MACGAME1("pingufight", "Screen Saver", " PINGU - Snowball Fight", "35dbf55e70f69e00ca016e3663379970", 799260, 500),
-	MACGAME1("pingustorm", "Screen Saver", " PINGU - Snow Storm",	  "35dbf55e70f69e00ca016e3663379970", 799260, 500),
-	MACGAME1("pingustunt", "Screen Saver", " PINGU - Stunt Pingu",	  "35dbf55e70f69e00ca016e3663379970", 799260, 500),
-	MACGAME1("pingutime",  "Screen Saver", " PINGU - Time for Pingu", "35dbf55e70f69e00ca016e3663379970", 799282, 500),
+	WINGAME1t("pinguss", "Screen Saver Selector, GSP", "SETSAVER.EXE", "31422fa4d499e7ca40fce27bbd477ba0", 2126261, 500),
+	WINGAME1t("pinguss", "Screen Saver Player, GSP", "PINGU_SS.EXE", "bc77d1a74e85f794dc13007abb98a8c6", 918527, 500),
+	WINGAME1("pinguss", "Screen Saver Player, Zeta", "Pingu_ss.exe", "2e62abdad839e42068afdcd0644d7dcf", 918549, 500),
+	MACGAME1("pingufish",  "Screen Saver", " PINGU - Fish Chase",	  "35dbf55e70f69e00ca016e3663379970", 799004, 500),
+	MACGAME1("pingufight", "Screen Saver", " PINGU - Snowball Fight", "35dbf55e70f69e00ca016e3663379970", 799004, 500),
+	MACGAME1("pingustorm", "Screen Saver", " PINGU - Snow Storm",	  "35dbf55e70f69e00ca016e3663379970", 799004, 500),
+	MACGAME1("pingustunt", "Screen Saver", " PINGU - Stunt Pingu",	  "35dbf55e70f69e00ca016e3663379970", 799004, 500),
+	MACGAME1("pingutime",  "Screen Saver", " PINGU - Time for Pingu", "35dbf55e70f69e00ca016e3663379970", 799026, 500),
 
 	MACGAME1_l("pinkgear", "", "Go To PINKGEAR", "ff888459bfaa03ad82ec5f7f1eae3de3", 718756, Common::JA_JPN, 501),
 	WINGAME1_l("pinkgear", "", "GOTOPINK.EXE", "2535f11350bc1f2b7ca2dcc6c0cdddfd", 3592612, Common::JA_JPN, 501),
 
 	// Found on Sierra On-Line's MasterCook Cooking Light v4.0 (1996)
 	// There are no Mac demos on this disc
-	WINDEMO1("powerchess", "Demo", "PCHESW95.EXE", "3460ad87d2ba57104e2810a77b53c220", 1400353, 500),
+	WINDEMO1t("powerchess", "Demo", "PCHESW95.EXE", "10fd2ee7da83e6d0a703aca0533e5ee9", 1400353, 501),
+
+	MACGAME1_l("previewreprise", "", "P & R", "59c48d4bd00b30a19e1c446b30af5aa9", 185613, Common::JA_JPN, 501),
+	WINGAME1t_l("previewreprise", "", "Prhs/Autorun.exe", "0c75190ea7b2730322cefd0916c2e7f6", 3049965, Common::JA_JPN, 501),
 
 	WINGAME1("princetonsat98", "", "sat98_32.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1446775, 501),
 
 	MACGAME1_l("putlestory", "", "PutlestorY", "552992fb31c736ca67ffd403096596d6", 720654, Common::JA_JPN, 501),
 	WINGAME1t_l("putlestory", "", "PUTLE32.EXE", "74c72ab0fcdb4c69114047c74cef486e", 1403206, Common::JA_JPN, 501),
 
-	// "Making of Pyst" parody video is from X-Fools
-	MACGAME1("pyst", "", "PYST", "8a99f02ecc7f918d85be99a0cd718107", 7015, 501),
-	WINGAME1("pyst", "", "PYST32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1411439, 501),
+	// Disc contains an audio track, not used by the game 
+	// Mac version requires installation, 'PYST Installer' / 'MACINTOSH/Installer PYST(MAC)' (FR) / 'MACINTOSH/Installieren PYST(MAC)' (DE), VISE
+	// Win version requires installation, 'HDINST/PROGRAM.Z' / 'PC_WIN95/HDINST/PROGRAM.Z' (FR, DE), InstallShield v3
+	MACGAME2("pyst", "",	"PYST PPC",	  "56418baf7647cf3d7759cab01570ae52", 105599,
+							"LOCAL.Cxt",  "6f436360360c6ba46ca264b584870549", 2597, 501),
+	WINGAME2t("pyst", "",	"PYST32.EXE", "6046cf0efaee83bb48b68fc8af8e417a", 1411439,
+							"LOCAL.CXT",  "6f436360360c6ba46ca264b584870549", 2597, 501),
+	MACGAME2_l("pyst", "",	"PYST PPC",	  "56418baf7647cf3d7759cab01570ae52", 105599,
+							"LOCAL.CXT",  "e0cf322f7d2ede12d182f413015fd69a", 2541, Common::FR_FRA, 501),
+	WINGAME2t_l("pyst", "", "PYST32.EXE", "6046cf0efaee83bb48b68fc8af8e417a", 1411439,
+							"Local.Cxt",  "e0cf322f7d2ede12d182f413015fd69a", 2541, Common::FR_FRA, 501),
+	MACGAME2_l("pyst", "",	"PYST PPC",	  "56418baf7647cf3d7759cab01570ae52", 105599,
+							"Local.Cxt",  "61c1e5ec419fe137f723295c396cabce", 2543, Common::DE_DEU, 501),
+	WINGAME2t_l("pyst", "", "PYST32.EXE", "6046cf0efaee83bb48b68fc8af8e417a", 1411439,
+							"Local.Cxt",  "61c1e5ec419fe137f723295c396cabce", 2543, Common::DE_DEU, 501),
+
+	// "Making of Pyst" parody video from X-Fools
 	WINGAME1("pystmake", "", "PYST32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1464563, 501),
 
 	// Full game was not released. Windows previews differ on Star Warped and X-Fools discs.
-	MACDEMO1("pyst2", "Preview", "Driven Preview", "8a093239a2bbfd73269bc70f873c69b8", 108091, 501),
-	WINDEMO1("pyst2", "Preview", "DRIVEN32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1464207, 501), // star warped
-	WINDEMO1("pyst2", "Preview", "DRIVEN32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1464241, 501), // x-fools
+	MACDEMO1("pyst2", "Preview", "Driven Preview", "8a093239a2bbfd73269bc70f873c69b8", 107835, 501),
+	WINDEMO1t("pyst2", "Preview", "DRIVEN32.EXE", "43be05ea19a1b52a86c6ad86a71ce0ad", 1464207, 501), // Star Warped
+	WINDEMO1("pyst2", "Preview", "DRIVEN32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1464241, 501), // X-Fools
 
 	MACGAME1_l("ravensburger", "", "Ravensburger Demo", "aaebd553081fa7382390dc8366623035", 720369, Common::DE_DEU, 501),
 	WINGAME2_l("ravensburger", "", "START.EXE",			"65ef7246e9ab04aff59fb734e9551727", 1076085,
@@ -5033,9 +5452,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("rodneyfs2", "", "FSCREEN2.EXE", "38b75ecdedf662326fe4931a68ae60cd", 1412242, 501),
 
 	// Banabana 1-go Demo from MacPeople 1998 No. 2
-	MACGAME1_l("rolypolys", "", 	 "ROLY_PPC", 	 "7f6e753dda02c8aca539b21e1d3a0108", 127070, Common::JA_JPN, 501),
-	MACDEMO1_l("rolypolys2", "Demo", "CatchUp!", 	 "1da813df08575abf9f94ec1151852005", 738510, Common::JA_JPN, 501),
-	WINGAME1t_l("rolypolys", "", 	 "KOTOWZ32.EXE", "b2afd5fd125c07052c26a9210d1fbd69", 1411360, Common::JA_JPN, 501),
+	MACGAME1_l("rolypolys", "",		 "ROLY_PPC",	 "7f6e753dda02c8aca539b21e1d3a0108", 127070, Common::JA_JPN, 501),
+	MACDEMO1_l("rolypolys2", "Demo", "CatchUp!",	 "1da813df08575abf9f94ec1151852005", 738510, Common::JA_JPN, 501),
+	WINGAME1t_l("rolypolys", "",	 "KOTOWZ32.EXE", "b2afd5fd125c07052c26a9210d1fbd69", 1411360, Common::JA_JPN, 501),
 	WINDEMO1t_l("rolypolys2", "Demo", "DEMO32.EXE",	 "a08e306c9beca27115c25f934f89dbda", 1411230, Common::JA_JPN, 501),
 	MACDEMO1_l("rolypolys2", "Banabana 1-go Demo", "xn--1-jguha2ab3kr732a", "1da813df08575abf9f94ec1151852005", 719664, Common::JA_JPN, 501),
 
@@ -5092,13 +5511,27 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACDEMO1("shr1st2nd", "Demo", "GRADES 1 & 2 ESSENTIALS DEMO", "9f75f1febafbb9224db5e45f39bf21a6", 719033, 501),
 	MACDEMO1("shr3rd4th", "Demo", "xn--GRADES 3 & 4 ESSENTIALS DEMO -", "231d3041df162be4a0ddd36a74eb03b6", 719005, 501),
 
+	// Mac version requires installation, 'Install America Rock', VISE 3.5 installer
+	// Parents & Teachers Corner in this version is Authorware
+	MACGAME1("shramerica", "", "SHR America", "8b3f39fdc186bc38c2f71c5240d03a99", 776201, 500),
+	WINGAME1t("shramerica", "", "COPY2HD/SHRA_W95.EXE", "6a1d8117819ee2798420d98cf5f02751", 4098299, 501),
+	MACGAME1("shramerica", "Print Activities", "Print Activities", "4f2c70510b4cbedf758cf9958d218e6e", 705417, 500),
+	WINGAME1t("shramerica", "Print Activities", "PRINTPAK.EXE", "bb0fd2312d141d8cc05f77eb01c54885", 917721, 501),
+	// From SHR Exploration Station, Win version is misspelled on disc
+	MACDEMO1("shramerica", "Demo", "America Rock Demo", "d7c07df0d9f0176877a3c7c095ee0143", 705417, 500),
+	WINDEMO1t("shramerica", "Demo", "amercia.exe", "c4906b1e01232db6ae2f1e8e365d92a4", 917695, 501),
+	// From SHR Math Rock
+	MACDEMO1("shramerica", "Demo", "America Rock Demo", "d7c07df0d9f0176877a3c7c095ee0143", 703153, 500),
+
+	// Mac version requires install, 'Install Math Rock', VISE 3.5 installer
+	MACGAME1("shrmath", "", "SHR Math", "6e7e31d05709e1d38d63f4df6a59eec0", 728467, 501),
 	// From SHR Math Essentials Disc 1
 	MACGAME1("shrmath", "", "SHR Math Rock", "6e7e31d05709e1d38d63f4df6a59eec0", 728723, 501),
-	MACGAME1("shrmath", "Parents and Teachers Corner", "Parents & Teachers Corner", "2d2ac01320f4c2dce8e156cda5c73fe8", 719261, 501),
-	MACGAME1("shrmath", "Print Activities", "Print Activities", "4f2c70510b4cbedf758cf9958d218e6e", 705673, 500),
-	WINGAME1("shrmath", "", "SHRM_W95.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 4056173, 501),
-	WINGAME1("shrmath", "Parents and Teachers Corner", "CORNER95.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1413323, 501),
-	WINGAME1("shrmath", "Print Activities", "PRINTPAK.EXE", "2e62abdad839e42068afdcd0644d7dcf", 917721, 500),
+	WINGAME1t("shrmath", "", "COPY2HD/shrm_w95.exe", "9bf9b922d2164b5badeebd1ec9fd615d", 4056173, 501),
+	MACGAME1("shrmath", "Parents and Teachers Corner", "Parents & Teachers Corner", "2d2ac01320f4c2dce8e156cda5c73fe8", 719005, 501),
+	WINGAME1t("shrmath", "Parents and Teachers Corner", "CORNER95.EXE", "4fe95d0eb535305fcea26c701dd0fdeb", 1413323, 501),
+	MACGAME1("shrmath", "Print Activities", "Print Activities", "4f2c70510b4cbedf758cf9958d218e6e", 705417, 500),
+	WINGAME1t("shrmath", "Print Activities", "PRINTPAK.EXE", "bb0fd2312d141d8cc05f77eb01c54885", 917721, 500),
 
 	WINDEMO1("shrmess", "Demo", "SHRMESS.EXE", "842014a812b454620f64b860fd7211f0", 932319, 501),
 
@@ -5122,7 +5555,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2_l("smallhouse", "", "SMALL.EXE",    "2535f11350bc1f2b7ca2dcc6c0cdddfd", 1411970,
 								 "SMALL.BIN", "30ca1e177f721ca74ee0b02c4d397df6", 766, Common::JA_JPN, 501),
 
-	// Polish version is from the covermount of CyberMycha 07/2002
+	// Polish version (Królewna Śnieżka i siedmiu Jaśków) is from the covermount of CyberMycha 07/2002
 	WINGAME1_l("snow7han", "", "Snw7han.exe", "65ef7246e9ab04aff59fb734e9551727", 941245, Common::PL_POL, 501),
 
 	// Original filename is 僐儗僋僔儑儞.exe
@@ -5151,11 +5584,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1("trekchair", "", "Cap_win.exe", "a28313a078c0cd3cebdf505af1d63d88", 1399089, 400),
 
-	// Mac version requires installation
+	// Mac version requires installation, Install Star Warped, VISE
 	// Preview is from X-Fools disc
 	// Win/Mac previews from Microshaft Winblows are D6
-	MACGAME1("starwarped", "", "Star Warped", "d2531c0b8c0553be7c7cd5f6c6a07b78", 108091, 501),
-	WINGAME1("starwarped", "", "STARW32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1863971, 501),
+	MACGAME1("starwarped", "", "Star Warped", "d2531c0b8c0553be7c7cd5f6c6a07b78", 107835, 501),
+	WINGAME1t("starwarped", "", "STARW32.EXE", "6fb02f659d0a3e8dd24bbf1933930138", 1863971, 501),
 	WINDEMO1("starwarped", "Preview", "EWOK32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1411571, 501),
 
 	MACGAME1("staytooned", "", "Power Mac Stay Tooned!", "d692140f81aaf86096538f66d6477404", 94301, 500),
@@ -5166,7 +5599,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 									  "menu.Dxr",	  "2c0e5edc98e83efd468d9927395d809a", 3024360, 501),
 	MACGAME2("takeru",   "Chapter 2", "Takeru2",	  "231d3041df162be4a0ddd36a74eb03b6", 719289,
 									  "menu2.Dxr",	  "59fc8473757d5f05b92bd38622771cb9", 3052200, 501),
-	WINGAME2("takeru", 	 "Chapter 1", "TAKERU32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1411857,
+	WINGAME2("takeru",	 "Chapter 1", "TAKERU32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1411857,
 									  "A_FIRST.DXR",  "a974472966857faa6039140ccd125a48", 10230, 501),
 	WINGAME2("takeru",	 "Chapter 2", "TAK_2_32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1411337,
 									  "A_SECOND.DXR", "c2d0c64659f18d1c53ad48371125d6a0", 9706, 501),
@@ -5178,7 +5611,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 									  "A_FIRST.DXR",  "6d6ed808178aa818746f24ab5de13e99", 10236, Common::DE_DEU, 501),
 	WINGAME2_l("takeru", "Chapter 2", "TAK_2_32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1411337,
 									  "A_SECOND.DXR", "2b3b43f4c2239bcf49a5ffd7ca4bd57f", 9712, Common::DE_DEU, 501),
-	WINDEMO1("takeru", 	 "Demo",	  "TAKERU32.EXE", "3460ad87d2ba57104e2810a77b53c220", 1395275, 500),
+	WINDEMO1("takeru",	 "Demo",	  "TAKERU32.EXE", "3460ad87d2ba57104e2810a77b53c220", 1395275, 500),
 
 	// Created by Syzygy using CineMac
 	// Found on Komputer för alla Jan 1998 from Bonnier Publishing, Stockholm
@@ -5191,7 +5624,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("teddybear", "", "Teddy Bear", "f117b8395c4859d11b9c02c741e22cea", 704793, Common::FR_FRA, 500),
 	WINGAME1_l("teddybear", "", "BEAR95.EXE", "3460ad87d2ba57104e2810a77b53c220", 1394051, Common::FR_FRA, 500),
 
-	MACGAME1("texas", "", "Texas Tourism", "ad32f236d2637602b7299e6b748a7571", 705417, 505),
+	MACGAME1("texas", "", "Texas Tourism", "ad32f236d2637602b7299e6b748a7571", 705417, 500),
 	WINGAME1t("texas", "", "TEXAS32.EXE", "ac6cf1ba40918db9d7fa1dd837169834", 1410513, 501),
 
 	// ein Fall für TKKG: Katjas Geheimnis (bilingual DE/EN)
@@ -5199,6 +5632,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 							"SCORE.DXR",  "9ffb87ff9d3110435da99a052279fb4c", 10434, 501),
 	WINGAME1t("tkkg1", "", "TKKG1_95.EX_", "a6284109fe843164812af767fb9f41c8", 1411299, 501),
 
+	MACGAME1("trekchair", "", "Star Trek Captain's Chairâ„¢/Captain's Chair Player", "d8bad538d97edf5990c451699e429db3", 764476, 501),
+	WINGAME1t("trekchair", "", "CAP_WIN.EXE", "6c3c66dd2a5a91257fd2691e3888d47d", 1399089, 500),
+
 	MACGAME1("troubleshoot101", "Basic", "Troubleshooting 101 IA", "62e979424add2428daa835610fb83864", 719261, 501),
 	MACGAME1("troubleshoot101", "Music", "Troubleshooting 101 IA w MUSIC", "222fbd020a3910ef748724945145771c", 719261, 501),
 
@@ -5233,12 +5669,18 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO1("vp2", "Demo", "VP2DEMO.EXE", "c3c38bd3907ca7e13220b74bd0317a6c", 1021353, 500),
 
 	MACGAME1("wine", "", "double-click me!", "231d3041df162be4a0ddd36a74eb03b6", 719289, 501),
-	WINGAME2("wine", "", "WIN95.EXE", 		 "1a7acbba10a7246ba58c1d53fc7203f5", 1411337,
-						 "160MAIN.DXR", 	 "23dbb4744121b077d331b01123709519", 592640, 501),
-
-	// Both Mac and Windows require HD install
-	MACGAME1("wishbone", "", "Odyssey", "15a4144726d15488814dab951ec7c3ff", 94329, 500),
-	WINGAME1("wishbone", "", "ODYSSEY.EXE", "2e62abdad839e42068afdcd0644d7dcf", 1026617, 500),
+	WINGAME2("wine", "", "WIN95.EXE",		 "1a7acbba10a7246ba58c1d53fc7203f5", 1411337,
+						 "160MAIN.DXR",		 "23dbb4744121b077d331b01123709519", 592640, 501),
+
+	// Created by Human Code, Inc.
+	// Doesn't require installation
+	MACGAME1("wishbone", "", "WISHBONE/Copy2HD-power mac/Odyssey-power [hi]", "ae7c14ee5672c3bc9deac15a8d6d5c77", 94073, 500),
+	WINGAME1t("wishbone", "", "WISHBONE/PCINSTAL/WISH95.EXE", "8abf603fcfbf054089bfe2dad14d9569", 1622975, 501),
+	// Requires install
+	// Windows: DATA1.CAB, InstallShield
+	// Mac: Install Wishboneâ„¢ Odyssey, VISE
+	MACGAME1("wishbone", "v1.0c", "Odyssey", "15a4144726d15488814dab951ec7c3ff", 94073, 500),
+	WINGAME1t("wishbone", "v1.0c", "odyssey.exe", "8abf603fcfbf054089bfe2dad14d9569", 1622975, 501),
 
 	MACGAME1("womanengineer", "", "PowerPC", "6710977cfafc46ebe050897e01719f89", 105855, 501),
 	WINGAME1("womanengineer", "", "ENG32.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1823493, 501),
@@ -5296,12 +5738,12 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1_l("abctrain", "", "abc.exe", "a593079aecf5bd938ce75264cac24b2d", 2091687, Common::AR_ARB, 600),
 
 	// Mini-game from X-Fools that can also be launched separately
-	MACGAME1("abductthis", "", "Abduct This!", "18edee4d51b3d6d8f79bc4c6b8c31685", 1028821, 606),
-	WINGAME1t("abductthis", "", "ABDUCT32.EXE", "eef786210abfb8e140e843dc707e5025", 3644633, 600),
+	MACGAME1("abductthis", "", "Abduct This!", "41fa2186d635be3094403c75b5f44d4b", 115391, 600),
+	WINGAME1t("abductthis", "", "abduct32.exe", "eef786210abfb8e140e843dc707e5025", 3644633, 600),
 
-	MACGAME1("afiles", "", "The A-Files", 	"63e8b9f6744efefbb8a004a2b76e2b1d", 118530, 602),
+	MACGAME1("afiles", "", "The A-Files",	"63e8b9f6744efefbb8a004a2b76e2b1d", 118530, 602),
 	WINGAME2("afiles", "", "Projector.exe", "4c850adf7c36a9a3dea64c880eaf25c0", 1515545,
-						   "intro.dir", 	"8030f92799c85ab5a6fd1c23f4ce6734", 396047, 602),
+						   "intro.dir",		"8030f92799c85ab5a6fd1c23f4ce6734", 396047, 602),
 
 	// Cherry Coke Presents a Myst clone
 	MACGAME1("alanna", "", "Alanna", "05c94e6fcb102f9fa795e354c956b28e", 1029257, 600),
@@ -5324,6 +5766,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2("barbnail", "", "LAUNCH.EXE", "518a98696fe1122e08410b0f157f21bf", 1758656,
 							 "intro.dxr",  "8732eb742a8bbfd6de5c55b22e41317b", 2549490, 602),
 
+	// from Australian PC User, December 1998
+	WINDEMO1t("bcsinkfloat", "", "BLUE204.EXE", "a7d531197a24161364c0f69c86972702", 1492403, 600),
+
 	// Part of box set with music CD and photo book
 	MACGAME1("bettypage", "", "Betty", "be947e969e358cc77e6a96ee42bab3f1", 1031674, 601),
 	WINGAME1("bettypage", "", "betty.exe", "a593079aecf5bd938ce75264cac24b2d", 1510046, 600),
@@ -5342,22 +5787,34 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("casperact", "", "Casper Activity Center", "904cb6465321d8e1d12d2a5a29612050", 1029165, 600),
 	WINGAME1("casperact", "", "CASPER32.EXE", "a593079aecf5bd938ce75264cac24b2d", 1819279, 600),
 
+	// Earlier entries use Director 4
+	MACGAME1("catseyeview", "Vol. 4 v2.0", "Cat'sEyeView vol.4_v2.0", "55d01cca925752c170ac1e9c01d1f87e", 1032146, 601),
+	WINGAME1t("catseyeview", "Vol. 4 v2.0", "Cat'sEyeView vol.4_v2.0.exe", "1f1162726e10a6db5102a87999b68884", 7136677, 600),
+	MACGAME1_l("catseyeview", "Vol. 4 v2.0", "Cat'sEyeView vol.4_v2.0(Fr)", "55d01cca925752c170ac1e9c01d1f87e", 1032146, Common::FR_FRA, 601),
+	WINGAME1t_l("catseyeview", "Vol. 4 v2.0", "Cat'sEyeView vol.4_v2.0 (Fr).exe", "a67d77c1141ce8650c84ee8a9e22ec6a", 2027143, Common::FR_FRA, 600),
+	MACGAME1("catseyeview", "Vol. 5", "Cat'sEyeView vol.5", "23032a9abc807f7c258c9d58d4708fb4", 1031418, 601),
+	WINGAME1t("catseyeview", "Vol. 5 v2.0", "Cat'sEyeView vol.5_v2.0.exe", "bef4d07e711fde035a986dff8a40d935", 3438397, 600),
+	MACGAME1("catseyeview", "Vol. 6 R2", "Cat'sEyeView vol.6", "e4932358e3bf9905bbb068d02c247c9b", 1030442, 601),
+	WINGAME1t("catseyeview", "Vol. 6 v2.0", "Cat'sEyeView vol.6_2.0.exe", "e1208aefc85d692b9e6fd477a04f2314", 7333831, 600),
+	MACGAME1("catseyeview", "Vol. 7", "Cat'sEyeView7", "55d01cca925752c170ac1e9c01d1f87e", 1030462, 601),
+	WINGAME1t("catseyeview", "Vol. 7", "Cat'sEyeView7.exe", "1c8ec55a7a65ba13890697e0e92670a5", 6017657, 600),
+
 	MACGAME1("catshats", "", "Cats and Hats", "cc27aab06406e53f53bcf7efd154ac1c", 1033985, 602),
 	WINGAME1("catshats", "", "HEXEN32.EXE", "be5ee23851ba95ce0b790e50f75f7e2e", 1661593, 602),
 
 	// Developed by Real World Multimedia, Wiltshire, England (1997)
 	// Distributed in Germany by Funware, Hamburg
-	MACGAME2("ceremony", "",   "Ceremony PPC", 	"d001d6e8615e35edc03465683f56e84d", 115675,
+	MACGAME2("ceremony", "",   "Ceremony PPC",	"d001d6e8615e35edc03465683f56e84d", 115675,
 							   "00startCD.dir", "f40c38467c0ad3fca7d3626b134c13b3", 15503, 600),
-	MACGAME2_l("ceremony", "", "Ceremony PPC",  "d001d6e8615e35edc03465683f56e84d", 115675,
-							   "00startCD.dir", "39d2e56f6a29bdf0f38888489f99d60c", 15507, Common::DE_DEU, 600),
 	WINGAME2("ceremony", "",   "ceremony.exe",  "a593079aecf5bd938ce75264cac24b2d", 1700809,
 							   "00startCD.dir", "f40c38467c0ad3fca7d3626b134c13b3", 15503, 600),
+	MACGAME2_l("ceremony", "", "Ceremony PPC",  "d001d6e8615e35edc03465683f56e84d", 115675,
+							   "00startCD.dir", "39d2e56f6a29bdf0f38888489f99d60c", 15507, Common::DE_DEU, 600),
 	WINGAME2_l("ceremony", "", "ceremony.exe",  "a593079aecf5bd938ce75264cac24b2d", 1700809,
 							   "00startCD.dir", "39d2e56f6a29bdf0f38888489f99d60c", 15507, Common::DE_DEU, 600),
 
 	// General preview for ClueFinders series. Does not correspond to a specific game.
-	WINGAME1("cfdemo", "", "CFDemo.exe", "d62438566e44826960fc16c5c23dbe43", 11941853, 650),
+	WINGAME1t("cfdemo", "", "CFdemo.exe", "30ed83ee5d4c757df42517befc0fd129", 11941853, 650),
 
 	// Full game can be unlocked with registration key
 	// Developed by LittleFingers Software, Redding, Connecticut
@@ -5377,14 +5834,22 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2("concentration", "ECD", "win95.exe",  "d62438566e44826960fc16c5c23dbe43", 1703271,
 									 "stub32.dxr", "c835559b5556665bc755350ec9bd8244", 47639, 650),
 
+	WINGAME1t_l("creativenursery", "", "Nursery.exe", "62db2ff1a11e43aeab99efd97620c398", 1798660, Common::ZH_CHN, 602),
+
 	MACGAME1_l("crusader2000", "", "Lancer Croisades", "398eb2cdf121feb490097c6323d52267", 1031745, Common::FR_FRA, 650),
 	WINGAME1_l("crusader2000", "", "Croisade.exe", "d62438566e44826960fc16c5c23dbe43", 1546312, Common::FR_FRA, 650),
 
 	// Doki Doki On-air Drama Series acts as a companion to a series of radio broadcasts
 	// It includes the audio episodes alongside sketches, interviews, and mini-games
 	// Original filenames are as follows:
+	// Vol.1 - 胸さわぎのSEASON
 	// Vol.2 - アイドル探偵YOU&MY
-	MACGAME1_l("ddoa2", "Vol.2", "Idol Tantei You & My", "baed611e800d4619b66bbb28db3df1c7", 1033523, Common::JA_JPN, 601),
+	// Vol.3 - 超合身ザンガード
+	// Vol.4 - 怪盗エルフ・リーリィ
+	MACGAME1_l("ddoa", "Vol.1", "xn--x8jn0f4f9104b0gsh1a7ei1bc", "baed611e800d4619b66bbb28db3df1c7", 1033267, Common::JA_JPN, 601),
+	MACGAME1_l("ddoa", "Vol.2", "xn--ccke5ivf059nsbyabl1u6iaqa4d0be", "baed611e800d4619b66bbb28db3df1c7", 1033523, Common::JA_JPN, 601),
+	MACGAME1_l("ddoa", "Vol.3", "xn--mckta2dwiub0759and2ei6b", "fd87b233709108cc1fb001523ce772f5", 1033199, Common::JA_JPN, 601),
+	MACGAME1_l("ddoa", "Vol.4", "xn--dckj9k8cad7ij0189hun1b", "fd87b233709108cc1fb001523ce772f5", 1033199, Common::JA_JPN, 601),
 
 	WINGAME1("delphi4tutor", "", "Del4Tutor.exe", "ece1c7a090010965890840102978e693", 3125198, 601),
 
@@ -5412,8 +5877,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("espanatomy", "", "Anatomy & Physiology ESP.exe", "625deae5e42f9453c5e4ccf7d322f048", 1526924, 602),
 
 	// Mini-game from Microshaft Winblows that can also be launched separately
-	MACGAME1("exploder", "", "Winblows Exploder", "63a9f0ace9f72700eb4d947fbbf24f4a", 1028821, 606),
-	WINGAME1("exploder", "", "exploder.exe", "ae488c615d7ecb621c96c59b98eccf9b", 4712625, 606),
+	MACGAME1("exploder", "", "Winblows Exploder", "089658f6d7d68f07eece8a68e5fdc35e", 115391, 600),
+	WINGAME1t("exploder", "", "EXPLODER.EXE", "ae488c615d7ecb621c96c59b98eccf9b", 4712625, 600),
 
 	WINGAME1("forestia", "", "FORESTIA.EXE", "9ba84c313bc116ffa08029aad52cd2e8", 1859350, 601),
 	WINGAME1_l("forestia", "", "Forestia.exe", "5e123b0ddb0f1193e1f840c50f24e382", 1521194, Common::FI_FIN, 650),
@@ -5422,32 +5887,44 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Later releases are D8
 	WINGAME1_l("forestiajr", "", "Forestia Junior.exe", "5e123b0ddb0f1193e1f840c50f24e382", 1553190, Common::FR_FRA, 650),
 
-	MACDEMO1("fpcastle2", "Crocodile Kitchen Demo", "Castle Demo", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032634, 602),
-	WINGAME1("fpcastle2", "", "CASTLE32.EX_", "518a98696fe1122e08410b0f157f21bf", 1563605, 602),
-	WINDEMO1("fpcastle2", "Crocodile Kitchen Demo", "CASDEM95.EXE", "518a98696fe1122e08410b0f157f21bf", 1512624, 602),
+	MACDEMO1("fpbacon", "Crane Demo", "FP Construction Demo", "1d9149b9745e35ef93ed4cdf08ec3af7", 1031726, 600),
+	WINDEMO1("fpbacon", "Crane Demo", "CONDEM95.EXE", "a593079aecf5bd938ce75264cac24b2d", 1508205, 600),
 
-	MACDEMO1("fpcon", "Crane Demo", "FP Construction Demo", "1d9149b9745e35ef93ed4cdf08ec3af7", 1031726, 600),
-	WINDEMO1("fpcon", "Crane Demo", "CONDEM95.EXE", "a593079aecf5bd938ce75264cac24b2d", 1508205, 600),
+	MACGAME1("fpbagarage", "", "Big Action Garage", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032662, 602),
+	WINGAME2("fpbagarage", "", "GARAGE.EXE", "518a98696fe1122e08410b0f157f21bf", 1512853,
+							   "START.DXR",  "f69996bd5a1dea3971c7647e86b4ee30", 190436, 602),
+
+	// Developed by Funnybone Interactive
+	// 1995 release (developed by The Learning Company) doesn't use Director 
+	WINGAME1("fpgacastle2", "", "CASTLE32.EX_", "518a98696fe1122e08410b0f157f21bf", 1563605, 602),
+	MACDEMO1("fpgacastle2", "Crocodile Kitchen Demo", "Castle Demo", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032634, 602),
+	WINDEMO1("fpgacastle2", "Crocodile Kitchen Demo", "CASDEM95.EXE", "518a98696fe1122e08410b0f157f21bf", 1512624, 602),
+
+	// Developed by Funnybone Interactive (1998)
+	// Mac version requires installation, Western Town Installer, uses Stuffit
+	MACGAME1("fpgawestern", "v1.0", "Wild Western Town", "55d01cca925752c170ac1e9c01d1f87e", 1031390, 601),
+	WINGAME1t("fpgawestern", "v1.0", "WTOWN95.EX_", "b39b0c779c1b4e1e2df4e090e79c1c7d", 1856175, 600),
+	MACDEMO1("fpgawestern", "Wacky Wanted Posters Demo v1.0d", "Western Town Demo", "ade290061bd8f78051a8e872a889855c", 1031646, 601),
+	WINDEMO1t("fpgawestern", "Wacky Wanted Posters Demo v1.0d", "WEST95.EXE", "d52066d7c271da97d1cfa9911d0ee0fc", 1512580, 602),
 
 	MACDEMO1("fpdollhouse", "Dress Up Demo", "FP Dollhouse Demo", "1d9149b9745e35ef93ed4cdf08ec3af7", 1031658, 602),
 	WINDEMO1("fpdollhouse", "Dress Up Demo", "DHDEMO95.EXE", "518a98696fe1122e08410b0f157f21bf", 1512578, 602),
 
-	MACGAME1("fpgarage", "", "Big Action Garage", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032662, 602),
-	WINGAME2("fpgarage", "", "GARAGE.EXE", "518a98696fe1122e08410b0f157f21bf", 1512853,
-							 "START.DXR",  "f69996bd5a1dea3971c7647e86b4ee30", 190436, 602),
+	// Mac version requires installation, Christmas Installer, Stuffit
+	MACGAME1("fplpxmas", "", "Christmas", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032378, 602),
+	WINGAME1("fplpxmas", "", "XFUN32.EXE", "518a98696fe1122e08410b0f157f21bf", 1566416, 602),
 
-	MACDEMO1("fpreadyt", "ABC Fun Demo",	  "FP Toddler Demo",	  "1d9149b9745e35ef93ed4cdf08ec3af7", 1032634, 602),
-	WINDEMO1("fpreadyt", "ABC Fun Demo",	  "TODDEM95.EXE",		  "518a98696fe1122e08410b0f157f21bf", 1512576, 602),
-	MACDEMO1("fpreadyk", "Toy Shop Demo",	  "FP Kindergarten Demo", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032634, 602),
-	WINDEMO1("fpreadyk", "Toy Shop Demo",	  "KGDEMO95.EXE",		  "518a98696fe1122e08410b0f157f21bf", 1512576, 602),
-	WINDEMO1("fpready1", "Acorn Arcade Demo", "FIRST95.EXE",		  "985a5cdb61904b2229043af3f0e4dd60", 1498587, 602),
+	MACDEMO1("fpreadyt", "ABC Fun Demo", "FP Toddler Demo", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032634, 602),
+	WINDEMO1("fpreadyt", "ABC Fun Demo", "TODDEM95.EXE",	"518a98696fe1122e08410b0f157f21bf", 1512576, 602),
 
-	MACDEMO1("fpwestern", "Wacky Wanted Posters Demo", "Western Town Demo", "ade290061bd8f78051a8e872a889855c", 1031646, 601),
-	WINDEMO1("fpwestern", "Wacky Wanted Posters Demo", "WEST95.EXE", "518a98696fe1122e08410b0f157f21bf", 1512580, 602),
+	MACDEMO1("fpreadyk", "Toy Shop Demo", "FP Kindergarten Demo", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032634, 602),
+	WINDEMO1("fpreadyk", "Toy Shop Demo", "KGDEMO95.EXE",		  "518a98696fe1122e08410b0f157f21bf", 1512576, 602),
 
-	// Mac version requires installation, Christmas Installer, Stuffit
-	MACGAME1("fpxmas", "", "Christmas", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032378, 602),
-	WINGAME1("fpxmas", "", "XFUN32.EXE", "518a98696fe1122e08410b0f157f21bf", 1566416, 602),
+	// ©1998 Funnybone Interactive
+	MACGAME1("fpready1", "", "1st Grade", "06ed90580400cd9e263525f84c8075fd", 705417, 500),
+	WINGAME1t("fpready1", "", "PIR32BIT/START32.EXE", "d49dd78b62186c056e8ade13b73c45e6", 1394357, 501),
+	MACDEMO1("fpready1", "Acorn Arcade Demo v1.0w", "1st Grade Demo", "c387e039049babcadf92d4e104136735", 1031912, 602),
+	WINDEMO1t("fpready1", "Acorn Arcade Demo v1.0w", "FIRST95.EXE", "8095efb3ed13755b7ebbe2e0d61f1821", 1498587, 602),
 
 	MACGAME1("fusion", "", "Start FUSION Mac", "3849d7cd0cdbe4f46333879cbed56492", 1029165, 600),
 	WINGAME1("fusion", "", "FUSION.exe", "518a98696fe1122e08410b0f157f21bf", 1513751, 602),
@@ -5559,6 +6036,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1t_l("historia", "", "HISTORIA.EXE", "1c213a176ea0441a145ebf6f1f5b9f66", 1508366, Common::SE_SWE, 600),
 
+	WINGAME2t("im7s7s", "", "start.exe", "be7baec9613a6e07c6acdaad2c12a90f", 2931014,
+							"more/seventh.dxr", "8f809a4856310c3fc44ac73be59ee365", 45067836, 650),
+
 	// Based on the original I Spy CD-ROM, now with dozens of new challenges
 	// Flemish Edition (c) 2000, Standaard Uitgeverij, Antwerp
 	// Dutch Edition (c) 2000, Halloween Educational Software, Amsterdam
@@ -5610,7 +6090,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("learninternet", "", "VIDPROF.EXE", "b0f3841f6e8005e519445b22de37749b", 2674733, 600),
 	WINGAME1("learnworks2", "v4.0", "Vidprof.exe", "b0f3841f6e8005e519445b22de37749b", 2854401, 600),
 
-	WINGAME1("letterrally", "1.0", "L_Rally.exe", "b0f3841f6e8005e519445b22de37749b", 3921651, 606),
+	WINGAME1("letterrally", "1.0", "L_Rally.exe", "b0f3841f6e8005e519445b22de37749b", 3921651, 600),
 
 	WINDEMO1("madtg", "1998 Demo", "MTGDSLID.EXE", "b0f3841f6e8005e519445b22de37749b", 1317661, 600),
 
@@ -5620,20 +6100,20 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Developed by IJsfontein, published by Tivola
 	// File version of MVM.EXE is 6.0.2.32
 	// The game disc is a hybrid CD-ROM containing both the Windows and the Macintosh release.
-	MACGAME2("melements", "",	"check.dxr", 			  "f48ce7700bbf5f00a03373397b491a87", 898334,
+	MACGAME2("melements", "",	"check.dxr",			  "f48ce7700bbf5f00a03373397b491a87", 898334,
 								"Masters of the Elements", 0, 1034962, 602),
-	MACGAME2_l("melements", "", "check.dxr",			  "bd320cbd150d4d54fec798ce0222bc63", 575554,
-								"Meister Zufall",		  "398eb2cdf121feb490097c6323d52267", 1034962, Common::DE_DEU, 602),
 	WINGAME2("melements", "",	"CHECK.DXR",			  "c31ee30eebd24a8cf31691fc9926daa4", 901820,
 								"MVM.EXE",				  0, 2565921, 602),
+	MACGAME2_l("melements", "", "check.dxr",			  "bd320cbd150d4d54fec798ce0222bc63", 575554,
+								"Meister Zufall",		  "398eb2cdf121feb490097c6323d52267", 1034962, Common::DE_DEU, 602),
 	WINGAME2_l("melements", "", "CHECK.DXR",			  "d1cd0ed95b0e30597e0089bf3e5caf0f", 575414,
 								"MVM.EXE",				  "518a98696fe1122e08410b0f157f21bf", 1512503, Common::DE_DEU, 602),
 
 	WINGAME1("meetchuck", "", "HORSE.EXE", "b0f3841f6e8005e519445b22de37749b", 1130649, 600),
 
 	// Mac version requires installation, Install Microshaft, Vise 3.6 installer
-	WINGAME1("microshaft", "", "micro32.exe", "ae4c5d1b7e9c84a22cc32893a74469f6", 2121827, 606),
-	MACGAME1("microshaft", "", " Microshaft Launcher", "63a9f0ace9f72700eb4d947fbbf24f4a", 1028821, 606),
+	WINGAME1t("microshaft", "", "MICRO32.EXE", "ae4c5d1b7e9c84a22cc32893a74469f6", 2121827, 600),
+	MACGAME1("microshaft", "", " Microshaft Launcher", "089658f6d7d68f07eece8a68e5fdc35e", 115391, 600),
 
 	MACGAME1_l("morisawa", "", "xn--o9jt62g2uibikdr4d", "6c317cf4d0d541b8f70626502d31fde9", 1035144, Common::JA_JPN, 602),
 	WINGAME1t_l("morisawa", "", "MORISAWA.EXE", "40ec21a9805accd535cb6d03f26a3e56", 1516350, Common::JA_JPN, 602),
@@ -5641,18 +6121,19 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("mulanpresskit", "", "Disney's Mulan", "d16e0af2a86b6b04a8f9c86205c0d3d2", 1031738, 601),
 	WINGAME1("mulanpresskit", "", "MULAN.EXE", "ece1c7a090010965890840102978e693", 1828679, 601),
 
-	MACGAME2_l("mumin1", "",
-			   "start", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032405,
-			   "mum1dir/01DALEN.DXR", "c90f2bb4d9479eedc47b9742422448a4", 3679416, Common::FI_FIN, 650),
-	WINGAME2t_l("mumin1", "",
-				"START.EXE", "f9522a8bce8bbc5300efa1699dee56c0", 1733522,
-				"MUM1DIR/01DALEN.DXR", "1e9170db3f9bac48df2ffd329b96f32d", 3679416, Common::FI_FIN, 600),
+	MACGAME2_l("mumin1", "", "start", "1d9149b9745e35ef93ed4cdf08ec3af7", 1032405,
+							 "mum1dir/01DALEN.DXR", "c90f2bb4d9479eedc47b9742422448a4", 3679416, Common::FI_FIN, 650),
+	WINGAME2t_l("mumin1", "", "START.EXE", "f9522a8bce8bbc5300efa1699dee56c0", 1733522,
+							  "MUM1DIR/01DALEN.DXR", "1e9170db3f9bac48df2ffd329b96f32d", 3679416, Common::FI_FIN, 600),
 
 	WINGAME1("namegame", "1.0", "NTG.exe", "268206a2b95394636b750968be370c55", 3722937, 602),
 
 	MACGAME1("netmarket", "", "netMarket", "ade290061bd8f78051a8e872a889855c", 1030738, 600),
 	WINGAME1("netmarket", "", "NETMKT32.EXE", "3cb7a28198b9b8acd58d6d0e74272531", 1514399, 600),
 
+	MACGAME1_l("ngeeva00pf", "", "EVA-00", "fd87b233709108cc1fb001523ce772f5", 1034175, Common::JA_JPN, 601),
+	WINGAME1t_l("ngeeva00pf", "", "EVA-00.exe", "78a827f7380c27c19f0035843437cf9a", 1520172, Common::JA_JPN, 600),
+
 	// Study guide from The Daily Telegraph
 	// Mac executable filename does indeed end in .exe
 	MACGAME1("nia4", "", "nia4.exe", "ee2cca33b022bed087aa3911f9ec78b1", 1032689, 650),
@@ -5693,24 +6174,24 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// O!Kay is a monthly magazine for German students in grades 1 to 4 to learn English.
 	// If ordered, every three months a CD-ROM is included with unique educational games.
 	// The "Try out" demos most likely also required paid subscriptions.
-	MACGAME1_l("okaydemo", "", 		"O!Kay!  Demo",	"a40c77fb7f0033d5a9c1c8d526244729", 1036504, Common::DE_DEU, 650),
-	WINGAME2_l("okaydemo", "", 		"START32.EXE", 	"1b8d78ddca650041b8997cac7af3184b", 2027288,
+	MACGAME1_l("okaydemo", "",		"O!Kay!  Demo",	"a40c77fb7f0033d5a9c1c8d526244729", 1036504, Common::DE_DEU, 650),
+	WINGAME2_l("okaydemo", "",		"START32.EXE",	"1b8d78ddca650041b8997cac7af3184b", 2027288,
 									"TITEL.DXR",	"ade368a04615f440386c74f0266dc7f7", 216938, Common::DE_DEU, 650),
 	MACGAME2_l("okaydownunder", "", "Start",		"136e1ab1d4d13168964afb699bda13aa", 1034240,
-									"Titel.dxr",   	"48e1ee3d905895ef775761a60cefe056", 1505702, Common::DE_DEU, 650),
-	WINGAME1_l("okaydownunder", "", "Ok49932.exe", 	"1b8d78ddca650041b8997cac7af3184b", 1890546, Common::DE_DEU, 650),
+									"Titel.dxr",	"48e1ee3d905895ef775761a60cefe056", 1505702, Common::DE_DEU, 650),
+	WINGAME1_l("okaydownunder", "", "Ok49932.exe",	"1b8d78ddca650041b8997cac7af3184b", 1890546, Common::DE_DEU, 650),
 	MACGAME2_l("okaydragon", "",	"Start",		"3cef8710f4eddbe16fa186b198833ace", 1034014,
-									"Titel.dxr",   	"8f4430db871ea50643037a16274fb6e4", 858265, Common::DE_DEU, 650),
-	WINGAME1_l("okaydragon", "", 	"Ok29932.exe", 	"1b8d78ddca650041b8997cac7af3184b", 2109486, Common::DE_DEU, 650),
+									"Titel.dxr",	"8f4430db871ea50643037a16274fb6e4", 858265, Common::DE_DEU, 650),
+	WINGAME1_l("okaydragon", "",	"Ok29932.exe",	"1b8d78ddca650041b8997cac7af3184b", 2109486, Common::DE_DEU, 650),
 	MACGAME2_l("okayfriends", "",	"Start",		"136e1ab1d4d13168964afb699bda13aa", 1034240,
-									"Titel.dxr",   	"d390b52b55266630faf7d9697c271605", 1857650, Common::DE_DEU, 650),
-	WINGAME1_l("okayfriends", "",	"Ok10032.exe", 	"d62438566e44826960fc16c5c23dbe43", 2278721, Common::DE_DEU, 650),
+									"Titel.dxr",	"d390b52b55266630faf7d9697c271605", 1857650, Common::DE_DEU, 650),
+	WINGAME1_l("okayfriends", "",	"Ok10032.exe",	"d62438566e44826960fc16c5c23dbe43", 2278721, Common::DE_DEU, 650),
 	MACGAME2_l("okayhenry", "",		"Start",		"136e1ab1d4d13168964afb699bda13aa", 1034204,
-									"titel.dxr",   	"db3b00a35d78d6065ee36c7f60558fe6", 698410, Common::DE_DEU, 650),
-	WINGAME1_l("okayhenry", "",		"Ok19932.exe", 	"1b8d78ddca650041b8997cac7af3184b", 2009104, Common::DE_DEU, 650),
+									"titel.dxr",	"db3b00a35d78d6065ee36c7f60558fe6", 698410, Common::DE_DEU, 650),
+	WINGAME1_l("okayhenry", "",		"Ok19932.exe",	"1b8d78ddca650041b8997cac7af3184b", 2009104, Common::DE_DEU, 650),
 	MACGAME2_l("okaytruehero", "",	"Start",		"136e1ab1d4d13168964afb699bda13aa", 1034240,
-									"Titel.dxr",   	"e8b13e9e34dcfbdd4481f7f0b8209903", 1134260, Common::DE_DEU, 650),
-	WINGAME1_l("okaytruehero", "",	"ok39932.exe", 	"1b8d78ddca650041b8997cac7af3184b", 1883584, Common::DE_DEU, 650),
+									"Titel.dxr",	"e8b13e9e34dcfbdd4481f7f0b8209903", 1134260, Common::DE_DEU, 650),
+	WINGAME1_l("okaytruehero", "",	"ok39932.exe",	"1b8d78ddca650041b8997cac7af3184b", 1883584, Common::DE_DEU, 650),
 
 	WINGAME1t_l("onsalakorv", "", "onsala.EXE", "41d87422d7c0f48886a99a7fe05ba1c0", 1713409, Common::SE_SWE, 650),
 
@@ -5735,12 +6216,30 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Global Software Products catalogue # 1282B (1999) and 1282C (Favourites, 2006)
 	WINGAME2("pingu1", "1282B", "PINGU.EXE",	"d62438566e44826960fc16c5c23dbe43", 1570152,
 								"BBCLOGO.DXR",	"0af3596b90ae5ee1fcd14c4a84d72c5f", 1516128, 650),
-	WINGAME2("pingu1", "1282C", "Pingu.exe",	"d62438566e44826960fc16c5c23dbe43", 1999206,
-								"Pintitle.dxr", "e02ebaad2b4c28914b9fe0fedd740a53", 498532, 650),
+	WINGAME1t("pingu1", "1282C", "Pingu.exe",	"9c45cf40937389a60376270df0727459", 1999206, 650),
+	// Pingu: La collection de tout-petits
+	// French version by Hachette Multimédia
+	// Uninstaller is also Director
+	// MACGAME1("pingu1", "", "Supprimer Pingu", "5c4cee7e93b3ee1dbc7ce29e8e26ecd7", 1032759, Common::FR_FRA, 601),
+	MACGAME1_l("pingu1", "", "Pingu", "5c4cee7e93b3ee1dbc7ce29e8e26ecd7", 1032759, Common::FR_FRA, 601),
+	WINGAME1t_l("pingu1", "", "PINGU.EXE", "92bec8aaa2eb0534fcaa8926550af7e6", 2210575, Common::FR_FRA, 602),
+
+	WINGAME1t("pinguss", "Screen Saver Selector, 1282C", "SetSaver.exe", "0f21f1be9dd5342dba28168ab3841378", 2736484, 602),
+	WINGAME1t("pinguss", "Screen Saver Player, 1282C", "Pingu_ss.exe", "75ef68e4bb5b6d0cc4f2bd194dccd1d1", 1513419, 602),
+	WINGAME1t_l("pinguss", "Screen Saver Selector", "xn--Slecteur d'crans Pingu-b8bk", "5c4cee7e93b3ee1dbc7ce29e8e26ecd7", 1032759, Common::FR_FRA, 601),
+	WINGAME1t_l("pinguss", "Screen Saver Player", "Pingu Prefs/xn--Economiseur d'cran Pingu-ofc", "5c4cee7e93b3ee1dbc7ce29e8e26ecd7", 1178287, Common::FR_FRA, 601),
+	WINGAME1t_l("pinguss", "Screen Saver Selector", "SETSAVER.EXE", "38009fd3ab76cfa53e042cfa237a1e0e", 2960627, Common::FR_FRA, 602),
+	WINGAME1t_l("pinguss", "Screen Saver Player", "PINGU_SS.EXE", "580c32dab238a74b0b301c30d0eebbd4", 1710441, Common::FR_FRA, 602),
+
+	// Mac version requires installation, BBC Pingu and Friends Installer, Vise 5.5.2 installer
+	// Windows version identical to GSP 1283B (Double the Fun, 2007)
+	// Dutch version is D10
+	WINGAME1t("pingu2", "", "INSTDATA/PINGU.EXE", "7a0cacb2cf70098385095aa75b08d410", 1570152, 602),
+	MACGAME1("pingu2", "", "BBC Pingu and friends", "63e8b9f6744efefbb8a004a2b76e2b1d", 115739, 650),
 
 	// Four disc game, but the Director executable is only on disc 1
-	MACGAME1_l("pinkgear2", "",		   "PINK GEAR/Go To PINK GEAR", "b8bf83e119ac8980193921b8c5eabb2c", 118654, Common::JA_JPN, 602),
-	WINGAME1_l("pinkgear2", "",		   "PINK GEAR/Go To PINK GEAR.exe", "45871c12eb944f09f50ee742113a1e2d", 2215164, Common::JA_JPN, 602),
+	MACGAME1_l("pinkgear2", "", "PINK GEAR/Go To PINK GEAR", "b8bf83e119ac8980193921b8c5eabb2c", 118654, Common::JA_JPN, 602),
+	WINGAME1_l("pinkgear2", "", "PINK GEAR/Go To PINK GEAR.exe", "45871c12eb944f09f50ee742113a1e2d", 2215164, Common::JA_JPN, 602),
 
 	WINGAME1_l("plcd", "Nº11 1998", "submarine.exe", "a593079aecf5bd938ce75264cac24b2d", 1700379, Common::RU_RUS, 600),
 	WINGAME2_l("plcd", "Nº12 1998", "Start.exe",	 "d62438566e44826960fc16c5c23dbe43", 1919710,
@@ -5770,15 +6269,21 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("poporon", "", " PoPoRon", "68a0694e294e201c167feff1953eb8ce", 118587, Common::JA_JPN, 601),
 	WINGAME1t_l("poporon", "", "POPORON.EXE", "37c0c99d35e762a2f44ef93732bc9337", 1799789, Common::JA_JPN, 601),
 
+	// Original file name is RealPoolâ„¢
+	MACGAME1("realpool", "", "xn--RealPool-on5d", "269b100b24bda808238eb6feb183781f", 114791, 600),
+
+	MACGAME1_l("requiem", "", "Requiem", "996eca6a1e73c99493ea7e553f2e0db6", 1030510, Common::SE_SWE, 601),
+	WINGAME1t_l("requiem", "", "Requiem.exe", "bdd6110d880b41f29b8e98f9c4406eb6", 1515454, Common::SE_SWE, 601),
+
 	// American Revolutionary War
 	MACGAME2("revwar", "", "BEGIN",		   "2806e0d1bac713be5677a62b425d3c98", 1030361,
 						   "mainmenu.dxr", "9343ddc8818f99929eeb1067b8329707", 5592862, 650),
 	WINGAME2("revwar", "", "BEGIN.exe",	   "d62438566e44826960fc16c5c23dbe43", 1514063,
 						   "mainmenu.dxr", "1b6c62ffd84ac53fce242a8f0a4cc337", 5839626, 650),
 
-	//Edison: Bio-Mania
+	// Edison: Bio-Mania
 	WINGAME2_l("robidoc", "", "start.exe", "518a98696fe1122e08410b0f157f21bf", 1518949,
-			"Bio.exe", "55180c6a904d1b35c6ae60cab1f84949", 188408, Common::NL_NLD, 600),
+							  "Bio.exe", "55180c6a904d1b35c6ae60cab1f84949", 188408, Common::NL_NLD, 600),
 
 	WINGAME1t_l("rymdjakten", "Romjakten", "ROMJAKT.EXE", "c4259b2ecfd421bd28f29b8a6ddf42f3", 1522656, Common::NB_NOR, 602),
 	MACGAME1t_l("rymdjakten", "Romjakten", "Romjakten", "960f8041921e1ca6c0781cb0f17abc25", 1032378, Common::NB_NOR, 602),
@@ -5786,17 +6291,17 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Found on Let's Play with "Sakura"
 	// This directly runs the screen savers available on the CD
 	// Original filename is さくらのscrセレクタ
-	MACGAME1_l("sakurascr", "", "Sakura\'s scr selector", "65063397536553c4f6ff2a6c07194bf7", 1822055, Common::JA_JPN, 602),
+	MACGAME1_l("sakurascr", "", "Sakura's scr selector", "65063397536553c4f6ff2a6c07194bf7", 1822055, Common::JA_JPN, 602),
 
 	// Original filenames are さくらとあそぼ
-	MACGAME1_l("sakuratoasobo", "", "Let\'s Play with Sakura", "8d83064402198a909b0abcebc6b46d2b", 118198, Common::JA_JPN, 602),
-	WINGAME1_l("sakuratoasobo", "", "Let\'s Play with Sakura.exe", "45871c12eb944f09f50ee742113a1e2d", 1982850, Common::JA_JPN, 650),
+	MACGAME1_l("sakuratoasobo", "", "Let's Play with Sakura", "8d83064402198a909b0abcebc6b46d2b", 118198, Common::JA_JPN, 602),
+	WINGAME1_l("sakuratoasobo", "", "Let's Play with Sakura.exe", "45871c12eb944f09f50ee742113a1e2d", 1982850, Common::JA_JPN, 650),
 
 	WINGAME2_l("samson", "", "start.exe", "a593079aecf5bd938ce75264cac24b2d", 1919963,
-								"GOSCHOT.DXR", "045e8b0091317831da84596f807779cd", 161404, Common::NL_NLD, 600),
+							 "GOSCHOT.DXR", "045e8b0091317831da84596f807779cd", 161404, Common::NL_NLD, 600),
 
 	MACGAME1("shrlucky", "", "Arcade", "dab7a517b0877454d1e16c40c9b5a9be", 1029193, 600),
-	WINGAME1("shrlucky", "", "ARCWIN95.EXE", "a593079aecf5bd938ce75264cac24b2d", 7304861, 600),
+	WINGAME1("shrlucky", "", "COPYARC/ARCWIN95.EXE", "a593079aecf5bd938ce75264cac24b2d", 7304861, 600),
 
 	// From Elmo's Art Workshop CD
 	WINDEMO1t("shrmess", "Demo", "SHRM14.EXE", "fc37d09a744d04f7dd5b31e0ab9f50e6", 1318025, 606),
@@ -5804,11 +6309,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// German/English bilingual
 	MACGAME2("smallfish", "", "Small_Fish", "7a36d53490a07ddc212b65cad9ed11f3", 115767,
-		"data/casts/scripts.cxt", "b56dd8f86edc9b21f88c6363109ab219", 191362,
-		600),
+							  "data/casts/scripts.cxt", "b56dd8f86edc9b21f88c6363109ab219", 191362, 600),
 	WINGAME2t("smallfish", "", "START.EXE", "5b9294e4836af8dc30a7e8a8fc799bb2", 1527107,
-		"data/casts/scripts.cxt", "54978ce7d55a5a2c58d7234fddc961b2", 191362,
-		602),
+							   "data/casts/scripts.cxt", "54978ce7d55a5a2c58d7234fddc961b2", 191362, 602),
 
 	WINGAME1("ss007", "", "007.exe", "d62438566e44826960fc16c5c23dbe43", 4971852, 650),
 
@@ -5834,8 +6337,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1t_l("startover", "motion dive", "motion dive HD.exe", "fe36065675486a97715027200f230783", 5135271, Common::JA_JPN, 602),
 
 	// From Microshaft Winblows, full game is D5
-	MACDEMO1("starwarped", "Preview", "Star Warped Preview", "63a9f0ace9f72700eb4d947fbbf24f4a", 1028821, 606),
-	WINDEMO1("starwarped", "Preview", "ewok32.exe", "9502e2cb4d6e767310b908950bb7f74b", 1701371, 606),
+	MACDEMO1("starwarped", "Preview", "Star Warped Preview", "089658f6d7d68f07eece8a68e5fdc35e", 115391, 600),
+	WINDEMO1t("starwarped", "Preview", "EWOK32.EXE", "9502e2cb4d6e767310b908950bb7f74b", 1701371, 600),
 
 	// Developed by Accurate Research, Inc. of Sunnyvale, California (1998)
 	// Part of the Super Tutor series sold through Homeworkhelp.com
@@ -5850,7 +6353,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// ein Fall für TKKG: Tödliche Schokolade (bilingual DE/EN)
 	MACGAME2("tkkg2", "", "TKKG start", "7ce3e3594ca71914e50806cf934ac714", 1032378,
-							"SCORE.DXR",  "4d3d5b66729e31d35828e40aee85fe39", 10849, 602),
+						  "SCORE.DXR",  "4d3d5b66729e31d35828e40aee85fe39", 10849, 602),
 	WINGAME1t("tkkg2", "", "TKKG2_95.EX_", "913a935918698c299c30b96b6b696ba2", 1705034, 602),
 	// Dutch numbering is different from German originals
 	// Een zaak voor TKKG 2: dodelijke chocolade (bilingual NL/EN)
@@ -5858,22 +6361,24 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// ein Fall für TKKG: Der Schatz der Maya (bilingual DE/EN)
 	MACGAME2("tkkg3", "", "TKKG start", "017b653021b4e4896e6a50cc5fedb24c", 1032378,
-							"SCORE.DXR",  "03b65143b31d75bf149da998877029b0", 11197, 602),
+						  "SCORE.DXR",  "03b65143b31d75bf149da998877029b0", 11197, 602),
 	WINGAME1t("tkkg3", "", "TKKG3_95.EX_", "c5dcc31f2d26e29c18f87e0524eac70f", 1513532, 602),
 	// Een zaak voor TKKG 1: De schat van de Maya's (bilingual NL/EN) (Demo)
-	WINDEMO2_l("tkkg3", "Demo", "start.exe", "e7bccfe54354d08a9d2d0e181f66406b", 1289732,
-								"DEMO_00.dxr", "1ea80b7d22a6db7ce669a988812f0d64", 2488656, Common::NL_NLD, 602),
+	WINDEMO2t_l("tkkg3", "Demo", "start.exe", "e39e34d0866c08539cb557af3a45c00e", 1289732,
+								 "DEMO_00.dxr", "d3793c1016aea64ebabeeca7c4e3a65d", 2488656, Common::NL_NLD, 602),
+	MACDEMO2_l("tkkg3", "", "start", "b0b0e36586489ca6070d20feeff52fa5", 1026645,
+							"DEMO_00.DXR", "1ea80b7d22a6db7ce669a988812f0d64", 2488656, Common::NL_NLD, 606),
 
 	// ein Fall für TKKG: Das Rätsel der Villa Drachenkralle (bilingual DE/EN)
 	MACGAME2("tkkg4", "", "TKKG start", "b21aa60a64051a4f3873b1500444aa3b", 1032378,
-							"SCORE.DXR",  "26a12f39d812059982637f153dad58a8", 1162642, 602),
+						  "SCORE.DXR",  "26a12f39d812059982637f153dad58a8", 1162642, 602),
 	WINGAME1t("tkkg4", "", "TKKG4_95.EX_", "8d61eba98b5da877fe293e97cf0fcadd", 1513570, 602),
 	// Een zaak voor TKKG 5: het raadsel van villa Drakenklauw (bilingual NL/EN)
 	WINGAME1_l("tkkg4", "", "tkkg4_95.exe", "518a98696fe1122e08410b0f157f21bf", 1513570, Common::NL_NLD, 602),
 
 	// ein Fall für TKKG: Verrat an TKKG (bilingual DE/EN)
 	MACGAME2("tkkg5", "", "TKKG Start", "cf534db714fe9bd4c6059755094f9bed", 1037002,
-							"Score.dxr",  "a9fc73baaaae5693650b555b173eb328", 27052, 602),
+						  "Score.dxr",  "a9fc73baaaae5693650b555b173eb328", 27052, 602),
 	WINGAME1t("tkkg5", "", "TKKG5_95.ex_", "4e86d530315553774f70ad9ad61e0c52", 1597094, 602),
 
 	// ein Fall für TKKG: Der Fälscherbande auf der Spur (bilingual DE/EN)
@@ -5882,15 +6387,24 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1t("tkkg6", "", "Tkkg6_32.exe", "52239d8b9852067433fbce14928fe650", 1594089, 602),
 
 	// Bilingual Japanese/English
-	MACGAME1("tomato", "",		   "tomato2", "9c595b98af545997155f2f020ad2ec5f", 1028001, 606),
-	WINGAME1t("tomato", "",  "TOMATO2.EXE", "82536fc9800cf7fabda97c74cca3ed8f", 1550097, 606),
+	MACGAME1("tomato", "",  "tomato2", "9c595b98af545997155f2f020ad2ec5f", 1028001, 606),
+	WINGAME1t("tomato", "", "TOMATO2.EXE", "82536fc9800cf7fabda97c74cca3ed8f", 1550097, 606),
 
 	WINGAME1("traitorsgate", "", "TRG001.EXE", "b762d2cc3f7db2a6446135917fe92496", 2072959, 650),
 
 	MACGAME1("trekpedia98", "", "Ency98 Player", "b0b0e36586489ca6070d20feeff52fa5", 1091806, 600),
 	WINGAME1("trekpedia98", "", "ENCY98.EXE", "35f1550747fcf691283b0f2486144e2b", 1707566, 600),
 
-    WINGAME1("trekshipcreate", "", "sscreate.exe", "47bc209c111f45781336fb582354f2f2", 1910562, 400),
+	MACGAME1("trekship", "", "Starship Creator/Starship Creator", "f26885badb07dcf3a79defda517d4ddb", 1055900, 650),
+	MACGAME1("trekship", "Mission Watcher", "Starship Creator/ShipMain/Mission Watcher", "ce8cd9917c9ba9d454d8ed71478a1486", 113475, 650),
+	WINGAME1t("trekship", "", "sscreate.exe", "701fb8cda51a79d3a768a7f612025fd5", 1910562, 602),
+	WINGAME1t("trekship", "Mission Watcher", "ShipMain/MssnWchr.exe", "749923faa5cd1c281089a2143c4510ad", 1518003, 602),
+
+	// Mac version requires installation, Creator Add-On Installer, Vise 3.6 installer
+	MACGAME1("trekshipaddon", "", "Starship Creator Add-On Pack", "1d5dcfc080add51c584a7111cf80a404", 1057502, 650),
+	MACGAME1("trekshipaddon", "Mission Watcher", "ShipMain/Mission Watcher", "ce8cd9917c9ba9d454d8ed71478a1486", 113475, 650),
+	WINGAME1t("trekshipaddon", "", "addonpak/sscreate.exe", "68d5ccbfc4921c19d1d46b866ec4080d", 2753651, 602),
+	WINGAME1t("trekshipaddon", "Mission Watcher", "addonpak/ShipMain/MssnWchr.exe", "749923faa5cd1c281089a2143c4510ad", 1518003, 602),
 
 	// Overview of Tutti's Magical Stories series
 	WINGAME1_l("tutti", "", "TUTTI.EXE", "a593079aecf5bd938ce75264cac24b2d", 14715583, Common::RU_RUS, 600),
@@ -5911,18 +6425,19 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO2t("xfiles", "CD Demo", "X-Files.exe", "44a15040c26429c13411859d6fd03bbf", 1527961,
 								   "INTRO.DXR",   "8de2b376be89ec9611d489a8a90bb2c9", 1844200, 600),
 
-	// Mac version requires installation, Install The X-Fools, Vise 3.5 installer
-	WINGAME1t("xfools", "", "XFOOLS32.EXE", "e4621a51bf38b4e15d407913df781392", 2115343, 600),
-	MACGAME1("xfools", "", "The X-Fools", "18edee4d51b3d6d8f79bc4c6b8c31685", 1026557, 606),
-	MACDEMO1("xfools", "Preview", "The X-Fools Preview", "41fa2186d635be3094403c75b5f44d4b", 115647, 600),
-	WINDEMO1t("xfools", "Preview", "XMAN32.EXE", "9502e2cb4d6e767310b908950bb7f74b", 1701371, 600),
-	// From Microshaft Winblows
-	MACDEMO1("xfools", "Preview", "The X-Fools Preview", "63a9f0ace9f72700eb4d947fbbf24f4a", 1028821, 600),
+	// Mac version requires installation, Install The X-Fools, VISE 3.5 installer
+	WINGAME1t("xfools", "", "xfools32.exe", "e4621a51bf38b4e15d407913df781392", 2115343, 600),
+	MACGAME1("xfools", "", "The X-Fools", "41fa2186d635be3094403c75b5f44d4b", 113127, 600),
+	MACDEMO1("xfools", "Preview", "The X-Fools Preview", "41fa2186d635be3094403c75b5f44d4b", 115391, 600), // Star Warped
+	WINDEMO1t("xfools", "Preview", "XMAN32.EXE", "9502e2cb4d6e767310b908950bb7f74b", 1701371, 600), // Star Warped + Microshaft Winblows
+	MACDEMO1("xfools", "Preview", "The X-Fools Preview", "089658f6d7d68f07eece8a68e5fdc35e", 115391, 600), // Microshaft Winblows
 
 	// Disc 2 has no director content
 	WINGAME2t("xfua", "", "X-FILES.EXE", "44a15040c26429c13411859d6fd03bbf", 1719387,
 						  "LAUNCH.DXR",	 "e44000f96f5e329da90d25779cb14995", 30096, 602),
 
+	MACGAME1_l("xtown1", "", "GIFTET", "7a36d53490a07ddc212b65cad9ed11f3", 116103, Common::SE_SWE, 650),
+	WINGAME1t_l("xtown1", "", "GIFTET.EXE", "dd8c395cb1b40eee169f022b16a1c0bd", 1521398, Common::SE_SWE, 600),
 
 	// Original Mac filename is 妖怪図鑑2
 	MACGAME1_l("yokai400", "", "xn--2-we0by4fq4jlr4e", "d14bf1f7a413df29a04b8fbc7a0fe81f", 1033551, Common::JA_JPN, 601),
@@ -5939,7 +6454,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2_l("affaires1", "", "StartMe.exe", "7c18c9a6af2694156bf09ed195c1ab09", 1819926,
 								"Main - 7.dxr", "ad34b9d4987fc84c238f0e88b174fbc9", 13068061, Common::FR_FRA, 702),
 
-	// Installer also uses Director
+	// Windows installer, install.exe, also uses Director
 	MACGAME1_l("allthelunar", "Gallery", "xn--2bkwb2jyaf2iv50xg56c", "91723348f6414e84d024183554385275", 110811, Common::JA_JPN, 701),
 	WINGAME1t_l("allthelunar", "Gallery", "gallery.exe", "dc43ed7868f092e8f59a640766438b38", 13403016, Common::JA_JPN, 701),
 	MACGAME1_l("allthelunar", "Daifugo", "xn--pss84d253e", "d2404d3c2d1df0ca4125e85b1ca97e96", 22329996, Common::JA_JPN, 701),
@@ -5981,23 +6496,22 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Developer website calls this Double Trouble: Crazy Cool Kindergarten,
 	// although we don't know if it was actually released in English
 	// https://web.archive.org/web/20060208235831/http://billetrille.savannah.dk/dtpages.php3?page_id=8&lang=english
-
 	MACGAME1_l("billetrille1", "",	   "VilleLilli",		 "0944b962ebb00f4b5d5149d220f8449b", 112758, Common::FI_FIN, 702),
 	WINDEMO1_l("billetrille1", "Demo", "VilleLilliDemo.exe", "18e31b6357c42300bb6947a6af7b8a69", 5150588, Common::FI_FIN, 702),
 
 	// Bonus content on retail CD releases. No text or dialogue is used.
 	WINGAME1("billetrille1ss", "", "screensaverDT1.exe", "18e31b6357c42300bb6947a6af7b8a69", 3261985, 702),
 
-	//Blinky Bill Peuter
+	// Blinky Bill Peuter
 	WINGAME1_l("blinkyps", "", "PS.exe", "7c18c9a6af2694156bf09ed195c1ab09", 173560, Common::NL_NLD, 702),
 
 	WINGAME2("blinkyk1", "", "K1.exe", "7c18c9a6af2694156bf09ed195c1ab09", 173598,
-			"home.dxr", "a5bf0926474b9d6100d5eb0a02c59e7c", 2414060, 702),
-	//Blinky Bill Kleuter
+							 "home.dxr", "a5bf0926474b9d6100d5eb0a02c59e7c", 2414060, 702),
+	// Blinky Bill Kleuter
 	WINGAME2_l("blinkyk1", "", "K1.exe", "7c18c9a6af2694156bf09ed195c1ab09", 173598,
-			"home.dxr", "dd7f95732848801b0d5a7e784db68962", 2381576, Common::NL_NLD, 702),
+							   "home.dxr", "dd7f95732848801b0d5a7e784db68962", 2381576, Common::NL_NLD, 702),
 
-	//Blinky Bill Lezertje
+	// Blinky Bill Lezertje
 	WINGAME1_l("blinkyy1", "", "Y1.exe", "7c18c9a6af2694156bf09ed195c1ab09", 173554, Common::NL_NLD, 702),
 
 	// Found on Windows Spielehits für Kinder by Compedia / Xtend New Media of Scheidegg, Bavaria
@@ -6017,7 +6531,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Win version calls D7 apps to open links to Disney web pages
 	MACGAME1("disneylearning", "", "SAMPLER.MAC", "0944b962ebb00f4b5d5149d220f8449b", 111450, 702),
 	WINGAME2("disneylearning", "", "SAMPLER.EXE", "7c18c9a6af2694156bf09ed195c1ab09", 1816154,
-			"projectorstub.dir", "99a203b9af88e6d3aaf125d906d17249", 123498, 702),
+								   "projectorstub.dir", "99a203b9af88e6d3aaf125d906d17249", 123498, 702),
 
 	// Covermount for Revista Divertire (Brazil)
 	// Launches installer for non-Director game (Nanico)
@@ -6026,7 +6540,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Found as Enhanced CD content on WOW 2000 Christian Rock compilation
 	WINDEMO1("dotsafe", "Demo", "DOTSAFE.EXE", "c1a2e8b7e41fa204009324a9c7db1030", 19795672, 700),
 
-	WINGAME2("easports2000", "", "PC.EXE", 	  "c1a2e8b7e41fa204009324a9c7db1030", 2212134,
+	WINGAME2("easports2000", "", "PC.EXE",	  "c1a2e8b7e41fa204009324a9c7db1030", 2212134,
 								 "INTRO.DXR", "209cd844f714140413eb58c3a69db454", 5179191, 700),
 
 	WINGAME1t("elfascd", "", "Inledning.exe", "f8b837454677411e751f7a774f1bec14", 2427558, 700),
@@ -6043,9 +6557,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Found on デスクトップマスコット ファービー (Desktop Mascot Furby)
 	WINGAME1_l("furbydentaku", "", "xn--.exe-fk4colma72ab4209fos3h", "1799677b9d869c8dc577d931e229ee3b", 3002842, Common::JA_JPN, 702),
 
-	//Miel Monteur - Miel Bouwt Auto's!
+	// Miel Monteur - Miel Bouwt Auto's!
 	WINGAME2_l("garygadget1", "", "Start.exe", "c1a2e8b7e41fa204009324a9c7db1030", 2933829,
-			"Monteur.cnt", "7038be89eb5c49b51927bf76d8fd0b8a", 2490, Common::NL_NLD, 700),
+								  "Monteur.cnt", "7038be89eb5c49b51927bf76d8fd0b8a", 2490, Common::NL_NLD, 700),
 
 	// Most of the disc is D6, but a few parts are D7
 	MACGAME1("gasbook6", "AGES5&UP", "flab", "91723348f6414e84d024183554385275", 110742, 701),
@@ -6108,7 +6622,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2("leepipes", "", "Press Kit.exe", "c1a2e8b7e41fa204009324a9c7db1030", 7448796,
 							 "ss_fs.dxr",	  "b5f34c9b5222b64bda16b9c71bc14d62", 6451601, 700),
 
-	//Mia Muis Op Zoek naar Oma Mimi's Medicijn (CD1)
+	// Mia Muis Op Zoek naar Oma Mimi's Medicijn (CD1)
 	WINGAME1("miareading1", "", "Mia.exe", "7c18c9a6af2694156bf09ed195c1ab09", 2595806, 702),
 
 	// Mac demo is from Disney Interactive Learning Sampler CD
@@ -6190,8 +6704,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// 1999 version is on Natural Relaxation
 	// 2001 version is on Songbird Symphony, Stress Relief 2 and others
 	MACGAME1("solmahjong", "1999 version", "Mahjong",	  "0944b962ebb00f4b5d5149d220f8449b", 113714, 702),
-	MACGAME1("solmahjong", "2001 version", "Mahjong",	  "0944b962ebb00f4b5d5149d220f8449b", 112758, 702),
 	WINGAME1("solmahjong", "1999 version", "Mahjong.exe", "7a4164849d026c0f2aa8ea4c7d5447ba", 2757472, 702),
+	MACGAME1("solmahjong", "2001 version", "Mahjong",	  "0944b962ebb00f4b5d5149d220f8449b", 112758, 702),
 	WINGAME1("solmahjong", "2001 version", "Mahjong.exe", "7a4164849d026c0f2aa8ea4c7d5447ba", 2832712, 702),
 
 	// https://web.archive.org/web/1id_/www.budweiser.com/screensaver/pc/screen99.exe
@@ -6239,6 +6753,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("webmaster", "", "Webmaster", "0944b962ebb00f4b5d5149d220f8449b", 128297, 702),
 	WINGAME1("webmaster", "", "Webmaster.exe", "7c18c9a6af2694156bf09ed195c1ab09", 1820594, 702),
 
+	MACGAME1_l("xtown2", "", "xn--CROSSTOWN NGELN-n5a/xn--ngeln-xla", "0944b962ebb00f4b5d5149d220f8449b", 116140, Common::SE_SWE, 702),
+	WINGAME1t_l("xtown2", "", "ANGEL.EXE", "ea43a06fe305ceaa2ca2ba16feaee320", 2212330, Common::SE_SWE, 700),
+
 	// Found on アクティブマスコット・ハイジ (Heidi Desktop Mascot)
 	// Create cards using ZUIYO's new characters Popee and Beast
 	WINGAME1_l("zuiyomail", "", "MAIL2.exe", "1799677b9d869c8dc577d931e229ee3b", 2662488, Common::JA_JPN, 702),
@@ -6279,6 +6796,25 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2_l("123habloingles", "#14 Karaoke",		   "123 Hablo Ingles.exe", "0c81c84ca4966313ad27d47daba44537", 2660381,
 													   "Intro.dxr",			   "d9c5fa53e38e683465174740bd1a771d", 2789550, Common::ES_ESP, 851),
 
+	WINGAME2t("aaha2007", "Management 1",  "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										   "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1398164, 850),
+	WINGAME2t("aaha2007", "Management 2",  "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										   "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1396946, 850),
+	WINGAME2t("aaha2007", "Scientific 1",  "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										   "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1396870, 850),
+	WINGAME2t("aaha2007", "Scientific 2",  "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										   "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1396398, 850),
+	WINGAME2t("aaha2007", "Scientific 3",  "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										   "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1396722, 850),
+	WINGAME2t("aaha2007", "Scientific 4",  "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										   "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1395756, 850),
+	WINGAME2t("aaha2007", "Scientific 5",  "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										   "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1395738, 850),
+	WINGAME2t("aaha2007", "Technician 1", "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										  "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1395390, 850),
+	WINGAME2t("aaha2007", "Technician 2", "StartCD.exe", "f5e1f52dc03126d4a906f78247b190da", 3437769,
+										  "Select.dxr", "3c766fe5aff43e8eae440d13468cd48a", 1395314, 850),
+
 	MACGAME1_l("alfons", "", "Alfons", "08c9ea94f6469e71ae0c71987bbf6323", 199733, Common::SE_SWE, 851),
 	WINGAME1_l("alfons", "", "Alfons.exe", "02913e7deeab4ece4ae44ad521082d4e", 2166668, Common::SE_SWE, 851),
 
@@ -6290,11 +6826,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1_l("anasheed", "", "Anasheed.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 3595486, Common::AR_ARB, 800),
 
 	MACGAME2("artintact", "", "Start_Mac", "4ea5fc09f79eee6dded94dc40f303779", 214865,
-		"DATA/intro.dxr", "e2ae1092a0bbe433cdc33d82bcc8adb7", 997164,
-		800),
+							  "DATA/intro.dxr", "e2ae1092a0bbe433cdc33d82bcc8adb7", 997164, 800),
 	WINGAME2t("artintact", "", "start.exe", "e35fd9cafa74db33dca37e7e7cd63e43", 146931,
-		"DATA/intro.dxr", "a8fe1c32a4c4d40ed00393d8602b979e", 997164,
-		800),
+							   "DATA/intro.dxr", "a8fe1c32a4c4d40ed00393d8602b979e", 997164, 800),
 
 	// From bugreport #13438
 	WINGAME1t("artmarcopatrito", "", "The_Art.exe", "5b1dc5ceba980c61ff9f6c82f187f106", 2158556, 851),
@@ -6331,7 +6865,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 								 "MAMBO.MOV", "990db0c7187621250dfca0a55996538e", 39868175, 800),
 
 	WINGAME1_l("boeboekshaboe", "", "Arcade.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 2389026, Common::NL_NLD, 800),
-	WINDEMO1_l("boeboekstocht", "Demo", "Boeboeks.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 58054, Common::NL_NLD, 800),
+
+	MACDEMO1_l("boeboekstocht", "Demo", "Boeboeks",		"4ea5fc09f79eee6dded94dc40f303779", 194635, Common::NL_NLD, 808),
+	WINDEMO1_l("boeboekstocht", "Demo", "Boeboeks.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 58054,  Common::NL_NLD, 800),
 
 	MACGAME1("broadwayyb", "", "Startmac",	   "4ea5fc09f79eee6dded94dc40f303779", 196199, 800),
 	WINGAME1("broadwayyb", "", "YEARBOOK.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 2256212, 800),
@@ -6349,7 +6885,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("eureka", "", "Promo.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 17971868, 800),
 
 	WINGAME2_l("fcdk", "", "Start.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 511933,
-			"boma.dir", "484a5f57cde0ce4f035be6be933ede34", 10561442, Common::NL_NLD, 800),
+						   "boma.dir", "484a5f57cde0ce4f035be6be933ede34", 10561442, Common::NL_NLD, 800),
 
 	// De drie werelden van Flipper & Lopaka published by Transposia of Ghent, Flanders
 	MACGAME2("flipper1", "",   "Flipper",	  "305030a32728843d9e953b8e0f53a149", 6129,
@@ -6369,8 +6905,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("forestiajr", "", "Forestia Aufstand im Zoo", "75e71e2abbe6cf6e79a62be76cc05d06", 157104, Common::DE_DEU, 850),
 	WINGAME1_l("forestiajr", "", "Forestia Aufstand im Zoo.exe", "14a1ca568d9188926eb70827f42ac856", 2166796, Common::DE_DEU, 851),
 
-	MACGAME1("fpairport", "", "Discovery Airport", "08c9ea94f6469e71ae0c71987bbf6323", 206619, 851),
-	WINGAME1("fpairport", "", "Discovery Airport.exe", "0c81c84ca4966313ad27d47daba44537", 2156986, 851),
+	MACGAME1("fplpairport", "", "Discovery Airport", "08c9ea94f6469e71ae0c71987bbf6323", 206619, 851),
+	WINGAME1("fplpairport", "", "Discovery Airport.exe", "0c81c84ca4966313ad27d47daba44537", 2156986, 851),
 
 	WINGAME1("fractiondecimal", "", "Fd.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 4775506, 800),
 
@@ -6400,9 +6936,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("garygadget5", "Classic OS", "Miel5 OS9", "789536da81694518f494945bb161ace9", 234210, Common::NL_NLD, 851),
 
 	// Mac version on CD02 is D10
-	WINGAME1("girlsaloudbox", "CD02 No Good Advice", 		"Clickme.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 2911148, 800),
-	MACGAME1("girlsaloudbox", "CD03 Life Got Cold",  		"Enhanced",	   "08c9ea94f6469e71ae0c71987bbf6323", 190678, 850),
-	WINGAME2("girlsaloudbox", "CD03 Life Got Cold",  		"Start.exe",   "c163f36141579ee374f7b4b2bddee95a", 2117284,
+	WINGAME1("girlsaloudbox", "CD02 No Good Advice",		"Clickme.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 2911148, 800),
+	MACGAME1("girlsaloudbox", "CD03 Life Got Cold",			"Enhanced",	   "08c9ea94f6469e71ae0c71987bbf6323", 190678, 850),
+	WINGAME2("girlsaloudbox", "CD03 Life Got Cold",			"Start.exe",   "c163f36141579ee374f7b4b2bddee95a", 2117284,
 															"ECD.dxr",	   "7d8cb42d6784efca5dda28e879423f84", 14581925, 850),
 	MACGAME1("girlsaloudbox", "CD05 The Show",				"Enhanced",	   "08c9ea94f6469e71ae0c71987bbf6323", 186904, 850),
 	WINGAME2("girlsaloudbox", "CD05 The Show",				"Start.exe",   "c163f36141579ee374f7b4b2bddee95a", 2117284,
@@ -6435,6 +6971,14 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("kjoeties", "", "Kjoeties",	   "3df301ad7614245a6ab1fb5d9ae6e474", 213295, Common::NL_NLD, 800),
 	WINGAME1_l("kjoeties", "", "Kjoeties.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 2281118, Common::NL_NLD, 800),
 
+	// Developed by CircumStance Design
+	MACGAME1("kothhoot", "v2.0", "Hoot", "90597a84a08b06e07af8bc5ab427676b", 5909, 800),
+	WINGAME1t("kothhoot", "v2.0", "HootPC.exe", "12021662e10c3a53d784dacf215c0111", 2242603, 800),
+
+	// Developed by CircumStance Design
+	MACGAME1("koththunt", "v2.0", "T-Hunt-mac", "41d09ba569da51ac5c075bfde0f8e10b", 25216, 800),
+	WINGAME1t("koththunt", "v2.0", "ThuntPC.exe", "775b80653a1daa36dc82257ac2b83fda", 2103339, 800),
+
 	// From Dutch Pettson 1 v3.0 disc
 	// Static screen with 2 http links (one to local html files) and a mailto link
 	// Original Mac and Win filenames are Méér speel-en leerplezier!
@@ -6455,6 +6999,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Plays school instructional videos, loads PDF documents, installs D10 game
 	WINGAME1_l("limit0inici", "", "limit0_inici.exe", "0c81c84ca4966313ad27d47daba44537", 723194, Common::CA_ESP, 851),
 
+	WINGAME1t("listen7up", "Volume 1", "rock.exe", "25a71af5e9a5b2dbfe70eecb3152c44a", 4556166, 800),
+
 	// Original Win executable name is Löwenzahn5.exe
 	WINGAME1t_l("loewe5", "", "xn--lwenzahn5.exe-imb", "9c59833b332f0b9f8ecc97f0aa47ec99", 2386566, Common::DE_DEU, 800),
 
@@ -6489,7 +7035,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("noddyfair", "", "Noddy PC.exe", "c612aa43e7ef55aa4fd2e1085fb1ef7a", 2197822, 850),
 
 	MACGAME2_l("okay2000", "", "Start",	   "8c1b4ddb1adff89deaba119f7cf8df7b", 195159,
-							 "TITEL.DXR",  "6190d0e21cb88e9f37afce89b41aa8ff", 1187527, Common::DE_DEU, 800),
+							   "TITEL.DXR",  "6190d0e21cb88e9f37afce89b41aa8ff", 1187527, Common::DE_DEU, 800),
 	WINGAME1_l("okay2000", "", "Ok0032.exe", "70a7b053c1a60617d3baace061fcba54", 3565692, Common::DE_DEU, 800),
 
 	MACGAME1_l("operafatal", "Classic OS", "Opera Classic", "78e78f91a6e42ece5a585c3a3dc81de3", 172200, Common::DE_DEU, 800),
@@ -6505,7 +7051,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("pettson1", "v3.0", "Spelen",	   "a44511b8ff0e46b4f9c85dd1cb58d458", 158043, Common::NL_NLD, 851),
 	WINGAME1_l("pettson1", "v3.0", "Spelen.exe",   "568c6f849ff7f2104636a99f151a6cd6", 3249822, Common::NL_NLD, 851),
 
-	//Pettson & Findus in de tuin (Libelle)
+	// Pettson & Findus in de tuin (Libelle)
 	WINGAME1_l("pettson2", "", "pettstart.exe",   "518a98696fe1122e08410b0f157f21bf", 1534912, Common::NL_NLD, 851),
 	MACGAME1_l("pettson2", "", "Spelen",	   "124ee629902a66fe1fb20b18ae4a1788", 3924112, Common::NL_NLD, 851),
 
@@ -6522,28 +7068,44 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2_l("polis3", "", "launcher.exe", "0c81c84ca4966313ad27d47daba44537", 2860282,
 							 "polis3.dxr",	 "1a391250c502a1f55da5a4d0438b493d", 3533782, Common::ES_ESP, 851),
 
-	WINGAME1("poohb", "", "POOHBABY.EXE",  		 "e24d4bab978b1a5c2326d2c56cf4d781", 2290422, 800),
+	WINGAME1("poohb", "", "POOHBABY.EXE",		 "e24d4bab978b1a5c2326d2c56cf4d781", 2290422, 800),
+
 	MACGAME1("poohp", "", "PoohP.Mac",			 "4ea5fc09f79eee6dded94dc40f303779", 197191,  800),
 	WINGAME1("poohp", "", "PoohP.exe",			 "e24d4bab978b1a5c2326d2c56cf4d781", 2692574, 800),
-	WINGAME1("pooht", "", "PoohT.exe",			 "e24d4bab978b1a5c2326d2c56cf4d781", 2690898, 800),
-	MACDEMO1("poohk", "D8 Demo", "PoohK",		 "4ea5fc09f79eee6dded94dc40f303779", 196535, 800),
-	WINDEMO1("poohk", "D8 Demo", "PoohK.exe", 	 "e24d4bab978b1a5c2326d2c56cf4d781", 2688206, 800),
-	MACDEMO1("poohp", "D8 Demo", "PoohP", 		 "4ea5fc09f79eee6dded94dc40f303779", 197191, 800),
-	WINDEMO1("poohp", "D8 Demo", "PoohP.exe", 	 "e24d4bab978b1a5c2326d2c56cf4d781", 2692738, 800),
-	MACDEMO1("pooht", "D8 Demo", "PoohT",		 "4ea5fc09f79eee6dded94dc40f303779", 197191, 800),
-	WINDEMO1("pooht", "D8 Demo", "PoohT.exe", 	 "e24d4bab978b1a5c2326d2c56cf4d781", 2691062, 800),
-	MACDEMO1("poohk", "Slideshow", "sPoohK.mac", "4ea5fc09f79eee6dded94dc40f303779", 196507, 800),
-	WINDEMO1("poohk", "Slideshow", "sPoohK.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 3933055, 800),
-	WINDEMO1("poohk", "Slideshow", "PoohKD.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 5985988, 800),
+	MACDEMO1("poohp", "D8 Demo", "PoohP",		 "4ea5fc09f79eee6dded94dc40f303779", 197191,  800),
+	WINDEMO1("poohp", "D8 Demo", "PoohP.exe",	 "e24d4bab978b1a5c2326d2c56cf4d781", 2692738, 800),
 	WINDEMO1("poohp", "Slideshow", "sPoohP.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 4080558, 800),
 	WINDEMO1("poohp", "Slideshow", "PoohPD.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 6362184, 800),
+
+	WINGAME1("pooht", "", "PoohT.exe",			 "e24d4bab978b1a5c2326d2c56cf4d781", 2690898, 800),
+	MACDEMO1("pooht", "D8 Demo", "PoohT",		 "4ea5fc09f79eee6dded94dc40f303779", 197191,  800),
+	WINDEMO1("pooht", "D8 Demo", "PoohT.exe",	 "e24d4bab978b1a5c2326d2c56cf4d781", 2691062, 800),
 	WINDEMO1("pooht", "Slideshow", "PoohTD.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 5596394, 800),
 
+	MACDEMO1("poohk", "D8 Demo", "PoohK",		 "4ea5fc09f79eee6dded94dc40f303779", 196535,  800),
+	WINDEMO1("poohk", "D8 Demo", "PoohK.exe",	 "e24d4bab978b1a5c2326d2c56cf4d781", 2688206, 800),
+	MACDEMO1("poohk", "Slideshow", "sPoohK.mac", "4ea5fc09f79eee6dded94dc40f303779", 196507,  800),
+	WINDEMO1("poohk", "Slideshow", "sPoohK.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 3933055, 800),
+	WINDEMO1("poohk", "Slideshow", "PoohKD.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 5985988, 800),
+
+	MACGAME1_l("pukapukarei", "すくいゲーム", "SCOOP.x", "6731d833cdbb8ee2a2d28071ce2797ad", 197106, Common::JA_JPN, 800),
+	WINGAME1t_l("pukapukarei", "すくいゲーム", "SCOOP.EXE", "7a97c8c574bd2d8349e9cfe6f8a40c1f", 3425154, Common::JA_JPN, 800),
+	MACGAME1_l("pukapukarei", "旗揚げゲーム", "FLAG.x", "6731d833cdbb8ee2a2d28071ce2797ad", 197106, Common::JA_JPN, 800),
+	WINGAME1t_l("pukapukarei", "旗揚げゲーム", "FLAG.EXE", "93e0e69d958632547304f002ccbe6d91", 3280159, Common::JA_JPN, 800),
+	MACGAME1_l("pukapukarei", "着せ替えスロットゲーム", "SLOT.x", "6731d833cdbb8ee2a2d28071ce2797ad", 197106, Common::JA_JPN, 800),
+	WINGAME1t_l("pukapukarei", "着せ替えスロットゲーム", "SLOT.EXE", "6827304c94902bc1df1c648eed6a930a", 4056344, Common::JA_JPN, 800),
+	MACGAME1_l("pukapukarei", "観察日誌", "KANSATU.x", "6731d833cdbb8ee2a2d28071ce2797ad", 197106, Common::JA_JPN, 800),
+	WINGAME1t_l("pukapukarei", "観察日誌", "KANSATU.EXE", "8a5a18cc63e4b167593bf59370c0bc1d", 2927302, Common::JA_JPN, 800),
+	MACGAME1_l("pukapukarei", "神経衰弱", "SINKEI.x", "6731d833cdbb8ee2a2d28071ce2797ad", 197106, Common::JA_JPN, 800),
+	WINGAME1t_l("pukapukarei", "神経衰弱", "SINKEI.EXE", "b2f08d3cb8df1caea6ecccd0e9f814a1", 3128624, Common::JA_JPN, 800),
+	MACGAME1_l("pukapukarei", "着せ替えゲーム", "CHGCLOTH.x", "6731d833cdbb8ee2a2d28071ce2797ad", 197106, Common::JA_JPN, 800),
+	WINGAME1t_l("pukapukarei", "着せ替えゲーム", "CHGCLOTH.EXE", "c0f95d96a74492bf1130f5f561cf7952", 3192966, Common::JA_JPN, 800),
+
 	WINGAME1_l("ratinho", "", "ratinho.exe", "c163f36141579ee374f7b4b2bddee95a", 2119876, Common::PT_BRA, 850),
 
-	//Speeltijd met spookjes
+	// Speeltijd met spookjes
 	WINGAME2_l("recfantome", "", "Speel.exe", "2942c9272bb0f41e53f5d103af16195c", 3443389,
-			"fantome.ico", "d357185c51154ed60bb05aea3689dc60", 2238, Common::NL_NLD, 800),
+								 "fantome.ico", "d357185c51154ed60bb05aea3689dc60", 2238, Common::NL_NLD, 800),
 
 	// Playable demo for Meteor Madness and Tremor Trouble
 	MACGAME1("rh", "", "RHDemo", "08c9ea94f6469e71ae0c71987bbf6323", 155737, 850),
@@ -6567,15 +7129,16 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINDEMO1("secretkeys", "Demo", "Secret Keys Demo.exe", "0c81c84ca4966313ad27d47daba44537", 2200706, 851),
 
 	// Mac OS X executables are D9
-	MACGAME1_l("sethi2", "Classic OS", "Sethi Incas",  "41e7d3bf50e4085c35eba322aa63b238", 161027, Common::FR_FRA, 851),
-	MACGAME1_l("sethi3", "Classic OS", "Start Me OS9", "789536da81694518f494945bb161ace9", 179887, Common::DE_DEU, 851),
-	WINGAME1_l("sethi2", "", "Sethi_Incas.exe", "0c81c84ca4966313ad27d47daba44537", 2158774, Common::FR_FRA, 851),
+	MACGAME1_l("sethi2", "Classic OS", "Sethi Incas",     "41e7d3bf50e4085c35eba322aa63b238", 161027,  Common::FR_FRA, 851),
+	WINGAME1_l("sethi2", "",		   "Sethi_Incas.exe", "0c81c84ca4966313ad27d47daba44537", 2158774, Common::FR_FRA, 851),
+	MACGAME1_l("sethi3", "Classic OS", "Start Me OS9",    "789536da81694518f494945bb161ace9", 179887,  Common::DE_DEU, 851),
 
 	WINGAME1_l("skeeto10", "", "mm7main.exe", "0c81c84ca4966313ad27d47daba44537", 12051446, Common::DA_DNK, 851),
 
 	// Dutch demos found on Flipper & Lopaka compilation
 	MACGAME1_l("skippy", "",     "Skippy",      "4ea5fc09f79eee6dded94dc40f303779", 197127, Common::NL_NLD, 800),
-	MACDEMO1_l("skippy", "Demo", "Skippy Demo", "4ea5fc09f79eee6dded94dc40f303779", 197127, Common::NL_NLD, 800),
+	MACDEMO1_l("skippy", "Demo", "Skippy Demo", "4ea5fc09f79eee6dded94dc40f303779", 196871, Common::NL_NLD, 808),
+	WINDEMO1t_l("skippy", "Demo", "Skippy.exe", "e6dea6cfeca3d59e6074959b68ce6131", 56112,  Common::NL_NLD, 800),
 
 	// Loads two external Flash games and one external Director game
 	WINGAME1("smashchillin", "ECD", "Smash.exe", "c163f36141579ee374f7b4b2bddee95a", 2152147, 850),
@@ -6723,8 +7286,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Classic Mac OS and Windows executables are D8
 	MACGAME1_l("sethi2", "OS X", "Sethi Incas",	 "d483e955df901222145267d2ad729ea2", 233556, Common::FR_FRA, 900),
 	MACGAME1_l("sethi3", "OS X", "Start Me OSX", "d483e955df901222145267d2ad729ea2", 229696, Common::DE_DEU, 900),
-	WINGAME2_l("sethi3", "", "StartMe.exe", 	 "c612aa43e7ef55aa4fd2e1085fb1ef7a", 2186964,
-							 "StartMe.dxr", 	 "55248d9db7aa326eb740b2532ba83252", 15584, Common::DE_DEU, 900),
+	WINGAME2_l("sethi3", "", "StartMe.exe",		 "c612aa43e7ef55aa4fd2e1085fb1ef7a", 2186964,
+							 "StartMe.dxr",		 "55248d9db7aa326eb740b2532ba83252", 15584, Common::DE_DEU, 900),
 
 	WINGAME1("stalker", "Press Kit", "Stalker.exe", "c612aa43e7ef55aa4fd2e1085fb1ef7a", 55314588, 900),
 
@@ -6761,7 +7324,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Game description is based on desktop shortcut after installation
 	WINGAME1("aolstarwars", "", "STARWARS.EXE", "bcf64185ce848b7b70858d62945f48a8", 25472412, 1010),
 
-	MACGAME1("babarcoins", "", "Mac.osx", 		"a171b7a952d1ac68ae3cd419d6dfc674", 309249, 1010),
+	MACGAME1("babarcoins", "", "Mac.osx",		"a171b7a952d1ac68ae3cd419d6dfc674", 309249, 1010),
 	WINGAME2("babarcoins", "", "Start.exe",		"b198e9bf56c679747e4fd0972d5ba7b7", 2659300,
 							   "ba-01_A01.dxr", "cb38821091082aeb097e88551b791e05", 9946435, 1010),
 
@@ -6776,7 +7339,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// CD02 and CD13 are D8 for Windows and D10 for Mac
 	// Several discs contain mini-games using Flash Player (v6,v7,v8)
 	MACGAME1("girlsaloudbox", "CD02 No Good Advice",					"OSX",				   "666bfa2ee1ae12443ce06f5dd142502b", 331558, 1000),
-	MACGAME1("girlsaloudbox", "CD06 Love Machine (Classic)",			"ECD.classic", 		   "670b37815e4e3f61b7af77cc676a791c", 259405, 1000),
+	MACGAME1("girlsaloudbox", "CD06 Love Machine (Classic)",			"ECD.classic",		   "670b37815e4e3f61b7af77cc676a791c", 259405, 1000),
 	MACGAME1("girlsaloudbox", "CD06 Love Machine (OS X)",				"ECD.osx",			   "666bfa2ee1ae12443ce06f5dd142502b", 309243, 1000),
 	WINGAME2("girlsaloudbox", "CD06 Love Machine",						"start.exe",		   "827e5af88f4c096652a1523dc28c9bf4", 8376442,
 																		"GirlsAloud.mov",	   "1b689c2002aa2397fde706f197aa11d1", 47282498, 1000),
@@ -6784,7 +7347,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("girlsaloudbox", "CD07 I'll Stand By You (OS X)",			"ECD.osx",			   "666bfa2ee1ae12443ce06f5dd142502b", 310246, 1000),
 	WINGAME2("girlsaloudbox", "CD07 I'll Stand By You",					"start.exe",		   "827e5af88f4c096652a1523dc28c9bf4", 8830599,
 																		"Stand Final.mov",	   "823208f98b99ba3a4987e3085dfd624f", 44262711, 1000),
-	MACGAME1("girlsaloudbox", "CD08 Wake Me Up (Classic)",				"ECD.classic", 		   "670b37815e4e3f61b7af77cc676a791c", 258001, 1000),
+	MACGAME1("girlsaloudbox", "CD08 Wake Me Up (Classic)",				"ECD.classic",		   "670b37815e4e3f61b7af77cc676a791c", 258001, 1000),
 	MACGAME1("girlsaloudbox", "CD08 Wake Me Up (OS X)",					"ECD.osx",			   "666bfa2ee1ae12443ce06f5dd142502b", 307842, 1000),
 	WINGAME2("girlsaloudbox", "CD08 Wake Me Up",						"start.exe",		   "827e5af88f4c096652a1523dc28c9bf4", 7455567,
 																		"Girls AloudWake.mov", "a70ba1e1e16cbf213a6155485533495e", 52371605, 1000),
@@ -6804,27 +7367,27 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("girlsaloudbox", "CD12 Whole Lotta History (OS X)",		"Click Me.osx",		   "666bfa2ee1ae12443ce06f5dd142502b", 296928, 1000),
 	WINGAME2("girlsaloudbox", "CD12 Whole Lotta History",				"start.exe",		   "827e5af88f4c096652a1523dc28c9bf4", 8680437,
 																		"GIRLS ALOUD.mov",	   "0897d41deb1a044243238bb692933226", 58160086, 1000),
-	MACGAME1("girlsaloudbox", "CD13 Something Kinda Ooooh (Classic)", 	"Click Me os9",		   "08c9ea94f6469e71ae0c71987bbf6323", 191649, 1000),
+	MACGAME1("girlsaloudbox", "CD13 Something Kinda Ooooh (Classic)",	"Click Me os9",		   "08c9ea94f6469e71ae0c71987bbf6323", 191649, 1000),
 	MACGAME1("girlsaloudbox", "CD13 Something Kinda Ooooh (OS X)",		"Click Me.osx",		   "666bfa2ee1ae12443ce06f5dd142502b", 297908, 1000),
 	MACGAME1("girlsaloudbox", "CD14 I Think We're Alone Now (Classic)",	"ECD.classic",		   "670b37815e4e3f61b7af77cc676a791c", 248015, 1000),
 	MACGAME1("girlsaloudbox", "CD14 I Think We're Alone Now (OS X)",	"ECD.osx",			   "666bfa2ee1ae12443ce06f5dd142502b", 297853, 1000),
 	WINGAME2("girlsaloudbox", "CD14 I Think We're Alone Now",			"START.EXE",		   "827e5af88f4c096652a1523dc28c9bf4", 5480254,
 																		"girls.mov",		   "055c7cdf5708c24861e8e9d856e7a4b3", 58248141, 1000),
-	MACGAME1("girlsaloudbox", "CD15 Walk This Way (Classic)", 			"ECD.classic", 		   "670b37815e4e3f61b7af77cc676a791c", 242326, 1000),
+	MACGAME1("girlsaloudbox", "CD15 Walk This Way (Classic)",			"ECD.classic",		   "670b37815e4e3f61b7af77cc676a791c", 242326, 1000),
 	MACGAME1("girlsaloudbox", "CD15 Walk This Way (OS X)",				"ECD.osx",			   "666bfa2ee1ae12443ce06f5dd142502b", 292174, 1000),
 	WINGAME2("girlsaloudbox", "CD15 Walk This Way",						"start.exe",		   "827e5af88f4c096652a1523dc28c9bf4", 5405872,
 																		"walk.mov",			   "546eb2b6de937674e47d20ad406e4ad3", 49937425, 1000),
-	MACGAME1("girlsaloudbox", "CD16 Sexy! No No No ... (Classic)",		"ECD.classic", 		   "670b37815e4e3f61b7af77cc676a791c", 257648, 1000),
+	MACGAME1("girlsaloudbox", "CD16 Sexy! No No No ... (Classic)",		"ECD.classic",		   "670b37815e4e3f61b7af77cc676a791c", 257648, 1000),
 	MACGAME1("girlsaloudbox", "CD16 Sexy! No No No ... (OS X)",			"ECD.osx",			   "666bfa2ee1ae12443ce06f5dd142502b", 307486, 1000),
 	WINGAME2("girlsaloudbox", "CD16 Sexy! No No No ...",				"start.exe",		   "827e5af88f4c096652a1523dc28c9bf4", 7730270,
 																		"Girls.mov",		   "9148a343290835d87dc297bb10d13c78", 52424731, 1000),
-	MACGAME1("girlsaloudbox", "CD17 Call the Shots (Classic)", 			"ECD.classic", 		   "670b37815e4e3f61b7af77cc676a791c", 256127, 1000),
+	MACGAME1("girlsaloudbox", "CD17 Call the Shots (Classic)",			"ECD.classic",		   "670b37815e4e3f61b7af77cc676a791c", 256127, 1000),
 	MACGAME1("girlsaloudbox", "CD17 Call the Shots (OS X)",				"ECD.osx",			   "666bfa2ee1ae12443ce06f5dd142502b", 305965, 1000),
-	WINGAME2("girlsaloudbox", "CD17 Call the Shots", 					"START.EXE", 		   "827e5af88f4c096652a1523dc28c9bf4", 6006160,
+	WINGAME2("girlsaloudbox", "CD17 Call the Shots",					"START.EXE",		   "827e5af88f4c096652a1523dc28c9bf4", 6006160,
 																		"Girls.mov",		   "b16ea946f4e3096eb2485345fe8899c9", 59580337, 1000),
-	MACGAME1("girlsaloudbox", "CD18 Can't Speak French (Classic)", 		"ECD.classic", 		   "670b37815e4e3f61b7af77cc676a791c", 258680, 1000),
+	MACGAME1("girlsaloudbox", "CD18 Can't Speak French (Classic)",		"ECD.classic",		   "670b37815e4e3f61b7af77cc676a791c", 258680, 1000),
 	MACGAME1("girlsaloudbox", "CD18 Can't Speak French (OS X)",			"ECD.osx",			   "666bfa2ee1ae12443ce06f5dd142502b", 308520, 1000),
-	WINGAME2("girlsaloudbox", "CD18 Can't Speak French", 				"START.EXE", 		   "827e5af88f4c096652a1523dc28c9bf4", 8080898,
+	WINGAME2("girlsaloudbox", "CD18 Can't Speak French",				"START.EXE",		   "827e5af88f4c096652a1523dc28c9bf4", 8080898,
 																		"french.mov",		   "b64f3b5aaa44dcd3037f01d4f687e072", 53929555, 1000),
 
 	WINGAME2("jsworldp", "",		 "LearnGameLaunch.exe", "7c71b8b5f156d1ee56ca0f9624dec827", 4627915,
@@ -6832,9 +7395,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME2("jsworldk", "",		 "LearnGameLaunch.exe", "7c71b8b5f156d1ee56ca0f9624dec827", 4627885,
 									 "LevelData.utd",		"961040b538e8e70affbc54d152de9207", 756700, 1000),
 	WINGAME2("jsworld1", "v1.0.4.0", "LearnGameLaunch.exe", "7c71b8b5f156d1ee56ca0f9624dec827", 4627885,
-									 "LevelData.utd", 		"b87a40b62d5f239f6424203bbb35cc4c", 767880, 1000),
+									 "LevelData.utd",		"b87a40b62d5f239f6424203bbb35cc4c", 767880, 1000),
 	WINGAME2("jsworld1", "v1.0.7.0", "LearnGameLaunch.exe", "7c71b8b5f156d1ee56ca0f9624dec827", 4627885,
-									 "LevelData.utd", 		"04e96ad6119b400c861c188a50d846df", 767904, 1000),
+									 "LevelData.utd",		"04e96ad6119b400c861c188a50d846df", 767904, 1000),
 	WINGAME2("jsworld1t", "",		 "TeacherPanel.exe",	"bcf64185ce848b7b70858d62945f48a8", 3142911,
 									 "TeacherHub.dcr",		"d6b0f959196e656d50c1f6cbf16e1041", 270405, 1000),
 	WINGAME2("jsworld2", "",		 "LearnGameLaunch.exe", "7c71b8b5f156d1ee56ca0f9624dec827", 4627885,
@@ -6856,6 +7419,13 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("miamath", "OS X", "MiaOSX", "666bfa2ee1ae12443ce06f5dd142502b", 53741, 1000),
 	WINGAME1("miamath", "", "MiaMath.exe", "0c25e89b5084b272f0eab7827b6e411a", 2671820, 1000),
 
+	// Requires installation
+	// Pingu 2: Pret op de zuidpool
+	//  {"data1.hdr", "868d25f9dc920d792bf982a5ddec4995", 13555},
+	//  {"data1.cab", "1dc04d85f0450a9bc3c287c4872f05e5", 480005},
+	//  {"data2.cab", "123bd61e8e5ddcc18a1c9893a064ccd2", 2849027},
+	WINGAME1t_l("pingu2", "", "Pingu.exe", "363d974c5fb230311628ea3f36fbdead", 2765844, Common::NL_NLD, 1010),
+
 	// Found on AOL 9.0 trial CD
 	WINGAME1("seinfeldondvd", "", "SEINFELD.EXE", "827e5af88f4c096652a1523dc28c9bf4", 3572626, 1000),
 
@@ -6865,6 +7435,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("shellwhirl", "", "Shell Whirl", "a171b7a952d1ac68ae3cd419d6dfc674", 313545, 1010),
 	WINGAME1("shellwhirl", "", "Shell Whirl.exe", "bcf64185ce848b7b70858d62945f48a8", 3779090, 1010),
 
+	// 2006 remaster originally released on GameTap, also released on Steam
+	WINGAME1t("spelunx", "", "Spelunx.exe", "965e31ec421fa6dfe8ea157ef38ebd42", 2800981, 1010),
+
 	WINDEMO1_l("tokimemotypegs", "Demo", "tkmkgstype.exe", "1d1646000633ab994404ac38fb350553", 2716404, Common::JA_JPN, 1000),
 
 //////////////////////////////////////////////////
@@ -6876,60 +7449,197 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("mentalmaths", "", "Mental Maths.exe", "b162d633891f0ab2e2fc6ba6164df337", 5017068, 1100),
 
 
+//////////////////////////////////////////////////
+//
 // Not supported
+//
+//////////////////////////////////////////////////
+
+// MacroMind VideoWorks Player 1.00 (pre-director)
+	// Touring Engine Ver 1.00. Original filename is MacPlaymateâ„¢
+	MACGAME1("macplaymate1", "", "MacPlaymate", "4bdad2173d739dcaca1241afe88c7aef", 33851, 0),
+
+// MacroMind Director v2
+	MACGAME1("macplaymate2", "", "MacPlaymate II", "cfa68a1bc49251497ebde18e5fc9c217", 822229, 200),
+
+// MacroMind / Macromedia Director v3
+	MACGAME1_l("dancinggals", "", "DANCING GALS", "f5277c53bacd27936158dd3867e587e2", 392229, Common::JA_JPN, 311),
+	WINGAME1t_l("dancinggals", "", "DANCING.EXE", "3d061123bdcb50637ee792fd5322ad8e", 375294, Common::JA_JPN, 300),
+
+	MACGAME1_l("asshall", "", "ASSHALL", "7f443f2e63fd497a9ad85b10dc880a91", 843334, Common::JA_JPN, 313),
+
+	// Found on NeuroDancer, #3 is D4
+	WINGAME1t("digerotica", "#2", "CATALOG.EXE", "3efa3f7d66cc81dd7170354305c24726", 2576067, 300),
+
+	MACDEMO2_l("digitalogue", "Preview", "PREVIEW",   "f5277c53bacd27936158dd3867e587e2", 392506,
+										 "preview-1", "71f28684bafe3195685cf8b7a6c674d9", 1294330, Common::JA_JPN, 311),
 
-	MACGAME1("busty3", 		  "", 		 "Busty III Slide Viewer", "1682231de376e5465240f6e4a7952072", 289980, 400),
-	MACGAME1("busty4", 		  "", 		 "Busty 4",				   "d35d3bb2e79e008e6bd9af62d099344f", 483746, 404),
-	WINGAME1("busty3", 		  "", 		 "BUSTY3.EXE",			   "07c20a266c2fd9d35960a7ce413cfedf", 4293647, 400),
-	WINGAME1("busty4", 		  "",		 "BUSTY4.EXE",			   "09d32c60f12c76c6d1d0f3d2d5593e44", 1569431, 404),
-	MACDEMO2_l("digitalogue", "Preview", "PREVIEW",   			   "f5277c53bacd27936158dd3867e587e2", 392506,
-										 "preview-1",			   "71f28684bafe3195685cf8b7a6c674d9", 1294330, Common::JA_JPN, 311),
 	MACGAME1_l("dmpgallery",  "Vol.1",   "Gallery vol.1",		   "a03ae8a9bf211bcb26388b6b6da17c2b", 7522802, Common::JA_JPN, 311),
 	MACGAME1_l("dmpgallery",  "Vol.2",   "Gallery vol.2",		   "f5277c53bacd27936158dd3867e587e2", 1941814, Common::JA_JPN, 311),
 	MACGAME1_l("dmpgallery",  "Vol.3",   "Gallery vol.3",		   "f5277c53bacd27936158dd3867e587e2", 2913247, Common::JA_JPN, 311),
 
-	// Original Mac filename is Fischer's Erotic Encyclopœdia
-	MACGAME1("eros", "", "Fischer's Erotic Encyclopedia", "0c7bbb4b24823e5ab871cb4c1d6f3710", 486982, 404),
-	WINGAME1("eros", "", "EROS.EXE", "714d53f8cfbb6a8bb22e535978af6278", 690595, 404),
+	MACGAME1("dream1", "", "xn--DREAM.13-ra44a", "2ce360c9ea2da80a2c6d1040b0ad92dd", 580694, 310),
+	WINGAME1("dream1", "", "PLAYER.EXE", "2e5713cd0e39c6bb9dc9292e552f88be", 58000, 310),
 
 	// Original filename is ギルガメSDガイ
 	MACDEMO1_l("gilgameshnite", "Demo", "Gilgamesh SD Guide", "f5277c53bacd27936158dd3867e587e2", 1173668, Common::JA_JPN, 311),
 
 	// Original filename is ヘルムト・ニュートン & 石田えり
 	MACDEMO1_l("immorale", "Demo", "Helmut Newton & Eri Ishida", "f5277c53bacd27936158dd3867e587e2", 390241, Common::JA_JPN, 311),
-	MACGAME1("isswim98", "",	   "Inside Sports Swimsuit 98",	 "4577dd3eadc467a986ab172d90871b22", 304156, 404),
-	WINGAME1("isswim98", "",	   "ISSWIM98.EXE",				 "24de9da2e30d07ba98d2fd6259afd16c", 753801, 404),
+
+	MACGAME1("isswim98", "", "Inside Sports Swimsuit 98", "4577dd3eadc467a986ab172d90871b22", 304156, 404),
+	WINGAME1("isswim98", "", "ISSWIM98.EXE",			  "24de9da2e30d07ba98d2fd6259afd16c", 753801, 404),
 
 	// Photography disc published by The One Corporation
-	MACDEMO1_l("labyrinth",		   "Demonstration Version",		 "Labyrinth_Demo", "276bee761e48a6fd709df77d5c2f60dd", 395949, Common::JA_JPN, 313),
+	MACDEMO1_l("labyrinth", "Demonstration Version", "Labyrinth_Demo", "276bee761e48a6fd709df77d5c2f60dd", 395949, Common::JA_JPN, 313),
 
-	MACDEMO1_l("legs", "Demo",	   "LEGS Vol.1",				 "f5277c53bacd27936158dd3867e587e2", 547761, Common::JA_JPN, 311),
-	MACDEMO1_l("legs", "Demo",	   "LEGS Vol.1",				 "f5277c53bacd27936158dd3867e587e2", 547752, Common::JA_JPN, 311),
+	MACDEMO1_l("legs", "Demo", "LEGS Vol.1", "f5277c53bacd27936158dd3867e587e2", 547761, Common::JA_JPN, 311),
+	MACDEMO1_l("legs", "Demo", "LEGS Vol.1", "f5277c53bacd27936158dd3867e587e2", 547752, Common::JA_JPN, 311),
+
+	// Mac also has an 8-bit color binary. Win is limited to 8-bit color in D3.
+	// Original filename is NeuroDancerâ„¢ 16-bit
+	MACGAME1("neurodancer",  "",			  "xn--NeuroDancer 16-bit-mu3k", "2ce360c9ea2da80a2c6d1040b0ad92dd", 1793375, 300),
+	WINGAME1t("neurodancer", "",			  "ND.EXE",						 "151008e1188f77c69f336a92b8cc59aa", 457981,  300),
+	MACGAME1("neurodancer",  "Online Manual", "NeuroDancer Online Manual",	 "2ce360c9ea2da80a2c6d1040b0ad92dd", 1237129, 300),
+	WINGAME1t("neurodancer", "Online Manual", "NDMAN.EXE",					 "58fdb03893ba8daa2f45789122c954ef", 1450997,  300),
+
+	// SPR-304  SPICE Vol.4
+	// MACGAME1_l("scop", "", "SCOP.SYSTEM/PROJ.SCOP", "276bee761e48a6fd709df77d5c2f60dd", 392502, Common::JA_JPN, 313),
+	MACGAME1_l("scop", "", "SCOP.SYSTEM/MAIN", "d315ad4319994f24cbbb251b44074270", 546587, Common::JA_JPN, 313),
+
+	// Original filename is ビーナスの美女のデモ
+	MACDEMO1("venus", "Demo", "Venus no Bijo Demo", "1ae45c23586b41997ba52e2e7c771c4c", 3333366, 310),
+
+	MACGAME1("vvalerie1", "", "VV", "d830c8fa306d1bd501fbedf1cf9dd57a", 707189, 310),
+
+	MACDEMO1("vpeepshow", "Demo", "Virtual PeepShow", "f5277c53bacd27936158dd3867e587e2", 425489, 311),
+
+// Macromedia Director v4
+	MACGAME2_l("bigcock1", "", "BIG COCK", "3932917741b888f4a112e3d76f36e225", 484075,
+							   "MOVIE/AMAZO.MOV", "393fa4ff918904ff62c5b386089acf33", 21351, Common::JA_JPN, 400),
+	WINGAME2t_l("bigcock1", "", "BIGCOCK.EXE", "48ebcc298c2972e056a27710050fe13e", 749221,
+								"MOVIE/AMAZO.MOV", "c9e67d19b6e7f708d661597e6d439d83", 30303272, Common::JA_JPN, 404),
+
+	MACGAME2_l("bigcock2", "", "BIGCOCK2", "ca6acce404fea312d146cc9a94456375", 483030,
+							   "MOVIE/BLOGO.MOV", "d885f4dcd5d31ead2f546b1c98b9997a", 4012438, Common::JA_JPN, 404),
+	WINGAME2t_l("bigcock2", "", "BIGCOCK2.EXE", "46a12a665f6a058eb729b8260b16b725", 748641,
+								"MOVIE/BLOGO.MOV", "96274dd7f722a9f2cbd65ac83b18a2fe", 4012438, Common::JA_JPN, 404),
+
+	MACGAME2_l("bigcock3", "", "BIGCOCK3", "51ec8c731efe999de77c95db1a579f91", 483030,
+							   "MOVIE/BX.MOV", "d0666e9d05dfbf01b8d35ce437836f85", 1119557, Common::JA_JPN, 404),
+	WINGAME2t_l("bigcock3", "", "BIGCOCK3.EXE", "46a12a665f6a058eb729b8260b16b725", 748641,
+								"MOVIE/BX.MOV", "d8c9e19f1c50e38c834a4c498d24ba57", 1119557, Common::JA_JPN, 404),
+
+	MACGAME2_l("bigcock5", "", "BigCock5", "0c7bbb4b24823e5ab871cb4c1d6f3710", 484095,
+							   "AS BigCock5", "4ea78c5136f20d865292934af5df5619", 235552, Common::JA_JPN, 404),
+	WINGAME2t_l("bigcock5", "", "BIGCOCK5.EXE", "b7e61b448b7e8b1c202126c053e5a00d", 741583,
+								"A/A0000.DXR", "4f7aadc40879e61ef0e0229c4284650e", 5292, Common::JA_JPN, 404),
+
+	MACGAME2_l("bigcock6", "", "BIGCOCK6", "0c7bbb4b24823e5ab871cb4c1d6f3710", 484095,
+							   "AS bigcock", "77e39fa41c7e5043afaef58277c54c5c", 104463, Common::JA_JPN, 404),
+	WINGAME2t_l("bigcock6", "", "BIGCOCK6.EXE", "b7e61b448b7e8b1c202126c053e5a00d", 741583,
+								"B/B1200.DXR", "bc440fbb7953feaf6900e71f4196e6ca", 1197082, Common::JA_JPN, 404),
+
+	MACGAME1("busty3", "", "Busty III Slide Viewer", "1682231de376e5465240f6e4a7952072", 289980, 400),
+	WINGAME1("busty3", "", "BUSTY3.EXE",			   "07c20a266c2fd9d35960a7ce413cfedf", 4293647, 400),
+
+	MACGAME1("busty4", "", "Busty 4",				   "d35d3bb2e79e008e6bd9af62d099344f", 483746, 404),
+	WINGAME1("busty4", "", "BUSTY4.EXE",			   "09d32c60f12c76c6d1d0f3d2d5593e44", 1569431, 404),
+
+	// Found on NeuroDancer, also available as its own disc
+	MACGAME1("digerotica", "#3", "SAMPLER 3",	  "77f4098988d5386794d1530065f514cd", 303912,  404),
+	WINGAME1t("digerotica", "#3", "SAMPLER3.EXE", "401f999fc67e9728cc857afc1badef8f", 8467883, 404),
+
+	// Original Mac filename is Fischer's Erotic Encyclopœdia
+	MACGAME1("eros", "", "Fischer's Erotic Encyclopedia", "0c7bbb4b24823e5ab871cb4c1d6f3710", 486982, 404),
+	WINGAME1("eros", "", "EROS.EXE",					  "714d53f8cfbb6a8bb22e535978af6278", 690595, 404),
+
+	MACGAME1("isswim98", "", "Inside Sports Swimsuit 98", "4577dd3eadc467a986ab172d90871b22", 304156, 404),
+	WINGAME1("isswim98", "", "ISSWIM98.EXE",			  "24de9da2e30d07ba98d2fd6259afd16c", 753801, 404),
+
+	MACGAME1_l("pinkmouse", "", "P_mouse", "bcd3c718db258701496b3c5bcb827ef2", 483159, Common::JA_JPN, 404),
+	WINGAME1t_l("pinkmouse", "", "PMOUSE.EXE", "63174044115d74712ca7454bfff98afd", 684149, Common::JA_JPN, 404),
+
+	WINGAME1t_l("historiapoca", "", "POCA.EXE", "ec6b23cf02a45199f6b5287fcff935fb", 13881713, Common::PT_BRA, 400),
+
+	MACGAME1("sororitystwrdss", "", "SORORITY STEWARDESSES", "0c7bbb4b24823e5ab871cb4c1d6f3710", 483490, 404),
+	WINGAME1t("sororitystwrdss", "", "SORORITY.EXE", "0aa0c9e9ba383fa1e6825d4561c238b1", 1646273, 404),
+
+	MACDEMO2_l("thebody", "Demo", "DEMO",	   "bcd3c718db258701496b3c5bcb827ef2", 484323,
+								  "START.DIR", "beeb32cacc5108838a8b5c6850275b86", 7342, Common::JA_JPN, 404),
+	WINDEMO2_l("thebody", "Demo", "DEMO.EXE",  "763f360a098cf3bec7cbdc5685b1e4a3", 1193483,
+								  "START.DIR", "dd60f73a3c0590754b07e0cee4ec2921", 7206, Common::JA_JPN, 404),
+
+	MACGAME1_l("vvaleriedc", "", "Valerie", "9e3f05103eeb6b4b356e3c7c1e9b6802", 288134, Common::JA_JPN, 402),
+
+	MACGAME1("vvalerie2", "", "VV2",		  "98229e39001a22ec1cfeb8f124c28483", 307427, 400),
+	WINGAME1("vvalerie2", "", "VALERIE2.EXE", "e11ef9aad93815eaacfad6fa6a427c6b", 686367, 400),
+
+	MACGAME1("vsex1", "", "Virtual Sex Power Mac", "db9b7f11aea52a294d2986a94a184000", 60096, 404),
+	WINGAME1t("vsex1", "", "VIRTUAL.EXE", "2bb142d53403c61438affdb5d954b3ae", 10350653, 404),
+
+	MACGAME1("vsex2", "", "Virtual Sex II", "a8e65a2268226bd59f12ebdc58a221f3", 483518, 404),
+	WINGAME1("vsex2", "", "VIRTUAL.EXE", "cf056a922edc435507f1a223cbf1cb3b", 12084517, 404),
+
+// Macromedia Director v5
+	MACGAME1("cyberphoto", "", "Cyber Photographer", "9fbd2e99a6a23933083ba0934e4a7d01", 705313, 500),
+	MACGAME1("cyberphoto", "CyberPrintshop", "Cyber Printshop", "9fbd2e99a6a23933083ba0934e4a7d01", 705313, 500),
+	WINGAME1t("cyberphoto", "", "CYBER.EXE", "ebd865feed5683e65c6fa47b5fcd3a0b", 2172413, 500),
+	WINGAME1t("cyberphoto", "CyberPrintshop", "CYBERP.EXE", "ebd865feed5683e65c6fa47b5fcd3a0b", 2172571, 500),
+
+	WINGAME1t("dmj5", "", "dmj32.exe", "14faa2408e90bef3aa5cfde2f44d5781", 1448701, 501),
+	MACGAME2("dmj5", "", "PowerPC", "6710977cfafc46ebe050897e01719f89", 107863,
+						 "pc/intros.dxr", "8c00de08fb4e67d41fe8cf7460c4bf61", 498546, 501),
+
+	WINGAME1("dream2", "", "Dm2win95.exe", "2e62abdad839e42068afdcd0644d7dcf", 6213931, 500),
+
+	MACGAME2("houseparty", "", "PPC Mac", "6710977cfafc46ebe050897e01719f89", 106955,
+							   "Pc/intro.Dxr", "7baf18aedf9b59a44cd9f1ceed435dd9", 3789638, 501),
+	WINGAME1t("houseparty", "", "HP32.EXE", "2791eaf410352fbc2ab7030c83c35161", 1393989, 500),
+
+	MACGAME2("nightnurses", "", "PPC Mac", "6710977cfafc46ebe050897e01719f89", 107863,
+								"pc/nurses.Dxr", "00ec56fe938980c739a661b3f723b3b1", 91178, 501),
+	WINGAME2t("nightnurses", "", "32bits.exe", "e043dc8ad875ea72fee9664922574d88", 1849567,
+								 "nurses.Dxr", "a9285ccae77711201d1f2b389a06dd07", 91178, 501),
+
+	MACGAME2_l("bigcock7", "", "BIGCOCK", "06ed90580400cd9e263525f84c8075fd", 705417,
+							   "AS BIGCOCK", "ab31f405fb7cdd5a8d90628740a0d409", 105528, Common::JA_JPN, 505),
+	WINGAME2t_l("bigcock7", "", "BC7_95.EXE", "89714fff29e2c8aae2a1ebe8a7ba2d7d", 1410912,
+								"BC7_31.EXE", "6a1ac15f34cc0fac822f6dddd789df3d", 932878, Common::JA_JPN, 501),
+
+	MACGAME2_l("bigcock8", "", "BIGCOCK", "06ed90580400cd9e263525f84c8075fd", 705417,
+							   "main.dxr", "f939a51f59d313a3d6eef2e5ac14331e", 3690656, Common::JA_JPN, 505),
+	WINGAME2t_l("bigcock8", "", "BIGCOCK.EXE", "89714fff29e2c8aae2a1ebe8a7ba2d7d", 1410912,
+								"MAIN.DXR", "7995e1c03fb763e1b4d766f142b88a8b", 3690656, Common::JA_JPN, 501),
+
+	WINGAME1t("sadowar", "v1.1", "RSP.EXE", "bc4b1010bb4f05d2d4789f6eb3e13b04", 1393989, 500),
+
+	MACGAME1("shock", "", "PPC SHOCK", "6710977cfafc46ebe050897e01719f89", 106955, 501),
+	WINGAME2t("shock", "", "32BIT.EXE", "2791eaf410352fbc2ab7030c83c35161", 1393989,
+						   "SHOCK.DXR", "c6509da8399739df5966d2933da0b33e", 163310, 501),
 
-	// Touring Engine Ver 1.00. Original filename is MacPlaymateâ„¢
-	MACGAME1("macplaymate1", "",  "MacPlaymate",	 "4bdad2173d739dcaca1241afe88c7aef", 33851, 0),
-	MACGAME1("macplaymate2", "",  "MacPlaymate II",	 "cfa68a1bc49251497ebde18e5fc9c217", 822229, 200),
-	MACGAME1("pbvv", "",		  "Playboy",		 "f26885badb07dcf3a79defda517d4ddb", 1032662, 602),
-	WINGAME1("pbvv", "",		  "PBVV95.EXE",		 "a593079aecf5bd938ce75264cac24b2d", 1700279, 600),
-	MACGAME1("playmate1999", "",  "Playboy PowerPC", "63e8b9f6744efefbb8a004a2b76e2b1d", 116023, 650),
-	WINGAME1("playmate1999", "",  "PB95.exe",		 "d62438566e44826960fc16c5c23dbe43", 1710252, 650),
-	WINGAME1("sadowar", "v1.1",	  "RSP.EXE",		 "3460ad87d2ba57104e2810a77b53c220", 1393989, 500),
-	MACDEMO2_l("thebody", "Demo", "DEMO", 			 "bcd3c718db258701496b3c5bcb827ef2", 484323,
-								  "START.DIR",		 "beeb32cacc5108838a8b5c6850275b86", 7342, Common::JA_JPN, 404),
-	WINDEMO2_l("thebody", "Demo", "DEMO.EXE",		 "763f360a098cf3bec7cbdc5685b1e4a3", 1193483,
-								  "START.DIR",		 "dd60f73a3c0590754b07e0cee4ec2921", 7206, Common::JA_JPN, 404),
 	WINDEMO2_l("thelegs", "8-bit Color Demo",  "S.EXE",		  "c3c38bd3907ca7e13220b74bd0317a6c", 1013279,
 											   "START8.DIR",  "ed4bfebf096a195ae68db0fe7ba999cc", 4812, Common::JA_JPN, 500),
 	WINDEMO2_l("thelegs", "16-bit Color Demo", "S.EXE",		  "1c654e09938e5a27f694e694aca13833", 1387193,
 											   "START16.DIR", "1b42803d81028c827022eb08e00616b0", 4942, Common::JA_JPN, 500),
 
-	// Original filename is ビーナスの美女のデモ
-	MACDEMO1("venus", 	  "Demo", "Venus no Bijo Demo", "1ae45c23586b41997ba52e2e7c771c4c", 3333366, 310),
-	MACGAME1("vvalerie1", "",	  "VV",					"d830c8fa306d1bd501fbedf1cf9dd57a", 707189, 310),
-	MACGAME1("vvalerie2", "",	  "VV2", 				"98229e39001a22ec1cfeb8f124c28483", 307427, 400),
-	WINGAME1("vvalerie2", "",	  "VALERIE2.EXE",		"e11ef9aad93815eaacfad6fa6a427c6b", 686367, 400),
-	MACGAME1("vveronika", "",	  "Veronika",			"43e89a8298b7dc638e2d6939fadc5234", 94329, 500),
-	MACDEMO1("vpeepshow", "Demo", "Virtual PeepShow",	"f5277c53bacd27936158dd3867e587e2", 425489, 311),
+	MACGAME1_l("timewarp", "",  "Time Warp", "80d51128cda4f75986e2e00e110b26f3", 705445, Common::DE_DEU, 500),
+	WINGAME2t_l("timewarp", "", "START32.EXE", "13fa7fd5d46ec8f5a44fecef77e27962", 1855247,
+								"TIMEWARP/INTRO.DXR", "18e309348235ac467f103d80dcea13ee", 2498042, Common::DE_DEU, 501),
+
+	MACGAME1("vsexasia", "", "Virtual Sex with Asia", "f3817a8eca9efb143a23b76525dedfa9", 744578, 501),
+	WINGAME1t("vsexasia", "", "ASIA32.EXE", "686e9ceb9d2bceae861eac37d0f67653", 1397213, 501),
+
+	MACGAME1("vveronika", "", "Veronika", "43e89a8298b7dc638e2d6939fadc5234", 94329, 500),
+
+// Macromedia Director v6
+	WINGAME1t("csa", "", "csa.exe", "6f7adaaba3ad2302987d5cf3299f94bb", 5512394, 600),
+
+	MACGAME1("pbvv", "", "Playboy",	   "f26885badb07dcf3a79defda517d4ddb", 1032662, 602),
+	WINGAME1("pbvv", "", "PBVV95.EXE", "a593079aecf5bd938ce75264cac24b2d", 1700279, 600),
+
+	MACGAME1("playmate1999", "", "Playboy PowerPC", "63e8b9f6744efefbb8a004a2b76e2b1d", 116023,  650),
+	WINGAME1("playmate1999", "", "PB95.exe",		"d62438566e44826960fc16c5c23dbe43", 1710252, 650),
 
 	{ AD_TABLE_END_MARKER, GID_GENERIC, 0 }
 


Commit: 356e1264dfadc070c23b2b4a8e46e6e1b2fd90d8
    https://github.com/scummvm/scummvm/commit/356e1264dfadc070c23b2b4a8e46e6e1b2fd90d8
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2022-06-22T23:38:15+02:00

Commit Message:
DIRECTOR: Add stubbed AppleCD, Barake, JITDraw3 and MiscX XObjs; add more functions to memoryxobj and flushxobj

Changed paths:
  A engines/director/lingo/xlibs/applecdxobj.cpp
  A engines/director/lingo/xlibs/applecdxobj.h
  A engines/director/lingo/xlibs/barakeobj.cpp
  A engines/director/lingo/xlibs/barakeobj.h
  A engines/director/lingo/xlibs/jitdraw3.cpp
  A engines/director/lingo/xlibs/jitdraw3.h
  A engines/director/lingo/xlibs/miscx.cpp
  A engines/director/lingo/xlibs/miscx.h
    engines/director/lingo/lingo-object.cpp
    engines/director/lingo/xlibs/flushxobj.cpp
    engines/director/lingo/xlibs/memoryxobj.cpp
    engines/director/lingo/xlibs/winxobj.cpp
    engines/director/lingo/xlibs/winxobj.h
    engines/director/module.mk


diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 31ff16b8e63..b5f8d9e8734 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -37,14 +37,18 @@
 #include "director/lingo/lingo-the.h"
 
 #include "director/lingo/xlibs/aiff.h"
+#include "director/lingo/xlibs/applecdxobj.h"
+#include "director/lingo/xlibs/barakeobj.h"
 #include "director/lingo/xlibs/cdromxobj.h"
 #include "director/lingo/xlibs/fileio.h"
 #include "director/lingo/xlibs/flushxobj.h"
 #include "director/lingo/xlibs/fplayxobj.h"
 #include "director/lingo/xlibs/gpid.h"
 #include "director/lingo/xlibs/jwxini.h"
+#include "director/lingo/xlibs/jitdraw3.h"
 #include "director/lingo/xlibs/labeldrvxobj.h"
 #include "director/lingo/xlibs/memoryxobj.h"
+#include "director/lingo/xlibs/miscx.h"
 #include "director/lingo/xlibs/movemousexobj.h"
 #include "director/lingo/xlibs/movutils.h"
 #include "director/lingo/xlibs/orthoplayxobj.h"
@@ -68,21 +72,21 @@ static struct PredefinedProto {
 	int version;
 } predefinedMethods[] = {
 	// all except window
-	{ "new",					LM::m_new,					-1, 0,	kAllObj, 				200 },	// D2
+	{ "new",					LM::m_new,					-1, 0,	kAllObj,				200 },	// D2
 
 	// factory and XObject
 	{ "describe",				LM::m_describe,				 0, 0,	kXObj,					200 },	// D2
 	{ "dispose",				LM::m_dispose,				 0, 0,	kFactoryObj | kXObj,	200 },	// D2
 	{ "get",					LM::m_get,					 1, 1,	kFactoryObj,			200 },	// D2
-	{ "instanceRespondsTo",		LM::m_instanceRespondsTo,	 1, 1,	kXObj,					300 },		// D3
-	{ "messageList",			LM::m_messageList,			 0, 0,	kXObj,					300 },		// D3
-	{ "name",					LM::m_name,					 0, 0,	kXObj,					300 },		// D3
-	{ "perform",				LM::m_perform,				-1, 0,	kFactoryObj | kXObj, 	300 },		// D3
+	{ "instanceRespondsTo",		LM::m_instanceRespondsTo,	 1, 1,	kXObj,					300 },	// D3
+	{ "messageList",			LM::m_messageList,			 0, 0,	kXObj,					300 },	// D3
+	{ "name",					LM::m_name,					 0, 0,	kXObj,					300 },	// D3
+	{ "perform",				LM::m_perform,				-1, 0,	kFactoryObj | kXObj,	300 },	// D3
 	{ "put",					LM::m_put,					 2, 2,	kFactoryObj,			200 },	// D2
 	{ "respondsTo",				LM::m_respondsTo,			 1, 1,	kXObj,					200 },	// D2
 
 	// script object and Xtra
-	{ "birth",					LM::m_new,					-1, 0,	kScriptObj | kXtraObj, 	400 },			// D4
+	{ "birth",					LM::m_new,					-1, 0,	kScriptObj | kXtraObj,	400 },	// D4
 
 	{ nullptr, nullptr, 0, 0, 0, 0 }
 };
@@ -127,25 +131,29 @@ static struct XLibProto {
 	int version;
 } xlibs[] = {
 	{ AiffXObj::fileNames,				AiffXObj::open,				AiffXObj::close,			kXObj,					400 },	// D4
+	{ AppleCDXObj::fileNames,			AppleCDXObj::open,			AppleCDXObj::close,			kXObj,					400 },	// D4
+	{ BarakeObj::fileNames,				BarakeObj::open,			BarakeObj::close,			kXObj,					400 },	// D4
 	{ CDROMXObj::fileNames,				CDROMXObj::open,			CDROMXObj::close,			kXObj,					200 },	// D2
 	{ FileIO::fileNames,				FileIO::open,				FileIO::close,				kXObj | kXtraObj,		200 },	// D2
-	{ FlushXObj::fileNames,				FlushXObj::open,			FlushXObj::close,			kXObj,					400 },	// D4
+	{ FlushXObj::fileNames,				FlushXObj::open,			FlushXObj::close,			kXObj,					300 },	// D3
 	{ FPlayXObj::fileNames,				FPlayXObj::open,			FPlayXObj::close,			kXObj,					200 },	// D2
 	{ GpidXObj::fileNames,				GpidXObj::open,				GpidXObj::close,			kXObj,					400 },	// D4
-	{ LabelDrvXObj::fileNames,			LabelDrvXObj::open,			LabelDrvXObj::close,		kXObj,					400 }, 	// D4
-	{ OrthoPlayXObj::fileNames,			OrthoPlayXObj::open,		OrthoPlayXObj::close,		kXObj,					400 }, 	// D4
-	{ JourneyWareXINIXObj::fileNames,	JourneyWareXINIXObj::open,	JourneyWareXINIXObj::close,	kXObj,					400 }, 	// D4
-	{ PalXObj::fileNames,				PalXObj::open,				PalXObj::close,				kXObj,					400 }, 	// D4
-	{ MemoryXObj::fileNames,			MemoryXObj::open,			MemoryXObj::close,			kXObj,					400 }, 	// D4
-	{ MovUtilsXObj::fileNames,			MovUtilsXObj::open,			MovUtilsXObj::close,		kXObj,					400 }, 	// D4
-	{ PopUpMenuXObj::fileNames,			PopUpMenuXObj::open,		PopUpMenuXObj::close,		kXObj,					200 }, 	// D2
+	{ JITDraw3XObj::fileNames,			JITDraw3XObj::open,			JITDraw3XObj::close,		kXObj,					400 },	// D4
+	{ JourneyWareXINIXObj::fileNames,	JourneyWareXINIXObj::open,	JourneyWareXINIXObj::close,	kXObj,					400 },	// D4
+	{ LabelDrvXObj::fileNames,			LabelDrvXObj::open,			LabelDrvXObj::close,		kXObj,					400 },	// D4
+	{ MemoryXObj::fileNames,			MemoryXObj::open,			MemoryXObj::close,			kXObj,					300 },	// D3
+	{ MiscX::fileNames,					MiscX::open,				MiscX::close,				kXObj,					400 },	// D4
+	{ MoveMouseXObj::fileNames,			MoveMouseXObj::open,		MoveMouseXObj::close,		kXObj,					400 },	// D4
+	{ MovUtilsXObj::fileNames,			MovUtilsXObj::open,			MovUtilsXObj::close,		kXObj,					400 },	// D4
+	{ OrthoPlayXObj::fileNames,			OrthoPlayXObj::open,		OrthoPlayXObj::close,		kXObj,					400 },	// D4
+	{ PalXObj::fileNames,				PalXObj::open,				PalXObj::close,				kXObj,					400 },	// D4
+	{ PopUpMenuXObj::fileNames,			PopUpMenuXObj::open,		PopUpMenuXObj::close,		kXObj,					200 },	// D2
+	{ RearWindowXObj::fileNames,		RearWindowXObj::open,		RearWindowXObj::close,		kXObj,					400 },	// D4
+	{ RegisterComponent::fileNames,		RegisterComponent::open,	RegisterComponent::close,	kXObj,					400 },	// D4
 	{ SerialPortXObj::fileNames,		SerialPortXObj::open,		SerialPortXObj::close,		kXObj,					200 },	// D2
 	{ SoundJam::fileNames,				SoundJam::open,				SoundJam::close,			kXObj,					400 },	// D4
-	{ RegisterComponent::fileNames,		RegisterComponent::open,	RegisterComponent::close,	kXObj,					400 },	// D4
-	{ VideodiscXObj::fileNames,			VideodiscXObj::open,		VideodiscXObj::close,		kXObj,					200 }, 	// D2
-	{ RearWindowXObj::fileNames,		RearWindowXObj::open,		RearWindowXObj::close,		kXObj,					400 },	// D4
-	{ MoveMouseXObj::fileNames,			MoveMouseXObj::open,		MoveMouseXObj::close,		kXObj,					400 },	// D4
-	{ XPlayAnim::fileNames,				XPlayAnim::open,			XPlayAnim::close, 			kXObj,					300 },	// D3
+	{ VideodiscXObj::fileNames,			VideodiscXObj::open,		VideodiscXObj::close,		kXObj,					200 },	// D2
+	{ XPlayAnim::fileNames,				XPlayAnim::open,			XPlayAnim::close,			kXObj,					300 },	// D3
 	{ nullptr, nullptr, nullptr, 0, 0 }
 };
 
diff --git a/engines/director/lingo/xlibs/applecdxobj.cpp b/engines/director/lingo/xlibs/applecdxobj.cpp
new file mode 100644
index 00000000000..34a2ab351c9
--- /dev/null
+++ b/engines/director/lingo/xlibs/applecdxobj.cpp
@@ -0,0 +1,141 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/*************************************
+ *
+ * USED IN:
+ * The Daedalus Encounter
+ *
+ *************************************/
+/* -! Category compactDisc
+* -! Title AppleCD SC
+* -! Protocol Ortho-Play 1.6.1
+* --© 1990,1991 MacroMind, Inc. Alan McNeil
+* ------------------------------------------------------
+* --AppleCD SC, version 2.5.6
+* --Mar  7 1994
+* --including AppleCD SC Plus volume control
+* ------------------------------------------------------
+* X  mNew
+* X  mDispose
+* --
+* I  mGetMaxNodes
+* SI  mGetNodeTitle NodeNum
+* II  mSelectNode NodeNum
+* --
+* I  mService
+* I  mGetValue
+* I  mCancel
+* S  mExplain
+* I  mIdle
+* --
+* X  mReadStatus
+* X  mReadPos
+* XI mSearchTo position
+* X  mPlay
+* X  mStill
+* X  mStop
+* X  mScanForward
+* X  mScanReverse
+* X  mEject
+* --
+* I  mGetFirstTrack
+* I  mGetLastTrack
+* II  mGetFirstFrame tracknum
+* II  mGetLastFrame tracknum
+* I  mGetTrack
+* XII mAudioEnable number number
+* I  mGetFrameResolution
+* --
+* II mSetInPoint frame
+* II mSetOutPoint frame
+* II mSetDuration frames
+* --
+* X  mPlayCue
+* X  mPlaySegment
+* --
+* S    mTitle
+* SI   mTrackName tracknum
+* IS   mSetTitle string
+* IIS  mSetTrackName tracknum string
+* II   mGetTrackType tracknum
+* III  mSetVolume leftVolume rightVolume
+* II   mGetVolume leftFlag
+* --
+ */
+
+#include "director/director.h"
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
+#include "director/lingo/xlibs/applecdxobj.h"
+
+
+namespace Director {
+
+const char *AppleCDXObj::xlibName = "AppleCD";
+const char *AppleCDXObj::fileNames[] = {
+	"AppleCD",
+	0
+};
+
+static MethodProto xlibMethods[] = {
+	{ "new",					AppleCDXObj::m_new,			0,	0,	400 },	// D4
+	{ "Service",				AppleCDXObj::m_service,		0,	0,	400 },	// D4
+	{ "ReadStatus",				AppleCDXObj::m_readStatus,	0,	0,	400 },	// D4
+	{ "Eject",    				AppleCDXObj::m_eject,		0,	0,	400 },	// D4
+    { nullptr, nullptr, 0, 0, 0 }
+};
+
+void AppleCDXObj::open(int type) {
+	if (type == kXObj) {
+		AppleCDXObject::initMethods(xlibMethods);
+		AppleCDXObject *xobj = new AppleCDXObject(kXObj);
+		g_lingo->_globalvars[xlibName] = xobj;
+	}
+}
+
+void AppleCDXObj::close(int type) {
+	if (type == kXObj) {
+		AppleCDXObject::cleanupMethods();
+		g_lingo->_globalvars[xlibName] = Datum();
+	}
+}
+
+
+AppleCDXObject::AppleCDXObject(ObjectType ObjectType) :Object<AppleCDXObject>("AppleCDXObj") {
+	_objType = ObjectType;
+}
+
+void AppleCDXObj::m_new(int nargs) {
+	g_lingo->push(g_lingo->_currentMe);
+}
+
+void AppleCDXObj::m_service(int nargs) {
+	g_lingo->push(Datum(0));
+}
+
+void AppleCDXObj::m_readStatus(int nargs) {
+}
+
+void AppleCDXObj::m_eject(int nargs) {
+}
+
+} // End of namespace Director
diff --git a/engines/director/lingo/xlibs/applecdxobj.h b/engines/director/lingo/xlibs/applecdxobj.h
new file mode 100644
index 00000000000..ef88ec7cb85
--- /dev/null
+++ b/engines/director/lingo/xlibs/applecdxobj.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef DIRECTOR_LINGO_XLIBS_APPLECDXOBJ_H
+#define DIRECTOR_LINGO_XLIBS_APPLECDXOBJ_H
+
+namespace Director {
+
+class AppleCDXObject : public Object<AppleCDXObject> {
+public:
+	AppleCDXObject(ObjectType objType);
+};
+
+namespace AppleCDXObj {
+
+extern const char *xlibName;
+extern const char *fileNames[];
+
+void open(int type);
+void close(int type);
+
+void m_new(int nargs);
+void m_service(int nargs);
+void m_readStatus(int nargs);
+void m_eject(int nargs);
+
+} // End of namespace AppleCDXObj
+
+} // End of namespace Director
+
+#endif
diff --git a/engines/director/lingo/xlibs/barakeobj.cpp b/engines/director/lingo/xlibs/barakeobj.cpp
new file mode 100644
index 00000000000..22f2b02814f
--- /dev/null
+++ b/engines/director/lingo/xlibs/barakeobj.cpp
@@ -0,0 +1,96 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/*************************************
+ *
+ * USED IN:
+ * Angel Gate demo
+ *
+ *************************************/
+/*
+  -- Picter, a simple demo XObject, v1.0
+  I           mNew
+  XIII        mGpal, h, l, s
+  XIIIIII     mLine, y1, y2, y3, y4, y5, c
+  II          mGetDate, value
+  X           mClear
+*/
+
+#include "director/director.h"
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
+#include "director/lingo/xlibs/barakeobj.h"
+
+
+namespace Director {
+
+const char *BarakeObj::xlibName = "BarakeObj";
+const char *BarakeObj::fileNames[] = {
+	"BarakeObj",
+	0
+};
+
+static MethodProto xlibMethods[] = {
+	{ "new",			BarakeObj::m_new,		0,	0,	400 },	// D4
+	{ "Clear",			BarakeObj::m_clear,		0,	0,	400 },	// D4
+	{ "Gpal",			BarakeObj::m_gpal,		3,	3,	400 },	// D4
+	{ "Line",			BarakeObj::m_line,		6,	6,	400 },	// D4
+    { nullptr, nullptr, 0, 0, 0 }
+};
+
+void BarakeObj::open(int type) {
+	if (type == kXObj) {
+		BarakeObject::initMethods(xlibMethods);
+		BarakeObject *xobj = new BarakeObject(kXObj);
+		g_lingo->_globalvars[xlibName] = xobj;
+	}
+}
+
+void BarakeObj::close(int type) {
+	if (type == kXObj) {
+		BarakeObject::cleanupMethods();
+		g_lingo->_globalvars[xlibName] = Datum();
+	}
+}
+
+
+BarakeObject::BarakeObject(ObjectType ObjectType) :Object<BarakeObject>("BarakeObj") {
+	_objType = ObjectType;
+}
+
+void BarakeObj::m_new(int nargs) {
+	g_lingo->push(g_lingo->_currentMe);
+}
+
+void BarakeObj::m_clear(int nargs) {
+}
+
+void BarakeObj::m_gpal(int nargs) {
+	g_lingo->printSTUBWithArglist("BarakeObj::Gpal", nargs);
+	g_lingo->dropStack(nargs);
+}
+
+void BarakeObj::m_line(int nargs) {
+	g_lingo->printSTUBWithArglist("BarakeObj::Line", nargs);
+	g_lingo->dropStack(nargs);
+}
+
+} // End of namespace Director
diff --git a/engines/director/lingo/xlibs/barakeobj.h b/engines/director/lingo/xlibs/barakeobj.h
new file mode 100644
index 00000000000..0423c5e965c
--- /dev/null
+++ b/engines/director/lingo/xlibs/barakeobj.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef DIRECTOR_LINGO_XLIBS_BARAKEOBJ_H
+#define DIRECTOR_LINGO_XLIBS_BARAKEOBJ_H
+
+namespace Director {
+
+class BarakeObject : public Object<BarakeObject> {
+public:
+	BarakeObject(ObjectType objType);
+};
+
+namespace BarakeObj {
+
+extern const char *xlibName;
+extern const char *fileNames[];
+
+void open(int type);
+void close(int type);
+
+void m_new(int nargs);
+void m_clear(int nargs);
+void m_gpal(int nargs);
+void m_line(int nargs);
+
+} // End of namespace BarakeObj
+
+} // End of namespace Director
+
+#endif
diff --git a/engines/director/lingo/xlibs/flushxobj.cpp b/engines/director/lingo/xlibs/flushxobj.cpp
index e9498a4160e..247b11315f8 100644
--- a/engines/director/lingo/xlibs/flushxobj.cpp
+++ b/engines/director/lingo/xlibs/flushxobj.cpp
@@ -47,16 +47,18 @@ const char *FlushXObj::xlibNames[] = {
 	nullptr,
 };
 const char *FlushXObj::fileNames[] = {
+	"FlushEvents",
 	"FlushXObj",
 	"Johnny",
+	"Toilet",
 	nullptr
 };
 
 static MethodProto xlibMethods[] = {
-	{ "new",				FlushXObj::m_new,				 0, 0,	400 },	// D4
+	{ "new",				FlushXObj::m_new,				 0, 0,	300 },	// D3
 	{ "AddToMask",			FlushXObj::m_addToMask,			 2, 2,	400 },	// D4
 	{ "ClearMask",			FlushXObj::m_clearMask,			 0, 0,	400 },	// D4
-	{ "Flush",				FlushXObj::m_flush,				 0, 0,  400 },	// D4
+	{ "Flush",				FlushXObj::m_flush,				 0, 0,  300 },	// D3
 	{ "FlushEvents",		FlushXObj::m_flushEvents,		 2, 2,  400 },	// D4
 	{ nullptr, nullptr, 0, 0, 0 }
 };
diff --git a/engines/director/lingo/xlibs/jitdraw3.cpp b/engines/director/lingo/xlibs/jitdraw3.cpp
new file mode 100644
index 00000000000..2353d26d50c
--- /dev/null
+++ b/engines/director/lingo/xlibs/jitdraw3.cpp
@@ -0,0 +1,160 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/*
+  -- JITDraw3 External Factory. 16Feb93 PTM
+  JITDraw3
+  I      mNew                --Creates a new instance of the XObject
+  X      mDispose            --Disposes of XObject instance
+  S      mName               --Returns the XObject name (JITDraw3)
+  I      mCheckRegistration
+  I      mCheckIfCDROM
+  S      mUserName
+  S      mUserCompany
+  IS      mSetSignature
+  S      mGetSignature
+  S      mPreRegister
+  II     mBookMark1
+  II     mBookMark2
+  II     mBookMark3
+  II     mBookMark4
+  II     mBookMark5
+  II     mBookMark6
+  I              mAddDrawButton
+  I              mRemoveDrawButton
+  I              mGotoDraw
+  I              mLoadDraw
+  I              mIsDrawLoaded
+  ISS    mMsgOkCancel
+  ISS    mMsgOk
+  ISS    mMsgYesNo
+  I    mOrder
+*/
+
+#include "common/system.h"
+#include "common/translation.h"
+
+#include "gui/message.h"
+
+// #include "audio/mixer.h"
+
+#include "director/director.h"
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
+#include "director/lingo/xlibs/jitdraw3.h"
+
+
+namespace Director {
+
+const char *JITDraw3XObj::xlibName = "JITDraw3";
+const char *JITDraw3XObj::fileNames[] = {
+	"JITDraw3",
+	nullptr
+};
+
+static MethodProto xlibMethods[] = {
+	{ "New",				JITDraw3XObj::m_new,			  0, 0,	400 },	// D4
+	{ "Dispose",			JITDraw3XObj::m_dispose,		  0, 0,	400 },	// D4
+	{ "CheckIfCDROM",		JITDraw3XObj::m_checkifcdrom,	  0, 0,	400 },	// D4
+	{ "MsgOkCancel",		JITDraw3XObj::m_msgokcancel,	  2, 2,	400 },	// D4
+	{ "MsgOk",				JITDraw3XObj::m_msgok,			  2, 2,  400 },	// D4
+	{ "MsgYesNo",			JITDraw3XObj::m_msgyesno,		  2, 2,  400 },	// D4
+	{ "GotoDraw",			JITDraw3XObj::m_gotodraw,		  0, 0,  400 },	// D4
+	{ "AddDrawButton",		JITDraw3XObj::m_adddrawbutton,	  0, 0,  400 },	// D4
+	{ "RemoveDrawButton",	JITDraw3XObj::m_removedrawbutton, 0, 0,  400 },	// D4
+	{ nullptr, nullptr, 0, 0, 0 }
+};
+
+void JITDraw3XObj::open(int type) {
+	if (type == kXObj) {
+		JITDraw3XObject::initMethods(xlibMethods);
+		JITDraw3XObject *xobj = new JITDraw3XObject(kXObj);
+		g_lingo->_globalvars[xlibName] = xobj;
+	}
+}
+
+void JITDraw3XObj::close(int type) {
+	if (type == kXObj) {
+		JITDraw3XObject::cleanupMethods();
+		g_lingo->_globalvars[xlibName] = Datum();
+	}
+}
+
+
+JITDraw3XObject::JITDraw3XObject(ObjectType ObjectType) :Object<JITDraw3XObject>("JITDraw3") {
+	_objType = ObjectType;
+}
+
+void JITDraw3XObj::m_new(int nargs) {
+	g_lingo->push(g_lingo->_currentMe);
+}
+
+void JITDraw3XObj::m_dispose(int nargs) {
+	g_lingo->printSTUBWithArglist("JITDraw3XObj::m_dispose", nargs);
+	g_lingo->dropStack(nargs);
+}
+
+void JITDraw3XObj::m_checkifcdrom(int nargs) {
+	g_lingo->printSTUBWithArglist("JITDraw3XObj::m_checkifcdrom", nargs);
+	g_lingo->push(Datum(0));
+}
+
+void JITDraw3XObj::m_msgokcancel(int nargs) {
+	Common::U32String caption = g_lingo->pop().asString();  // Title of the message box
+	Common::U32String message = g_lingo->pop().asString();
+	GUI::MessageDialog dialog(message, _("Ok"), _("Cancel"));
+	int result = dialog.runModal();
+	g_lingo->push(Datum(result == GUI::kMessageOK ? 1 : 0));
+}
+
+void JITDraw3XObj::m_msgok(int nargs) {
+	Common::U32String caption = g_lingo->pop().asString();  // Title of the message box
+	Common::U32String message = g_lingo->pop().asString();
+	GUI::MessageDialog dialog(message, _("Ok"));
+	dialog.runModal();
+	g_lingo->push(Datum());
+}
+
+void JITDraw3XObj::m_msgyesno(int nargs) {
+	Common::U32String caption = g_lingo->pop().asString();  // Title of the message box
+	Common::U32String message = g_lingo->pop().asString();
+	GUI::MessageDialog dialog(message, _("Yes"), _("No"));
+	int result = dialog.runModal();
+	g_lingo->push(Datum(result == GUI::kMessageOK ? 1 : 0));
+}
+
+void JITDraw3XObj::m_gotodraw(int nargs) {
+	g_lingo->printSTUBWithArglist("JITDraw3XObj::m_gotodraw", nargs);
+	g_lingo->dropStack(nargs);
+	g_lingo->push(Datum(3));
+}
+
+void JITDraw3XObj::m_adddrawbutton(int nargs) {
+	g_lingo->printSTUBWithArglist("JITDraw3XObj::m_adddrawbutton", nargs);
+	g_lingo->dropStack(nargs);
+}
+
+void JITDraw3XObj::m_removedrawbutton(int nargs) {
+	g_lingo->printSTUBWithArglist("JITDraw3XObj::m_removedrawbutton", nargs);
+	g_lingo->dropStack(nargs);
+}
+
+} // End of namespace Director
diff --git a/engines/director/lingo/xlibs/jitdraw3.h b/engines/director/lingo/xlibs/jitdraw3.h
new file mode 100644
index 00000000000..f05c79d062c
--- /dev/null
+++ b/engines/director/lingo/xlibs/jitdraw3.h
@@ -0,0 +1,54 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef DIRECTOR_LINGO_XLIBS_JITDRAW3XOBJ_H
+#define DIRECTOR_LINGO_XLIBS_JITDRAW3XOBJ_H
+
+namespace Director {
+
+class JITDraw3XObject : public Object<JITDraw3XObject> {
+public:
+	JITDraw3XObject(ObjectType objType);
+};
+
+namespace JITDraw3XObj {
+
+extern const char *xlibName;
+extern const char *fileNames[];
+
+void open(int type);
+void close(int type);
+
+void m_new(int nargs);
+void m_dispose(int nargs);
+void m_checkifcdrom(int nargs);
+void m_msgokcancel(int nargs);
+void m_msgok(int nargs);
+void m_msgyesno(int nargs);
+void m_gotodraw(int nargs);
+void m_adddrawbutton(int nargs);
+void m_removedrawbutton(int nargs);
+
+} // End of namespace JITDraw3XObj
+
+} // End of namespace Director
+
+#endif
diff --git a/engines/director/lingo/xlibs/memoryxobj.cpp b/engines/director/lingo/xlibs/memoryxobj.cpp
index 88a4cea3d48..9d1841fa873 100644
--- a/engines/director/lingo/xlibs/memoryxobj.cpp
+++ b/engines/director/lingo/xlibs/memoryxobj.cpp
@@ -58,13 +58,14 @@ namespace Director {
 
 const char *MemoryXObj::xlibName = "Memory";
 const char *MemoryXObj::fileNames[] = {
+	"Memory XObj",
 	"Memory",
 	nullptr
 };
 
 static MethodProto xlibMethods[] = {
-	{ "new",					MemoryXObj::m_new,			0,	0,	400 },	// D4
-	{ "Clear",					MemoryXObj::m_clear,		0,	0,	400 },	// D4
+	{ "new",					MemoryXObj::m_new,			0,	0,	300 },	// D3
+	{ "Clear",					MemoryXObj::m_clear,		0,	0,	300 },	// D3
 	{ "Purge",					MemoryXObj::m_purge,		0,	0,	400 },	// D4
 	{ nullptr, nullptr, 0, 0, 0 }
 };
@@ -90,16 +91,13 @@ MemoryXObject::MemoryXObject(ObjectType ObjectType) :Object<MemoryXObject>("Memo
 }
 
 void MemoryXObj::m_new(int nargs) {
-	// Datum d1 = g_lingo->pop();
 	g_lingo->push(g_lingo->_currentMe);
 }
 
 void MemoryXObj::m_clear(int nargs) {
-	// g_lingo->pop();
 }
 
 void MemoryXObj::m_purge(int nargs) {
-	// g_lingo->pop();
 }
 
 } // End of namespace Director
diff --git a/engines/director/lingo/xlibs/miscx.cpp b/engines/director/lingo/xlibs/miscx.cpp
new file mode 100644
index 00000000000..826283ee283
--- /dev/null
+++ b/engines/director/lingo/xlibs/miscx.cpp
@@ -0,0 +1,117 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+/*************************************
+ *
+ * USED IN:
+ * Pippi
+ *
+ *************************************/
+/* -- Misc_X, Misc Utilities XObject v2.0
+ * Misc_X
+ * I      mNew
+ * X      mDispose
+ * S      mBootName                     -- get the name of the boot disk
+ * S      mWindowsDirectory             -- get the path to the Windows directory
+ * IS     mFileExists, filePath             -- return 1 if file is there, otherwise 0
+ * ISS    mCopyFile, sourcePath, destPath   -- return 1 if successful, otherwise 0
+ * IS     mFolderExists, folderPath         -- return 1 if folder exists, otherwise 0
+ * IS     mInsureFolder, folderPath         -- create a full path to the folder, return possible error
+ * XS     mDeleteFolder, folderPath         -- delete folder along with contents
+ * SS     mFileList, fontainerPath          -- return list of files in the folder
+ * SSSSS  mAsk, query, default, btnOK, btnCancel  -- dialog box that accepts user input
+ * SSSSS  mAnswer, query, btnL, btnM, btnR        -- alert type dialog box with variable number of buttons
+ * IS     mSpaceOnVol, volumeName     -- return the number of free bytes on volume
+ * IS     mDeleteGroup, groupName     -- delete program group under Windows
+ * ----
+ * -- Copyright 1994 Sanctuary Woods --
+ * --    written by Bob McKay and Brian Parkinson
+ * --
+ * -- Append folder name in mInsureFolder with a colon
+ * --   gXObject(mInsureFolder, the pathName & "bands:genesis:"
+ * --
+ * -- The mAsk dialog box returns the text field if btnOk clicked, otherwise the btnCancel text
+ * -- The mAnswer dialog box returns the text of the button clicked
+ * --
+ * -- For mAnswer dialog box, the number of buttons is variable
+ * --   gXObject(mAnswer, "Are you sure ?", "", "Yes", "No")  -- two buttons
+ * --   gXObject(mAnswer, "A simple alert box", "", "", "Ok") -- one button
+ * ----
+ */
+
+#include "director/director.h"
+#include "director/lingo/lingo.h"
+#include "director/lingo/lingo-object.h"
+#include "director/lingo/xlibs/miscx.h"
+
+
+namespace Director {
+
+const char *MiscX::xlibName = "Misc_X";
+const char *MiscX::fileNames[] = {
+	"MISC_X",
+	0
+};
+
+static MethodProto xlibMethods[] = {
+	{ "new",					MiscX::m_new,			0,	0,	400 },	// D4
+	{ "BootName",				MiscX::m_bootName,		0,	0,	400 },	// D4
+	{ "InsureFolder",			MiscX::m_insureFolder,	1,	1,	400 },	// D4
+	{ "PrefsFolder",			MiscX::m_prefsFolder,	0,	0,	400 },	// D4
+    { nullptr, nullptr, 0, 0, 0 }
+};
+
+void MiscX::open(int type) {
+	if (type == kXObj) {
+		MiscXObject::initMethods(xlibMethods);
+		MiscXObject *xobj = new MiscXObject(kXObj);
+		g_lingo->_globalvars[xlibName] = xobj;
+	}
+}
+
+void MiscX::close(int type) {
+	if (type == kXObj) {
+		MiscXObject::cleanupMethods();
+		g_lingo->_globalvars[xlibName] = Datum();
+	}
+}
+
+
+MiscXObject::MiscXObject(ObjectType ObjectType) :Object<MiscXObject>("MiscX") {
+	_objType = ObjectType;
+}
+
+void MiscX::m_new(int nargs) {
+	g_lingo->push(g_lingo->_currentMe);
+}
+
+void MiscX::m_bootName(int nargs) {
+	g_lingo->push(Datum(""));
+}
+
+void MiscX::m_insureFolder(int nargs) {
+}
+
+void MiscX::m_prefsFolder(int nargs) {
+	g_lingo->push(Datum(""));
+}
+
+} // End of namespace Director
diff --git a/engines/director/lingo/xlibs/miscx.h b/engines/director/lingo/xlibs/miscx.h
new file mode 100644
index 00000000000..f10fde442b9
--- /dev/null
+++ b/engines/director/lingo/xlibs/miscx.h
@@ -0,0 +1,49 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef DIRECTOR_LINGO_XLIBS_MISCX_H
+#define DIRECTOR_LINGO_XLIBS_MISCX_H
+
+namespace Director {
+
+class MiscXObject : public Object<MiscXObject> {
+public:
+	MiscXObject(ObjectType objType);
+};
+
+namespace MiscX {
+
+extern const char *xlibName;
+extern const char *fileNames[];
+
+void open(int type);
+void close(int type);
+
+void m_new(int nargs);
+void m_bootName(int nargs);
+void m_insureFolder(int nargs);
+void m_prefsFolder(int nargs);
+
+} // End of namespace MiscX
+
+} // End of namespace Director
+
+#endif
diff --git a/engines/director/lingo/xlibs/winxobj.cpp b/engines/director/lingo/xlibs/winxobj.cpp
index a9fa379b45a..02162243777 100644
--- a/engines/director/lingo/xlibs/winxobj.cpp
+++ b/engines/director/lingo/xlibs/winxobj.cpp
@@ -39,9 +39,10 @@ namespace Director {
 
 const char *RearWindowXObj::xlibName = "RearWindow";
 const char *RearWindowXObj::fileNames[] = {
+	"Backdrop",
+	"RearWindow",
 	"RearWindow.Xobj",
 	"winXObj",
-	"RearWindow",
 	nullptr
 };
 
@@ -225,14 +226,15 @@ X mDispose -- closes the RearWindow, releases its data, and the XObject itself f
 
 static MethodProto xlibMethods[] = {
 	{ "new",				RearWindowXObj::m_new,					1,	1,	400 },	// D4
+	{ "getappname",			RearWindowXObj::m_getAppName,			0,	0,	400 },	// D4
 	{ "GetMemoryNeeded",	RearWindowXObj::m_getMemoryNeeded,		0,	0,	400 },	// D4
-	{ "PatToWindow",		RearWindowXObj::m_patToWindow,			1,	1,	400 },	// D4
-	{ "IndexColorToWindow",	RearWindowXObj::m_indexColorToWindow,	1,	1,	400 },	// D4
-	{ "RGBColorToWindow",   RearWindowXObj::m_rgbColorToWindow,     3,  3,  400 },  // D4
-	{ "GetScreenTop",		RearWindowXObj::m_getScreenTop,			0,	0,	400 },	// D4
-	{ "GetScreenLeft",		RearWindowXObj::m_getScreenLeft,		0,	0,	400 },	// D4
 	{ "GetScreenBottom",	RearWindowXObj::m_getScreenBottom,		0,	0,	400 },	// D4
+	{ "GetScreenLeft",		RearWindowXObj::m_getScreenLeft,		0,	0,	400 },	// D4
 	{ "GetScreenRight",		RearWindowXObj::m_getScreenRight,		0,	0,	400 },	// D4
+	{ "GetScreenTop",		RearWindowXObj::m_getScreenTop,			0,	0,	400 },	// D4
+	{ "IndexColorToWindow",	RearWindowXObj::m_indexColorToWindow,	1,	1,	400 },	// D4
+	{ "PatToWindow",		RearWindowXObj::m_patToWindow,			1,	1,	400 },	// D4
+	{ "RGBColorToWindow",	RearWindowXObj::m_rgbColorToWindow,		3,	3,	400 },	// D4
 	{ nullptr, nullptr, 0, 0, 0 }
 };
 
@@ -268,12 +270,17 @@ void RearWindowXObj::m_getMemoryNeeded(int nargs) {
 
 void RearWindowXObj::m_patToWindow(int nargs) {
 	g_lingo->pop();
+	g_lingo->push(Datum(0));
 }
 
 void RearWindowXObj::m_indexColorToWindow(int nargs) {
 	g_lingo->pop();
 }
 
+void RearWindowXObj::m_getAppName(int nargs) {
+	g_lingo->push(Datum(g_director->getStartMovie().startMovie));
+}
+
 void RearWindowXObj::m_rgbColorToWindow(int nargs) {
 	Datum r = g_lingo->pop();
 	Datum g = g_lingo->pop();
diff --git a/engines/director/lingo/xlibs/winxobj.h b/engines/director/lingo/xlibs/winxobj.h
index 4baebe1e287..94ef1d98e99 100644
--- a/engines/director/lingo/xlibs/winxobj.h
+++ b/engines/director/lingo/xlibs/winxobj.h
@@ -39,9 +39,14 @@ void open(int type);
 void close(int type);
 
 void m_new(int nargs);
+void m_getAppName(int nargs);
 void m_getMemoryNeeded(int nargs);
-void m_patToWindow(int nargs);
+void m_getScreenBottom(int nargs);
+void m_getScreenLeft(int nargs);
+void m_getScreenRight(int nargs);
+void m_getScreenTop(int nargs);
 void m_indexColorToWindow(int nargs);
+void m_patToWindow(int nargs);
 void m_rgbColorToWindow(int nargs);
 void m_getScreenTop(int nargs);
 void m_getScreenLeft(int nargs);
diff --git a/engines/director/module.mk b/engines/director/module.mk
index 885ec1c7a23..9a967d602d0 100644
--- a/engines/director/module.mk
+++ b/engines/director/module.mk
@@ -40,16 +40,20 @@ MODULE_OBJS = \
 	lingo/lingo-the.o \
 	lingo/lingo-utils.o \
 	lingo/xlibs/aiff.o \
+	lingo/xlibs/applecdxobj.o \
+	lingo/xlibs/barakeobj.o \
 	lingo/xlibs/cdromxobj.o \
 	lingo/xlibs/fileio.o \
 	lingo/xlibs/flushxobj.o \
 	lingo/xlibs/fplayxobj.o \
 	lingo/xlibs/gpid.o \
-	lingo/xlibs/labeldrvxobj.o \
-	lingo/xlibs/movutils.o \
+	lingo/xlibs/jitdraw3.o \
 	lingo/xlibs/jwxini.o \
+	lingo/xlibs/labeldrvxobj.o \
 	lingo/xlibs/memoryxobj.o \
+	lingo/xlibs/miscx.o \
 	lingo/xlibs/movemousexobj.o \
+	lingo/xlibs/movutils.o \
 	lingo/xlibs/orthoplayxobj.o \
 	lingo/xlibs/palxobj.o \
 	lingo/xlibs/popupmenuxobj.o \


Commit: 7a54ff26f707caea85667de510908b0528c3ef4e
    https://github.com/scummvm/scummvm/commit/7a54ff26f707caea85667de510908b0528c3ef4e
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2022-06-22T23:38:15+02:00

Commit Message:
DIRECTOR: Add Pippin platform

Changed paths:
    engines/director/director.cpp


diff --git a/engines/director/director.cpp b/engines/director/director.cpp
index 8be75f709e8..e7ed56c9f5c 100644
--- a/engines/director/director.cpp
+++ b/engines/director/director.cpp
@@ -111,6 +111,9 @@ DirectorEngine::DirectorEngine(OSystem *syst, const DirectorGameDescription *gam
 	case Common::kPlatformMacintoshII:
 		_machineType = 4;
 		break;
+	case Common::kPlatformPippin:
+		_machineType = 71;
+		break;
 	case Common::kPlatformWindows:
 		_machineType = 256;
 		break;


Commit: 89dc9cf9db87533dcc9a68beabc3ed7a0fc7a368
    https://github.com/scummvm/scummvm/commit/89dc9cf9db87533dcc9a68beabc3ed7a0fc7a368
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2022-06-22T23:38:15+02:00

Commit Message:
DIRECTOR: Fix snh patches

Changed paths:
    engines/director/lingo/lingo-patcher.cpp


diff --git a/engines/director/lingo/lingo-patcher.cpp b/engines/director/lingo/lingo-patcher.cpp
index 660301e1bd8..f4f311ec728 100644
--- a/engines/director/lingo/lingo-patcher.cpp
+++ b/engines/director/lingo/lingo-patcher.cpp
@@ -166,11 +166,11 @@ struct ScriptPatch {
 	{"jman", "", kPlatformWindows, "MMM:Shared Cast B&W", kMovieScript, 323, 0,
 			192, "updateStage", "set the trails of sprite 19 to 0"},
 
-	{"snh", "", kPlatformWindows, "SNHstart", kMovieScript, 0, 0,
+	{"snh", "Hybrid release", kPlatformWindows, "SNHstart", kMovieScript, 0, 0,
 			3, "changedrive", ""}, // HACK: This macro inserts \x01 after the first character in myCD/myHD
-	{"snh", "", kPlatformWindows, "SNHstart", kMovieScript, 0, 0,
+	{"snh", "Hybrid release", kPlatformWindows, "SNHstart", kMovieScript, 0, 0,
 			6, "set mytest2 = FileIO(mnew, \"read\" mymovie)", "set mytest2 = FileIO(mnew, \"read\", mymovie)"},
-	{"snh", "", kPlatformWindows, "SNHstart", kMovieScript, 0, 0,
+	{"snh", "Hybrid release", kPlatformWindows, "SNHstart", kMovieScript, 0, 0,
 			14, "set mytest3 = FileIO(mnew, \"read\" mymovie)", "set mytest3 = FileIO(mnew, \"read\", mymovie)"},
 
 	// Ambiguous syntax that's parsed differently between D3 and later versions
@@ -217,7 +217,7 @@ Common::U32String LingoCompiler::patchLingoCode(const Common::U32String &line, L
 		}
 
 		// Now do a safeguard
-		if (!line.contains(Common::U32String(patch->orig))) {
+		if (!line.contains(Common::U32String(patch->orig)) && line.encode().c_str() != Common::U32String()) {
 			warning("Lingo::patchLingoCode(): Unmatched patch for '%s', '%s' %s:%s @ %d. Expecting '%s' but got '%s'",
 					patch->gameId, patch->movie, scriptType2str(type), id.asString().c_str(), linenum,
 					patch->orig, line.encode().c_str());


Commit: 1e46a61853491bbc014ffc5073a1f3ee16b99965
    https://github.com/scummvm/scummvm/commit/1e46a61853491bbc014ffc5073a1f3ee16b99965
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2022-06-22T23:38:15+02:00

Commit Message:
DIRECTOR: +I Saw A Strange Little Man; The Nobel Prize: 100 Years of Creativity and Innovation

Changed paths:
    engines/director/detection_tables.h


diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 79a5e39c7e8..6c3fcc332be 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -217,6 +217,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "ingenious",			"Ingenious!" },
 	{ "ingenioused",		"Ingenious! Education Resources" },
 	{ "ironhelix",			"Iron Helix" },
+	{ "isaslm",				"I Saw A Strange Little Man" },
 	{ "isis",				"Isis" },
 	{ "ispy",				"I Spy" },
 	{ "ispyschool",			"I Spy School Days" },
@@ -546,6 +547,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "nia4",				"News in Action 4" },
 	{ "nixon",				"Nixon: Watergate" },
 	{ "nmm",				"Nine Month Miracle" },
+	{ "nobel100",			"The Nobel Prize: 100 Years of Creativity and Innovation" },
 	{ "painters",			"Emile de Antonio's Painters Painting" },
 	{ "paris",				"Paris: History and Splendour" },
 	{ "parisvt",			"Virtual Tourism Paris" },
@@ -3611,6 +3613,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1_l("ios", "",	 "IOS.EXE", "2b8edd5af0f79d84542c57754b7fbf61", 1004833, Common::JA_JPN, 404),
 	WINGAME1_l("ioshow", "", "HOW.EXE", "a526a724f26e266b17815b4f7f7ae079", 1863309, Common::JA_JPN, 404),
 
+	MACGAME1("isaslm", "", "install this stuff/VM folder/VMplay", "27519b873d23565470f627ad2f3d1b03", 322465, 400),
+	// WINGAME1t("isaslm", "", "PLAY_IT.EXE", "ab30cc755f44ac3844fee3214cfc5ead", 691009, 400),
+	WINGAME1t("isaslm", "", "VMCD.EXE", "02b7441caf27724af5d055259d0d8e30", 1104401, 400),
+
+
 	MACGAME1("isis", "", "ISIS", "dedfabf9ee7bf5aab003bdab4137bca6", 777886, 400),
 	WINGAME1("isis", "", "ISIS.EXE", "59c1cb960199dd3f041262ab5271bb23", 14747213, 400),
 	MACGAME1_l("isis", "", "ISIS", "dedfabf9ee7bf5aab003bdab4137bca6", 780610, Common::DE_DEU, 400),
@@ -7032,6 +7039,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Produced and developed by New Tier Inc., Scottsdale, Arizona
 	WINGAME1("njdevils2001", "", "NJDevils.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 45455403, 800),
 
+	// OS X version is D9
+	MACGAME1("nobel100", "Classic OS", "data/MacOSClassic/Mac Classic Start", "789536da81694518f494945bb161ace9", 206460, 851),
+	WINGAME2t("nobel100", "", "Start.exe", "5d4d87f2ffcb3c111eeb06ba1879e62d", 151979,
+							  "data/Home.dxr", "3d1ced8f1f20940f79f161cf27c6a07a", 413135, 850),
+
 	WINGAME1("noddyfair", "", "Noddy PC.exe", "c612aa43e7ef55aa4fd2e1085fb1ef7a", 2197822, 850),
 
 	MACGAME2_l("okay2000", "", "Start",	   "8c1b4ddb1adff89deaba119f7cf8df7b", 195159,
@@ -7270,6 +7282,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("mats3", "", "Mats und das ratselhafte Tier", "9ba96b315646d5f62be9ab5597d2e0d7", 176978, Common::DE_DEU, 901),
 	WINGAME1_l("mats3", "", "Mats3.exe", "4b89dba499aefda5201eef3d27963d01", 2187308, Common::DE_DEU, 900),
 
+	// Classic Mac OS and Windows executables are D8
+	MACGAME1("nobel100", "OS X", "data/MacOSX/Mac OSX Start", "332aaddc1bc68a89277ef016466a7140", 1295390, 900),
+
 	MACGAME1_l("operafatal", "OS X", "Opera OSX", "3ab7133c17cd4f175e5cb14c6750766e", 222001, Common::DE_DEU, 900),
 	WINGAME1_l("operafatal", "", "Opera.exe", "05e89a3d53d270cac3b53e0a6f9352f5", 2747652, Common::DE_DEU, 900),
 


Commit: cb291ef2c1ff73e95421ebf7ff4279b5b4465209
    https://github.com/scummvm/scummvm/commit/cb291ef2c1ff73e95421ebf7ff4279b5b4465209
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2022-06-22T23:38:15+02:00

Commit Message:
DIRECTOR: +Classic Arcade, Virtual Jackpot Gold

Changed paths:
    engines/director/detection_tables.h
    engines/director/lingo/xlibs/miscx.cpp


diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 6c3fcc332be..095bc2b0b76 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -49,6 +49,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "amandastories",		"AmandaStories" },
 	{ "amber",				"AMBER: Journeys Beyond" },
 	{ "amertailmb",			"An American Tail Interactive MovieBook" },
+	{ "arcade",				"Classic Arcade" },
 	{ "arcadeairattack",	"Classic Arcade Air Attack" },
 	{ "arcadeboing",		"Classic Arcade Boing" },
 	{ "arcadehockey",		"Classic Arcade Air Hockey" },
@@ -424,6 +425,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "vcop1",				"Virtual Cop: Episode One: Good Cop / Bad Cop" },
 	{ "vcop2",				"Virtual Cop: Episode Two: The Angel Returns" },
 	{ "veniceglass",		"Venice Under Glass" },
+	{ "vjg",				"Vegas Jackpot Gold" },
 	{ "vnc",				"Virtual Nightclub" },
 	{ "vp2",				"Virtual Physics: The Eggs of Time" },
 	{ "vvcyber",			"Victor Vector & Yondo: The Cyberplasm Formula" },
@@ -2951,6 +2953,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Director-based AUTORUN.EXE launcher chooses between these options on Win9X
 	MACGAME1("casino", "", "Casino! for PowerPC", "5bb6f4e7f9f026e2b5cf758796db3cd2", 57984, 400),
 	WINGAME1("casino", "", "CASINO.EXE", "7bb58472256eb84983a7d86843c81042", 692873, 404),
+	MACDEMO1("casino", "Sampler", "Casino! Sampler", "cbce20666bfe47a9533331c6be1e6039", 285255, 404),
+	WINDEMO1t("casino", "Sampler", "CASINO.EXE", "9957a5c3d67e857b5fd9cb084f7f8726", 1801785, 404),
 
 	// aka Cat'sEyeView
 	// by Eij Kato
@@ -3392,8 +3396,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	WINGAME1("godigital", "Vol.1 No.2", "GODIGIT.EXE", "7ce7407982b9c3abfab010432a0b9b96", 703515, 404),
 	WINGAME1("godigital", "Vol.2 No.1", "GODIG3.EXE",  "601b468f1e0e22319b7abd5c0d1787e7", 889427, 404),
 
-	MACDEMO1("goldilocks", "Sampler", "Goldilocks Gamebook Sampler", "cbce20666bfe47a9533331c6be1e6039", 285523, 403),
-	WINDEMO1("goldilocks", "Sampler", "GOLDILKS.EXE", "46b6ed6299db88ac1eab54aab4be91d7", 1894363, 403),
+	MACDEMO1("goldilocks", "Sampler", "Goldilocks Gamebook Sampler", "cbce20666bfe47a9533331c6be1e6039", 285267, 403),
+	// from http://web.archive.org/web/20051126063716id_/http://www.beachware.com/download/goldsea.exe (self-extracting ZIP)
+	WINDEMO1t("goldilocks", "Sampler", "GOLDILKS.EXE", "a59533f9043f9e642fc17d39c843d55b", 1894363, 404),
 
 	WINGAME1("gordak", "", "GordakCD.exe", "d3dcd15712e8ac16cb88d86af9cd64bf", 737262, 404),
 
@@ -4013,7 +4018,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("nikolaitoys", "", "NN'nN Toy Makers", "2c7d0c0d55cbe3f622c7d68cedb671e0", 487026, 404),
 	WINGAME1("nikolaitoys", "", "NNN_TOYS.EXE", "22147e4c6311f670f72d43f8b793169e", 3206640, 404),
 
-	MACDEMO1("nightsky", "Sampler", "Night Sky Interactive Sampler", "cbce20666bfe47a9533331c6be1e6039", 285525, 400),
+	MACDEMO1("nightsky", "Sampler", "Night Sky Interactive Sampler", "cbce20666bfe47a9533331c6be1e6039", 285269, 400),
 	WINDEMO1("nightsky", "Sampler", "NIGHTSKY.EXE", "68f1fe67a5881fd47b08e905401d174c", 4300149, 404),
 
 	// Original filename is Visual日本地理DEMO
@@ -4054,7 +4059,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Original filename is Nomisâ„¢ PPC
 	MACGAME1("nomis", "", "Nomis PPC", "6dd87d48277cf2cd886e5168266ce4bf", 58051, 403),
 
-	MACDEMO1("nurseryrhymes", "Sampler", "Nursery Rhymes Sampler", "cbce20666bfe47a9533331c6be1e6039", 285529, 400),
+	MACDEMO1("nurseryrhymes", "Sampler", "Nursery Rhymes Sampler", "cbce20666bfe47a9533331c6be1e6039", 285273, 400),
 	WINDEMO1("nurseryrhymes", "Sampler", "NURSERY.EXE", "c7cca77d8c1c88e8003db72abb05da0a", 4518423, 404),
 
 	WINDEMO1("nyack", "Demo", "NYACKDEM.EXE", "8902ed0bcaf2d78151f819ba41eaf124", 720431, 404),
@@ -4753,7 +4758,8 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	// Mac version is D4
 	WINGAME1("amber", "", "AMBER_JB.EXE", "1a7acbba10a7246ba58c1d53fc7203f5", 1418103, 500),
-	WINDEMO1("amber", "Demo", "DEMO.EXE",     "1a7acbba10a7246ba58c1d53fc7203f5", 1417811, 500),
+	WINDEMO2t("amber", "Demo", "DEMO.EXE", "98f65233a8d80a75513267fed14c1e18", 1417811,
+							   "AMBERHUB.DXR", "a95601f2521fd00c88ac424d66da1605", 868766, 501),
 
 	MACGAME1_l("aozoragaho", "", "PPC", "08166af62693ceab79b28d90d2f6c86b", 105571, Common::JA_JPN, 501),
 	WINGAME1t_l("aozoragaho", "", "32.EXE", "2787761ff8a943701c291da6e618310b", 1410721, Common::JA_JPN, 501),
@@ -4768,9 +4774,13 @@ static const DirectorGameDescription gameDescriptions[] = {
 
 	WINGAME1("arad", "", "arad95nt.exe", "3460ad87d2ba57104e2810a77b53c220", 2623135, 500),
 
+	// Retail CD release from BeachWare, Inc.
+	MACGAME1("arcade", "", "Classic Arcade", "3ecbe87870ab4b0c0acb10a9e22eb561", 705402, 500),
+	WINGAME1t("arcade", "", "ARCADE.EXE", "4f7f250aeae7c255602855f42ad271ea", 925519, 501),
+
 	// Available here: http://web.archive.org/web/20080412010505/http://www.beachware.com/download/
 	// Each shareware title plays 1 of 2 arcade games until unlocked with registration code
-	// All games are also available and unlocked on the retail BeachWare Arcade Classics CD
+	// All games are also available and unlocked on the retail BeachWare Classic Arcade CD
 	MACGAME1("arcadeboing", "",	"Classic Arcade Boing!", "231d3041df162be4a0ddd36a74eb03b6", 719261, 501),
 	WINGAME2("arcadeairattack", "", "shware32.exe", "1a7acbba10a7246ba58c1d53fc7203f5", 1410427,
 									"Bomber.Dxr",	"e2409782f6bfa16862fba0437c9cdf3d", 3443518, 501),
@@ -6757,6 +6767,20 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("verttice", "v3.0", "DreamLight Verttice 3.0", "0944b962ebb00f4b5d5149d220f8449b", 123353, 702),
 	WINGAME1("verttice", "v3.0", "DreamLight Verttice 30.EXE", "7c18c9a6af2694156bf09ed195c1ab09", 3010200, 702),
 
+	// Runs in 800x600, includes "VJG (640 x 480)" or VJGIAW.EXE for 640x480 monitors
+	MACGAME1("vjg", "", "Vegas Jackpot Gold", "0944b962ebb00f4b5d5149d220f8449b", 113484, 700),
+	WINGAME1t("vjg", "", "VJG.EXE", "f45023765b63cdb1b0343eefd4353939", 2732994, 700),
+	MACGAME1("vjg", "Cards screensaver", "Data/scrnsave/mac/Cards (800x600)", "0944b962ebb00f4b5d5149d220f8449b", 228716, 700),
+	WINGAME1t("vjg", "Cards screensaver", "Data/scrnsave/pc/Cards.exe", "d0a2429140f838b2448d350db45c13bc", 2774344, 700),
+	MACGAME1("vjg", "Chips screensaver", "Data/scrnsave/mac/Chips (800x600)", "0944b962ebb00f4b5d5149d220f8449b", 228716, 700),
+	WINGAME1t("vjg", "Chips screensaver", "Data/scrnsave/pc/Chips.exe", "ec3725cad6f7f6a5b977e309ea2d0522", 3044936, 700),
+	MACGAME1("vjg", "Dice screensaver", "Data/scrnsave/mac/Dice (800x600)", "0944b962ebb00f4b5d5149d220f8449b", 228715, 700),
+	WINGAME1t("vjg", "Dice screensaver", "Data/scrnsave/pc/Dice.exe", "b61e97ab776436f1c4cdf2b96cf1d4d1", 3151605, 700),
+	MACGAME1("vjg", "Gold screensaver", "Data/scrnsave/mac/Gold (800x600)", "0944b962ebb00f4b5d5149d220f8449b", 228715, 700),
+	WINGAME1t("vjg", "Gold screensaver", "Data/scrnsave/pc/Gold.exe", "63ab65806ca8ee2c45826a8cb386dadc", 2676467, 700),
+	MACGAME1("vjg", "Quarters screensaver", "Data/scrnsave/mac/Quarters (800x600)", "0944b962ebb00f4b5d5149d220f8449b", 228719, 700),
+	WINGAME1t("vjg", "Quarters screensaver", "Data/scrnsave/pc/Quarters.exe", "fb759c6bf4b009ddf9f7fe74c2dbdac4", 2696814, 700),
+
 	MACGAME1("webmaster", "", "Webmaster", "0944b962ebb00f4b5d5149d220f8449b", 128297, 702),
 	WINGAME1("webmaster", "", "Webmaster.exe", "7c18c9a6af2694156bf09ed195c1ab09", 1820594, 702),
 
diff --git a/engines/director/lingo/xlibs/miscx.cpp b/engines/director/lingo/xlibs/miscx.cpp
index 826283ee283..d798d4647b7 100644
--- a/engines/director/lingo/xlibs/miscx.cpp
+++ b/engines/director/lingo/xlibs/miscx.cpp
@@ -23,6 +23,7 @@
  *
  * USED IN:
  * Pippi
+ * AMBER: Journeys Beyond
  *
  *************************************/
 /* -- Misc_X, Misc Utilities XObject v2.0


Commit: f9e16e59ed3883529d31701df59eb84fc063f508
    https://github.com/scummvm/scummvm/commit/f9e16e59ed3883529d31701df59eb84fc063f508
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2022-06-22T23:38:15+02:00

Commit Message:
DIRECTOR: +Casino 5 Pack; fix dumpChunk bug where getResource can return nullpointer

Changed paths:
    engines/director/archive.cpp
    engines/director/detection_tables.h


diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index b6066d4c6fa..faa999bae16 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -207,6 +207,9 @@ void Archive::dumpChunk(Resource &res, Common::DumpFile &out) {
 	uint dataSize = 0;
 
 	Common::SeekableReadStreamEndian *resStream = getResource(res.tag, res.index);
+	if (!resStream) {
+		return;
+	}
 	uint32 len = res.size;
 
 	if (dataSize < len) {
diff --git a/engines/director/detection_tables.h b/engines/director/detection_tables.h
index 095bc2b0b76..8e115138c1f 100644
--- a/engines/director/detection_tables.h
+++ b/engines/director/detection_tables.h
@@ -90,6 +90,7 @@ static const PlainGameDescriptor directorGames[] = {
 	{ "brer",				"Brer Rabbit and the Wonderful Tar Baby" },
 	{ "buzz1",				"Buzz Lightyear 1st Grade" },
 	{ "casino",				"Casino!" },
+	{ "casino5p",			"Casino 5 Pack" },
 	{ "casinoblackjack",	"Casino Black Jack" },
 	{ "casinokeno",			"Casino Keno" },
 	{ "casinopoker",		"Casino Poker" },
@@ -2545,9 +2546,9 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("vcbe", "", "VirtualCocktailBarExecutive", "f5277c53bacd27936158dd3867e587e2", 394073, Common::JA_JPN, 311),
 
 	// Original filenames are DreamLight® Verttice™ 1.0 and DreamLight® Verttice™ 1.1
-	MACGAME1("verttice", "v1.0", "DreamLight Verttice 1.0", "b57fff2bb16ad91d6e807ceeab357271", 1083249, 311),
-	MACGAME1("verttice", "v1.1", "DreamLight Verttice 1.1", "1ae45c23586b41997ba52e2e7c771c4c", 1087183, 311),
-	MACGAME1("verttice", "v1.1 PowerMac", "DreamLight Verttice 1.1", "1ae45c23586b41997ba52e2e7c771c4c", 1089447, 311),
+	MACGAME1("verttice", "v1.0", "xn--DreamLight Verttice 1.0-35a3288r", "b57fff2bb16ad91d6e807ceeab357271", 1082993, 311),
+	MACGAME1("verttice", "v1.1", "xn--DreamLight Verttice 1.1-35a3288r", "1ae45c23586b41997ba52e2e7c771c4c", 1086927, 311),
+	MACGAME1("verttice", "v1.1 PowerMac", "xn--DreamLight Verttice 1.1-35a3288r", "1ae45c23586b41997ba52e2e7c771c4c", 1089191, 311),
 
 	MACGAME2("vvcyber", "", "Start Game", "7f443f2e63fd497a9ad85b10dc880a91", 384846,
 							"START0",	  "6d6781e7183df66d8995285e4e3f1a50", 807, 300),
@@ -2803,7 +2804,7 @@ static const DirectorGameDescription gameDescriptions[] = {
 	// Original filename is Ants Afire!â„¢ 1.2
 	// Original Pro demo filename is Ants Afire! Proâ„¢ PM
 	// Demo is from Inside Mac Games #25 - Mar 25 1995
-	MACGAME1("antsafire", "v1.2", "xn--Ants Afire! 1.2-ke3i", "1682231de376e5465240f6e4a7952072", 292216, 403),
+	MACGAME1("antsafire", "v1.2", "xn--Ants Afire! 1.2-ke3i", "1682231de376e5465240f6e4a7952072", 291960, 403),
 	MACDEMO1("antsafire", "Pro 1.2.7 Demo", "xn--Ants Afire! Pro PM-qu3k", "71287376e445ab9c98f0d150bb0ed175", 60096, 404), // 1.2 on title screen
 
 	MACDEMO1("aol", "v2.6 Demo", "America Online Easy", "67f572196550aedb1f9523d782022be0", 482582, 404),
@@ -4172,11 +4173,11 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("peterrabbit", "", "Peter Rabbit (PowerMac)", "fd5cf6efd07077a06519145fc3700e63", 62616, 404),
 
 	// These tile puzzles are identical except for the image
-	MACGAME1("pfarrypuzzle", "Flower", "Flower Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 304196, 400),
-	MACGAME1("pfarrypuzzle", "Iris", "Iris Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 304196, 400),
-	MACGAME1("pfarrypuzzle", "Lighthouse", "Lighthouse Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 304196, 400),
-	MACGAME1("pfarrypuzzle", "Old Camera", "Old Camera Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 304196, 400),
-	MACGAME1("pfarrypuzzle", "Sunflower", "Sunflower Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 304196, 400),
+	MACGAME1("pfarrypuzzle", "Flower", "Flower Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 303940, 400),
+	MACGAME1("pfarrypuzzle", "Iris", "Iris Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 303940, 400),
+	MACGAME1("pfarrypuzzle", "Lighthouse", "Lighthouse Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 303940, 400),
+	MACGAME1("pfarrypuzzle", "Old Camera", "Old Camera Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 303940, 400),
+	MACGAME1("pfarrypuzzle", "Sunflower", "Sunflower Puzzle", "cdb27c916044ae4dceb4b7326063fa03", 303940, 400),
 
 	MACDEMO1_l("phantplanet", "Demo", "PHANTASMAGORIA demo", "dc5a87dda7a0daf46604515f7d2cca66", 291960, Common::JA_JPN, 403),
 	WINDEMO1t_l("phantplanet", "Demo", "PHANDEMO.EXE", "56dc12f841f627be652d23e457875f61", 692923, Common::JA_JPN, 404),
@@ -6903,6 +6904,10 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1("broadwayyb", "", "Startmac",	   "4ea5fc09f79eee6dded94dc40f303779", 196199, 800),
 	WINGAME1("broadwayyb", "", "YEARBOOK.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 2256212, 800),
 
+	// Mac OS 9 and OS X versions are D9
+	WINGAME1t("casino5p", "", "Casino.exe", "fb46241e501df6a96d5a3109f13d61b6", 3335762, 850), // Disc 1
+	WINGAME1t("casino5p", "", "Slots200.exe", "0f04a70712597a6bd001232b0913d514", 3011024, 850), // Disc 2
+
 	MACGAME1("cmi", "CM38/10/01", "CMi_38_Mac", "f065c75691d28120e9f630448c3b1b71", 1225735, 800),
 	WINGAME1("cmi", "CM38/10/01", "CMi_38_Win.exe", "e24d4bab978b1a5c2326d2c56cf4d781", 2514361, 800),
 
@@ -7270,6 +7275,15 @@ static const DirectorGameDescription gameDescriptions[] = {
 	MACGAME1_l("boulebill", "", "Boule et Bill Au voleur !!!", "9ba96b315646d5f62be9ab5597d2e0d7", 176370, Common::FR_FRA, 901),
 	WINGAME1_l("boulebill", "", "Au voleur!.exe", "4b89dba499aefda5201eef3d27963d01", 2186312, Common::FR_FRA, 900),
 
+	// Windows versions are D8
+	// Disc 1
+	MACGAME1("casino5p" ,"", "Casino!/Casino (OSX)", "d483e955df901222145267d2ad729ea2", 230404, 900),
+	MACGAME1("casino5p" ,"", "Keno/Keno Master (OSX)", "d483e955df901222145267d2ad729ea2", 246990, 900),
+	MACGAME1("casino5p" ,"", "Lottery/Lottery Advantage (OSX)", "d483e955df901222145267d2ad729ea2", 289036, 900),
+	MACGAME1("casino5p" ,"", "Slot City/Slot City (OSX)", "d483e955df901222145267d2ad729ea2", 230407, 900),
+	// Disc 2
+	MACGAME1("casino5p" ,"", "Slots 200 Plus (OSX)", "d483e955df901222145267d2ad729ea2", 291178, 900),
+
 	WINGAME2_l("eso", "", "START.EXE",	"c612aa43e7ef55aa4fd2e1085fb1ef7a", 3752491,
 						  "ESO_D1.DXR", "6d39a8ef9a8060e21616f23872c581b6", 2075636, Common::ES_ESP, 900),
 


Commit: d60f94912155acb1591daa2aa5becb8178ff18df
    https://github.com/scummvm/scummvm/commit/d60f94912155acb1591daa2aa5becb8178ff18df
Author: eientei (einstein95 at users.noreply.github.com)
Date: 2022-06-22T23:38:15+02:00

Commit Message:
DIRECTOR: jitdraw3: Add note where it's used

Changed paths:
    engines/director/lingo/xlibs/jitdraw3.cpp


diff --git a/engines/director/lingo/xlibs/jitdraw3.cpp b/engines/director/lingo/xlibs/jitdraw3.cpp
index 2353d26d50c..b3cac7f3357 100644
--- a/engines/director/lingo/xlibs/jitdraw3.cpp
+++ b/engines/director/lingo/xlibs/jitdraw3.cpp
@@ -19,6 +19,12 @@
  *
  */
 
+/*************************************
+ *
+ * USED IN:
+ * Learning CorelDRAW 3
+ *
+ *************************************/
 /*
   -- JITDraw3 External Factory. 16Feb93 PTM
   JITDraw3




More information about the Scummvm-git-logs mailing list