[Guide] PS3 & emulation vocabulary - Printable Version +- EmuNewz Network (https://www.emunewz.net/forum) +-- Forum: Official Boards for Emunews Affiliated Emu Projects (https://www.emunewz.net/forum/forumdisplay.php?fid=47) +--- Forum: Official RPCS3 Forum [archive] (https://www.emunewz.net/forum/forumdisplay.php?fid=172) +---- Forum: RPCS3 - Announcements (https://www.emunewz.net/forum/forumdisplay.php?fid=225) +---- Thread: [Guide] PS3 & emulation vocabulary (/showthread.php?tid=165781) Pages:
1
2
|
[Guide] PS3 & emulation vocabulary - DaHandy - 12-17-2014 Hey! I am a newcomer on these forums and in the whole emulation scene but I have been developing indie games & software for years. A week ago all the vocabulary considering emulation and PS3 were just a mess in my head. I was stumbling into dozens of new words here on the forums that I had never heard before. I was Googling for hours to find the information I was looking for, and still didn't get enough data to be satisfied. I thought that it might be a good idea to share the meanings of some of the most commonly used (PS3 & emulation related) words here at the forums since I didn't find a good listing anywhere. This listing assumes that you already know some of the basic programming & computer vocabulary like threading, virtual memory, assembly language, OpenGL and vertices. The main reason I made this listing is to make it easier for newcomers like me to get into the scene and begin to develop the emulator further by themselves. Please leave a comment below if you notice that something important is missing, or if I have understood something wrong! Hardware & PS3 related: RSX = Reality Synthesizer, a proprietary graphics processing unit (GPU) co-developed by Nvidia and Sony for the PlayStation 3 video game console Cell = the CPU of PS3, a multi-core microprocessor microarchitecture, consists of PPE, 8 SPEs, EIB, Memory and I/O controllers PPC = PowerPC which is what the processor architecture family that Cell is from is colloquially called (used in names in rpcs3 just to distinguish it from the host-system) PPE = Power Processing Element, PPU + PPSS PPSS = Power Processor Storage Subsystem, more info: http://moss.csc.ncsu.edu/~mueller/cluste..._elem.html PPU = Power Processing Unit, two-way multithreaded core acting as the controller for the eight SPEs SPE = SPU + MFC SPU = Synergistic Processing Unit, handles most of the workload, forms virtual memory addresses etc. MFC = Memory Flow Controller, sets up DMA operations DMA = Direct Memory Access EIB = Element Interconnect Bus, connects the Cell components together (PPE, SPEs etc.) NV47 = Codename G70, is a Nvidia GPU that RSX is based on PSGL = Basicly OpenGL ES 1.1 + Nvidia Cg S3TC = S3 Texture Compression, used by PS3, also called DXTn or DXTC TF = Texture Filtering, method used to determine the texture color for a texture mapped pixel, using the colors of nearby texels TA = Texture Addressing Emulation & software related: HLE = High-level emulation, attempts to simulate the response of the system rather than accurately recreating its internal design LLE = Low-level emulation, means emulating the inner hardware that is part of a system in order to execute its binary code on different architecture hardware LLVM = A compiler infrastructure project (formerly Low Level Virtual Machine) written in C++ SPURS = SPU (Synergistic Processing Unit) Runtime System FS = File System VFS = Virtual File System LDR = Loader, for example bootldr GCM = Graphics Command Management library (a rendering library), has no abstraction layer and allows to generate graphical commands directly, more info: http://games.soc.napier.ac.uk/resources/ps3_tutorial_004.pdf File types: ELF = Executable and Linkable Format, file format for executables, object code, shared libraries and core dumps PRX = Playstation Plug-in file PKG = Installable PS3 package file which usually contains multiple files TRP = Trophy package file PUP = Playstation Update Package, contains a patch or a full update SFO = System File Object, also referred as PSF, used in folders which content needs to be displayed in the XMB PFD = Protected Files Database, responsible to prevent tampering of other files of the same folder, the only purpose is the security of the folder contents PowerPC (PPC) related: SRR0 = Machine status save/restore register 0 SRR1 = Machine status save/restore register 1 DSISR = Register used for determining the source of a DSI exception DSI = Data storage interrupt, the name used for a segmentation fault on PowerPC-based processors DAR = Data address register TB = Time base register FPR = Floating-point register GPR = General-purpose register Other information: FCX and Hdlr0, for example in HLE: W {PPU[219] Thread (FCXSpursHdlr0)[0x00000000]} sys_spu warning: sys_spu_thread_group_join(id=209) aborted are just parts of a game specific thread name. Hdlr probably is referring to some handler. For more useful information, please look at the following pages: https://github.com/RPCS3/rpcs3/wiki/Developer-Information http://www.psdevwiki.com/ps3/Main_Page http://www.cebix.net/downloads/bebox/PRG.pdf http://cell.scei.co.jp/e_download.html PS: I hope someone who knows the rpcs3 code well would make a class diagram of some sort, or would describe the meanings & connections between the components of the project. That would also encourage more people to participate on the project! RE: [Guide] PS3 & emulation vocabulary - Bigpet - 12-18-2014 LLVM no longer stands for "Low Level Virtual Machine", it's just "LLVM" now, that's its name Also, PPC just means PowerPC which is what the processor architecture family that Cell is from is colloquially called (used in names in rpcs3 just to to distinguish it from the host-system). RE: [Guide] PS3 & emulation vocabulary - nickblame - 12-18-2014 (12-17-2014, 11:39 PM)DaHandy Wrote: HLE = High-level emulation, attempts to simulate the response of the system rather than accurately recreating its internal designAttempts to emulate rather than simulate. Simulation means you don't have the underlying system but rather you have a model that evaluates the outcome based on certain parameters in order to make predictions and adjustments. Maybe an example can be given that high level emulation is emulating firmware functions or the API that a game uses. (12-17-2014, 11:39 PM)DaHandy Wrote: LLE = Low-level emulation, used to develop new computer hardware and execute legacy binary codeThis could also be written better. Emulate the hardware that consists the system in order to execute legacy binary code on modern/different architecture hardware. Btw, nice post!! RE: [Guide] PS3 & emulation vocabulary - nevermind1711 - 12-18-2014 Very useful thread! Thank you! RE: [Guide] PS3 & emulation vocabulary - DaHandy - 12-18-2014 Thanks for your comments and corrections! I have corrected LLVM, PPC, PPE and LLE, also added PPSS. (12-18-2014, 09:30 AM)nickblame Wrote:(12-17-2014, 11:39 PM)DaHandy Wrote: HLE = High-level emulation, attempts to simulate the response of the system rather than accurately recreating its internal designAttempts to emulate rather than simulate. Simulation means you don't have the underlying system but rather you have a model that evaluates the outcome based on certain parameters in order to make predictions and adjustments. Maybe an example can be given that high level emulation is emulating firmware functions or the API that a game uses. I am sorry to argue but I think that simulation actually is the correct word in this case. Simulation means that you want to make something to behave the same way (as a legacy system did for example) without making the inner functionality exactly the same. Here is a good discussion about the topic with some examples also: http://stackoverflow.com/questions/2174638/whats-the-difference-between-emulation-and-simulation Anyway, I think you all get my point in the HLE explanation, and maybe there isn't just one correct answer! RE: [Guide] PS3 & emulation vocabulary - nickblame - 12-18-2014 (12-18-2014, 12:28 PM)DaHandy Wrote: Thanks for your comments and corrections! No worries DaHandy, suit yourself! However take a look into that thread in stackoverflow, I think the guy Stan Graves only has it correctly (*Vaskez too). Wikipedia and popular stackoverflow answears aren't always the correct ones. I'll be more specific. I took a class in the university once, that was called "Simulation techniques". I took it because I thought it was somewhat related to emulators. I talked to the professor about it and told him about console systems being "simulated" in programs for the PC. He quickly corrected me and explained that in the simulation we don't have the system itself. We only consider the things that matter for the outcome (consider, not implement!) and then according to parameters we investigate scenarios, deduct conclusions etc. Anyway it might be a technicality and also the definition might be lax anyhow, so.. whatever RE: [Guide] PS3 & emulation vocabulary - DaHandy - 12-19-2014 Added some PowerPC related words, "Waiting for explanation" header and FCX & Hdlr0 under it. RE: [Guide] PS3 & emulation vocabulary - tambre - 12-19-2014 (12-19-2014, 12:58 AM)DaHandy Wrote: Added some PowerPC related words, "Waiting for explanation" header and FCX & Hdlr0 under it. I would guess that Hdlr=Handler and the 0 after it would be the number of the spurs handler thread. RE: [Guide] PS3 & emulation vocabulary - DaHandy - 12-19-2014 (12-19-2014, 07:46 AM)AlexAltea Wrote:(12-19-2014, 12:58 AM)DaHandy Wrote: Added some PowerPC related words, "Waiting for explanation" header and FCX & Hdlr0 under it. Oh, so those words are actually game specific? If thats the case, they of course shouldn't be listed here! RE: [Guide] PS3 & emulation vocabulary - Annie - 02-14-2016 Developer Information link outdated. Should replace with: https://github.com/RPCS3/rpcs3/wiki/Developer-Information |