Developers Blog =============== This file is mainly an R&D document containing developers findings. The aim is to have it as much accurate as possible. Each item has to contain a number(ID), the name of developer, revisions history and a short description. Also, this document will serve as a pinboard - will contain coding rules, explanations on implementation of different parts of the emulator, suggestions, questions and ideas. ============================================================================== ============================================================================== ============================================================================== [ ID ] 4 [name] Florin [desc] PS2 info dumping project [hist] 2006-05-08 initial version The emulator needs some information from a Playstation2 console. We used to require the 'bios' software. In order to get better results more and more information was needed. So here are some guidelines on what we need and what we don't need from the console. Also, a new dumper and handling of these infos in the emu are in work. a. The so-called 'bios', is actualy rom0 found in consoles, devkits, test-kits and PSX at address 0xBFC00000 on both EE and IOP. [!] Note that on 75xxx the EE side bios mismatch zone fields, so it is recomended to make a IOP side dump. b. Rom1 and Erom contain DvdPlayer related software and are located starting with 0xBE000000 on PS2s from 18000 and up. Over various versions, the size of rom1 and size and position of erom changed. They used to be dumped separately, the new dumper will simplify this, there'll only one file containing both rom1 and erom (2M or 4M). [!] Note that on 70xxx and 75xxx (PStwo's) the dumping of erom from EE is not possible, the correct dump is done only from IOP! [!] rom1 and erom are identical for same generation for all zones. In order to be able to run the dvdplayer code in the emulator, it needs to be pre-decrypted. EROMDRV and DVDELF will have some 'decrypt' patches. c. NVM (Non Volatile Memory) is 1K of code and provide valuable info about console model and region. 10000 and 15000 don't contain the model name. PStwo's contain the zone codes making possible to have a single version of the rom for all zones. d. Rom2 is found only in Chinese PS2s (50009, 70009...) and contains a font file: GB18030. It is located at 0xBE400000. It was (w/o justification) assumed that it is as big as rom1. There is no need to dump it on any other console than chinese. The size is to be calculated from the filesystem (as rom0 and rom1, it has romfs). e. BBA (BroadBand Adapter) info is not needed to be dumped. At least not for the emulator itself, maybe for the DEV9 plugin. Anyway, it's just a MAC address that can be made up. f. The current dumper is reading CDVD Mecha version. This will be replaced by a more complete information file that will contain the following info: from [EE] CPU revision - revision code from COP0->PRId register easier read from (u16)GetCop0(15) high byte is 0x2E for EE low byte is: high nibble major, low nibble minor of revision FPU revision - revision code from COP1->control register 0 same description as for cpu PRId VUs revision - hum, i'm not aware of any revision for them :( VUs memory - local and micro memory sizes are not detected GS revision - upper halfword in CSR register high byte is ID = 0x55 low bytes is major.minor (per nibbles) GS mem - is 4M IPU revision - hum, i'm not aware of any revision for IPU :( Caches - instruction and data cache sizes are read from COP0->Config register easier read from GetCop0(16). MEM - total RAM available easier read with Syscall +127 - GetMemorySize() the values are: 32M for console and test-kits, 128M for devkits and 64M for PSX the size is not roughly detected. As devkits have multiple boot modes (128M or 64M). from [IOP] CPU revision - revision code from COP0->PRId register high byte seems to be 0 low byte is major.minor (per nibbles) initial japs have major=1, most of the consoles have major=2, 75xxx have a new IOP processor with major=3 Caches - are known to be 4K-I$; 1K-D$ 0xFFFE0130 is CACHE_CONFIG register... MEM - total RAM available easier to read with QueryMemSize() the values are: 2M for consoles and test-kits, 8M for devkits and PSX again, the size is incorrectly read :) SPU mem - 2M (any method of detection?) CDVD mecha - version of CDVD controller Scmd 0x03 with subcode 0x00 (outsize=4) the first byte is the MG-encryption code second is major, third is minor, fourth is [2b completed] meka - i don't know; not supported on early consoles Scmd 0x03 with subcode 0x90 (outsize=1+1) DEV9 revision- type of DEV9 device: 0x2x for PCMCIA, 0x3x for EXPBAY *(vu16*)BF80146E USB OHCI rev - Hc_revision of the OHCI controller *(vu32*)0xBF801600 ILINK rev/id - I'm not sure of this one, on ps2's that don't have firewire anymore, the value is 0xFF; on 10000 is random *(vu32*)0xBF808480 and *(vu32*)0xBF808500 (looks like mirror) g. The dumper will sign the dumped content, so John Doe cannot play easily with the bios data ;) The emu works correctly with good data/food. h. I'm thinking of a method to check for modified content (dumps made with a chipped console). Probably, it will be done in the emu and presented as a warrning. ============================================================================== ============================================================================== ============================================================================== [ ID ] 3 [name] auMatt [desc] PS2 NVM Data not 100% [hist] 2006-05-07 initial version ³v0-v8 ³ v9- ³ Bits ³ Bytes º ÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍ͹ ÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍ͹ PS1 Disc Spd ³ 0x300 ³ 0x2c0 ³ ³ º PS1 Texture ³ 0x300 ³ 0x2c0 ³ ³ º Video Output ³ 0x300 ³ 0x2c0 ³ ³ º SPDIF ³ 0x310 ³ 0x2c0 ³ 0 ³ º A/R ³ 0x310 ³ 0x2c0 ³ 1 & 2 ³ º Language ³ 0x311 ³ 0x2c1 ³ All ³ º TimeZone ³ 0x312 ³ 0x2c2 ³ ³ º Summer Time ³ 0x312 ³ 0x2c2 ³ 3 ³ º Time Format ³ 0x312 ³ 0x2c2 ³ 5 ³ º DateNotation ³ 0x312 ³ 0x2c2 ³ 6 & 7 ³ º TimeZone ³ 0x313 ³ 0x2c3 ³ All ³ º TimeZone ³ 0x315 ³ 0x2c5 ³ All ³ º Model Number ³ 0x1a0 ³ 0x1b0 ³ ³ 16 º Console ID ³ 0x1c8 ³ 0x1f0 ³ ³ 8 º ILink ID ³ 0x1c0 ³ 0x1e0 ³ ³ 8 º Date Stamp ³ 0x180 ³ ³ ³ 16 º Date Stamp ³ 0x1e0 ³ ³ ³ 16 º Date Stamp ³ 0x1f0 ³ ³ ³ 16 º Rem. Control ³ ³ 0x2c4 ³ 5 ³ º Checksum ³ 0x31f ³ 0x2cf ³ All ³ º Checksum is calculated by the previous 15 bytes added together, then ANDed with 0xFF Serial Number of Console can be obtained from bytes 7,6 & 5 of the Console ID in dec. ============================================================================== ============================================================================== ============================================================================== [ ID ] 2 [name] Florin [desc] PS2 bios versioning [hist] 2006-04-30 initial version MG zone - the MagicGate decryption zone. You can find the code as one of the bits in the byte at offset +1C in MagicGate encrypted files PS1 drv - the letter for PS1VERx files in PStwo rom0 ROMVER - has the following format VVvvZTYYYYMMDD in 14 bytes VV, vv are the version of the bios in BCD Z is zone code, see below T is type of the console: C - consumer console, D - devkit/test console YYYYMMDD is date of the bios - BxDATA-SYSTEM, BxEXEC-SYSTEM, BxEXEC-DVDPLAYER uses Z code in place of 'x' I: default, Japan; A: Usa, Asia; E: Europe, Oceania, Russia; C: China VERSTR - the code from that file in rom0 OSDVER - VVvvZlng is the format of the file for scph5xxxx. in PStwo the last 4 letters are read from NVM, offset +180 7 chars (ROMVER:1|OSDVER:4|VERSTR:1|DVDID:1) mecha - version read from CDVD SCmd 0x03:0x00 The following table is far from complete... ³Japan ³ USA ³AusNz ³ UK ³Europe³Korea ³ HK ³Taiwan³Russia³China ³Mexic º ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍ͹ ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍ͹ MG zone ³ 0/J ³ 1/U ³ 3/O ³ 2/E ³ 2/E ³ 4/A ³ 4/A ³ 4/A ³ 5/R ³ 6/C ³ 7/M º PS1 drv ³ J ³ A ³ E ³ E ³ E ³ H ³ H ³ H ³ E ³ C ³ A º ROMVER ³0 J ³1 A ³2 E ³2 E ³2 E ³1 H ³1 H ³1 H ³2 E ³3 C ³1 A º VERSTR ³ J ³ A ³ E ³ E ³ E ³ J ³ J ³ J ³ E ³ J ³ A º OSDVER ³0 Jjpn³1 Aeng³2 Eeng³2 Eeng³2 Eeng³5 Kkor³6 Htch³6 Htch³4 Rrus³3 Csch³ Aspa?º ÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ v0 scph³10000 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ mecha³0.12.0ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ver³0100JCÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ date³000117ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ scph³15000 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ mecha³0.18.0ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ver³0101JCÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ date³000217ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ scph³18000 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ mecha³0.22.0ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ver³0120JCÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ date³001027ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍ͹ v1 scph³30000 ³30001 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ v2 ³30000 ³30001 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ v3 ³30000 ³30001 ³30002 ³30003 ³30004 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍ͹ v4 scph³30000 ³30001 ³30002 ³30003 ³30004 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ mecha³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ver³ ³ ³ ³0120EC³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ date³ ³ ³ ³000902³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ³35000 ³35001 ³35002 ³35003 ³35004 ³35005 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍ͹ v5 ³30000 ³30001 ³30002 ³30003 ³30004 ³30005 ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ scph³30000R³30001R³30002R³30003R³30004R³30005R³30006R³30007RÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ mecha³0.32.0³ ³ ³2.32.0³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ver³0160JC³ ³ ³0160EC³0160EC³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ date³011004³ ³ ³011004³011004³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ v6 ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍ͹ v7 scph³37000 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ³39000 ³39001 ³39002 ³39003 ³39004 ³39005 ³39006 ³39007 ³39008 ÃÄÄÄÄÄÄÅÄÄÄÄÄĶ mecha³ ³1.36.0³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄĶ ver³ ³0160AC³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄĶ date³ ³020207³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄĶ ÃÄÄÄÄÄÄ´39001NÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄ´39010Nº ÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ v8 scph³39000 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄ´39006 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ mecha³0.38.0³ ³ ³ ³ ³ ³ ³ ³ ³ ³ º ver³0160JC³ ³ ³ ³ ³ ³ ³ ³ ³ ³ º date³020426³ ³ ³ ³ ³ ³ ³ ³ ³ ³ º ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍ͹ v9 scph³50000 ³50001 ³50002 ³50003 ³50004 ³50005N³50006 ³50007 ³50008 ³50009 ÃÄÄÄÄÄĶ ÃÄÄÄÄÄÄ´50001NÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄ´50010Nº ³55000 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄ´55005N³55006 ³55007 ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ ÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄĶ v10 scph³ ³50001 ³50002 ³50003 ³50004 ³ ³50006 ³50007 ³ ³50009 ³50010 º mecha³ ³ ³ ³ ³ ³ ³4.54.0³4.??.0³ ³6.??.0³ º ver³ ³ ³ ³ ³0190EC³ ³0190HC³0190HC³ ³0190CC³ º date³ ³ ³ ³ ³030623³ ³030623³030623³ ³030623³ º v11 ³ ³ ³ ³ ³50004 ³ ³ ³ ³ ³ ³ ºMexic USA ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍÎÍÍÍÍÍÍÑÍÍÍÍÍÍ» v12 scph³70000 ÃÄÄÄÄÄÄ´70002 ³70003 ³70004 ³70005 ³70006 ³70007 ³70008 ³70009 ÃÄÄÄÄÄÄ´70011 ³70012 º mecha³ ÃÄÄÄÄÄÄ´3.62.0³2.62.0³2.??.0³ ³4.64.0³ ³5.??.0³ ÃÄÄÄÄÄÄ´ ³1.60.0º ver³0200JCÃÄÄÄÄÄÄ´0200EC³0200EC³0200EC³ ³0200HC³ ³0200EC³ ÃÄÄÄÄÄÄ´ ³0200ACº date³040614ÃÄÄÄÄÄÄ´040614³040614³040614³ ³040614³ ³040614³ ÃÄÄÄÄÄÄ´ ³040614º v13 scph³ ³70001 ³70002 ³70003 ³70004 ³ ³ ³ ³ ³ ³ ÌÍÍÍÍÍÍÏÍÍÍÍÍͼ ÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍÍØÍÍÍÍÍ͹ v14 scph³75000 ³75001 ³75002 ³75003 ³75004 ³75005 ³75006 ³75007 ³75008 ÃÄÄÄÄÄÄ´75010 º mecha³ ³1.66.0³3.66.0³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄ´ º ver³ ³0220AC³0220EC³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄ´ º date³ ³050620³050620³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄ´ º ÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄĽ ============================================================================== ============================================================================== ============================================================================== [ ID ] 1 [name] Florin [desc] CVS management rules [hist] 2006-04-30 initial version Please do not commit on CVS temporary files or those made by development tools (IDEs). Eg: *.suo/aps/opt/plg/ncb/exp Keep it clean and before commiting a new module see the previous structure and naming rules. If unsure about how to do any opperation please ASK. please ASK! There's no rush ;) Also, I'm considering switching to SVN, as CVS seems to be *abandoned* by sourceforge.net Any change to sources has to be commited to the public CVS. The risk of stealing is faced by any open-source developer - the difference is the quality! The original will always stand up ;) Try not to break the source by your patches. Although linux and 64-bit versions are not maintained atm, your changes should be done with all versions in mind. Happy coding :)