Showing posts with label ps2. Show all posts
Showing posts with label ps2. Show all posts

Tuesday, March 15, 2011

PS2 Programmable DMA

For those who don't know, DMA stands for Direct Memory Access, and it refers to logic circuits in a computer that allow for the automated transfer of system memory to and from peripherals. DMAs are beneficial because they are simple circuits that do work in parallel to the CPU -- while a DMA transfers data, the CPU is free to do other work.that requires more complex computations and logic. The end result is better utilization of the computer's maximum memory transfer bandwidth and computational/logical ability.

Traditionally DMAs are pretty simple. The Playstation 2's EmotionEngine, however, has an 'intelligent' programmable DMA controller (DMAC). Neatly translated, it means that the DMAC can do a lot more than just move raw data from place to place. It supports several modes of operation and has a number of special features to take advantage of the unique multi-core design of the EE. Furthermore, the EE's DMAC is much more tightly integrated with its memory bus than traditional DMAs, allowing it to transfer data with exceptional efficiency. These two features combined make the EE's DMAC akey component to PS2 games developers -- in quite a few games, the DMAC actually does more raw work than the EE Core CPU (R5900).

How The Real Thing Works

While emulating the actual hardware of the DMAC isn't usually needed, it can still be helpful to understand exactly how the PS2's real DMAC works at a hardware level. The EE DMAC operates at 147mhz (1/2th the EE's core clock speed), and transfers 128 bits (16 bytes) of memory per cycle; meaning that the theoretical maximum transfer rate of the DMAC is 2.4 GB/s (147mhz * 16 bytes). It's a nice number, but is technically unattainable even in ideal conditions. Further explanation will make it clear why.

The DMAC connects the PS2's 32 MB of Main Memory (RAM) to various peripheral interfaces, such as VIF (VPU), SIF (IOP), GIF (GS), and IPU (mpeg decoder). VIF, GIF, and IPU are all part of the Emotion Engine and operate at 147mhz, same as the DMAC itself. Thus each of those interfaces can send/receive data at roughly 2.4GB/s. SIF is limited by the IOP's own DMA controller and memry bus, which operates at 1/8th the speed of the EE's DMAC, or about 154MB/s.

Peripheral FIFOs

Each peripheral (VIF, GIF, SIF, IPU, etc) has a 128 or 256 byte FIFO. The FIFO helps mitigate occasional latency differences between Main Memory/SPRAM and the peripheral (some peripherals, in particular the GIF, can incur cycle stalls depending on data sent to them). Thanks to the FIFOs, data can be burst to/from memory in 128-byte blocks, which helps maximize data transfer rates since the EE's memory bus was built to operate most efficiently in those conditions. However, the maximum bandwidth of Main Memory (32MB) in ideal conditions is only ~1.2GB/s (half of the DMAC), and has additional memory bank related latencies, reducing its effective transfer rates even further. If DMA transfers are only done to/from Main Memory, the DMAC will only be able to come within about 40% of its theoretical maximum throughput.

Enter the Scratchpad!

The Scratchpad (SPRAM) is 16KB of memory integrated directly into the EmotionEngine. Because it is directly integrated on-die, it has no read/write latencies and can always be accessed at the maximum transfer rate of 2.4gb/s. The integrated nature of the SPRAM means it has to be small in order to fit -- and its lack of size is what limits its usefulness.

So in order to utilize the bandwidth potential of the EE DMAC, a PS2 programmer must find ways to use a combination of Main Memory and Scratchpad transfers in parallel: When main memory stalls due to inherent latencies, the DMAC will automatically busy itself with a pending SPRAM transfer. Likewise, while the DMAC is transferring to/from SPRAM, the EE's Main Memory becomes available to the CPU, which further improves the system's CPU throughput.

The Scratchpad's MemoryFIFO (MFIFO)

The MemoryFIFO function of the EE DMAC performs and managed two simultaneous DMA transfers, as follows:
  • Scratchpad -> Main Memory (RAM)
  • Main Memory (RAM) -> Peripheral (VIF1 or GIF)

As the buffer in memory is filled by Scratchpad, it is simultaneously drained by the attached peripheral, either VIF1 or GIF. On the surface, the MFIFO can appear to be somewhat silly, since the DMAC already has the ability to transfer direcly from SPRAM -> Peripheral. Adding a stop in Main Memory might seem like a waste of the DMAC's bandwidth capacity, but in some situations the 'extra work' can result in a general improvement in overall transfer speeds.

The PS2 engineers introduced the MFIFO for two reasons:

1. The scratchpad is too small. MFIFO can be used by the EE core as a place to "empty" the scratchpad after its completed a set of data processing. While the data in the MFIFO awaits the DMAC to transfer it, the EE is free to load new raw data into Scratchpad for processing.

2. The GIF has additional bandwidth constraints since it has direct connections to three PATHs: the the VU1 co-processor (GIF PATH1), VIF1 FIFO (GIF PATH2), and the DMAC's GIF channel (GIF PATH3). When transfers are active on any one of the paths, the other two paths must idle/stall until the current path's transfer completes; meaning that DMAC transfers to both GIF and VIF1 channels can have unexpectedly long stalls.

So by using MFIFO, the EE core can mitigate the unpredictable GIF/VIF1 stalls while it works on entirely new sets of data in parallel. If a GIF transfer via DMA is stalled because of other PATH1 or PATH2 transfers, the DMAC can busy itself with other transfers in meantime, such as SPRAM->memory or memory->SPRAM. These transfers are nearly 'free' in a sense, since the DMAC would have been idle regardless -- but thanks to the MFIFO concept, the SPRAM itself will be free for use by the EE Core to continue processing data. Thus while the DMAC's overall productivity isn't affected, the EE's overall computational ability improves.

Wednesday, May 5, 2010

All About Playstation




Quote:


Siapa tak kenal Playstation (PS)? Konsol permainan grafis produksi raksasa elektronik asal Jepang, Sony, itu digemari di seantero dunia. Dibalik semua itu, tak banyak yang tahu bahwa seorang bernama Ken Kutaragi menjadi orang yang paling bertanggung jawab membentuk 'generasi Playstation'.
Terlahir di Tokyo pada 8 Agustus 1950, keadaan sosial Kutaragi tergolong biasa saja. Mereka hidup dengan mengelola bisnis sendiri, sebuah pabrik percetakan di pabrik kota itu. Sejak kecil Kutaragi sudah mengembangkan kemampuan mekaniknya di pabrik tersebut, sepulang sekolah.
Kutaragi dikenal sebagai siswa berotak encer. Dengan kecerdasan seperti itu, mudah saja bagi Kutaragi mendapatkan pekerjaan di Sony, usai menyandang gelar insinyur elektronika. Di perusahaan itu reputasi Kutaragi meroket. Ia dikenal sebagai problem solver yang luar biasa. Proyek-proyek yang ditanganinya pun selalu berhasil gemilang, termasuk proyek penciptaan liquid crystal plays (LCDs) serta kamera digital.
Ketertarikannya menciptakan konsol permainan berawal pada akhir 1980-an. Suatu hari, dia menyaksikan puterinya memainkan sebuah Famicom. Nalurinya mencium potensi bisnis video games. Sayang, saat itu eksekutif Sony kurang tertarik. Semangat Kutaragi yang membuncah untuk menciptakan video games pun bertepuk sebelah tangan.
Namun, kreatifitas Kutaragi itu tercium Nintendo - perusahaan konsol permainan yang kini menjadi pesaing nomor satu Sony. Saat Nintendo memintanya untuk mencipta sebuah chip, Kutaragi tak kuasa menolak.
Diam-diam, Kutaragi mengerjakan proyek rahasia untuk Nintendo. Didesainnya chip SPC700. Sayang, pihak Sony mencium hasil kerja itu. Kutaragi nyaris dipecat, seandainya CEO Sony. Norio Ohga, tidak turun tangan. Dia bahkan meminta Kutaragi menyelesaikan tugas sampingannya itu.
Kutaragi terus meminta Sony membiayai riset pembuatan Super NES CD - teknologi yang diaplikasi untuk PS. Saat ambisi itu diragukan kalangan eksukutif Sony, sekali lagi Norio Ohga mendukungnya. Pada tahun 1990-an, akhirnya Sony secara resmi meluncurkan produk PS.
Tak perlu waktu lama, PLayStation segera terkenal dan mendatangkan banyak duit untuk Sony. Hingga 18 Mei 2004 saja, Sony telah memproduksi 100 juta PS. Sukses itu pula yang menjadikan KUtaragi presiden Sony Computer Entertainment pada 1997.

Biografi Singkat Ken Kutaragi


Ken Kutaragi lahir pada 8 Agustus 1950 di Tokyo Jepang. Waktu kecil dia dikenal rajin dan pintar, dia digambarkan sebagai murid yang selalu mendapatkan nilai 100. Kutaragi juga dikenal sebagai anak yang suka mengutak-atik barang mekanik, dia sering membuka mainan miliknya dan melihat bagaimana mainan itu bekerja. Dari sifat ingin tahunya tersebut, akhirnya membawa ketertarikan pada elektronika hingga dewasa, dengan alasan itu pula dia belajar dan lulus dari Denki Tsushin University mengambil jurusan elektronika. Setelah lulus dia mulai bekerja di Sony, disana dia mendapatkan reputasi yang baik sebagai pemecah masalah dan berhasil membawa kesuksesan pada proyek-proyek Sony yang ia ikuti (termasuk diantaranya proyek awal LCD dan kamera digital).

Pada akhir tahun 80-an, sesaat dia melihat putrinya bermain FAMICOM milik Nintendo, Ken Kutaragi menyadari potensi dari video game. Namun, pada saat itu manajemen dari Sony tidak tertarik dengan industri Video Game. Dan kebetulan dengan kesempatan Nintendo yang menginginkan bantuan Sony untuk membuat wave-table sound chip untuk SNES, Kutaragi langsung menerimanya. Walaupun telah bekerja sama dengan Nintendo, Sony yang memandang rendah video game. Meskipun begitu, Kutaragi masih dapat dana untuk mengembangkan Super NES CD yang akhirnya menjadi konsol besutan Sony sendiri yaitu PlayStation. Tak disangka meskipun bersaing dengan Nintendo dan SEGA yang sudah kawakan di Industri Video Game, Sony sukses dengan konsol milik mereka.


Quote:
Ini nih hasil karyanya


Spoiler for Playstation 1:



Spoiler for Playstation 2:



Spoiler for Playstation 3:



Spoiler for Playstation Portable a.k.a PSP:



Spoiler for PSP Go:




Spoiler for PSX:


Mungkin yang ini jarang di denger yah ?
ane tambahin penjelasan dikit nih

PSX adalah perekam video digital yang berfungsi penuh dengan RF, S-video dan input komposit. Hal ini dapat tune VHF analog dan CATV. Hal ini dilengkapi dengan remote control dan dapat juga dihubungkan dengan PlayStation Portable untuk mentransfer video dan musik melalui port USB ini juga memiliki fitur software untuk video, foto dan editing audio..

PSX mendukung PlayStation dan PlayStation 2 PlayStation game menggunakan hardware berbasis 2, dengan Emotion Engine, Graphics Synthesizer dan I / O prosesor. Mendukung kompatibilitas game online menggunakan adaptor broadband internal. Permainan yang memanfaatkan HDD PS2 (misalnya Final Fantasy XI) juga didukung.

PSX tidak termasuk kontroler. Sebuah khusus keramik-putih, USB DualShock 2 dirilis secara terpisah.Namun,. DualShocks asli sepenuhnya didukung oleh dua port joystick di bagian belakang dan kartu memori juga didukung melalui port di bagian depan.

PSX juga dikenal untuk pengenalan atas antarmuka grafis XMB Sony pengguna, digunakan di kemudian hari PlayStation Portable, PlayStation 3, 2008 model BRAVIA TV dan yang paling baru Sony perangkat to-date.



Spoiler for PocketStation:


Yang ini juga asing kan ?
ane tambahin penjelasan lagi nih

PocketStation adalah perangkat oleh Sony Computer Entertainment untuk video game konsol PlayStation rumah . Kategori. Oleh Sony sebagai asisten pribadi digital miniatur, perangkat ini memiliki layar kristal cair monokrom (LCD), kemampuan komunikasi inframerah, real-time jam, built-in flash memory, dan kemampuan suara. Menyambung ke PlayStation melalui slot kartu memori, PocketStation juga berfungsi sebagai kartu memori PlayStation. Film ini dirilis secara eksklusif di Jepang pada tanggal 23 Januari 1999.

Perangkat Lunak untuk PocketStation ini biasanya didistribusikan sebagai tambahan untuk game PlayStation, termasuk dalam CD-ROM, meningkatkan permainan dengan fitur yang ditambahkan. Stand-alone software juga bisa download melalui konsol PlayStation. Perangkat lunak ini kemudian ditransfer ke PocketStation untuk digunakan. Built-in antarmuka data inframerah memungkinkan transfer data langsung seperti permainan menghemat antara unit PocketStation, serta multiplayer game.

Tuesday, January 26, 2010

Ini dia emu PS2 ==> PCSX2

Download PCSX2
Ini BIOSnya ==> BIOS


Instal, lalu extract file bios ke folder bios.
Untuk settingan yang maksimal, ubah parameternya seperti gambar dibawah ini.

1.Plugin


2.Graphic


3.CDVD


4.CPU



5.Speed Hack












Yang lainnya jangan diubah.

Selamat mencoba. :D

Monday, January 25, 2010

All about emulator

Mungkin anda sering mendengarkan istilah emulator (emu).
Apa sh emu itu ?
Bagaimana cara kerjanya ?
Ok, akan saya jelaskan semampu saya.

Emulator adalah program yg berfungsi untuk menirukan lingkungan/environment/'mimic' dr suatu system. Sehingga code-code system tersebut bisa dieksekusi di system lain. Bisa saya asumsikan emulator adalah layaknya sebuah translator.

Ok, kita ambil contoh Emulator PS2.
Sampai sekarang hanya ada satu emulator di dunia yg mampu memainkan game-game komersil. Yaitu PCSX2.

PCSX2 memungkinkan kita memainkan game PS2 d PC.
PCSX2 akan menirukan hardware-hardware dr PS2.
Arsitektur hardware PS2 berbeda dengan arsitektur hardware PC kita. Nah tugas pcsx2 adalah mentranslate code2 ps2 td ke bahasa yg dimengerti oleh pc kita (CPU ==> x86 architecture). (bagi yang kuliah di jur IT, pelajari mata kuliah ArKom, hehe..)
Metode translatenya ada 2 yaitu :
intepreter dan recompiler.
Intepreter : mengubah seluruh code kedalam bahasa pc kita. Metode ini sangat lamban.
Recompiler : alias mecompile ulang, code2 td disimpan di blok2 code. Sehingga 1 code akan langsung ditranslate ke code yg dikenal pc kita. yg satu ini cukup cepat.

Mengapa Game PS2 berjalan lambat di PC padahal hardware PC lebih powerfull dibandingkan dengan hardware PS2 ?
Ya karena proses penterjemahan td.
Dlm cpu terdapat cycle/putaran, nah dalam ps2 code tsb dpt dieksekusi cukup dgn satu kali cycle, tp jika ingin dieksekusi di pc akan membutuhkan setidaknya 12X cycle.
Just 4 info :
EE (EMOTION ENGINE/cpu nya ps2) speednya hanya 300mhz, bandingkan dgn core2duo anda yg 2.1 Ghz, hehe..

dem jadilah dlu e, hehe..
Itu td bhasa sumsel. Artinya cukup sekian dulu.

Dieka Rachman, S.Kom

bersambung..