/****************************************************************************/ /* pex.faq v1.3 (last updated 12 March 1998) */ /* the official pex faq by Geoffrey Wossum (aka Maxon) */ /****************************************************************************/ ;**************************************************************************** ;* notes ;* all changes in the text are marked by a "!change!" next to the question. ;* all new questions/answers are marked by a "!new!" next to the question. ;**************************************************************************** ////////////////////////////////////////////////////////////////////////////// // stupid questions. ////////////////////////////////////////////////////////////////////////////// q: Can pex play FF7? a: No, don't you see where I'm just finishing up on the CPU core. q: Will pex be able to play FF7 when its finished? a: What is pex? That's right, a psx emulator. What is FF7? That's right, a psx game. So, what do you think? q: Can I help you program it? a: No, you suck. How can I tell? You said 'program'. Someone who might be able to help would ask, "Can I help you code it?" q: How can I help you? a: What is it with you 12 year olds? They don't give you enough homework in school. q: How come it's taking you so long to write pex? a: I go to this magical, mystical place called university. I go to classes there, take tests, write papers, do projects, and other things that take time away from pex. It's a place you 12 year olds will never get to go to because you keep emailing me stupid questions instead of doing your homework. I also associate with other people. This is something most of you 12 year olds must never do based on all the time you have to email me on your parents email accounts. q: Can you give me the rom image? Can you give me some game images? a: no. that would be wrong. ////////////////////////////////////////////////////////////////////////////// // naming questions? ////////////////////////////////////////////////////////////////////////////// q: Why did you decide to call your emulator pex? a: I figured that if you can get 'psx' out of 'playstation', I should be able to get 'pex' out of 'playstation emulator'. It has nothing to do with the *nix PEX. In fact, I didn't even think about that until a month into the project. q: Is it 'pex', or 'PEX'? a: It's 'pex'. I don't really like capital letters. ////////////////////////////////////////////////////////////////////////////// // general questions. ////////////////////////////////////////////////////////////////////////////// !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: What platforms will pex run on? a: Right now I'm planning on a dos version and a Glide version. The Glide version is for people with 3Dfx Voodoo/Voodoo Rush cards. I have discontinued any plans for a win32 port of pex. !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: What will the requirements be? a: Here's what I'm aiming for right now (and it looks very feasible): cpu : Intel Pentium MMX 166 or Intel Pentium 200. note that GenuineIntel processors have much better MMX than others. Also, GenuineIntel has much better FPU's, which is what will be used instead of MMX opcodes for non-MMX cpu's. Intel may not make the best processors, but they make the best x86 processors. memory : 16-32 (?) megs physical. cdrom : 2x cdrom with mscdex 2.1 or later. hard drive : approx 1 meg for install (pex binaries plus psx rom image). sound card (optional) : any SB/SB Pro/SB 16 or compatible or GUS/GUS MAX/GUS PnP. miscellaneous : 512kb L2 cache (in write-back mode) for optimal performance. psx rom image. psx game cd's to play. !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: I have an XYZ video card with an ABC 3d-set on it. Will pex suppport it? a: For the dos version (the first on that'll appear), the only 3d accelerators supported will be 3Dfx Voodoo and 3Dfx Voodoo Rush. These will be supported through 3Dfx's Glide API. For those who are Voodoo'less, dos pex will also provide software rendering through your 2d card (slower and less detail). q: Why are you making pex? a: The challenge. Although some of friends claim I'm making pex because I'm too cheap to buy a psx :) !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: Are you going to release the source to pex? a: Yes, with every public release I will release the full source code. q: What are you going to charge for pex? a: Nothing. Donations would gladly be accepted, tho :) !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: Is this vaporware (much like "Into the Shadows" )? Are we ever going to see anything? a: School has slowed progress for most of pex's life. There already is a public release with a partially function r3000 core. !new!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: When is pex going to play games? a: I'm hoping to have some games playable by May 2. !new!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: Why May 2? a: That's my birthday. !new!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: Any idea what game will be playable first? a: No. ////////////////////////////////////////////////////////////////////////////// // coding questions. ////////////////////////////////////////////////////////////////////////////// q: What are you writing pex in? a: C and x86 asm. !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: What are compilers/tools are you using? a: Watcom C 11.0 (I was using Watcom C 10.6) Borland Turbo Assembler 4.0 Microsoft Macro Assembler 6.12b (I just started using MASM because it has native MMX support) pmode/w 1.34 by Tran and Daredevil. dos4/gw 1.95 from Tenberry Software. Glide API 2.34 by 3Dfx. MIDAS Digital Sound System 0.7 beta by Sahara Sufers QEdit 3.00 dos 6.22 from microsoft !new!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: What's your basic strategy for emulating the psx hardware? a: The R3000A will be implemented as a recompiler. The recompiled code will run on the integer part of an x86 cpu. The GPU will emulated using software raster engines or 3Dfx hardware through 3Dfx's Glide API. I'm working on the GPU now so that's about as much as I know. I'm still working it out in my head. The cdrom will be emulated with MSCDEX calls. The GTE will be emulated using MMX instructions or FPU instructions for non-MMX cpu's. The SPU will be emulated using the MIDAS Digital Sound System. The MDEC, who knows... !soon to change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !I need to get an MMX cpu!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: What are you developing pex on? a: My dev machine is as follows : GenuineIntel Pentium 166 HX motherboard with 512 PB 48Mb edo generic S3 ViRGE 4Mb video card Diamond Monster 3D (3Dfx Voodoo 4Mb) Gravis Ultrasound PnP w/8Mb dos6.22/win95/slackware linux q: How do you find out stuff about the psx? a: I find doc's on the internet. emailing other psx-emu authors. !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: Are you going to use a graphics API? a: for dos pex, 3Dfx's Glide API is being used. q: What sound API are you going to use? a: MIDAS by the Sahara Sufers (http://www.s2.org). MIDAS 0.7.1.b for dos pex, MIDAS 1.1.1 for win32s pex. !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: How does the recompiler work? a: download the source code and take a look. !change!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! q: What's the performance like? a: I could hit 21MHz on my dev machine (a Pentium 166 with 512kb L2) on an old compiler which is now broken. I could hit 25MHz on a Pentium 200 with 512kb L2). The new compiler which should be working soon should outperform that. ////////////////////////////////////////////////////////////////////////////// // questions about me. ////////////////////////////////////////////////////////////////////////////// q: how old are you? a: 19. q: do you go to school? a: yes, I'm majoring in computer science and engineering at the University of Texas at Arlington. q: When did you/how did you get into coding? a: Although I've had a computer since I was 4, I didn't start programming until I was 15, when I took a computer science class in high school. About that time, I was also introduced to the demo scene. I decided I wanted to code demos. So I got into demo coding. I got into emu coding for a change of pace. pex is my first adventure in emu coding. q: You were/are a demo coder? Can we see any of your demos? a: Fortunately, all of our released stuff has disappeared from circulation. It only made it to some local BBS's (internet wasn't big back then.) It wasn't that it was bad, it just wasn't good. I could code pretty good, and our musician could write some cool music, but our graphics and design sucked. Of course, most demos from that era had poor design. This was back when Second Reality was the biggest and best demo, and demos in general let everything run too long and had 20 minute long greet scrollers. I'm still in a demo group, but were pretty inactive. We were half way working on a demo (that actually had good design), but then I got onto this psx emu kick. And since I'm the only (good) coder in the group, it's kind of halted. Maybe, one day there'll be a demo from us on hornet. ////////////////////////////////////////////////////////////////////////////// // helping the rebellion. ////////////////////////////////////////////////////////////////////////////// q: How can I help you? a: Spread the word about pex and the other psx emulators in development. Also, if you have any good information about the psx or know where I can get some, give it to me. It's hard to get good information. It's almost like Sony doesn't want anyone writing an emulator ;) If you are wanting to email a file, PLEASE contact me about it first and wait for me to respond. I might already have it, so there's no sense wasting the bandwidth. If you think you help me in other ways (suggestions, expertise, coding help), contact me. q: How can I contact you? a: You can contact me, Geoffrey (Maxon), at gpw0341@omega.uta.edu q: Do you have a web page I can tell my friends about? a: You probably got this file from the web page, but in case you didn't, pex's official web page resides at: http://www.fastlane.net/~gpwossum/pex.html /****************************************************************************/ /* end of pex.faq */ /****************************************************************************/