View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
Pysx: A Psx emulator written in python Should be: “why you should not write a psx emulator in python” But you already know why. So let’s talk about why I wrote it.
OK, but there are lots of cool projects, why this one?You might ask.It’s a long story.It all began one year ago.actually, 1 year and 1 month ago, May 9, 2011.I had a several hobby projects back then.
Chinese handwriting recognition algorithm in pythonWeb browser and GTK+ for Kindle DXChewing Chinese input for KindleCracking kindle’s DRMHacking Acer Stream’s HDMI portClockWorkMod Recovery for Acer streamCustom roms for Acer StreamUnpacking tools for Bin format for Acer firmwares
On May 9, 2011I was working on upgrading the kernel of Acer Stream, 90%done.I remember I got a phone call, and have go out and topause the work.Then something happened and my life was never the sameagain.Something about a night with blood, screamingwomen, knifes, scissors.
Something good.But not a very good for other Acer stream owners.
Not much time for hobby projects.And free time are fragmented.I choose Psx emulator as my projectbecause I don’t have much choice.Modifying a kernel for a smart device is not possible.need to concentrate for a fairly long time.
Writing a Psx emulator is different.Each components like CPU, GPU, memory are fairlyindependent.Each instruction of CPU are fairly independent.Implement on demandSeeing how far can the emulation go is kind of fun
Pypy’s rpython can “JIT” interpreters.But it has only signed 32bit integers.Using unsigned 32bit need to rewrite the codeThe expanded “switch statement” works for shedskin.But no ctypes in shedskinShedskin does not support nested functions.Using opengl, sdl on shedskin is tricky.
TODO:GTECDROMHLEDynamic recompilingPlugins in pure python