SlideShare a Scribd company logo
1 of 142
Download to read offline
...but I don't think that bullet point & memes 
is the best way to talk about arcade games
not everyone understands hardware
not everyone understands software
but everyone understand that it's a game!
that's the cool part of emulation: 
it brings games to everyone ! 
(games that might be lost forever)
This talk is about arcade games, 
the games where you put money to play. 
That money would go in the operator's pocket, 
no share to the arcade manufacturer. 
To be successfull, they had to be awesome. 
"Dedicated" (hardware, controls...) is the key to their success.
some arcade hardware graphics were cut into tiles: 
the CPU can't draw directly: it just gives a list 
of tile, then a dedicated chip draws the complete screen. 
Smoother animation, but can't draw anything else.
some arcade hardware were powered-up consoles, 
but there were many more arcade hardwares.
Let's go back in time: 
This is Night Driver (Atari 1976)...
It's based on the first racing game, 
Nürburgring (1975) made of 30 PCBs.
Berzerk was one of the first game with digitized speech. 
It cost 1000 USD / word to be digitized 
(it contained 16 words!)...
...they also made a german version ! 
same price per word ? ;)
Battlezone, the first FPS, in 1980...
...was initially designed as a military trainer.
I, Robot (1984) a 3d action game with filled polygons
... is considered to be 'too advanced for its time'.
Dragon's Lair, an ‘interactive’ cartoon in 1983, 
at a time where HDs were 10 Mb and graphics in 16 colors.
...was using the very recent Laser Disc technology (from 1981). 
But LD drives were quickly worn out, because of frequent scene skipping.
Outrun (Sega 1986), awesome racing game!
...uses 2 main CPUs at 10 Mhz (an Amiga 500 runs at 7 Mhz) 
the 2nd CPU's only task is to display the roads. 
(they're drawn at 30 FPS *only*, the rest of the game at 60)
Hard Drivin (1989), a 3d simulation way before modern GPUs existed...
...used 3 PCBs. 
They made a triple screen version of the sequel: 
6 PCBs, 4 CPUs, 9 DSPs !!!! 
It’s emulated since last month (November 14) !
Sometimes, it was the arcade cabinet that was awesome. 
Hang gliding, bike, car... ass poking ?!?
Sega's R360 rotates the player on all axis, even upside down !
Sometimes, the screen was the awesome part: half sphere, 3x screen...
...and with awesome games came awesome piracy!
the first bootleg in Mame is from 1977!
As long as a game was good enough and its hardware not too extreme, 
bootlegs would be made. A few of them were 'creative'.
Space Invaders (text) <> Darth Vader (gfx) 
Metal Slug 3 <> Metal Slug 6 (!!)
They went further and were taking a good game, 
then hacking gfx & sound to create a 'new' game
or sometimes they just ripped off graphics, 
to make a (crappy) game, 
like a shooter with StarCraft's GFX :(
With awesome piracy came awesome protections. 
once again, dedicated stuff, sometimes 
tightly integrated with the game internals
In Bee Storm, if the protected CPU is missing, 
the game works, but the enemies don't shoot anymore.
In Hang-on, if the 2nd CPU (sometimes encrypted) 
is missing, then roads are straight.
in S.P.Y., collisions are handled by a custom chip: 
without it, you can't hurt and cannot be hurt.
So, in general, the only solution to correctly emulate 
them is to decap the protection chip and read the internal ROM. 
Bubble Bobble was only correctly preserved in 2005 !
to store protected data, they went further: 
store data on battery-powered RAM. 
the battery dies, the game dies. 
the manual doesn't even mention it! 
the warranty is void if you open the game's case!
some manufacturers were using 'commercial' protection chip, 
but most were custom.
so you're not supposed to open the game, 
yet all games will eventually die once all batteries are empty. 
Hacking these games is the only way to preserve them.
it also enables the IP to be re-used commercially later.
modern practices also brought DLC rip-offs :(
Arcade games had to be awesome. They were often using dedicated parts. 
they were heavily pirated. they were heavily protected. 
So protected that it makes them vulnerable (to time)! 
Hacking is the only way to preserve them.
Let's look at the Capcom Play System, known as CPS1.
known mostly for Street Fighter II
and many other good games
the complete list...
including the least known, 
only emulated in June 2014. 
It's SF2-based, but it's a mole 
hitting game !!
CPS1 was increasingly protected: 
Yet it was completely hacked. 
SF2 bootlegs were common.
a final fight bootleg, adding extra characters to control.
an original CPS1… (3 PCBs)
and a CPS1 bootleg (nothing in common)
the latest CPS1 generation had custom chip+suicide battery,..
...but it was defeated nonetheless: 
weak encryption+encrypted data made plaintext attack easy.
CPS1 was great. 
It was protected. 
It was completely hacked.
Capcom released its evolution, the CPS2
it started with this...
from Super SF2 (1993) 
to Hyper SF2 (2003) 
(how original !)
CPS2 was awesome...
...really awesome!
...plenty of great games...
the real successor to the CPS1 
the last successful hardware from Capcom.
here is the complete list of bootlegs, hacks, swaps... 
(absolutely NOTHING)
they were so desperate that they couldn't hack that...
that they hacked a console version into an arcade game (with typo)
A CPS2 is a sandwich of 2 PCBs 
(sometimes only 1, sometimes 3)
the game PCB contains code+data+protection
what's in green is in clear, 
in red is encrypted. 
Code and Data are together. 
Code is crypted, data isn't.
decryption is made on the fly, 
during memory fetch. 
read standard memory? as is. 
read for execution? decrypt.
patch an opcode (unknown encryption) 
→ black screen. game over. retry ?
CPS2 was really awesome. 
it was well protected. 
it was absolutely unscathed for 6 years.
Capcom had a major competitor.
the Neo-Geo is known 
for many games...
an exceptional success and longevity !
a success in arcade AND as an expensive console
Capcom created something 
that made the NeoGeo look small and cheap. 
It was a commercial failure...
as a last effort, they backported a recent CPS2 game. 
the first decrypted CPS2 port !!!
but nothing happened. the dragon was still alive.
to defeat a dragon, you need adventurers: 
Razoola, Charles MacDonald, Andreas Naive, Nicola Salmoria, David Haywood, and many others. 
(I worked with Razoola, and helped him on the PC side)
In November 1999, Razoola re-enabled SFZ’s internal debugger (first working CPS2 patch !) 
→ not blind anymore !
in spring 2000, he found that some specific memory ranges were not using encryption! 
why ? no reason - just a big facepalm ! 
→ shellcode execution for a split second.
when reading relatively to code (PC), 
memory fetches are actually decrypted ! 
Sega prevented that, but Capcom failed. 
→ first CPS2 decryption, word by word
so, in Summer 2000, I visited Raz, hoping we'd break the algo. 
but no success...
in the meantime, we worked on other stuff 
(it's good to keep the faith, and your brain fresh !)
in December 2000, Raz noticed that Capcom 
leaked the key to keep decryption alive. 
→ automated dump is now possible !
we dumped by connecting the CPS2 to the joystick port of the PC. 
ugly, clumsy, slow, but worked !
Jan 2001: first cps2 emulation
the news didn't get it right, as usual...
but now emulation was a reality. 
each game needed to be sent to 
Raz in a working state.
game over for CPS2 ? 
not fully. encryption still unknown, no possible restoration yet.
in the meantime, more side projects, to keep the faith ;)
recent NeoGeo games also featured better protection
but with 'joystick dumping', that was defeated quickly :p 
(decryption done by Nicola Salmoria)
what about dead CPS2 boards ?
if you put back decrypted code on a dead CPS2, 
it still doesn't work.
Razoola was donated a working PCB to sacrifice, 
then found out why.
video and sound registers had a different address on dead games. 
patching these addresses makes them work again !
workflow: decrypt code, merge with data, patch addresses...
Razoola made a universal test ROM, 
and 'no more battery' Phoenix versions.
this also made bootlegs possible. 
no more battery... 
from MegaMan to Gigaman :(
and also some cool all-in-one: 
play all games with just one board.
PC, 1999 
CPS2, 1994 
these 2 games look different...
however, the IP was the same. 
Some nice lawyer wrote us a letter... 
You see who your friends really are, 
in these cases ;)
so now even the most obscure CPS2 games were preserved, 
but the encryption was still unknown. 
and it would take us 200 years to dump all possible values for one game...
so we needed someone else to continue...
if you can't defeat the ennemy, bring your friends. 
In 2005, Charles MacDonald started to work on the CPS2.
Charles MacDonald is an awesome hacker, with special weapons. 
Here, his PAL blackboxer. 
So, he took the CPS2 PAL, determine their internal configuration 
by blackboxing them, replace them with GALs. 
He now had controls over memory mapping !
then he designed his own dedicated device...
to dump CPS2 directly via its expansion port, to USB !!! 
He could dump the 8 Gb set in 17h. 
He did that for several games. but that wasn't enough to understand the algorithm......
so someone else needed to continue to break the algo...
that's where Nicola Salmoria and Andreas Naive helped. 
they're awesome to determine encryption algorithm. 
the algo was feistel based, and the key was 64 bits.
so, from one european decrypted dump of a game, 
the key could be determined, 
which could then decrypt the rare japanese version of the game.
Higenekodo even designed a patch to improve the controls of that game :D 
dedication FTW !
Last, Dave Haywood designed an attack to determine 
the key just from the ENCRYPTED dump of the game. 
So even the rarest CPS2 game was preserved !
Conclusion
Capcom's mistakes
many people contributed, in various ways
and overall, an awesome victory !
the original hardware to resurrect CPS2s appeared only a few years ago...
CPS2's protection is seen as related to Sega Naomi's
Andreas Naive later defeated CPS3 encryption 
Then recently, Darksoft resurrected them and 
made an all-in-one CPS3 CD !
Razoola also went deeper in Neo-Geo enhancing, 
with his Universal Bios.
this is the Bubble Memory system. 
it’s very fragile.
to work, it needs to warm up to a certain temperature. 
to me, this big countdown says: 
'all these games are going to disappear if no one hacks or contribute for them'
Razoola’s CPS2Shock 
http://www.cps2shock.com 
http://web.archive.org/web/*/http://cps2shock.retrogames.com 
Charles MacDonald's Home Page 
http://cgfm2.emuviews.com/old2005.php 
Nicola Salmoria's MAME Ramblings 
http://mamelife.blogspot.com/2006/01/8gb-2-is-still-4gb.html 
Andreas Naive’s Notas de Andy 
http://andreasnaive.blogspot.com/2006_12_01_archive.html 
Mame’s CPS2 encryption source 
http://mamedev.org/source/src/mame/machine/cps2crpt.c.html 
DarkSoft’s Breaking CPS3 
http://64darksoft.blogspot.com 
(links)
yes, this is a CPS2 timeline :p
some bonus ?
SFA3 has a time lock: if you let it run long enough, 
some special modes are unlocked. 
the title background tells how many modes are unlocked.
extra characters, extra playing modes
Hidden in the operator menu, 
Razoola found the crazy cheat codes 
in the disassembly to turn on this 
extras without waiting weeks.
Charles MacDonald also worked on Sega hardware and created his own device for it...
Dumping from a Sega System24’s FD1094 to USB
to preserve games from 
System 16, 24 & System X
Last Survivor, a System X game from 1989, 
was thought to be lost forever. 
Someone still had one in working conditions: 
it was preserved, 20 years later !
it's a split-screen multiplayer FPS
modern tools show how fighting games engine actually work. 
damage areas change from one version to the other.
there are bugs in the official releases !
attack behind you, or be hit for no reason...
tools assisted speedruns abuse games 
via standard controls.
Preserving arcade games

More Related Content

What's hot

What's hot (20)

【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得
 
Week One - Introduction
Week One - IntroductionWeek One - Introduction
Week One - Introduction
 
Quake live steam
Quake live steamQuake live steam
Quake live steam
 
AbadIA - sphere it krakow 2019
AbadIA -   sphere it krakow 2019AbadIA -   sphere it krakow 2019
AbadIA - sphere it krakow 2019
 
All About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai NAll About Gaming - By Sai Krishna A & Roopsai N
All About Gaming - By Sai Krishna A & Roopsai N
 
Funky game engines
Funky game enginesFunky game engines
Funky game engines
 
History of Video Games up to 90s
History of Video Games up to 90sHistory of Video Games up to 90s
History of Video Games up to 90s
 
Spacewar
SpacewarSpacewar
Spacewar
 
Music Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual FullMusic Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual Full
 
AbadIA ING Direct - Madrid 2019
AbadIA ING Direct - Madrid 2019AbadIA ING Direct - Madrid 2019
AbadIA ING Direct - Madrid 2019
 
Week Two - Game Platforms
Week Two - Game PlatformsWeek Two - Game Platforms
Week Two - Game Platforms
 
Weeks 6, 7 Game Design
Weeks 6, 7 Game DesignWeeks 6, 7 Game Design
Weeks 6, 7 Game Design
 
Ddn
DdnDdn
Ddn
 
Apple earlier business plan
Apple earlier business planApple earlier business plan
Apple earlier business plan
 
Adventure lecture
Adventure lectureAdventure lecture
Adventure lecture
 
Reviewing A Game - The Orange Box
Reviewing A Game - The Orange BoxReviewing A Game - The Orange Box
Reviewing A Game - The Orange Box
 
X box 1 abhishek 1
X box 1 abhishek 1X box 1 abhishek 1
X box 1 abhishek 1
 
game development
game  developmentgame  development
game development
 
Sega product range
Sega product rangeSega product range
Sega product range
 
ZaCon 4 (2012) - Game Hacking
ZaCon 4 (2012) - Game HackingZaCon 4 (2012) - Game Hacking
ZaCon 4 (2012) - Game Hacking
 

Viewers also liked

Design Principles For Arcade Games
Design Principles For Arcade GamesDesign Principles For Arcade Games
Design Principles For Arcade GamesAntti Lax
 
Funky file formats - 31c3
Funky file formats - 31c3Funky file formats - 31c3
Funky file formats - 31c3Ange Albertini
 
Caine's arcade technology lesson ideas for teachers
Caine's arcade technology lesson ideas for teachersCaine's arcade technology lesson ideas for teachers
Caine's arcade technology lesson ideas for teachersJoanne Villis
 
Case study. Advertisers success in mobile economy
Case study. Advertisers success in mobile economyCase study. Advertisers success in mobile economy
Case study. Advertisers success in mobile economyClickky
 
Data analysis & balancing meeting thibault coupart avril 2015
Data analysis & balancing meeting thibault coupart avril 2015Data analysis & balancing meeting thibault coupart avril 2015
Data analysis & balancing meeting thibault coupart avril 2015Johan-André Jeanville
 
Arihant.ppt [autosaved]
Arihant.ppt [autosaved]Arihant.ppt [autosaved]
Arihant.ppt [autosaved]aaru994
 

Viewers also liked (6)

Design Principles For Arcade Games
Design Principles For Arcade GamesDesign Principles For Arcade Games
Design Principles For Arcade Games
 
Funky file formats - 31c3
Funky file formats - 31c3Funky file formats - 31c3
Funky file formats - 31c3
 
Caine's arcade technology lesson ideas for teachers
Caine's arcade technology lesson ideas for teachersCaine's arcade technology lesson ideas for teachers
Caine's arcade technology lesson ideas for teachers
 
Case study. Advertisers success in mobile economy
Case study. Advertisers success in mobile economyCase study. Advertisers success in mobile economy
Case study. Advertisers success in mobile economy
 
Data analysis & balancing meeting thibault coupart avril 2015
Data analysis & balancing meeting thibault coupart avril 2015Data analysis & balancing meeting thibault coupart avril 2015
Data analysis & balancing meeting thibault coupart avril 2015
 
Arihant.ppt [autosaved]
Arihant.ppt [autosaved]Arihant.ppt [autosaved]
Arihant.ppt [autosaved]
 

Similar to Preserving arcade games

10 things today’s gamers wouldn’t understand www.gamebasin.com
10 things today’s gamers wouldn’t understand   www.gamebasin.com10 things today’s gamers wouldn’t understand   www.gamebasin.com
10 things today’s gamers wouldn’t understand www.gamebasin.comGameBasin.com
 
Bajo - Psyke: EMulazione PS1... da Firenze alla Cina
Bajo - Psyke: EMulazione PS1... da Firenze alla CinaBajo - Psyke: EMulazione PS1... da Firenze alla Cina
Bajo - Psyke: EMulazione PS1... da Firenze alla CinaCodemotion
 
The Ultimate Gaming
The Ultimate GamingThe Ultimate Gaming
The Ultimate Gamingkoolshreeram
 
AoP: Brief History of Video Games
AoP: Brief History of Video GamesAoP: Brief History of Video Games
AoP: Brief History of Video GamesMiami University
 
Development of Gamig Platforms PR1
Development of Gamig Platforms PR1Development of Gamig Platforms PR1
Development of Gamig Platforms PR1Sokyo
 
Game Design, November 5th, 2013: A Quick History of Video Games
Game Design, November 5th, 2013: A Quick History of Video GamesGame Design, November 5th, 2013: A Quick History of Video Games
Game Design, November 5th, 2013: A Quick History of Video GamesMiami University
 
IMS 211: A (very)Brief History of Video Games
IMS 211: A (very)Brief History of Video GamesIMS 211: A (very)Brief History of Video Games
IMS 211: A (very)Brief History of Video GamesMiami University
 
glitchNES - Bent Fest workshop
glitchNES - Bent Fest workshopglitchNES - Bent Fest workshop
glitchNES - Bent Fest workshopnocarrier
 
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, futurehackersuli
 
Barcamp Derry (Side A) - A Brief History of Video Games
Barcamp Derry (Side A) - A Brief History of Video GamesBarcamp Derry (Side A) - A Brief History of Video Games
Barcamp Derry (Side A) - A Brief History of Video GamesJames Burke
 
The development of the games industry
The development of the games industryThe development of the games industry
The development of the games industryjcr1994
 
Game den game console timeline
Game den game console timelineGame den game console timeline
Game den game console timelinerosstapher
 

Similar to Preserving arcade games (20)

Version 1 65
Version 1 65Version 1 65
Version 1 65
 
10 things today’s gamers wouldn’t understand www.gamebasin.com
10 things today’s gamers wouldn’t understand   www.gamebasin.com10 things today’s gamers wouldn’t understand   www.gamebasin.com
10 things today’s gamers wouldn’t understand www.gamebasin.com
 
History of Video Games
History of Video GamesHistory of Video Games
History of Video Games
 
Assignment 1
Assignment 1Assignment 1
Assignment 1
 
JRC Seminar (History of Video Game Industry)
JRC Seminar (History of Video Game Industry)JRC Seminar (History of Video Game Industry)
JRC Seminar (History of Video Game Industry)
 
Sam magazine
Sam magazineSam magazine
Sam magazine
 
Bajo - Psyke: EMulazione PS1... da Firenze alla Cina
Bajo - Psyke: EMulazione PS1... da Firenze alla CinaBajo - Psyke: EMulazione PS1... da Firenze alla Cina
Bajo - Psyke: EMulazione PS1... da Firenze alla Cina
 
Brief Video Game History
Brief Video Game HistoryBrief Video Game History
Brief Video Game History
 
The Ultimate Gaming
The Ultimate GamingThe Ultimate Gaming
The Ultimate Gaming
 
AoP: Brief History of Video Games
AoP: Brief History of Video GamesAoP: Brief History of Video Games
AoP: Brief History of Video Games
 
Awea
AweaAwea
Awea
 
Development of Gamig Platforms PR1
Development of Gamig Platforms PR1Development of Gamig Platforms PR1
Development of Gamig Platforms PR1
 
Game Design, November 5th, 2013: A Quick History of Video Games
Game Design, November 5th, 2013: A Quick History of Video GamesGame Design, November 5th, 2013: A Quick History of Video Games
Game Design, November 5th, 2013: A Quick History of Video Games
 
IMS 211: A (very)Brief History of Video Games
IMS 211: A (very)Brief History of Video GamesIMS 211: A (very)Brief History of Video Games
IMS 211: A (very)Brief History of Video Games
 
glitchNES - Bent Fest workshop
glitchNES - Bent Fest workshopglitchNES - Bent Fest workshop
glitchNES - Bent Fest workshop
 
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
 
Barcamp Derry (Side A) - A Brief History of Video Games
Barcamp Derry (Side A) - A Brief History of Video GamesBarcamp Derry (Side A) - A Brief History of Video Games
Barcamp Derry (Side A) - A Brief History of Video Games
 
The development of the games industry
The development of the games industryThe development of the games industry
The development of the games industry
 
Graphics cards
Graphics cardsGraphics cards
Graphics cards
 
Game den game console timeline
Game den game console timelineGame den game console timeline
Game den game console timeline
 

More from Ange Albertini

Technical challenges with file formats
Technical challenges with file formatsTechnical challenges with file formats
Technical challenges with file formatsAnge Albertini
 
Relations between archive formats
Relations between archive formatsRelations between archive formats
Relations between archive formatsAnge Albertini
 
Abusing archive file formats
Abusing archive file formatsAbusing archive file formats
Abusing archive file formatsAnge Albertini
 
You are *not* an idiot
You are *not* an idiotYou are *not* an idiot
You are *not* an idiotAnge Albertini
 
Improving file formats
Improving file formatsImproving file formats
Improving file formatsAnge Albertini
 
An introduction to inkscape
An introduction to inkscapeAn introduction to inkscape
An introduction to inkscapeAnge Albertini
 
The challenges of file formats
The challenges of file formatsThe challenges of file formats
The challenges of file formatsAnge Albertini
 
Exploiting hash collisions
Exploiting hash collisionsExploiting hash collisions
Exploiting hash collisionsAnge Albertini
 
Connecting communities
Connecting communitiesConnecting communities
Connecting communitiesAnge Albertini
 
TASBot - the perfectionist
TASBot - the perfectionistTASBot - the perfectionist
TASBot - the perfectionistAnge Albertini
 
Caring for file formats
Caring for file formatsCaring for file formats
Caring for file formatsAnge Albertini
 
Trusting files (and their formats)
Trusting files (and their formats)Trusting files (and their formats)
Trusting files (and their formats)Ange Albertini
 
Let's write a PDF file
Let's write a PDF fileLet's write a PDF file
Let's write a PDF fileAnge Albertini
 

More from Ange Albertini (20)

Technical challenges with file formats
Technical challenges with file formatsTechnical challenges with file formats
Technical challenges with file formats
 
Relations between archive formats
Relations between archive formatsRelations between archive formats
Relations between archive formats
 
Abusing archive file formats
Abusing archive file formatsAbusing archive file formats
Abusing archive file formats
 
TimeCryption
TimeCryptionTimeCryption
TimeCryption
 
You are *not* an idiot
You are *not* an idiotYou are *not* an idiot
You are *not* an idiot
 
Improving file formats
Improving file formatsImproving file formats
Improving file formats
 
KILL MD5
KILL MD5KILL MD5
KILL MD5
 
No more dumb hex!
No more dumb hex!No more dumb hex!
No more dumb hex!
 
Beyond your studies
Beyond your studiesBeyond your studies
Beyond your studies
 
An introduction to inkscape
An introduction to inkscapeAn introduction to inkscape
An introduction to inkscape
 
The challenges of file formats
The challenges of file formatsThe challenges of file formats
The challenges of file formats
 
Exploiting hash collisions
Exploiting hash collisionsExploiting hash collisions
Exploiting hash collisions
 
Infosec & failures
Infosec & failuresInfosec & failures
Infosec & failures
 
Connecting communities
Connecting communitiesConnecting communities
Connecting communities
 
TASBot - the perfectionist
TASBot - the perfectionistTASBot - the perfectionist
TASBot - the perfectionist
 
Caring for file formats
Caring for file formatsCaring for file formats
Caring for file formats
 
Hacks in video games
Hacks in video gamesHacks in video games
Hacks in video games
 
Trusting files (and their formats)
Trusting files (and their formats)Trusting files (and their formats)
Trusting files (and their formats)
 
Let's write a PDF file
Let's write a PDF fileLet's write a PDF file
Let's write a PDF file
 
PDF: myths vs facts
PDF: myths vs factsPDF: myths vs facts
PDF: myths vs facts
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Preserving arcade games

  • 1.
  • 2.
  • 3.
  • 4. ...but I don't think that bullet point & memes is the best way to talk about arcade games
  • 7. but everyone understand that it's a game!
  • 8. that's the cool part of emulation: it brings games to everyone ! (games that might be lost forever)
  • 9. This talk is about arcade games, the games where you put money to play. That money would go in the operator's pocket, no share to the arcade manufacturer. To be successfull, they had to be awesome. "Dedicated" (hardware, controls...) is the key to their success.
  • 10. some arcade hardware graphics were cut into tiles: the CPU can't draw directly: it just gives a list of tile, then a dedicated chip draws the complete screen. Smoother animation, but can't draw anything else.
  • 11. some arcade hardware were powered-up consoles, but there were many more arcade hardwares.
  • 12. Let's go back in time: This is Night Driver (Atari 1976)...
  • 13. It's based on the first racing game, Nürburgring (1975) made of 30 PCBs.
  • 14. Berzerk was one of the first game with digitized speech. It cost 1000 USD / word to be digitized (it contained 16 words!)...
  • 15. ...they also made a german version ! same price per word ? ;)
  • 16. Battlezone, the first FPS, in 1980...
  • 17. ...was initially designed as a military trainer.
  • 18. I, Robot (1984) a 3d action game with filled polygons
  • 19. ... is considered to be 'too advanced for its time'.
  • 20. Dragon's Lair, an ‘interactive’ cartoon in 1983, at a time where HDs were 10 Mb and graphics in 16 colors.
  • 21. ...was using the very recent Laser Disc technology (from 1981). But LD drives were quickly worn out, because of frequent scene skipping.
  • 22. Outrun (Sega 1986), awesome racing game!
  • 23. ...uses 2 main CPUs at 10 Mhz (an Amiga 500 runs at 7 Mhz) the 2nd CPU's only task is to display the roads. (they're drawn at 30 FPS *only*, the rest of the game at 60)
  • 24. Hard Drivin (1989), a 3d simulation way before modern GPUs existed...
  • 25. ...used 3 PCBs. They made a triple screen version of the sequel: 6 PCBs, 4 CPUs, 9 DSPs !!!! It’s emulated since last month (November 14) !
  • 26. Sometimes, it was the arcade cabinet that was awesome. Hang gliding, bike, car... ass poking ?!?
  • 27. Sega's R360 rotates the player on all axis, even upside down !
  • 28. Sometimes, the screen was the awesome part: half sphere, 3x screen...
  • 29. ...and with awesome games came awesome piracy!
  • 30. the first bootleg in Mame is from 1977!
  • 31. As long as a game was good enough and its hardware not too extreme, bootlegs would be made. A few of them were 'creative'.
  • 32. Space Invaders (text) <> Darth Vader (gfx) Metal Slug 3 <> Metal Slug 6 (!!)
  • 33. They went further and were taking a good game, then hacking gfx & sound to create a 'new' game
  • 34. or sometimes they just ripped off graphics, to make a (crappy) game, like a shooter with StarCraft's GFX :(
  • 35. With awesome piracy came awesome protections. once again, dedicated stuff, sometimes tightly integrated with the game internals
  • 36. In Bee Storm, if the protected CPU is missing, the game works, but the enemies don't shoot anymore.
  • 37. In Hang-on, if the 2nd CPU (sometimes encrypted) is missing, then roads are straight.
  • 38. in S.P.Y., collisions are handled by a custom chip: without it, you can't hurt and cannot be hurt.
  • 39. So, in general, the only solution to correctly emulate them is to decap the protection chip and read the internal ROM. Bubble Bobble was only correctly preserved in 2005 !
  • 40. to store protected data, they went further: store data on battery-powered RAM. the battery dies, the game dies. the manual doesn't even mention it! the warranty is void if you open the game's case!
  • 41. some manufacturers were using 'commercial' protection chip, but most were custom.
  • 42. so you're not supposed to open the game, yet all games will eventually die once all batteries are empty. Hacking these games is the only way to preserve them.
  • 43. it also enables the IP to be re-used commercially later.
  • 44. modern practices also brought DLC rip-offs :(
  • 45. Arcade games had to be awesome. They were often using dedicated parts. they were heavily pirated. they were heavily protected. So protected that it makes them vulnerable (to time)! Hacking is the only way to preserve them.
  • 46. Let's look at the Capcom Play System, known as CPS1.
  • 47. known mostly for Street Fighter II
  • 48. and many other good games
  • 50. including the least known, only emulated in June 2014. It's SF2-based, but it's a mole hitting game !!
  • 51. CPS1 was increasingly protected: Yet it was completely hacked. SF2 bootlegs were common.
  • 52. a final fight bootleg, adding extra characters to control.
  • 54. and a CPS1 bootleg (nothing in common)
  • 55. the latest CPS1 generation had custom chip+suicide battery,..
  • 56. ...but it was defeated nonetheless: weak encryption+encrypted data made plaintext attack easy.
  • 57. CPS1 was great. It was protected. It was completely hacked.
  • 58. Capcom released its evolution, the CPS2
  • 59. it started with this...
  • 60. from Super SF2 (1993) to Hyper SF2 (2003) (how original !)
  • 63. ...plenty of great games...
  • 64. the real successor to the CPS1 the last successful hardware from Capcom.
  • 65. here is the complete list of bootlegs, hacks, swaps... (absolutely NOTHING)
  • 66. they were so desperate that they couldn't hack that...
  • 67. that they hacked a console version into an arcade game (with typo)
  • 68. A CPS2 is a sandwich of 2 PCBs (sometimes only 1, sometimes 3)
  • 69. the game PCB contains code+data+protection
  • 70. what's in green is in clear, in red is encrypted. Code and Data are together. Code is crypted, data isn't.
  • 71. decryption is made on the fly, during memory fetch. read standard memory? as is. read for execution? decrypt.
  • 72. patch an opcode (unknown encryption) → black screen. game over. retry ?
  • 73. CPS2 was really awesome. it was well protected. it was absolutely unscathed for 6 years.
  • 74. Capcom had a major competitor.
  • 75. the Neo-Geo is known for many games...
  • 76. an exceptional success and longevity !
  • 77. a success in arcade AND as an expensive console
  • 78. Capcom created something that made the NeoGeo look small and cheap. It was a commercial failure...
  • 79. as a last effort, they backported a recent CPS2 game. the first decrypted CPS2 port !!!
  • 80. but nothing happened. the dragon was still alive.
  • 81. to defeat a dragon, you need adventurers: Razoola, Charles MacDonald, Andreas Naive, Nicola Salmoria, David Haywood, and many others. (I worked with Razoola, and helped him on the PC side)
  • 82. In November 1999, Razoola re-enabled SFZ’s internal debugger (first working CPS2 patch !) → not blind anymore !
  • 83. in spring 2000, he found that some specific memory ranges were not using encryption! why ? no reason - just a big facepalm ! → shellcode execution for a split second.
  • 84. when reading relatively to code (PC), memory fetches are actually decrypted ! Sega prevented that, but Capcom failed. → first CPS2 decryption, word by word
  • 85. so, in Summer 2000, I visited Raz, hoping we'd break the algo. but no success...
  • 86. in the meantime, we worked on other stuff (it's good to keep the faith, and your brain fresh !)
  • 87. in December 2000, Raz noticed that Capcom leaked the key to keep decryption alive. → automated dump is now possible !
  • 88. we dumped by connecting the CPS2 to the joystick port of the PC. ugly, clumsy, slow, but worked !
  • 89. Jan 2001: first cps2 emulation
  • 90. the news didn't get it right, as usual...
  • 91. but now emulation was a reality. each game needed to be sent to Raz in a working state.
  • 92. game over for CPS2 ? not fully. encryption still unknown, no possible restoration yet.
  • 93. in the meantime, more side projects, to keep the faith ;)
  • 94. recent NeoGeo games also featured better protection
  • 95. but with 'joystick dumping', that was defeated quickly :p (decryption done by Nicola Salmoria)
  • 96. what about dead CPS2 boards ?
  • 97. if you put back decrypted code on a dead CPS2, it still doesn't work.
  • 98. Razoola was donated a working PCB to sacrifice, then found out why.
  • 99. video and sound registers had a different address on dead games. patching these addresses makes them work again !
  • 100. workflow: decrypt code, merge with data, patch addresses...
  • 101. Razoola made a universal test ROM, and 'no more battery' Phoenix versions.
  • 102. this also made bootlegs possible. no more battery... from MegaMan to Gigaman :(
  • 103. and also some cool all-in-one: play all games with just one board.
  • 104. PC, 1999 CPS2, 1994 these 2 games look different...
  • 105. however, the IP was the same. Some nice lawyer wrote us a letter... You see who your friends really are, in these cases ;)
  • 106. so now even the most obscure CPS2 games were preserved, but the encryption was still unknown. and it would take us 200 years to dump all possible values for one game...
  • 107. so we needed someone else to continue...
  • 108. if you can't defeat the ennemy, bring your friends. In 2005, Charles MacDonald started to work on the CPS2.
  • 109. Charles MacDonald is an awesome hacker, with special weapons. Here, his PAL blackboxer. So, he took the CPS2 PAL, determine their internal configuration by blackboxing them, replace them with GALs. He now had controls over memory mapping !
  • 110. then he designed his own dedicated device...
  • 111. to dump CPS2 directly via its expansion port, to USB !!! He could dump the 8 Gb set in 17h. He did that for several games. but that wasn't enough to understand the algorithm......
  • 112. so someone else needed to continue to break the algo...
  • 113. that's where Nicola Salmoria and Andreas Naive helped. they're awesome to determine encryption algorithm. the algo was feistel based, and the key was 64 bits.
  • 114. so, from one european decrypted dump of a game, the key could be determined, which could then decrypt the rare japanese version of the game.
  • 115. Higenekodo even designed a patch to improve the controls of that game :D dedication FTW !
  • 116. Last, Dave Haywood designed an attack to determine the key just from the ENCRYPTED dump of the game. So even the rarest CPS2 game was preserved !
  • 119. many people contributed, in various ways
  • 120. and overall, an awesome victory !
  • 121. the original hardware to resurrect CPS2s appeared only a few years ago...
  • 122. CPS2's protection is seen as related to Sega Naomi's
  • 123. Andreas Naive later defeated CPS3 encryption Then recently, Darksoft resurrected them and made an all-in-one CPS3 CD !
  • 124. Razoola also went deeper in Neo-Geo enhancing, with his Universal Bios.
  • 125. this is the Bubble Memory system. it’s very fragile.
  • 126. to work, it needs to warm up to a certain temperature. to me, this big countdown says: 'all these games are going to disappear if no one hacks or contribute for them'
  • 127. Razoola’s CPS2Shock http://www.cps2shock.com http://web.archive.org/web/*/http://cps2shock.retrogames.com Charles MacDonald's Home Page http://cgfm2.emuviews.com/old2005.php Nicola Salmoria's MAME Ramblings http://mamelife.blogspot.com/2006/01/8gb-2-is-still-4gb.html Andreas Naive’s Notas de Andy http://andreasnaive.blogspot.com/2006_12_01_archive.html Mame’s CPS2 encryption source http://mamedev.org/source/src/mame/machine/cps2crpt.c.html DarkSoft’s Breaking CPS3 http://64darksoft.blogspot.com (links)
  • 128. yes, this is a CPS2 timeline :p
  • 130. SFA3 has a time lock: if you let it run long enough, some special modes are unlocked. the title background tells how many modes are unlocked.
  • 131. extra characters, extra playing modes
  • 132. Hidden in the operator menu, Razoola found the crazy cheat codes in the disassembly to turn on this extras without waiting weeks.
  • 133. Charles MacDonald also worked on Sega hardware and created his own device for it...
  • 134. Dumping from a Sega System24’s FD1094 to USB
  • 135. to preserve games from System 16, 24 & System X
  • 136. Last Survivor, a System X game from 1989, was thought to be lost forever. Someone still had one in working conditions: it was preserved, 20 years later !
  • 137. it's a split-screen multiplayer FPS
  • 138. modern tools show how fighting games engine actually work. damage areas change from one version to the other.
  • 139. there are bugs in the official releases !
  • 140. attack behind you, or be hit for no reason...
  • 141. tools assisted speedruns abuse games via standard controls.