💦 CREATE AND FUCK YOUR OWN AI CUMSLUT 🔥 TRY NOW ♥
Create AI Cumsluts 💦
February 19, 2021

CPS2 Encryption Support

PLEASE GET THE FILES FROM THE MOST RECENT BETA POST

(español abajo)

This week we have achieved a major milestone: on-the-fly ROM decryption, just as the original system does.

CPS2 games are encrypted by shuffling bits and exoring with the keys over and over again. The encryption key is 64-bit wide, and it gets merged with the address of the data to generate a second key. There are many stages of combinational logic used involved. I am no surprised that bootleggers did not decrypt it during the system's commercial life.

The FPGA implementation went quite smooth, despite the complexity. Last night I finally got the original games to boot.

Sadly, I haven't had the time to prepare more games for today, and we are still limited to Super Puzzle Fighter 2 Turbo, although all versions work now.

Other improvements:

-NVRAM Support (press F2 or enter the menu through the OSD DIPs)
-Sprite wrap around corrected
-DMA speed fixed (from CPS1 core)
-CPU bus waits accurate (although I have to check again after encryption)
-HDMI default aspect ratio correct

Having cleared most of the hurdles, I will focus on deploying more games for next week.

Español

Esta semana hemos logrado un hito importante: el descifrado de la ROM al vuelo, tal como lo hace el sistema original.

Los juegos de CPS2 se cifran mezclando bits y haciendo XOR con las claves una y otra vez. La clave de cifrado tiene un ancho de 64 bits y se mezclan con la dirección de los datos para generar una segunda clave. Hay muchas etapas de lógica combinacional utilizadas. No me sorprende que los piratas no lo descifraran durante la vida comercial del sistema.

La implementación de FPGA ha ido bastante bien, a pesar de la complejidad. Anoche finalmente conseguí arrancar los juegos originales.

Lamentablemente, no he tenido tiempo de preparar más juegos para hoy, y todavía estamos limitados a Super Puzzle Fighter 2 Turbo, aunque todas las versiones funcionan ahora.

Otras mejoras:

-Soporte de NVRAM (presione F2 o ingrese al menú a través de los DIP de OSD)
-Corregidos fallos en los sprites
-Velocidad de DMA corregida (del cor de CPS1)
-Las esperas de bus ahora son precisas (aunque tengo que verificarlas nuevamente tras añadir el cifrado)
-Relación de aspecto predeterminada de HDMI correcta

Habiendo superado ya la mayoría de los obstáculos, me concentraré en implementar más juegos para la próxima semana.

Comments (35)

G
Gavin Horricks · February 26, 2021

Its #JTFriday - and I cant wait for todays update! From the weeks tweets, it would appear we are due to see: Street Fighter Alpha / Zero Mighty Pang Megaman 2 Capcom Sports Club I wonder if we will see any additional surprises!

T
Thomas Williams · February 24, 2021

Amazing work, much appreciated.

J
Jo Tomiyori · February 22, 2021

Thank you so much!

J
JOTEGO · February 22, 2021

Long time no see. I hope everything is going well :-)

H
Hiddenbyleaves · February 20, 2021

Brilliant!

S
Sinan Altınuç · February 20, 2021

thanks for the info. I understand It more clearly now. What you were working on was the mechanism that could decyrpt the codes and run correct instructions according to the key which is more accurate in terms of how the real hardware in the real capcom boards. I am guessing It would even be possible to simulate the condition where the battery is gone and board doesn't work as it should. I appriciate the attention to detail :) This is real preservation.

J
JOTEGO · February 20, 2021

Yes, I could simulate that condition but probably the blank screen is not fun :-)

S
Sinan Altınuç · February 20, 2021

I watched MVG's video but i couldn't grasp one aspect. Is it using the same key for all boards or all boards have their own keys. If its the second, In that case are you including those keys in the MRA files and decyrpy as you goo as you try to run instructions. Sorry if I made some false assumptions. and didn't understand the subject well enough to ask I don't have experience with arcade boards and FPGA's. If it has a brief answer I'd be happy to know out of curiosity. Appriciate the work btw. This is real good engineering :)

J
JOTEGO · February 20, 2021

Hi Sinan, each game has its own keys. The keys are stored in a 20-byte long file together with the ROM dumps. The MRA file lists the key file so it gets loaded.

D
David Moylan · February 20, 2021

That’s awesome news. Does this mean that your core will automatically detect between encrypted and unencrypted roms or should we be using only encrypted roms now? Is there any speed penalty or advantage for using encrypted vs unencrypted?

J
JOTEGO · February 20, 2021

I don’t have a strong opinion about it. I am going to favor encrypted ROMs for now, but I will leave the door open to let users write MRA files for unencrypted sets.

D
David Pauls · February 20, 2021

Amazing work - keep it up!

R
Robert Brodie · February 19, 2021

Thanks for all your hard work!

L
Lukas Peruzovic · February 19, 2021

On the Fly Decryption is AWESOME. I take it we need to find new roms?

C
Christopher Tuckwell · February 19, 2021

Awesome news! Thank you

C
Carl Bown · February 19, 2021

Wow, 42 times ;) well done! You just keep adding amazing value to Mister.

G
Guillermo Izard · February 19, 2021

Amazing!

T
Trifle · February 19, 2021

Great work on the encryption support - and the vid you posted on twitter about the history of it was a good watch - Thanks!

M
MEM3NTO · February 19, 2021

Game Changer!

S
Shawn Wheatley · February 19, 2021

Nope, can’t change games if it only supports one 🤣 j/k, great work Jotego!

D
David Filskov · February 19, 2021

What terrific news!! - thank you :) - impressive work!

T
Tym Whitney · February 19, 2021

Awesome work!!! Take your time, i have a few things i need to do before SSF2 appears on my Mr. and i lose a week!!

P
Per Sweden · February 19, 2021

The God Father of FPGA gaming. Only CPSIII left now ;D.

M
Mohamed HASSAIRI · February 19, 2021

Thanks. Next game super Street fighter 2 please ☺️

f
felleg · February 19, 2021

That's fantastic!

A
Angelo Kanaris · February 19, 2021

Unbelievable work... this is rock star status! Congratulations...

p
patreoner · February 19, 2021

congrats!

E
Ethan Tabor · February 19, 2021

I will schedule next weekend to accurate cps2 games then. 😁

A
Alan Shurvinton · February 19, 2021

Brilliant, time for a quick update 😀

M
MiSTerFPGA.co.uk · February 19, 2021

Awesome, thanks!

L
Louis Martinez · February 19, 2021

Fantastic work!

M
Michael Yount · February 19, 2021

I was going to say the same thing. :)

J
Josep Barbié i Viudes · February 19, 2021

Excellent update ! Now I need to practise to beat this game, because I never pass the fourth stage. Thanks!

S
Stanley Roper · February 19, 2021

I love you

E
Ethan Tabor · February 19, 2021

😂