Jump to content


116 archivos

  1. CDGENPS2

    CDGENPS2 3.0 support the creation od images CDX (one track an full capacity) and UMCDR (two tracks and unofficial support) with checksum and work perfect in my test. 
    The .ISO format in old versions, before  created corrupt images. Now it works perfectly. 
    In other formats work perfect also (I have tested ;) )
    CDGENPS2 3.0 support also, the conversion of ISO to CDX or UMCDR formats. See in menu->Advanced->Create CDX (or UMCDR) from ISO option.
    ADVICE: In root folder use ONLY names 8+3 (ISO1). Names of 31 chars is not compatible with filesystem of PS2
    LICENSE TERMS: This software is completely free for NOT commercial use. Of course, you cannot request responsibilities to me by the problems/damages that this software can cause.
  2. USBUtil

    USBUtil es una aplicación para Windows cuya función principal es dividir la copia de seguridad (ISO) de los juegos de PS2 en partes de 1GB para poder ejecutar juegos mediante USB (ya sea una memoria USB o HD Externo).

    Y es que recordemos que para que la consola detecte una unidad de almacenamiento vía USB esta tiene que estar en formato FAT32, y archivos mayores de 4GB no son soportados por este sistema.
  3. PS2RPC

    Manual Discord Rich Presence for Playstation 2 applications and games.
    Very easy to install. 32 and 64 bits versatile installation. Easy to use, and includes an instant mode in the settings if you're a hardcore gamer :() like me.
    by Visual917.
  4. MemoryCard Killer (MCKiller)

    MC Killer is a quick utility to format your memory card.
    Essential for recovering lost space or fixing a corrupt cards file system.
    Requires the ability to run 'homebrew' software to work.


    Note: This app only supports 8 MB memory card located in 1st slot. Do not try it with other size.
  5. Simple Media System (SMS)

    ___ _ _ ___ | | | | | ___| | | ___| PS2DEV Open Source Project. --------------------------------------------------------- Copyright 2001-2005, ps2dev All rights reserved. Created by Eugene Plotnikov ----------------------------------------------------------------------- Introduction ----------------------------------------------------------------------- Simple Media System (SMS) is a result of my curiosity about Sony's Playstation2, MIPS, DivX and MP3. My original goal was to create a simplest DivX player able to play good resolution movies at good frame rate on the unmodded PS2 without any extra equipment such as HDD and network adapter. Why "system"? Just because having only a player program is not enough. Since PS2 is forced to ignore "illegal" disks, I've took an idea of Drakonite with his UMCDR and developed my own "UMCDR". (I called it CDDAFS). It just stores data on CD audio disk, which can be read on (I hope) any PS2. So this is a first component of SMS. Second component is a PC program that makes cue/bin files in order to burn such a disk. And, finally, comes a player program itself. This system is not complete yet, but it can play DivX movies with sound at good frame rate already. Player's base is a famous ffmpeg project. I took just some parts of it (DivX 5XX and MP3) and made some modifications specific to PS2 hardware. I've tested it with a couple of DivX/XviD movies with different screen resolutions and encoding methods and it seems to be working. So, I've decided to put all this stuff to the CVS at ps2dev in hope that it could be interesting for PS2 enthusiasts who use it as base for their development. This "document" provides basic info about SMS. CDDAFS ---------------------------------------------------------------------- It's just a method of storing a data on audio CD, so PS2 hardware can authenticate such a CD as "valid" one. Logical structure of such a CD is quite simple. Audio tracks are "directories". Track 0 is a control track, which stores global disk information. Following "diagram" presents a logical disk structure: Track 0: GUID - 16 bytes Disk name - 64 bytes Disk description - 512 bytes Disk picture - 9216 bytes (48x48x4 raw RGB image)* ; then follows image table Number of images - 2 bytes (short, little endian)* Image 1 - 4096 bytes (32*32*4 raw RGB image)* ....... Image N - 4096 bytes (32*32*4 raw RGB image)* ; then follows "directory" table (number of directories is number of tracks from ; CD TOC minus one) Track name 1 - 32 bytes Track image index 1 - 2 bytes (short, little endian, zero based) Reserved 1 - 30 bytes (just for possible future enhancements) Track name 2 - 32 bytes Track image index 2 - 2 bytes (short, little endian, zero based) Reserved 2 - 30 bytes (just for possible future enhancements) ....... Other tracks: ; Directory entry 1 Number of files - 2 bytes (short, little endian) File name - 32 bytes File image index - 2 bytes (short, little endian, zero based) Reserved - 30 bytes Start offset - 4 bytes (physical sector relative to start sector of the current track, int, little endian, zero based ) File size(in bytes) - 4 bytes (int, little endian) ; Directory entry 2 ; etc. ; File data * these "pictures" and "images" are in fact RGBA raw bitmaps, so future browser can be decorated with them; Such a disk (without extra ECC codes) proved reliable enough in my configuration. Source code that handles CD I/O located in CDDA.c (low level sector read operations) and in FileContext.c (logical read operations). I've also started implementation of "standard" I/O (STIO_xxx routines). Well, for me CDDA is enough. So anyone can finish "standard" I/O (perhaps, using asynchronous fileXio routines from ps2sdk). PC program ---------------------------------------------------------------------- I've called it CDXplorer. Not fully completed yet, but it does its job of making cue/bin pair. This program is uses Win32 API, so it is not compatible with linux (even WINE has troubles running it). I'm using Nero's Disk-At-Once/96 burning option. It is also possible to read CDDAFS using this proggy. Just insert CDDAFS disk in the drive and run the program. Maybe someone would like to create fs driver to support it :)? SMS Player ---------------------------------------------------------------------- Just a test program for now and PS2 optimized ffmpeg. No GUI. It is possible to benchmark video/audio decoding process (I've got sometimes peak ~70 fps with 640x464 movie (~60fps is average)). I was able to play 720x528 DivX with sound at 25fps (but in this case there're slight sound distortions on scenes with a lot of motions (mainly "global" ones). Just watching a movie is also possible. Modify main's source at your taste. For sound output I'm using 'audsrv' 0.75 (magnificent work of gawd). ffmpeg modifications ---------------------------------------------------------------------- Two things here. Using IPU for colorspace conversion (interrupt driven process that performs CSC->Display sequence for 640x464 picture in just ~4ms). This process goes in parallel with video/audio decoding. Second, I've made a transition from planar image format to the packed one, so video decoder produces macroblocks in IPU format. This notable reduced data traffic between main CPU and memory. SPR is also heavily used in conjunction with DMA transfers. This things gave ~300% performance boost (comparing to the original ffmpeg) in video decoding. MP3 decoder is virtually unmodified. Things to do ---------------------------------------------------------------------- There still a lot to do. As I'm a professional programmer, I just can't do this alone quickly. SMS is just a working skeleton of the future player. I've created it in my own free time. The following things I'd like to do with it: - more testing (I've tested it with just about a dozen of DivX/XviD movies); - more optimizations (mainly for GMC decoding. I've made just an 'ad hoc' code to show that it works. But this code is ugly and slow). QPel works, but it is unoptimized too (just an original ffmpeg). The MP3 decoder from ffmpeg is also almost untouched; - better A/V synchronization. In fact there's no synchronization at all. But because multithreading on PS2 is not preemptive it happens "automatically" with a surprisingly good accuracy :). The only thing to fix was initial "audio preload". I'm not sure if I made it correctly, but it seems to be working at the moment. Realtime clock with 1ms resolution is also implemented, so it could be used for more precise synchronization; - creation of the GUI. In case of CDDAFS it would be just a disk browser. There's already a base for it. There're routines to use ROM font (FONTM) and display icons from CDDAFS disk. There're also routines to load directory/file lists. The only thing missing is a pad management and an event loop; - implementation of pause/stop functionality; As movie starts, there's no way back now; - error checking (there're minimal checks only, so if, for example, press 'eject' CD button, then...a very interesting effect can be achieved :); - btw, can somebody modify Makefile in order to make whole project more structured (all these 'ee', 'iop' etc. directories)? Restrictions ---------------------------------------------------------------------- - no support for interlaced movies; - no support for non-interleaved avi files; - only CodecID_MPEG4 support (that is DivX 5XX/XviD (I never, however, tried these 'MP4S', 'BLZ0' etc. (what are they?)) and MP3; - other possible restrictions due to lack of detailed knowledge about things :); How to compile ---------------------------------------------------------------------- I'm using latest toolchain/ps2sdk from ps2dev and Win32 platform. Just 'make'. Do not use 'old' ps2sdk (earlier than january 2005), since there's a bug in 'realloc', so program crashes immediately. In my setup I use ps2link at PS2 side and InLink at the PC. Note also that performace depends on PS2 cache usage, so even changing link order in Makefile can get more than 10% penalty ( Currently Makefile contains 'best' link order (I think so). Pay attention to the location of 'audsrv.irx' (currently 'host:audsrv.irx'). How to debug ---------------------------------------------------------------------- Crazy enough, but I've made the code Win32 compatible (with exception of some files). So, I'm using MSVC6 to debug major bugs, memory leaks and to understand ffmpeg's code. 'printf' does debug for PS2 :); How to make modifications ---------------------------------------------------------------------- At your taste (be careful, any alignment failure causes a crash (especially with structures allocated dynamically)). But first compile and run existing code (the only thing to modify is a filename in 'main.c'). To do that it's necessary to waste at least one CD-R for CDDAFS. Use CDXplorer application to make cue/bin pair. It is possible to copy files back from CDDAFS disk. Drag-and-drop is supported (one direction only: to the application). Context menus are also available. Number of directories has upper limit of 99 (only one level), and number of files is restricted by the CD capacity (I've put a 800MB movie, for example, on the ordinary 700MB disk without any problem). I have SCPH-30004R PAL unit, so it works at least on this model. Modified ps2sdk code ---------------------------------------------------------------------- It could be noted that there's a lot of modified ps2sdk code here. Why? I wanted maximum performance. For 'audsrv' for example there's an unnecessary (I think so) calls for memcpy and FlushCache. 'libcdvd' caused strange problems of data corruprion when SifLoadModule was called. GSkit uses SPR badly needed for video decoding. Instead, I decode MP3 stream directly to the uncached, 64 byte aligned memory, I'm using 64 byte aligned buffers for disk I/O, and GS kit was modified to avoid SPR usage. Maybe I'm just a stupid person :o). License ---------------------------------------------------------------------- For my code it is the same as for ps2sdk (AFL). For ffmpeg - "GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version" :). Miscellaneous ---------------------------------------------------------------------- I've made this just for myself. I don't want to make any profit from it. Anyone is free to make anything with it (according to aforementioned licenses). If my code sucks (especially my formatting habits) - it sucks. I don't care. I just hope that it will help PS2 enthusiasts to make their programs quicker. I will continue slowly to make it more like a real system, but for me alone it will take ages to finish it :). Questions ---------------------------------------------------------------------- - by email (see beginning of file); - using private messages at ps2dev's forums; Thanks (in no particular order) ;o) ---------------------------------------------------------------------- - Sony for PS2 and Linux for it; - Marcus R. Brown for discovering an exploit (without it I would never begin); - Drakonite for UMCDR idea; - Pixel for making an estimation of the code and for helping me out with CVS; - J.F. for trying this out (btw. I don't know if you succeeded with it or not); - PS2Reality team for inspiration and timer code; - ffmpeg contributors; - Chris "Neovanglist" Gilbert for GS and DMA code; - gawd for 'audsrv' (virgin version was enough :)); - all others whose posts in the forums helped me in development; Update (16-JUN-2005) -------------------- STIO_XXX routines are implemented. Though not fully tested, but at least I was able to play a file using 'host:file.avi' syntax. Loading goes slower than from CDDAFS but movie plays OK. This feature can be helpful for programmers (no need anymore to make CD :)). Well, these STIO_XXX routines call 'fioxxx' from ps2sdk, so, alas, no hdd support. Anyone is free to replace 'fioxxx' by 'fileXioxxx' and try it with hdd. To use 'STIO_XXX' just replace 'CDDA_InitFileContext' call by 'STIO_InitFileContext' (and remove other CDDA_XXX calls). Update (19-JUN-2005) -------------------- HDD support added. All requred .irx modules are loaded from memory (They reside in SMS_Data.c (Note that data buffer is then reused by audio decompressor)). HDD partition "SMS_Media" (FS_GROUP_COMMON) is mounted automatically. Finally fixed ring buffers issue (the problem was main's thread priority (I thought it is 1 by default, but 'ps2link' sets it to 64)). Now it explicitly set to 1. Changed audio decompression buffer (I'm preparing A/V synchronization in such a way that there will be two more queues with already decompressed audio/video frames (I'm not sure yet if it will work at all :)). Audio preload functionality is removed (no need of it as my idea with A/V sync will not depend on it). I don't know at the moment how USB devices work with ps2sdk, so any help will be appreciated. Project structure is also reorganized. Update (28-JUN-2005) -------------------- Some MP3 bugs (typoes) fixed. New FONTM autokerning algorithm is implemented (strings look much nicer now). 'audsrv' updated. Region autodetection code is added to the GS code. Update (03-JUL-2005) -------------------- A very primitive A/V syncronization added. Video output V-Blank synchronization added. Update (15-JUL-2005) -------------------- At last I've added a GUI and pause/stop functionality, so it looks more like a real program. Here's short manual: - SMS screen is divided in 3 areas: device menu at the top, file menu in the middle and status line at the bottom; - each area is bounded by a red rectangle with round corners; - device menu and file menu can be activated; - active menu is bounded by a white rectangle; - device menu is navigated by "left" and "right" pad buttons; - "down" pad button switches from device menu to the file menu; - file menu is navigated by "up" and "down" pad buttons; - "left" or "right" pad button switches from file menu to the device menu; - active item in both menus is highlighted by semitransparent rectangle; - selection is made by pressing "cross" pad button; - "triangle" pad button navigates one level up (directory->parent directory->partition list) in the file menu; - menu items with different contexts (file/directory/partition) are represented by different icons; - CDDAFS disks are recognized automatially (just insert it and wait for a while); - during playback use "select" pad button to pause, "start" to resume and "triangle" to stop and return to the filebrowser; - press "select" and "circle" pad buttons in the filebrowser to switch PS2 off; That's it. Note, that during that "harsh stop action" no IOP reset, program restart etc. is performed. So, memory and other resource leaks etc. are possible (I've tried to be as accurate as possible but who knows ;)). No USB mass-stoarge device support, since my only USB memory stick doesn't work with ps2sdk tests. Note also, that I've changed that magic MAGV, MAGH and other numbers in GS.c to get nice aligned picture on my TV and TV tuner card (SMS in NTSC mode also works there). If anyone has a problems with improperly aligned picture - just play around with these numbers. VESA modes are not tested at all (perhaps I'll try to play with it). Another thing: as this become more or less complete version there could be a huge mess with distributed versions. There are two choises here: maintain only one version or change something to make a difference. I personally don't believe in choise 1. So, SVN will also contain a precompiled SMS.elf (let's call it "reference executable"). There's a function called 'GUIStub_DrawBackground' which is empty in SVN (in my case it draws a gradient background, animation and version number (currently 1.0 Rev.2)). Different "distributors" would implement their own "signature" by implementing aforementioned function (its parameter gives an access to the GSContext etc.), so people will know who's to blame ;)). Anyone is welcome to send me code modifications, so I'll update SVN. There's still an optimization potential (GMC, MP3, for example) if someone thinks that SMS is too slow. For audio issues, please, contact 'gawd', the creator of 'audsrv' (32000 upsampler does not exist, for example). Better A/V sync could also be implemented (the existing one is rather primitive (though, it works in most cases)). There're a dosen of various DivX/XviD encoding parameters and their combinations etc. I just could not handle them alone, sorry for that. Update (20-JUL-2005) -------------------- Fiexed bugs: - movie stop action does not work always; - movie freezes after some time when launched via LaunchElf; - motion compenstation does not perform properly for some motion types; New features: - saved file browser state when selecting partition/directory; - screen adjustments actions added: select-R1 - move right; select-L1 - move left; select-R2 - move down; select-L2 - move up; - save configuration (select-SQUARE) action added ("mc0:/SMS" directory) (currntly screen settings and HDD mounted partition name); - MP3 optimization added (assembly source from BroadQ) - audio decoding performance increased by ~30%; - new version number - 1.1 ;); Update (23-JUL-2005) ------------------- - added "exit to the ps2 browser" action (select-TRIANGLE); - tried to fix difficult-to-catch (thread stuff) "movie stop action does not work always"; - USB support added (thanks and regards to 'weltall'): USBD.IRX is not included (licensing issues). SMS looks for it in: - host:USBD.IRX - mc0:/BOOT/USBD.IRX - mc0:/PS2OSCFG/USBD.IRX - mc0:/SYS-CONF/USBD.IRX - mc0:/PS2MP3/USBD.IRX - mc0:/BOOT/PS2MP3/USBD.IRX - mc0:/SMS/USBD.IRX *** in aforementioned order ***; I'm using legal USBD.IRX from Playstation 2's Linux kit. Note: there's modified usb_mass.irx integrated into SMS. I've made it in order to get my USB flash drive (Apacer Handy Steno HT202 128MB USB2.0) working. Hot swapping apparently works also in my case. Any remarks are welcome. NO WARRANTY THAT USB FUNCTIONALITY WILL BEHAVE PROPERLY WITH OTHER DEVICES. Update (31-JUL-2005) -------------------- - another algorithm of A/V syncronization implemented; - some bugs hopefully fixed :); - video output V-Blank synchronization scheme changed; Update (07-AUG-2005) -------------------- - an attempt to fix a bug due to XviD's packed bitstream; - translational global motion compensation routine is rewritten using EE's MMI. I'm not sure if it will be really noticeable but tests show that new routine is >4x faster than the original C code; Update (13-AUG-2005) -------------------- - got rid of the spontaneous noise (audsrv's problem); - "player hangs on movie stop" bug fixed (thanks to 'Mr. Worm~~' for being patient with testing); - got rid of "Paused" message by holding "select" button for > 200ms; - performance slightly improved for some cases (avoiding calculations of skipped macroblocks); - added video mode selection at program's startup (select-R1 for NTSC, select-R2 for PAL). Timeout is 1 second, then (if no aforementioned pad button combinations were pressed) program continues with default video mode (from saved configuration or autodetected one); Update (19-AUG-2005) -------------------- - AC3 audio decoder added. Absolutely unoptimized yet (just an original C code) but at least appears to be working (thanks to 'Mr. Worm~~' for his test video clips); - Filebrowser's font color changed to yellow (an idea of 'Mr. Worm~~' again); - 'DSP_PutPixels8XY2' and 'DSP_PutPixels16XY2' routines are rewritten in assembly using MMI; - Some other changes that could be interesting only for programmers; Update (26-AUG-2005) -------------------- - Ronald Andersson (AKA: dlanor) has added network (host) support (thanks and regards to him): - ISO CD/DVD support added (thanks to 'Mr. Worm~~' for real help in testing); - Added MPEG2 unquantizer (fixes bad video quality issues in some cases) (this thing is to be optimized with MMI, anyone can try his (her) skills with MIPS/EE assembly ;) (thanks to 'koki373737' for his video clips); - Added an ability to choose between interlaced and non-interlaced video signal at program's startup (select-R1-square - for non-interlaced NTSC and select-R2-square for non-intrlaced PAL); - Attempt to fix "movie dimensions must be dividable by 16" issue. I've only tested it with height of 396 pixels, but I hope that it will work in other cases too (thanks to 'koki373737' again for his video clips); Update (02-SEP-2005) -------------------- - 'usb_mass.irx' updated (thanks to 'hip203' for source code of 'LaunchElf'); - AC3 sound is made louder (thanks to 'Mr. Worm~~' for playing with it); - slightly improved performance ("CSC - display" cycle (IPU code) is shortened and some code is rewritten in assembly); - removed "black bars" on the left and right sides of the picture for some movies with "incorrect" aspect ratios; Update (21-SEP-2005) -------------------- - DVD video disks support added (an ability to read .avi files from DVD video disks on "unmodded" consoles). New CDVD.IRX (supporting UDF filesystem) allows that. Update (29-SEP-2005 "Birthday edition" :)) -------------------- - Added support for following codecs: 'DIV3', 'MP43', 'MPG3', 'DIV5', 'DIV6', 'DIV4', 'AP41', 'COL1', 'COL0'; - Slightly changed 'audsrv' (an attempt to solve spontaneous "hangings"); - Some changes in the source code to prepare OSD support etc.; Update (07-OCT-2005) -------------------- - Changed/rewritten 'audsrv': - removed CDDA stuff (not used); - reduced data traffic; - upsamplers rewritten in assembler; Result: improved performance -> no sound crackling during network playback; - Volume control is implemented (up/down buttons); - AVI demuxer changed (OpenDML support (not tested - I don't have any .avi ot that type)); - General demuxer code is redesigned (this can make life easier for programmers who want to implement different file formats support); Update (15-OCT-2005) -------------------- - Fixed bug in cdvd.irx/UDF filesystem code; - New audio upsampling routine is implemented. It employs linear interpolation algorithm and it still works at the IOP side (it uses no division instructions). It sould also support other sample rates (at least 32000 does work at my site); Update (30-OCT-2005) -------------------- - Attempt to fix misterious SifRpc/fioRead problem (decreased buffer size); - Yet another A/V syncronization algorithm is implemented; - Fixed a typo bug caused really bad A/V sync in some cases; - Added movie "scrolling" actions: - "right" pad button - "scroll" forward; - "left" pad button - "scroll" backward; - "cross" pad button - terminate "scrolling" and continue playing; - "triangle" pad button - terminate "scrolling" and return to the browser; This "scrolling" begins at 3 seconds intervals looking for closest keyframe which is displayed (so 3 seconds is only a hint, it can become, for example, 20 or more/less actual seconds depending on keyframe locations). Pressing "left"/"right" while "scrolling" increases/ decreases intervals by 3 seconds (for forward "scrolling" "right" button increases interval and "left" button decreases it, for backward "scrolling" it's the other way around). Minimum value for the "scrolling" interval is 3 sec. Maximum is 1 min and 3 sec. If "scrolling" reaches begin of the movie then it begins to play from the beginning. Reaching end of the movie causes exit to the browser. Reaction time to pad buttons depends on the media speed etc., so sometimes it's necessary to hold buttons for a while for the response. At the beginning of "scrolling" and at the end of it some pause can happen (flush file buffers and termination of pending I/O requests) which again depends on the device speed. It is also possible to "wrap" scrolling process, for example, if while "scrolling" forward "left" button was pressed at the minimum "scrolling" interval then backward "scrolling" begins and vise versa. Note, that during "scrolling" image distortion can occur ("square" arifacts etc., I don't have any interest to investigate reasons for it :) ). Anyone is free to implement more advanced seeking functionality with time scale, "mouse" pointers etc. Current implementation permits "jumps" to arbitrary movie location (time based), so it can be easly reused for these "advanced" actions; - added support for second gamepad. Thanks to 'bix64' for research and implementation; - added very basic support for background image (skin) in the browser. Thanks to 'bix64' for research and implementation. Skin file is a DivX5xx/XviD encoded I-Frame. It must be "mc0:SMS/skin.sms" file and it must have 640x512 dimensions; Update (12-NOV-2005) -------------------- - new font is introduced. It is internationalized and there's a possibility to choose "codepages". Four "codepages" are available: WinLatin1, WinLatin2, WinCyrillic and WinGreek. Thanks to "Mr.Worm~~" for the cool font utility; - SMS menu is implemented ("start" pad button) providing configuration options etc. Thanks to "bix64" for the code, "Mr.Worm~~", "rathunter" and "HypERSoniC" for ideas; Note on color selection: to make life easier for me :) I've made a 16 color palette (standard CGA colors), so there's a color choice from these 16 colors. It's possible to customize this palette by providing "mc0:SMS/SMS.pal" file. It should be a binary file of 64 bytes length. Each color takes 4 bytes (R,G,B,A); - Fixed small issue with "Initializing SMS..." message when there's no media available (thanks to "jacky401" and "Mr. Worm~~" for note and research); Update (24-DEC-2005 "Christmas edition" :)) -------------------- - subtitles support is added for .srt (SubRip) and .sub (MicroDVD) formats. Subtitle files are recognized automatically by file extension (".srt" has precedence over ".sub") as they are located at the same place as .avi file and have the same name. Subtitles can be switched on/off via player menu. Note that this support is rather strict in sense that no advanced text parsing was implemented, so subtitle file must follow specifications (for .srt refer http://www.matroska.org). In case of "Subtitle error" message refer displayed number as line number near the place where error condition was detected. If subtitle line is too long to fit the screen it will be splitted (by word) in two or more lines (space character is treated as word separator). Thanks to "BraveDog" for the research/implementation, "Mr.Worm~~" for advises and testing and "mastaalien" for remark about long subtitle lines; - player menu is introduced ("start" button during playback); - multi-audio support is added (if multiple sudio streams are present in the .avi file). Note that all audio streams have to be encoded using same codec and same codec settings, otherwise results are unpredictable :). Language can be changed via player menu; Thanks to "Mr.Worm~~" for sample clip; - SMS menu is extended with new options ("circle" pad button can also be used for action (for numeric input it reverses "scrolling" direction)); - external font support added. Following fonts can be loaded: - mc0:SMS/ascii.mtf - contains 96 ascii characters ( 32-127) - mc0:SMS/latin2.mtf - contains 128 latin2 characters (128-255) - mc0:SMS/cyrillic.mtf - contains 128 cyrillic characters (128-255) - mc0:SMS/latin1.mtf - contains 128 latin1 characters (128-255) - mc0:SMS/greek.mft - contains 128 greek characters (128-255) New font can be created by 'MTKFontCreator' utility (google) (I've used version 0.6.2). During font save select "Save Mediatek Font -> 4 color comp., variable width (NEW mode)". Min height must be set to 32. During font generation Max Width and Height parameters (displayed on the status line) must not exceed 32. No error checks etc. are performed by SMS here, so use it very carefully and on your own risk :). Probably .ini file for that utility has to be adjusted on site in order to generate reduced character sets (96 and 128 characters instead of 256). By changing that .ini file it's possible to create virtually any character sets (ISO-8859-7, for instance); - pan-scan display is implemented. By default SMS displays movie in letterbox mode (widescreen movies are shown in full width). 3 pan-scan modes are available (via player menu or "square" pad button during playback). In pan-scan mode it's possible to scroll picture left or right using "L1"/"R1" pad buttons ("L1"+"R1" resets changes); - "about" screen is added ("L1"+"R1"+"R2"+"L2" pad buttons in the browser); - ps2host.irx driver is updated (fixed "DVD hang" issue on some consoles); - fixed bug (only one file can be opened) in cdvd.irx; - playback time OSD added ("cross" button during playback); - auto poweroff timer added (start counting from the moment of pad button press). "auto" mode there means "poweroff when movie ends"; - fixed bug "mounted partition saved in the configuration when there's no partition mounted. Thanks to JuddMan for the remark; - audio/video and subtitle/video manual synchronization added. "circle" pad button activates OSD for it and "L2"/"R2" adjusts time delay (from -5sec to 5sec (for subtitles from -30sec to 30sec) with 250ms interval); - basic and primitive mp3/m3u playback support added with silly "ballsim" demo :); - bug fixed (sceen offset adjustment settings is saved incorrectly) - thanks to 'dave_t' for the fix; - video timeline/scrollbar added. This option is configurable and activated by "select" pad button during playback (instead of pause). The use "left"/"right" pad buttons to set new time offset, "start"/"cross" pad button(s) to resume playback. Thanks to bix64 for the implementation; - enabled support of VESA video modes: 640x480@60Hz ("select+L1" pad buttons at startup) and 640x480@75Hz ("select+L2" pad buttons at startup). Tested only with ViewSonic VX910 TFT monitor with official Sony's cable. These modes are not selectable via SMS menu to avoid confusions :); - fixed bug upsampler routine ("ticking" noise with sample rates < 48KHz); - new bugs have been "implemented" ;); Update (31-DEC-2005 "New Year edition" :)) -------------------- - fixed "hang" bug during m3u playback (thanks to "Mr.Worm~~" for nice Spanish music); - fixed "subtitles are out of sync after scroll operations (using scrollbar)" bug (thanks to "Mr.Worm~~" for the remark); - fixed "hang on loading .sub format subtitles" bug (thanks to "LaptoniC" for the remark); - opaque subtitles support is added (thanks to "HUB107" for the note); - added "support" for ".SRT" and ".SUB" (capital letters) subtitles; - slightly changed AC3 decoder to get rid of some "effects" (thanks to "firehawk" for the research); - removed garbage at the bottom of screen; - added "fullscreen display" player option (thanks to "deank" for the note); - fixed "movie jumps backward when resuming from pause using scrollbar" bug (thanks to "Mr.Worm~~" for the remark); Update (01-JAN-2006) -------------------- - fixed "first letter is missing" for "sub" subtitles format bug (thanks to "LaptoniC" and "deank" for remarks); - fixed "SMS crashes when an unsupported file is selected" (thanks to "deank" for the remark); - added "save display mode (letterbox/pan-scan)" feature; (thanks to "deank" for the remark); Update (16-JAN-2006) -------------------- - fixed bug in MP3 decoder - sound quality is improved (thanks to "Mr.Worm~~" and "Voldemar_u2" for testing); - another attempt has been made to fix hang during m3u playback/scroll; - relaxed format interpretation for .srt subtitles. Thanks to "Voldemar_u2" for the implementation; Update (19-FEB-2006) -------------------- - GS related code is rewritten from scratch (no VESA video mode support yet); - Browser and GUI are rewritten (same look and feel, but totally different code featuring "object oriented" desktop, so, new GUI objects can be added without changing other parts of the application); - Scalable fonts are implemented, so, subtitle size is adjustable now; - Multilanguage support is implemented. Custom language strings are loaded from mc0:/SMS/SMS.lng file (which is just a text file); - Skin format is changed slightly, so, it's possible to create skins of arbitrary size using updated version of "SMS Skin generator" application. Old skins are not supported anymore. Don't use a very high resulution (> 800x600) skins, otherwise results are not guaranteed. Note: new filename for skin is "mc0:/SMS/SMS.skn" (for consistency with other filenames like "SMS.lng" and "SMS.pal"); - Added functionality to select custom subtitles. This works as follows: pressing "circle" pad button while .avi file is selected activates a "mini-browser" with .sub/.srt files found in the same directory as .avi. If there're no .sub/.srt files found then playback begins instantly. Pressing "triangle" pad button while in "mini-browser" cancels selection, and starts playback with default subtitle selection algorithm (same name as .avi etc.). Pressing "cross" or "circle" button while in "mini-browser" selects subtitle and starts playback; - .avi files with associated subtitles are displayed using different icon; - added a possibility to launch user defined application upon exit. There're 3 options: boot browser and 2 user defined (in SMS.lng) applications (default are "mc0:/BOOT/BOOT.ELF" and "mc0:/B?DATA-SYSTEM/BOOT.ELF). This feature is still experimental one, so, results are not guaranteed and the only supported media for launched programs is memory card and CD-ROM (not tested). (thanks to "Marcus R. Brown" for the loader code example); - some new configuration options are added (thanks to "bix64" for IPCONFIG.DAT "editor"); - some other "cosmetic" changes are made; Thanks to "Mr.Worm~~" for suggestions and testing; Update (21-FEB-2006) -------------------- - an attempt to fix "can't browse folders" bug; (thanks to everybody involved in this discovery); - an attempt to fix "files on USB device are not selectable" bug; - added possibility to decrease screen height in "display settings" -> "advanced settings" menu (thanks to "Voldemar_u2" for suggestion); Update (22-FEB-2006) -------------------- - fixed "Display subtitles" checkmark issue in player menu; - fixed error reporting issue (too long messages leave onscreen artefacts); - changed IOP reset routine (thanks to "dlanor" for the research/note); - disabled internal queue locks by removing -DLOCK_QUEUES macro from the Makefile (it appears that queue locks are not needed since threads are non-preemptive anyway); Update (23-FEB-2006) -------------------- - changed loader code in attempt to fix "hangings" upon exit to user defined aplication; Update (03-MAR-2006) -------------------- - fixed incorrect subtitle position for multiline subtitles (thanks to "Voldemar_u2" for the note); - sound made louder a bit (SPU2 volume values are adjusted); - changed character indentation; - added separate management for image offsets in different video modes (thanks to "Mr. Worm~~" and "Voldemar_u2" for the suggestion); - added sound effects to the browser (for errors, usb/host mount/unmount and file/folder actions) - rather silly, just for demonstration of some SPU2 ADPCM decoding features; - fixed a "crash" issue with some mp3 files (thanks to "sigmar" for the research/note); Update (10-MAR-2006) -------------------- - fixed "autoload subtitles" issue. Thanks to "suram884" for the remark; - "Dolby Digital" passthrough mode (via S/PDIF optical output) is implemented (available through SMS Menu -> Player settings). Tested only with SoundBlaster PC sound card and 384kb/s ac3 streams. No volume adjustment is possible in this mode; - fixed "Display Settings"/"TV system" menu issue (thanks to "Voldemar_u2" for the remark); - fixed usb device hot swapping issue (bug in "usb_mass" device driver). Thanks to "hip203" for the research and note; Update (16-MAR-2006) -------------------- - Updated code for "Dolby Digital" output, so, any valid ac3 streams should be playable now (formerly only 5 channel streams were supported)(thanks to "lolo123" and "rathunter" for sample video clips); - Added "play all mp3 files in the folder" functionality. It is activated by "circle" pad button while the folder is selected in the browser. Files are played in alphabethical order; - USBD.IRX (free one, from ps2dev) is now integrated into SMS. No need for "external" usb driver anymore (thanks to "dlanor" for the suggestion); - fixed "double speed ac3 sound" issue (thanks to "shiro" for the sample video clip); Update (06-APR-2006) -------------------- - Performance is improved (video decoder core is rewritten in assembler using R5900 CPU multimedia instructions). Mainly this affects video clips encoded with QPel/GMC options (these are kinda watchable now) though playback of "usual" video clips also got a bit smoother; - Some motion compensation related bugs in video decoder are fixed and new ones are added :); Update (10-APR-2006) -------------------- - Fixed bug in video decoder (QPel motion compensation related). Thanks to "Crash" for sample video clip; - Fixed scrollbar issue in the player (on-screen garbage in some cases); Update (27-APR-2006) -------------------- - Updated MP3 related code to deal with LAME-encoded files (thanks to "KanedA_PL" for the sample audio clip); - Added "randomize playlist" and "repeat" options to the MP3 player. Note: "repeat" mode is applicable for both "m3u" and "mp3" files; - Implemented rather primitive "audio spectrum display" feature during mp3 playback (8 bars for the left channel and 8 for the right one). It's not very precise for sample rates different from 48000Hz (since upsampling is performed on IOP side), but it just adds some fanciness to the "flying balls"; - Slightly improved performance of the MP3 decoder (assembler implementation of the 64-bit integer multiplication routine); Update (10-MAY-2006) -------------------- - Fixed "zero volume" bug in the player. Thanks to "wallacee" for the remark; - An attempt has been made to get rid of "hangings" for "badly interleaved .avi" (thanks to "Mr.Worm~~" for sample video clip); - Changed subtitle selectsion logic. Now pressing "triangle" button in the "minibrowser" cancels default subtitle selection ("dlanor's" suggestion); - Audio spectrum is made "symmetric" ("rathunter's" suggestion); - "Audio animation display" menu option is moved to "MP3 settings..." submenu; - Timer code is rewritten; Update (25-MAY-2006) -------------------- - changed image management routines. Now SMS uses unified image format for skin and icons. IPU is fully utilized to perform image decompression (it's quite fast (a 640x480 test image is decompressed from 30KB to 900KB and uploaded to GS memory in just ~8ms)). A Win32 application (pic2smi.exe) is provided to create such an images. This application is replaced an old one (pic2sms.exe). It's possible to adjust image quality (better quality - bigger image size) and brightness, but default settings should work OK in most cases. These changes resulted smaller (by ~110KB uncompressed) SMS.elf size. Note new skin filename: SMS.smi ('i' means "image" :)) (thanks to "Mr. Worm~~" for trying it); - high resolution movies are performing using reduced color resolution (dithered 16 bit), so no artefacts due to insufficient GS RAM should occur. There's also a possibility to force desired color resolution via SMS menu as 16 bit color resolution can improve performance a bit (less data traffic). (thanks to "Mr. Worm~~" again for trying); - non-interleaved .avi's are treated as "unsupported". File treated as non-interleaved if it contains more than 256 consecutive packets belonging to the same stream (audio, video or other); - added function to copy selected file to HDD's current partition. Pressing "square" pad button activates file context menu which currently has only one item (Copy to HDD). Copy process can be terminated by "triangle" (there can be some delay due to buffering, so press and hold "triangle" till "Stopping" message will appear at the status line). This function is purely experimental (just to measure device speed), so, use it on your own risk :) (files will be overwritten without any prompt). Note also that only PS2 internal HDD is supported; Update (06-JUL-2006) -------------------- - fixed "...the .srt subtitle file which is selected by entering "Select subtitles" menu can't be loaded with .avi if they are stored in mass:..." bug. Thanks to "magusneo" for the remark; - added remote control support and removed gamepad support for slot 1: * for PS2 models without built-in IR sensor AND WITH rom1:RMMAN module an external IR sensor should be plugged into slot 1; * for PS2 models without built-in IR sensor AND WITHOUT rom1:RMMAN module SMS looks for mc0:/SMS/RMMAN.IRX module which is just a copy of rom1:RMMAN module from PS2 models where this module is present. An external IR sensor should be plugged into slot 1; * for PS2 models with built-in IR sensor an external IR sensor has no effect; * for PS2 models without built-in IR sensor AND without rom1:RMMAN module AND without mc0:/SMS/RMMAN.IRX module remote control support is disabled; * Button mappings in SMS file browser: - "Reset" - turns console off; - "Enter" - equivalent to "cross" gamepad button; - "Play" - equivalent to "cross" gamepad button; - "A-B" - display about; - "Menu" - display SMS menu; - "Top menu" - activate device browser menu (ignored in the device browser); - "Subtitle" - equivalent to "circle" gamepad button (ignored in the device browser); - "Program" - equivalent to "square" gamepad button (ignored in the device browser); - "Return" - equivalent to "triangle" gamepad button (ignored in the device browser); * Button mappings in SMS player: - "Pause" - pause; - "Menu" - player menu; - "Play" - resume; - "Reset" - equivalent to "triangle" gamepad button; - "Return" - equivalent to "triangle" gamepad button; - "Stop" - equivalent to "triangle" gamepad button; - "Scan >>" - equivalent to "right" gamepad button; - "Scan <<" - equivalent to "left" gamepad button; - "Display" - equivalent to "square" gamepad button; - "Time" - equivalent to "cross" gamepad button; - "Audio" - equivalent to "circle" gamepad button; Note that in order to get remote control (with "external" IR sensor) working while preserving gamepad and memory card functionalities unaffected a modified SIO2MAN module is created (based on Marcus R. Brown code from SVN and my own disassembly works) and integrated into SMS (source code of it can also be found in SVN). THERE'S NO WARRANTY THAT OTHER DEVICES LIKE MULTITAP ETC. WILL WORK WITH IT. Thanks to "Mr.Worm~~" and "Rathunter" for testing; - added 'FMP4' fourcc recognition. Thanks to "ntt2005" for the research/note; - added support for "simple" M3U list. Only relative paths are supported; - updated some IOP drivers from ps2sdk; Update (01-SEP-2006) -------------------- - DTV 480p video mode support added. Note: not tested here; - added menu option to configure controller port 2. There're 3 options: - gamepad: remote control is disabled and controller port 2 is configured for gamepad; - remote control: controller port 2 is configured for the official remote control with external IR sensor plugged into controller slot 2; - none: controller port 2 is disabled and support for the official remote control with built-in IR sensor is enabled; Notes: second option will appear only if there's no rom1:RMMAN2 module; - added brightness control to the player. Use 'L2' gamepad button to decrease brightness and 'R2' to increase it; - added high precision mode to the MP3 decoder. Sound appears better in this mode but it's more demanding in computational sense. This mode is always on for audio files and it's selectable for video files via SMS menu; - fixed cdvd driver (ISO9660:1999 mode). Thanks to 'Voldemar_U2' for the research and implementation; - added support for arabic subtitles. Activated by "SMS menu->Player Settings->Subtitle Alignment->right" option. I'm not sure if I did it correctly (original strings are reversed and displayed right aligned), so any comments are welcome. Thanks to 'ALI' for explanations; - updated USB drivers; - network drivers are slightly optimized resulting a bit faster network transactions (I've got ~690KB/s while transferring a video file to the hard disk); Update (20-SEP-2006) -------------------- - fixed "image flicker" in DTV 480P video mode (thanks to "jacky401" for the note); - hopefully fixed SMS crash if pause or menu is activated at the beginning of playback; - 2 VESA video modes (640x480@60Hz and 640x480@75Hz) are added; - changed logical screen width in DTV480p mode from 640 to 720 (I'm not sure if this is correct or not); - this update uses VU0 unit to compute IDCT for intra macroblocks in micro mode, so, there's some performance gain in video decoding (~6%); - there're also some experiments with thread priorities in the player, so there's no warranty that this1 thing will not hang during playback :); Update (16-OCT-2006) -------------------- - new MPEG audio decoder code. Fast (~40% faster than low precision one in the previous version), precise (uses floating point calculations) and supports MPEG 1.0 layers 1, 2 and 3. For calculations VU0 (macro and micro modes) and VU1 (micro mode) are used; Note: layer 1 audio is not tested as I couldn't find any files encoded in this format. Thanks to 'mpg123' project creators/maintainers for the source code; - 'ffgriever''s code (.txt subtitles) is integrated (thanks to him (her) for adding some code into this maze :)); - brighness control is updated a bit (if maximum is selected then a fixed value of 32 is added to each color component to make the whole image "brighter"); - some other internal changes (an attempt to eliminate "choppy playback" at the beginning of the movie playback (this can result longer pause at movie startup and during scrolling); Update (20-OCT-2006) -------------------- - fixed "bad sound from mp3 joint-stereo audio" bug (thanks to lee99 for the sample clip); - fixed ".avi files with 'txts' chunk detected as mp3" bug (thanks to 'Z-Saber' for the sample clip); - added possibility to playback .avi files with mp1/mp2 audio; (thanks to 'vitaliyfx' for the sample clip); - added 'page-up/page-down' actions to the filebrowser (L1/L2 pad buttons); - added '.mpa/.mp2' media filter to the filebroser; - there's another guess about 480p mode; - fixed 'SMS hangs when resumed from pause' bug; (thans to 'spkleader' for the note); - fixed incorrect integration 'ffgriever''s code (.txt subtitles); Update (24-OCT-2006) -------------------- - fixed bugs related to mp3 sound glitches and m3u crashes; (thanks to 'lee99' for notes, patience and music); Update (04-DEC-2006) -------------------- - network driver is optimized further (host->hdd transfer rate is about 860 KB/s here and raw download speed is about 900KB/s); - new data packet management -> the application might be unstable, since it was not tested a lot; - sound driver is updated a bit; - widescreen code of 'hjx' is integrated; - added dynamic scrollbar scale (L1/R1 padd buttons during scroll); Update (09-DEC-2006) -------------------- - fixed "dynamic scrollbar scale" issue (thanks to 'peterdcrees' for the remark; - speed up network driver once again a tiny bit (almost 900KB/s transfer speed to HDD here); - changed A/V synchronization algorithm (image motions should appear smoother); Update (24-DEC-2006) -------------------- - added SMB/CIFS network protocol. Tested only on Windows XP Pro (SP2) and Linux/Debian with recent Samba distribution. Only one server connection is supported (though driver allows two). Network transfer speed is comparable to host: protocol (if the server supports raw data transfer (both XP and Linux do), otherwise it will be ~30% slower). To use this feature perform following steps: - create SMS.smb text file in a text editor. This file must contain exactly 5 lines in the following order: - IP address of the SMB server (ex. 192.168.0.3); - name of the SMB server (ex. MyServer); - name of the PS2 (arbitrary) (ex. MyPS2); Note: I'm not 100% sure about it, maybe this name must be listed in 'hosts'/'lmhosts' file; - user name used for authentication (ex. eugene); - user password used for authentication (ex. myPassword); Note 1: blank password is not allowed; Note 2: - "for individuals that think that harm is occurring, or is going to occur, to him or her" - "for individuals that think the persecutor has the intention to cause harm" PASSWORD IS ONE WAY ENCRYPTED BEFORE ITS TRANSMISSION TO THE SMB SERVER ONLY IF THE SERVER SUPPORTS SUCH A FEATURE (at least Windows XP Pro(SP2) and Samba on Libux/Debian do support this (please, don't consider this as advertisement)); - make sure that IP address is correct; - make sure that SMB server name is correct; - make sure that SMB server allows connections (i.e. review firewall/router settings); - make sure that user whose credentials supplied in SMS.smb has appropriate access rights to connect to the SMB server; - copy this file to mc0:/SMS folder; - start SMS; If 'autostart network' option is active, then deactivate it, save settings and restart SMS; - goto SMS menu -> Device settings; - select SMB/CIFS network protocol; - start network support; New device icon shall appear as soon as connection to the server is established (or error message if there's a problem with authentication etc.). Normally this should occur in 0-10 seconds. There's no need to start SMB server before SMS, as connection is made automatically (SMS tries to establish connection to the server approximately each 5-10 seconds). It's possible to shut down SMB server while SMS browser is active. In this case SMB device icon will disappear and connection attempts are resumed again. This can however cause hang, so use this functionaliy at your own risk; In case of problems use 'ethereal'/'wireshark' software to trace activity on the server's TCP port 139. New SMB device is browseable starting from share level (note that shares with '$' suffix in their name (like 'C$', 'ADMIN$' etc.) are explicitly disabled, so they won't ever appear in the file browser); - increased packet buffer size in attempt to avoid audio.video 'stutter' (this results longer delays at startup and during scrolling); - changed '-' and '_' character indentation to prevent overlapping (thanks to 'shassino' for the remark); - added UTF8 subtitles support (thank to 'Npl' for the implementation); Update (05-JAN-2007) -------------------- - fixed crash issue with QPel-encoded clips. Thanks to 'darkangel84' for the sample clip; - improved performance of the network driver (data transfer rate reached about 1.6MB/s here); Update (11-02-2007) -------------------- - fixed directory listing bug for DVD-Video disks. Thanks to 'phillyrider807' for the remarks; - AC3 decoder is optimized a bit with "famous" R5900 assembler :) and a bug in (random crash) it fixed; - an attempt to fix scrollbar issues; - fixed network driver bug (random data corruption). Thanks to 'user112' for the report/research; - updated USB driver; - fixed incorrect subtitle line splitting. Thank to 'rainrix' for the note and sample subtitle file; - first attempt to support MPEG1/2 video (program streams only). Not scrollable, so only 'pause'/'resume' actions are available (in future it can be implemented). Programmers can find it interesting as it fully uses PS2 hardware (IPU, MMI, scratchpad RAM with doublebuffering) for decoding. Interlaced MPEG2 video is supported (both frame/field encoding). CSS decryption is not supported. There might be bigger delays while loading individual mp3 files as program tries to detect file format automatically and mpeg1/2 and mp3 streams have no real headers to judge with 100% accuracy about the format. MPEG program streams without (or unsupported) video or/and audio might be incorrectly treated as mp3 (with a lot of noise), so don't damage your ears :). There's no "official" support of VCD as I don't have any (and no modchip here). Playback of .VOB files is not really supported either as they don't contain proper information about clip boundaries (I think that one comes from .IFO files). I've tested this stuff here only with some mpeg1 files downloaded via eMule and mpeg2 files recorded by Hauppauge WinTV PVR-350 PCI card on PC; - updated SMB/CIFS driver in attempt to get it working with "cheap" NAS devices. Syntax of 'SMS.smb' file is relaxed, so username and password can be omitted. I've tested it here with Conceptronic CHD3LAN network HDD (DON'T EVER THINK TO BUY THIS ONE UNLESS YOU FEEL OK TO UPDATE ITS FIRMWARE as it shipped here with crappiest one I've ever seen (though after update (quite a process I must admit) it performs quite OK (to say nothing of the jet sound from its fan which I've just cut off (invalidating warranty thus) :D))). Note that password protected shares are not supported; - presumably fixed a bug in GMC calculations; Update (16-02-2007) -------------------- - presumably fixed screwed MP3 code (random 'blips' while playing playlists) (thanks to 'lee99' and 'gukid' for the notes); Update (23-02-2007) -------------------- - implemented "scrolling" functionality for mpeg1/2 clips; - fixed "freeze on video clip end" issue. Thanks to 'lee99' for the sample clip; - fixed quite serious bug related to mpeg-4 code (crash in flames). Big thanks to 'user112' for the research and sample clip; Update (18-03-2007) -------------------- - fixed "short freeze" issue during back scrolling; - fixed confusing GUI behavior during device hotplugging while in SMS menu; - fixed corrupted video in some .avi files (QPel+AC3); - presumably fixed freeze issue with .avi files while loading index; - new VU IDCT microprogram (smaller and faster, so all VU microprograms are squeezed now in 4KB VU0 micro memory, leaving VU1 free for possible future usage (high quality colorspace conversion, for example :)); - fixed crash due to incorrectly formatted subtitles (error message is displayed instead) (Thanks to 'gogydm' for the sample file); - fixed crash (in fact is "infinite loop") due to very long lines in subtitles (such lines are just truncated now). Thanks to 'rami1' for the research/note; Update (23-03-2007) - SVN synchronization ------------------- - fixed crash issue for .avi files with multiple AC3 audio streams (thanks to 'Tirabol' for the sample clip); - fixed incorrect clip duration calculations for DivX6 files with subtitles (thanks to 'Tirabol' for the sample clip); - changes due to upcoming implementation of DivX6 subtitles support; Update (03-04-2007) ------------------- - added support for subtitles embedded into .avi files produced by DivX6+ sofrware. These subtitles are encoded as bitmaps, so no more problems with eastern etc. languages. Multiple language subtitles are supported and switchable via player menu during playback. Note that external subtitles (.srt etc.(if present/specified)) have precedence. Tested here with only one file provided by 'Tirabol' (thanks to him); - added option to configure 'range level' (1-9) for AC3 audio streams (can be helpful to remove sound distortions). This option is also available in the player menu (thanks to 'orangpelupa' and 'eMaNoN' for the sample clips); - added code to stop DVD drive at startup; - added option (SMS menu -> Device settings) to disable CD/DVD autodetection; Update (12-04-2007) ------------------- - network and hdd drivers are updated. Note: there're quite significant changes in network divers code (DMA controller is employed to transfer data from the network adapter and data transfer speed and overall IOP performance are increased a bit) and I'm not 100% sure if this stuff is stable enough; - fixed currupted sound issue for AC3 audio strams with 1 channel (mono) (thanks to 'Psychic Bison' and 'Bootlegninja' for the sample clip); - fixed crash issue when player menu is activated during playback of .avi files without embedded subtitles while previously played clip contained them; - slightly improved playback performance for .avi clips by using DMA stall control feature instead of interrupt handler; Update (22-04-2007) ------------------- - improved MPEG1/2 auto detection and playback for broken streams (thanks to 'topshooter' for the sample clip); - network adapter driver is updated again; - fixed bug in MPEG4 decoder (visible artifacts in some cases) (thanks to 'user112' for the sample clips); Update (09-05-2007) ------------------- - added menu option to modify display width (in 640-720 pixels range); - network drivers are reverted back to non-DMA version as latest proved to be quite unreliable; - added some more functionality to file management: 1. copy directory tree to the "current" folder on internal HDD; 2. delete directory tree from internal HDD; 3. delete single file from internal HDD; 4. copy single file to the "current" folder on internal HDD; This functionality is available via context menu ("square" gamepad button). "Current" means last visited folder before switching to another media. Note 1: point 1 is not implemented for 'host' and 'cddafs'; Note 2: not fully tested. Appears to be working here. Use it on your own risk. 'delete' operation is 'unix' style one, i.e. 'are you sure?' question is not asked (though operation can be aborted using 'triangle' on the gamepad (or 'stop' on the remote control)); - ogg/vorbis audio decoder (floating point implementation with PS2 optimized MDCT) is added. "mp3" and "ogg" files can be mixed in one "m3u" playlist. They can also be placed to the same folder and played in sequence using "circle" button while that folder is selected in the file browser; Note: "mono" ogg files and files with sampling rate other than 44100Hz were not tested as I don't have any; - added menu option to control CD/DVD speed (low/medium/high); - applied 'dave_t''s patch to handle remote control 'next'/'prev' buttons during playback. Thanks Dave ;); - added code that stops rotation of the CD/DVD media during pause/scroll; - added menu option to configure display color resolotion (32/16bits). Not really useful, just for fun :); Update (20-05-2007) ------------------- - changed brightness control algorithm; - presumably fixed jerky .avi playback for DTV480P video mode (thanks to 'pitrz' for help, patience, sample clips and inspiration ;)); - added possibilty to change 'advanced display settings' for DTV480P/VESA modes; - added support for .avi files with multiple audio tracks that have different audio formats (mp123/ac3). Thanks to 'cubi' for the sample clips; Update (23-05-2007) ------------------- - added menu option to configure pad directional buttons (either gamepad or remote control). Thanks to 'D1abo' for the code patch; - lots of internal changes due to possible future implementation of 720p/1080i video modes and YUV -> RGB conversion using VU1. This could screw the things up, so, backup the previous version first as I don't have it anymore :). Bug reports are really appreciated. Points to pay attention on: DivX6 subtitles, overall font display and player OSD (volume/brightness control appearance etc.); Update (08-06-2007) ------------------- - fixed "crash" problem introduced with 'ogg' support for playlists; - fixed jerky mpeg1/2 video due to incorrect memory alignment for audio buffer caused by some optimization tricks; - added 720p and 1080i video modes. Only 16 bit dithered framebuffer is currently supported in these modes. Background image is not implemented in 1080i mode. Not tested here as I don't have appropriate TV. Thanks to 'pitrz' for the implementation. - fixed issue that prevented .sub/.txt subtitles to be loaded if they contains empty lines like '{3557}{3629}'. Thanks to 'grange' for the notes; - slightly changed remote control related code; Update (17-06-2007) ------------------- - hopefully fixed display issues for 720p and 1080i video modes (background image is supported in all modes now) (thanks to 'pitrz' for the implementation and 'D1abo' for the testing); - fixed crash issue for 'ogg' files (thanks to 'vectis' for the sample clip); Update (20-06-2007) ------------------- - added functionality to launch applications from USB device ("mass:") upon exit; - network adapter driver is rewritten. Data transfer rate is reached ~2+MB/s; - new configuration options are added to the SMS menu: - 'Device settings -> Network settings' to configure network adapter operation mode. There're 3 options: - autonegotiation; - automatic (various modes are tried and first available is selected); - manual (duplex mode (half or full) and protocol (10Base-T or 100Base-TX)); - 'Display settings -> Advanced settings' to fine tune video synchronization parameters (to avoid display flickering in different video modes). 'Parameter 1' is for 'audio playback' mode and 'Parameter 2' is for GUI/Browser mode. - fixed 'crash' issue for 'ogg' files (thanks to 'vectis' for the sample clips); Update (01-SEP-2007) -------------------- - added PS2 optimized DTS audio decoder. DTS passthrough mode (via S/PDIF optical output) is also supported (tested only with SoundBlaster PC sound card); - added support for MPEG1/2 files with multiple audio tracks (selectable via player menu). Tested only with one .vob file that contains DTS and AC3 audio tracks; - removed version number (now it is displayed only during initialization) from the GUI; - improved MPEG1/2 display (now SMS takes into account widescreen aspect ratio (if present) from the original source for letterbox/pan-scan-1/2/3 display); - added possibility to select background image (skin) in SMS menu (Browser settings -> Use background image option). Image file(s) should be in 'smi' format (i.e. produced by SMS image generator utility) and have '.smi' extension (case sensitive and without quotes). They should be placed inside 'mc0:/SMS/Skins' (case sensitive and without quotes) folder. No format verification is performed, so use only files produced by SMS image generator utility!!! - changed display synchronization procedure for audio AND video playback. This can be somewhat model dependent, so if it won't work (black screen) then try to play with value for 'Synchronization parameter 1' in 'SMS Menu' -> 'Display settings' -> 'Advance settings'; - fixed bug in SMS menu (thanks to 'elchevive' for the remark); - network initialization is made asynchronous and nonblocking (i.e. it is performed in background even if the cable is not plugged in (it can be plugged in any time)). Maybe it is confusing a bit as 'Initializing network...' message is displayed for a very short time and further nothing seems to be happening; - updated seek functionality for MPEG1/2 files; Update (14-SEP-2007) -------------------- - fixed screwed up audio spectrum display; - added functionality to switch between SMB servers dynamically. SMS.smb file format is extended (it is still compatible with previous version) as follows: - first 5 lines remain the same as in the previous version (leave line 4 and 5 blank (i.e. containing only newline character (no spaces)) if no username and password are used); - sixth line contains arbitrary text that will be displayed in SMS menu. The purpose of this line is to provide nice description for the SMB server defined in first 5 lines; - aforementioned 6 lines can be further repeated to define more SMB servers; How it works: SMS Menu -> Device settings -> Network settings menu contains new item, namely 'SMB server' (note that this item will only appear if network protocol is set to 'SMB/CIFS'. Activation of this menu brings a submenu filled with servers listed in 'SMS.smb' file. There a new server connection can be selected. Note that if there is already connection in progress to the server that is down then breaking that connection can take a while (around 10
  6. HDL_Dump GUI

    HDL_Dump GUI is a graphical program, which helps to install PS2 games from a PC onto the PS2. Its based on the command line program hdl_dump and includes mostly all its functions in an easier way.
    With it you can install PS2 games over LAN or on a locally connected PS2 HDD through IDE or USB. It also can list and edit the installed games from the HDD which is stored in your PS2. You also can copy the games back from the PS2 HDD onto your PC.

    This app maybe a bit obsolete.
    If you're having problem with launching this app, try Compatibility Mode: Windows XP SP3.
    by vtecorona.
  7. HDL Batch Installer

    HDL Batch Installer es una GUI para HDL_Dump.

    Características principales de HDL Batch Installer:
    Instala varios juegos a la vez Extrae varios juegos a la vez Asignar automáticamente el título del juego original antes de la instalación Inyecte MiniOPL en la partición del juego (para iniciar el juego desde HDD-OSD) Inyecte MBR.KELF en el disco duro Editar el título del juego Inyección masiva de KELF e íconos en cada juego instalado Aplicación creada por israpps.
  8. ISO to OPL

    USBUTIL replacement for formatting PS2 ISOs for OPL.
    Extract this to C:WindowsSystem32 and run this from the command line. Works with all PS2 ISOs, even ones larger than 4 GBs.
     
  9. Open PS2 Loader (OPL)

    Open PS2 Loader (OPL) es un cargador de juegos y aplicaciones para Playstation 2 y Playstation 3, de código abierto.
    Ahora soporta imágenes .ISO desde el HDD, compartir a través de Ethernet SMB y USB mientras mantiene la compatibilidad con los formatos de USB Advance y USB Extreme.
    Actualmente es el cargador homebrew más compatible y puede funcionar sin ps2load o cambiar los DNASXXX.IMG.
    Cómo usar Open PS2 Loader (OPL)
    Open PS2 Loader utiliza la misma estructura de arbol de directorios a través de los modos HDD, SMB y USB:
    --- "CD"  (for games on CD media - i.e. blue-bottom discs)  --- "DVD  (for DVD5 images; DVD9 images on USB must be split)  --- "VMC" (for 8MB Virtual Memory Card images)  --- "CFG" (for saving per-game configuation files)  --- "ART" (for box and disc art images) --- "THM" (for themes support)  ---
    USB
    ---
    Los archivos de juegos en USB deben desfragmentarse perfectamente, ya sea archivo por archivo o por unidad completa, y las imágenes de DVD9 de doble capa deben dividirse para evitar las limitaciones de 4 GB del sistema de archivos FAT32. Recomendamos Power Defragmenter para obtener los mejores resultados de desfragmentación, y nuestra propia herramienta de línea de comandos iso2usbld para convertir o dividir juegos en formato USB Advance/Extreme ...
    Otras utilidades son: USBUtil 2.0, USB Extreme installer or USB Insane.
    ---
    SMB
    ---
    Para cargar juegos mediante el protocolo SMB es necesario compartir una carpeta (por ejemplo: PS2SMB) en el equipo host o dispositivo NAS y asegurarse de que tiene permisos completos de lectura y escritura. El formato USB Advance/Extreme es opcional - las imágenes *.ISO son compatibles utilizando la estructura de carpetas anterior con la ventaja añadida de que las imágenes DVD9 no tienen que dividirse si tu dispositivo SMB utiliza el sistema de archivos NTFS o EXT3/4. 
    ----
    HDD
    ----
    Para PS2, se admiten discos duros internos LBA de 48 bits de hasta 1 TB. Hay que formatearlos con WINHIIP o uLaunch. A partir de ahí, utiliza uLaunch para crear una partición (rec. mín. de 2GB) llamada "OPL". Si OPL detecta esta partición en el arranque, creará automáticamente la estructura de directorios anterior. Úsala para migrar ART, THEMES, CFGs, VMCs, etc. de tu MC o memoria USB al disco duro interno y liberar espacio en esos dispositivos. 
    Para iniciar OPL, puedes utilizar cualquiera de los métodos existentes para cargar un elf ejecutable.
    En PS3, necesitas un disco SwapMagic 3.6+ o 3.8 original (de momento no hay otras opciones). Los pasos para cargar OPL en una PS3 son:
    Cambia el nombre de OPNPS2LD.ELF a SMBOOT0.ELF Crea una carpeta en la raíz del dispositivo USB llamada SWAPMAGIC y copia SMBOOT0.ELF en ella. Ejecuta SwapMagic en PS3 y pulsa UP+L1 y se iniciará Open PS2 Loader. Hay 4 formas de lanzar elfs en SwapMagic:
    SMBOOT0.ELF = UP + L1 SMBOOT1.ELF = UP + L2 SMBOOT2.ELF = UP + R1 SMBOOT3.ELF = UP + R2
  10. HD Project

    HD Project is a game loader allowing to emulate memorycards from HDD or USB.
  11. myPS2

    myPS2 is an application with that you can browse your file, view images, hear music on your ps2 with a nice GUI.
  12. PGEN

    PGEN is a Sega genesis/Mega Drive Emulator for the PS2. It can read Roms from various sources.
  13. PS2Reality Mediaplayer PRO

    El popular reproductor multimedia para PS2 creado por Hermes, Mavy & Bigboss.
  14. PS2OS

    This Download conatins a ready to burn image of PS2os, another application for the PS2 to organize your files, memory cards, etc.
     
  15. PS2ESDL

    Playstation 2 External Storage Device games Loader
    Preface:
    --------
    PS2ESDL was started by me in March 2009, around when Ifcaro had launched his USBLD project.
    I had became inspired by him, and also tinkered around with USBAdvance.
    However, I soon saw that USBAdvance had no future with the way it has been written.
    I found resources, like romz's CDVDMAN/CDVDFSV disassembly, and the source code of HDProject v1.07 and later v1.081.
    Although later, I've rewritten PS2ESDL's core (From ground up), so HDProject v1.081 is now more or less not present (PS2ESDL's EE core only shares a very mild resemblence of it).
    This PS2ESDL source is compiliable by the *latest* generic PS2SDK (As of Revision 1689).
    No modification needs to be made to your toolchain, except for adding ps2-packer, and linking with LIBPNG, GSKIT and all the necessary dependencies.
    There is now a new GUI that accepts a custom background, and PS2ESDL is designed to be launched with any possible launching method that can launch ELFs properly.
    PS2ESDL uses the latest USBD and USBHDFSD drivers. However, I've customised them (Gotten rid of any unnecessary functions).
    PS2ESDL got terminated in January 2010 for several personal reasons.
    However, as I tinkered with the code slowly in my free time, I've managed to get it working on 12th Feburary 2010.
    As PS2ESDL's name suggests, I'm trying to make it specialise in loading games from the PS2's external interfaces like the USB or ILINK (It's something that might be worth considering working towards...).
    ********************
    A short guide on how to launch/use PS2ESDL

    -Install your games onto a USB disk (Prefably a hard disk) that was formatted with the FAT32 filesystem.
    -Defragment your disk after you install your games.
        PS2ESDL assumes that your game files are contiguous. Therefore FILE FRAGMENTATION IS UNACCEPTABLE!!!!!
    -Launch PS2ESDL in your favourite way.
    -Plug in your USB disk that has your games on it.
    -Start your game by pressing either the CIRCLE, CROSS or START buttons
        Hold the necessry buttons/triggers to invoke the necessary cache size settings and compatibility modes as you do so.
    ** About the patches.ppi file that comes with PS2ESDL: Put it in the same directory where you're launching PS2ESDL from (It's necessary for compatibility with some games)!
    *** Please visit http://ichiba.geocities.jp/ysai187/PS2/PS2ESDL/guide to view the full guide (With colour photographs).
    ********************
     
    Additional Notes:

    -PS2ESDL supports it's own game format, the PS2ESDL version 1.22 format.
    -It also supports the traditional USBExtreme format.
    -Your USB disk must be FAT32 formatted, defragmented and have NO bad sectors (Your image file(s) may be "fragmented" then!).
    Features unique to PS2ESDL:
     
    The PS2ESDL v1.22 game format:
    ------------------------------
    -Stores games in the "PS2ESDL" (Without the quotes) folder on your USB disk.
    -Uses 1.74GB disc image slices (Less files present on your disk for each game).
    -Stores certain settings (E.g. cache size, syscall unhook setting etc.) for each individual game.
        No need to memorise, and press a multi-button combination when starting your games!
    -Supports Japanese (SHIFT-JIS X208) titles.
    -Titles can be up to 40 characters in length.
    -CRC32 checksum support for checking for corruption.
    User-customizable UI (Background + Skin):
    -----------------------------------------
    -Background loading:
    Place your 640x448 PNG background as either:
        a) mc0:PS2ESDL/background.png
        b) mc1:PS2ESDL/background.png
        c) The place where PS2ESDL was launched from>/background.png
        d) mass:PS2ESDL/background.png
    This is also the order in which PS2ESDL will search for a loadable background.
    The background can be smaller in size (It won't be stretched nor centered though), but it's width and height MUST be divisible by 4.
    >>>PS2ESDL will not load and display images that exceed a size of 640x448.
    -Skin loading:
    Place your skin (UI.png and UI.dat, or just only UI.png if your skin doesn't have a configuration file) in the same folder where PS2ESDL is launched from.
    The skin should not be larger than 640x448 in size.
    DMA/unaligned buffer data transfer cache setting:
    ------------------------------------------------
    -You may specify the cache size used by CDVDMAN for DMA/unaligned buffer data transfers (For improved performance).
    -Custom cache size setting (Larger caches generally mean better performance, but may break some memory-hungry games):
    L1/L2/R1/R2 -> 8/16/24/32 sector cache sizes respectively.
    Compatibility modes
    -------------------
    -TRIANGLE: Unhook syscalls (aka. HDLoader's Mode 3)
    -SQUARE: Force synchronization (Needed for a few games that time-out because the USB is too slow).
    To invoke a custom cache size setting and/or any required compatibility mode(s), just hold the corresponding trigger/button as you press CIRCLE, CROSS, or START to launch your game.
    What you should not see (And won't want to see): The game freezes (Or behaves erratically), or skips some of it's videos. It's because the cache is too large, and too much memory has been consumed.
    Please let me know what cache size works best for your games! Results should vary from game to game, but most of my Japanese games (Those that stream their video data to the EE through DMA transfers) had positive performance improvements with a bigger sector cache.
    Please start testing with the 8-sector cache, and then go for larger cache sizes.
    *** When making a compatibility report, please state whether the game works with all options off (No triggers pressed), and what cache size it works best with (Optional!). ***
    Options screen and other options:
    =================================
    -Press SELECT to bring up the options screen.
    -Press R1+SELECT to exit PS2ESDL and return back to OSDSYS.
    ===========================================================
    Hardware tested on:
    -------------------
    Playstation 2 consoles:
        -SCPH-77006 (Unmodified; Only used Swapmagic 3.6/FMCB v1.8b).
        -SCPH-39006 (I don't know what modchip it has, but it should be a M-Chip 2).
        -SCPH-10000 Playstation 2 console (Unmodified).
    -USB HDD(s): Smart-Drive (IEEE1394 + USB 2.0 enclosure). Contains an Oxford 934 chipset.
    -Disk defragmentation utility: Auslogics Disk Defragmenter
    PS2ESDL was booted with uLE v4.4x and FMCB 1.8b (Installed on an imitation 8MB Memory Card) on these consoles.
    All the best and have fun!
    -SP193, 2011/06/21
  16. Free Memory Card Boot (FMCB)

    Free Memory Card Boot (FMCB) is a homebrew software which is designed to setup your PlayStation 2 console and provide you with a means of launching homebrew software, without the need for any extra hardware, modifications to your console or dangerous tricks like the legendary swap trick.
    What does FMCB v1.9 offer?
     
    For mere humans:
    *Smaller, faster and more stable. :P *The HDD unit is now supported. *The "Early Japanese"/PCMCIA units (SCPH-10000, SCPH-15000 and SCPH-18000) are fully supported. *Chinese consoles are now supported (e.g. SCPH-50009). *When you leave the CD/DVD tray ejected, FMCB/FHDB will not stall. *Your play history will now be updated (The towers in the background of the "Sony computer entertainment" screen should continue to grow taller and greater in numbers) Technical changes:
    *Initialization code has been cut down. *Some IRX modules (init.irx and chkesr.irx) have been removed (superceded by code that runs from the EE, like their Sony originals). *DVD player selection code has been replaced with one similar to the one used by Sony. *The console initialization code has been replaced with a Sony-like version. *CNF parsing code has been optimized. *The memory map has been adjusted slightly, so everything now fits below Sony's idea of "user memory" (below 0x00100000). *Support for the Protokernel and all HDD OSDs have been added. *(For the HDDOSD version of FMCB only) ELFs can be booted from any partition on the HDD. The format of the path is :. (e.g. hdd0:__sysconf:Pfs:/FMCB/FMCB_configurator.elf). This can be easily set using the included FMCB/FHDB configurator. *The CD/DVD drive will now be stopped if a normal ELF is started (Under the assumption that most homebrew ELFs probably won't ever use the drive). *The user's history file (the file which affects the towers within the "Sony Computer Entertainment" startup screen) will now be updated whenever Playstation/Playstation 2 game/software discs are launched, as well as DVD video discs. *Reloading the OSD from within the OSD triggers a full reload of FMCB, because I felt that it'll be cleaner. *The location of ESR will now be checked only when ESR is requested to be loaded. *The embedded EELOAD module has been cleaned up, and loads at 0x00082000 instead (Like rom0:EELOAD does). *FMCB has been split into two. The part of FMCB which remains resident will be copied into its place during runtime, allowing the initialization part of it to have the entire PlayStation 2 for initialization and drawing something nice on the screen (Not done at the moment as it makes FMCB quite a fair bit larger). *Full support for the SCPH-10000 and SCPH-15000. Not only will it patch up the SCPH-10000 and SCPH-15000 kernels fully (Applies OSD argument-passing patch), it also includes its own HDD support modules and can act as a replacement for the Sony system driver update. *Prototype support for the PSX. Its OSD is not supported, meaning that there will be no hacked OSD for the PSX. *Supports non-Sony HDD units (Support for non-Sony HDD units within the HDD OSD/browser v2.00 update depends on the HDD OSD itself). *New FMCB configurator program which supports the HDD unit. *Added support for the Chinese consoles (Magicgate region 09, folder letter C. e.g. SCPH-50009).
  17. ESR Disc Patcher

    Parcheador virtual para Free MCBoot.
  18. HD Loader

    The HD Loader is an application (.ELF) for your PS2 that you can run off your memory Card, an USB Stick or a CD an then load your games off the Hard Drive that you can connect over the Network Adapter with you Fat PS2.
  19. HDLGameInstaller

    The HDLGameInstaller program allows the user to install the PlayStation 2 games on the hard drive installed in the PS2, for a direct start with HDDOSD.
    Features:
    - Install all PlayStation 2 games from the CD / DVD drive. - Install all PlayStation 2 games remotely from a PC, over a network. - Installed games can be started directly from the HDDOSD. - Allows the user to manage games locally on the PlayStation 2 console. - Allows the user to manage games remotely from a PC, over a network. - Network performance uses the latest PS2SDK Ethernet modules, with speeds of approximately 2.8 MB / s. - Allows the user to specify the saved icon to use with the game. - Support for games> 4 GB and DVD-DL.
  20. uLaunchELF

    uLaunchElf is the best program ever for your PS2 that can Launch ELF files, start PS2 Discs, browse your files on HDD, USB, CD, DVD, FTP, Backup Savegames, mount Virtual Memory cards, start a FTP server, manage your HDD, View JPEGS, Edit text files and much much more.
    LaunchELF v4.40 (2009.09.08)
    -Reimplemented 'paddata', to allow button combos independent of debounce -Merged in a new mcman module by jimmikaelkael, fixing the FTP server bug LaunchELF v4.39aa beta (2009.08.24)
    -Fixed a weird 'strcat' bug that used to break TextEditor 'Save As...' pathname -Suppressed FileBrowser display of garbage filesize + timestamps for ".." links -Rearranged init of pad & CDVD modules to avoid problem detecting pad mode -NB: The above fixes an old problem with pad running amok with disc-control ON LaunchELF v4.39z beta (2009.04.09)
    -Fixed a bug from previous beta v4.39y preventing access to MC folders having a 'hidden' attribute bit set. LaunchELF v4.39y beta (2009.04.06)
    -Merged in new MCMAN and MCSERV modules by jimmikaelkael -Modified FileBrowser to allow renaming of all MC file/folder objects -Fixed "DEVICE_UNITS" again, to really allow 10 USB drives/partitions in FTP LaunchELF v4.39 (2009.02.17)
    -Updated gsKit and existing source files to SVN rev 1470. -Upgraded USBHDFSD to SVN rev 1534 by radad. -Updated ps2ftpd and existing source files to SVN rev 587. -Changed "DEVICE_UNITS" from 4 to 10 for the newer USB driver. -Altered an old workaround to allow multiple USB devices to show up properly within FTP clients. LaunchELF v4.38 (2009.01.22)
    -Fixed a bug affecting two of the timeout functions changed in v4.37 -Modified CDVD tray checking for browsing to cdfs: LaunchELF v4.37 (2009.01.21)
    -Changed VSync-based timeouts to use Timer() instead, to eliminate PAL/NTSC variations and cure an old bug causing uncontrolled button repeats -Changed CDVD tray checking, to eliminate a case of FileBrowser freezing LaunchELF v4.36 (2009.01.19)
    -Fixed 'disc control' bugs in FileBrowser and JpgViewer browser -Improved recognition of disc types, displayed in main menu. ESR discs are shown as "ESR DVD (off)" if ESR driver needs to be activated to access disc contents, but as "ESR DVD (on)" if no driver activation is needed (if already running, or when used with a modchip) -Upgraded USBHDFSD of uLE to SVN rev 1516 by radad, fixing a bug in FAT16 usage LaunchELF v4.35 (2009.01.17)
    -Merged in the latest USBHDFSD version by radad (SVN rev 1513) to further improve compatibility LaunchELF v4.34 (2009.01.13)
    -Fixed some bugs that could sometimes prevent 'Left'/'Right' buttons from activating elf launches defined by user for those buttons
    -Changed to use fioGetstat instead of fioDopen+fioDclose to scan for USB drives
    -Restructured main menu event loop and centralized GUI screen redraws to it
    -Changed from dynamic to static font buffer allocation (as it's always needed)
    -Modified USBHDFSD to eliminate an irritating and unnecessary delay
    -Added rom0:ROMVER content to "MISC/Debug Info" screen (shows PS2 bios version)
    LaunchELF v4.33 (2009.01.12)
    -Raised a debug constant which limited v4.32 USB_mass drives to 4 instead of 10
    -Added a horizontal offset to the "About uLE" display
    LaunchELF v4.32 (2009.01.11)
    -Upgraded USBHDFSD to SVN rev 1503 by radad, which cures the bug causing large-file corruption in the previous uLE release, and also adds support for multiple partitions (each accessed as a separate mass?: drive) and extends the hotplugging limits (max 5 simultaneous devices with a total of max 10 partitions). Exceeding the limits will cause no harm, but the additional devices/partitions will not be accessible.
    -Upgraded USBD to SVN rev 1494 by radad, making uLE "mass:" identical to that of old applications when using multiple USB drives in uLE.
    -Improved MISC/PS2Disc subprogram to support launch of either DVD-Video disc or ESR-patched disc (but might not recognize disc type if a modchip is active)
    -Added "ESR elf" entry to "Startup Settings..." configuration menu
    NB: If no ESR elf has been configured a default of "mc:/BOOT/ESR.ELF" is used
    LaunchELF v4.31 (2009.01.04)
    -Added new "MISC/About uLE" subprogram, displaying a program credits screen
    -Enhanced FileBrowser to support multiple hotplugged USB mass drives
    -Upgraded usbhdfsd to SVN rev 1490 by radad, for multiple USB drive support. Note that this may require running the new "setup.sh" script, for those who wish to compile uLE themselves. (Or use the new script "upgrade_usbhdfsd.sh".)
    -Fixed various issues with TextEditor (inability to insert CRLF at CRLF etc)
    -Fixed a partition unmounting issue, that sometimes caused non-fatal failure of the TextEditor to show proper partition contents when browsing for a text file
    NB: usbhdfsd rev 1490 is now known to have a bug in writing/deleting large files.
    LaunchELF v4.30 (2008.09.30)
    -Fixed HDD mountpoint issues in HddManager (due to changed methods from v4.23)
    LaunchELF v4.29 (2008.09.25)
    -Fixed a new bug in the CNF parser, introduced when fixing the previous one. That bug cause the character after the equal sign in a variable assignment to be skipped. This should not matter for uLE or FMCB CNF files, where that character will always be a space. But it does matter when parsing SYSTEM.CNF for PS2 discs, since those files sometimes have no space in that position. This caused some discs to fail booting, both with the uLE MISC/PS2Disc command, and with the disc launcher of FMCB.
    -Minor changes to CDVD checking
    -Added DVD-Video launch capability for MISC/PS2Disc
    LaunchELF v4.28 (2008.09.07)
    -Fixed a bug in the CNF parser, preventing variables from being accepted when not separated by any other character from the '=' character preceding its value string. This bug affected all CNF file parsing, including that used for the PS2Disc command, as well as that used for the CNF files of uLaunchELF.
    NB: Since uLE always uses a space separator in creating CNF files, this bug has never affected CNF files created by uLE, but only CNF files edited by 'hand' and the SYSTEM.CNF files of game discs, causing some of those not to work with the PS2Disc command of uLE. So try again now, with games that failed earlier.
    LaunchELF v4.27 (2008.09.04)
    -Added ability of MISC/PS2Disc subprogram to also boot PS1 discs
    (Based on ideas and examples contributed by jimmikaelkael @ psx-scene)
    LaunchELF v4.26 (2008.09.02)
    -Fixed a bug preventing detection of PAL/NTSC mode on some slim PStwo units.
    (Now reads "rom0:ROMVER" instead of using gsKit's function "gsKit_detect_signal")
    LaunchELF v4.25 (2008.08.19)
    -Fixed a bug preventing proper updates of IPCONFIG.DAT (open file)
    -Fixed a bug preventing Cancel command from working in some file selections
    -Modified Skin CNF saving to allow selection of existing filenames
    -Corrected cursor positioning for LNG translated network settings
    LaunchELF v4.24 (2008.08.15)
    -Fixed a bug preventing unmounting of VMC devices for some cases
    NB: Though VMC usage should no longer be able to interfere with normal HDD access, it may still lock up in some VMC operations. This VMC driver is still to be considered a beta version, though the uLE release is otherwise stable. You should therefore not use VMC operations without backup of each VMC file used.
    LaunchELF v4.23 (2008.08.15)
    -Fixed a bug that made it possible to select uLE configurable files (drivers, skins, etc) on VMC
    -Fixed a bug preventing psuPaste from restoring PSU files to gamesave folders on VMC
    -Restructured the HDD mountpoint usage to eliminate conflicts between VMC and other browser needs. Conflict should now only be possible between ftp server and VMC browsing, so these activities should never be combined (user responsibility)
    -Enforced 32 character limit for vmc object names in FileBrowser (same as on MC)
    -Modified VMC mounting to last only throughout a FileBrowser session. Leaving the FileBrowser automatically unmounts any mounted VMC files
    -Fixed a VMC driver bug causing it to consider a VMC to be mounted even after a failure to do so due to unformatted content
    LaunchELF v4.22 (2008.08.14)
    -Fixed various bugs that could crash the RunELF function when called with improper device names or paths to non-ELF files. From now on on real launch attempts are made only after accessing the file and checking its ELF header.
    -Fixed a bug dealing with SYSTEM.CNF files for the "MISC/PS2Disc" subprogram (string termination for a file buffer from malloc was made one byte beyond the allocated area)
    -The above changes also fix the inability of the previous beta to launch ELFs from virtual memory cards.
    -Made a new revision of 'ps2client_for_uLE'. This rev8 fixes a problem with file open modes that prevented the new VMC driver from mounting VMC files over network.
    NB: Mounting VMC files over network is not recommended at this stage, since it is very slow. The VMC driver will need a new caching strategy to make network use practical.
    LaunchELF v4.21a beta (2008.07.21)
    -Embedded virtual memory card driver by Polo35 and ubergeek42, and implemented its use in FileBrowser. Note that vmc0: and vmc1: will not be shown in FileBrowser until some VMC file has been mounted, using new commands in the R1 menu of FileBrowser.
    LaunchELF v4.21 (2008.07.20)
    -Changed FileBrowser icon colour assignment to use Color5, Colour6, and Color7 for folders, ELF files, and generic files, respectively
    -Changed default colour values for FileBrowser icons to be yellow, green, white, used for folders, ELF files, and generic files, respectively. This change also affects HddManager pie charts as they use two of the same colour definitions
    LaunchELF v4.20 (2008.07.17)
    -Implemented an icon mode for the FileBrowser, where each file/folder name will now be prefixed with a small coloured icon. The icon shape for folders is different from that for files, and three different colours are used. One for folders, another for ELFs, and a third for all other files.
    -Implemented a new CNF variable 'FB_NoIcons', which may be set to disable the new FileBrowser mode. By default it is zero, enabling the new mode. There is no entry in the configuration menus for this variable, so you must add or change it by text editor (as yet).
    LaunchELF v4.19 (2008.07.17)
    -Fixed a bug preventing launch keys D-Pad Left and D-Pad Right from working, when redefined from defaults, and only one menu page was used (== only one CNF)
    -Fixed missing implementation of "uLE:/" search for some device related configurable files (mainly alternate USB drivers and regional keyboard maps)
    LaunchELF v4.18 (2008.07.09)
    -Modified loading of IPCONFIG.DAT to use "uLE:/" (so also found in uLE dir). If no initial IPCONFIG.DAT is found, any new one edited will be saved as "mc0:/SYS-CONF/IPCONFIG.DAT".
    -Fixed a number of bugs affecting display and functionality of the default commands "Configure", "Load CNF++", "Load CNF--" for various combinations of settings for skin and menu control. Note that direct button linking was not affected, so pressing the correct button always gave the correct response. But highlighting a command and pressing the 'OK' button did not always work.
    -Consolidated some PAL/NTSC GUI menu routines, and corrected a slight error in the placement of button text for D-pad 'Right' button
    LaunchELF v4.17 (2008.07.05)
    -Fixed a bug that made some launch links malfunction for 'childsafe' setups
    -Modified loading of ELISA100.FNT to use "uLE:/" (so also found in SYS-CONF/)
    LaunchELF v4.16 (2008.06.16)
    -Fixed missing driver inits for cases where uLE is launched from host: with IOP reset ON
    -Fixed a bug causing launch to crash if an elf was launched through a "uLE:/" path when stored in the same folder as the uLE elf on mass: or host:.
    LaunchELF v4.15 (2008.06.14)
    -Fixed a bug preventing initial CNF load from defaulting to mc?:/SYS-CONF/
    LaunchELF v4.14 (2008.06.13)
    -EP added 2 changed source files for PS2SDK, to eliminate a conflict between those libs and the method used by uLE for loading JPG files from HDD.
    LaunchELF v4.13d beta (2008.06.12)
    -removed loadConfig adaption of CNFs from obsolete uLE versions
    -Fixed some bugs in "Save As" command of TextEditor
    -Implemented "Load Skin CNF" and "Save Skin CNF" commands in "Screen Settings". The save skin command will create a CNF file similar to LAUNCHELF.CNF, but containing only 18 variables relevant to skins. The load skin command can accept either such files created by the save skin command or a complete LAUNCHELF.CNF file. In the latter case only 18 variables relevant to skins will be loaded, with the rest of the CNF file being ignored. It is also allowed to edit skin files to remove variables, which will then be unaltered when such a skin file is loaded.
    LaunchELF v4.13c beta (2008.06.11)
    -Fixed a bug in cursor movement for colours in "Screen Settings"
    -Implemented uLE-related file selection. Using R3 on a file in FileBrowser will return a pathname like "uLE:/filename.ext" (assuming "filename.ext" was selected). Reference to a file with the "uLE:/" prefix will cause a search for that file in some uLE-related folders. First the active CNF folder, then the SYS-CONF folders of memory cards, starting with mc0 unless the active CNF folder is on mc1. Using R3 on a folder in FileBrowser will just navigate to active CNF folder.
    LaunchELF v4.13b beta (2008.06.01)
    -Compiled with an older lib setup, but using exactly the same sources as v4.13. This cures a bug of v4.13 making it unable to load JPG files from HDD.
    LaunchELF v4.13 (2008.05.30)
    -Fixed Linux issues with the makefile do to case sensitivity.
    -Changed draw.c and updated gskit source files to fix issues with the newer gsKit.
    -Added script setup.sh to the "Changed source for external projects" directory for setting up outside projects.
    -Moved libjpg\include\libjpg.h into libjpg parent directory to match up with myPS2's SVN sources location.
    -Reverted to an older working version of ps2sdk(revision 1420).
    -Reverted back to the older SMS network modules(revision 588) resolving a severe bug, which was first introduced in the 4.12 betas.
    -Rearranged ps2ftpd sources and LaunchELF's makefile, removing the IRX module from the source package.
    -Updated libcdvd source files so it can be correctly built without the old ps2lib library.
    -Modified uLE source package further so that precompiled binaries are neither required nor included.
    -Fixed bug in reloadConfig(), skin wasn't loaded if using various CNF files and one had GUI_SKIN enabled.
    -Added option to disable text in menu screen under skin settings when GUI_SKIN is enabled.
    -Commented out fixed PS2DEV environment variable in the gsKit Makefile.pref file.
    -Added code from betas minus vmc: related things with changes noted further below.
    outside source file additions and changes:
     gsKit\Makefile.global
     gsKit\Makefile.pref
     gsKit\ee\gs\src\gsPrimitive.c
     gsKit\ee\gs\src\gsTexture.c
     libjpg\libjpg.h
     ps2sdk\iop\system\iomanx\src\ioman_sbv.c
     libcdvd\makefile
     libcdvd\ee\makefile
     libcdvd\iop\cdvd_iop.c
     libcdvd\iop\makefile
     libcdvd\iop\ps2lib_ioman.h
    LaunchELF v4.12 Betas (2007.05.10) through (2007.06.17)
    -Added support for GUI-like skin JPG for alternative use in main launch menu. This is largely based on a design contributed by 'suloku' in the ps2-scene forums. Note that when such a skin is in use the skin JPGs will be reloaded at each entry to and exit from the main menu, so they must then be on continuously available media. Note also that the brightness setting is shared between the two skins, as are all the text colour settings, so the GUI skin needs to have average brightness and colour tone similar to the main skin.
    -Corrected interlace setting in distributed LAUNCHELF.CNF to reflect the current default, which is to have interlace active (as opposed to original default).
    -Adjusted timestamp display for compatibility to methods in Windows XP, for use with host: browsing (affects only timestamps with raw year value larger than 2256)
    -Fixed a bug in browser changes preventing user from manually canceling transfers
    -LNG authors should note that this version has additional vocabulary in lang.h, to cope with some new features. (5 new entries were added, for a total of 319). But we do not request any new LNG contributions until the next stable release, since we may make additional changes before that. So save your efforts for that stable release.
    LaunchELF v4.12 (2007.02.16)
    -Fixed an issue with the makefile that messed up the network functionality in LaunchELF after exiting from another PS2 application.
    -Updated to latest SMS TCPIP driver.
    -Removed the prior SMS network modules, and then changed the makefile so EEUG's network modules(SMSUTILS, SMSTCPIP, and SMSMAP) now require the compiled sources from SMS to build uLE.
    LaunchELF v4.11 (2007.02.02)
    -Fixed a bad bug that smashed the storage path for content of copied folders. Instead of being stored inside the proper folder the files were stored beside that folder, with the folder name attached as a prefix to the proper filename. This was due to a single faulty string reference in "filer.c", which has now been fixed.
    LaunchELF v4.10 (2007.02.02)
    -Modified a file of the latest iomanx source in PS2SDK, which eliminated all problems we've had with recent versions of the iomanx.irx module
    -Modified use of LNG definitions, to avoid using translated strings as gamepad button names in tooltips (mainly for the 'Select' button). Please report if I missed any !
    -Fixed a bug in copying files with names longer than 32 characters to MC, which caused creation of both a folder and a file with truncated name. The new code will truncate the names to be used on MC before being applied to any MC functions. If a filename to be truncated contains any period ('.') characters, then all truncation will be done in front of the last of these, so as to preserve the final file extension. But if the extension itself is too long (meaning it's not really an extension), then truncation will be made from the end of the full name. Note that if you attempt to copy many files with long names to MC, this truncation may make all those names identical, if they differ only in some final characters, and the end result will be that only the last file copied remains on MC. To avoid such problems, try to make sure that files for MC have valid name length. A generic object name length limit is now applied to other devices too (all file systems have some limitation), but that limit is currently set to 256 characters.

    LaunchELF v4.09 (2007.01.27)
    -Updated to use the current ps2sdk changes added by jbit.
    -Cleaned up the external source package and updated some of the ps2sdk source files.
    LaunchELF v4.08e Beta (2007.01.27)
    -Upgraded to a newer version of EEUG's networking module "SMSTCPIP.irx". This upgrade should eliminate some data corruption seen with the previous beta
    -Added a new LNG definition, LNG(KB_RETURN), to be used only to designate such keyboard keys (virtual or physical), as it seems that some languages need this term separate from other uses of similar words. The english version of this term in "lang.h" is just "RETURN"
    -Fixed a bug in generating SJIS-encoded title strings for "icon.sys" files created by the new browser command "New Icon". Note that this bug was not inside the source of uLE, but in the source for a string function of PS2SDK, so if you want to compile this correctly you'll need a very recent update from the SVN repository for PS2SDK
    LaunchELF v4.08d Beta (2007.01.07)
    -Added some newer network drivers from SMS by EEUG, raising host: speed to 1450 KByte/s
    -Removed usbhdfsd both from the modules folder and from the 'Changed source...' folder, as the standard PS2DEV version now has adopted all our modifications for it (SVN 1366)
    -Added makeicon.c to the uLE source. This is heavily based on example programs and advice contributed by 'ubergeek42' and 'ffgriever' at 'ps2-scene.org'. It allows the FileBrowser to add PS2-style icon sets to existing folders through a new command in the 'R1' menu. You can fine adjust text positioning in these icons by including some control characters into the icon text string, though at present this requires a USB keyboard. As yet these text entry dialogs use the same old routine we use for filename entry etc, but this will be improved in some later version, to gain the same abilities for gamepad as for a USB keyboard.
    The control characters for icon texts are:
    HT == Ctrl_I => Step past half a character width (to center text horizontally)
    VT == Ctrl_K => Start new row half a character height down (to center text vertically)
    CR == Ctrl_M => Start new row a full character height down (normal multi-row text)
    Rows will also be automatically 'broken' once every 8 chars, and characters that would pass beyond the bottom right corner will be ignored. If the current path already contains an icon.sys and/or icon.icn file, you will be asked if you want to overwrite or not.
    NB: Do NOT overwrite in your B?DATA-SYSTEM folder, as that will result in an invalid system save, and an exploit user will then lose the ability to boot properly !!!
    -All features added in earlier v4.08 betas are also included in this release
    LaunchELF v4.08c Beta (2007.01.03)
    -Modified Host interface to adapt to some changes in 'ps2client_for_uLE_rev3'.
    -One such change now allows browser display of file sizes and modification times for 'host:', except for an 'elflist' root, since that is just a pseudo-device
    -There's also an improved method for testing object types. This was made possible by the elimination of an old bug from ps2client (cured by others at ps2dev.org), so that uLE no longer has to trial-open every single object like we had to do in earlier versions
    -All beta features from the last beta version are also included, unchanged
    LaunchELF v4.08b Beta (2006.12.19)
    -Changed networking to use IRX modules by EEUG, for 40% speed increase of host:
    -Changed browser to use dynamic spacing to allow more characters to be displayed for long file and folder names. Filenames can now be displayed with 49 characters in 'details' mode and with 81 characters in 'filename only' mode. Filenames longer than that are shown with 80 correct characters and a final '~' character to indicate the abbreviation. Folder names are treated the same way, except with one character less, to ensure that the final '/' character will be visible, even for an abbreviated name
    -Changed browser of JpgViewer to use dynamic spacing in list mode, as described above
    -Changed browser of JpgViewer to only use L2 for switching transition effects
    -Changed browser of JpgViewer such that R2 opens the PathPad popup for path selection
    NB: Some info shown in the JpgViewer help screen is now incorrect for browser, though it remains correct while viewing a picture/slideshow, as R2 retains its old meaning in this mode. IMO this is not a bug, since that help screen can only be seen in picture viewing mode, which also has different tooltips from browsing mode
    LaunchELF v4.08 (2006.12.07)
    -Modified use of BrowserModePopup, to make it usable also for config browsing.
    -Fixed a bug in font loading of ELISA100.FNT
    -Fixed a bug that could crash if "Debug Info" screen was used with latest LNG files
    LaunchELF v4.07 (2006.11.30)
    -Modified MC attribute handling to ensure compatibility of PS1 gamesaves
    -Improved HddManager unmounting, to prevent failure of some partition commands
    -Added new "Debug Info" popup to the "MISC" pseudodrive (its use may vary in future)
    -Extended FileBrowser from 2 display modes to 3
    -Extended FileBrowser from 2 sort modes to 4
    -Added 8 new character definitions to "font_uLE.c", for use as 4 double-width characters, representing the 4 D-Pad buttons
    -Added a new popup menu to FileBrowser, to control the new display and sort modes. The new popup is opened by the button L1, as it obsoletes the old Title ON/OFF functionality
    -Added new LNG definitions to cover all new features
    -Modified initialization of uLE to improve compatibility with SwapMagic ELF launching. These changes allow uLE to find its CNF in the same folder as the ELF when launched on mass: by SwapMagic, despite the incorrect path passed in argv[0] ("mass0:\SWAPMAGIC\"). Note that this is NOT the same modification used in earlier betas, which caused other bugs. This method does not involve IOP reset, and should therefore be bug-free. That has been verified both for exploit booting and the 'back to browser' feature of SMS, which were both bugged by the old method.
    -Shortened the LNG(Modes) lang.h definition of earlier betas to LNG(Mode)
    -Extended HddManager size limit for logical partitions to 128 GB
    -Corrected a bug in HddManager sizeSelector tooltips (missed using an LNG definition)
    -Modified HddManager sizeSelector to use L2/R2 to step partition size -/+ 10 GB
    -Modified tooltips for HddManager sizeSelector to include new features
    LaunchELF v4.06 (2006.10.13)
    ps2ftpd new additions and changes: Included ps2ftpd.irx and source changes.
    -Changed partition filter and removed the codebreaker partition from the hdd partition listing.
    -Fixed a future year attribute issue with dlanor's fix.
    ps2sdk changes:
    -Changed tcpip to use the older working version of lwip(revision 1158).
    -Changed to an older working version of iomanX(revision 1332).
    outside source file additions and changes:
     ps2ftpd\src\FileSystem.c
     ps2sdk\iop\tcpip\tcpip\makefile
     ps2sdk\iop\tcpip\tcpip\src\ps2ip.c
     ps2sdk\iop\tcpip\tcpip\src\include\lwipopts.h
     ps2sdk\iop\system\iomanx\makefile
     ps2sdk\iop\system\iomanx\src\exports.tab
     ps2sdk\iop\system\iomanx\src\imports.lst
     ps2sdk\iop\system\iomanx\src\iomanX.c
     ps2sdk\iop\system\iomanx\src\irx_imports.h
    LaunchELF v4.05 (2006.10.05)
    -Modified USB mass: driver to reduce delays in browsing large directories
    -Fixed USB mass: driver to permit file/folder names beginning with a period ('.')
    -Bugfixed USB mass: driver to eliminate a memory leak at disconnection/hotswap, which was responsible for occasional freezing after hotswaps
    LaunchELF v4.04 (2006.09.23)
    -Reverted one of my changes in usbhdfsd, because it seems to have broken dir caching. Unfortunately this means that we're back to the original super-slow dir reading, where time delay increases proportional to the square of the object count. So this version is very slow for large directories, but at least they work right...
    LaunchELF v4.03 (2006.09.23)
    -Fixed a bug that would freeze bootup if loading a font from HDD
    -Fixed a bug that could corrupt HDD, mainly observed when making PSU backups. This was due to some problem with changing timestamps via fileXioChStat. (HDD driver bugs ?) That timestamping code has now been removed, which is no loss, as it never worked right. Note also that timestamps are still preserved inside PSU backups, which is where it matters.
    -Replaced embedded mass: driver with a revised version of Herben's usbhdfsd (as in uLE v4.02a Beta). The revisions eliminate some serious bugs that would occur when writing directories containing many objects. I want to emphasize that the bugs now eliminated exist in *all* older mass: implementations, not just Herben's (he merely inherited them).
    LaunchELF v4.02 (2006.09.16)
    -Merged loadable font system contributed by Polo
    -Fixed memory leak for ELF launching (LNG buffer was not released)
    -Modified 'genFixPath' function slightly to allow more generic usage
    -Modified 'loadSkin' function to make better use of 'genFixPath' (as suggested by Polo)
    -Improved the LNG loader to ensure fallback to default language for any strings not included in the LNG file loaded (mainly for old LNG files used with new uLE versions)
    -Prepared bugfixed versions of old usb_mass drivers useful as external modules with either the old or the new uLE versions (the old drivers also work, but have more bugs, like showing wrong timestamps in uLE). These drivers are for users who find the new embedded usbhdfsd driver incompatible with their USB mass storage devices. The bugfixed versions of the old drivers are released separately, so look for them in the thread for uLE support files. Note also that 'bugfixed' does not mean that all bugs have been fixed, as that could also affect their compatibilities. Always use the newest driver that works for you, as the older ones have more bugs.
    LaunchELF v4.01c beta (2006.09.07)
    -Replaced old usb_mass driver with the new "usbhdfsd.irx" (now embedded)
    -Modified FileBrowser to allow display of timestamps on mass: and hdd0:
    -Modified FileBrowser to include original timestamps when pasting from most devices to MC, but in the present form, pasting a file from host: to MC will produce new timestamps.
    -Modified FileBrowser to include original timestamps when pasting to non-MC devices too, but due to lacking 'fioChstat' support in mass: and host: these are excepted from that usage, this means it's really applied only to HDD and as yet it has no effect there. The 'fileXioChStat' calls for files and folder on the pfs device seem to be ignored, at least when it comes to timestamps.
    -Patched gsKit to prevent 'lost' rectangle plots in non-interlace mode
    -Made ShowFont display font twice, with different row alignment. First even, then odd
    -Added earlier init of language arrays (setting default language)
    LaunchELF v4.01 (2006.09.01)
    -Fixed bug that caused the 'Back' tooltip to be duplicated in FileBrowser menu
    -Fixed bug in editor that caused it to scroll past every second 'page' without stopping
    -Made some minor source alterations suggested by EP, to reduce compiler warnings
    -Upgraded usb_mass to latest version from ps2dev.org SVN (plus our usual changes). This version fixes a bug in the last version, dealing with start/stop of USB storage devices, so anyone who had trouble with the last version should try this one. (If you installed an external driver to fix that, try configuring to use the default again instead.)
    LaunchELF v4.00 (2006.08.30)
    -Tweaked init order to eliminate problems with JPG skins on HDD
    LaunchELF v3.99 (2006.08.29)
    -Tweaked some config menus that lacked spaces between some tooltips
    -Fixed bug that prevented use of LNG files stored on HDD
    -Fixed bug that made failed load of initial CNF be shown as success
    -Fixed bug that made CNF switch messages use language valid before switch attempt
    -Tweaked init to allow LNG diagnosis dialog to work for bootup LNG failures
    -Made JpgViewer fullscreen flag persistent, changed only by user and CNF loading
    -Removed partition blocks for "__net", "__system", and "__sysconf"
    -Implemented Square as space key for FileBrowser virtual keyboard
    -Implemented some more characters for FileBrowser virtual keyboard <>{}:"/|\* But be aware that using '/' will not always work as expected, since it is the PS2 folder separator.
    -Moved some graphics characters we use out of the proper font area
    -Replaced characters 0x60 and 0x7B-0x7F with proper ascii standard characters
    -Erased all graphics characters from font range 0x80-0x9F (as preparation for new chars)
    LaunchELF v3.98 (2006.08.29)
    -Merged additional font characters contributed by Polo. The font now has most national characters for languages using Latin-style alphabets.
    -Modified the 'ShowFont' subprogram to display 256 font characters
    -Fixed a bug that caused LNG switch to be incomplete if the old LNG used a name shorter than 4 characters for the "MISC" pseudo-device
    LaunchELF v3.97 (2006.08.28)
    -Increased font resolution from 8x8 to 8x16 (replaced font5200.c with font_uLE.c)
    -Used the new font resolution to improve the symmetry of some characters. As yet this includes "ABEFHPRSUƒ≈÷"
    -Fixed the inclusion of the new FTP server improved by EP, which I botched in v3.96
    LaunchELF v3.96 (2006.08.27)
    -Increased font size to 256 characters, but still with '_' appearanc for many of them
    -Implemented 'extra' vowels of german and swedish for font. This covers "‰ˆ¸≈ƒ÷‹". Note that this implementation is still rather ugly, due to the low resolution of our font.
    -Corrected an old bug made visible by the new characters, using top pixel row of font
    -Added error diagnostic dialog box for LNG loader, to help in debugging LNG files
    -Merged improved FTP server by EP, for better handling of mountpoints and MCs
    -Improved partition filter to reject all non-PFS partitions and CodeBreaker partitions
    -Added CNF variable for fullscreen mode of JpgViewer
    LaunchELF v3.95 (2006.08.26)
    -Merged multi-language support contributed by Polo (but not ready for public release)
    -Rewrote large parts of the Multi-language support for better coding efficiency etc.
    -Extended the 'setting' struct and CNF, to add 15 MISC/ device and subprogram names
    -Modified various parts of configuration management, to improve multi-language safety
    -Improved text symmetry of ynDialog boxes (most of the ones with OK/CANCEL choice)
    LaunchELF v3.94 (2006.08.19)
    -Fixed a bug of v3.93 that made PSU restore use incorrect gamesave folder names
    LaunchELF v3.93 (2006.08.19)
    -Fixed a new bug that let FTP server interfere with FileBrowser through PFS0
    -Fixed an old bug that let FTP server interfere with FileBrowser through PFS1..PFS3
    -Fixed a new bug in title handling that caused weird results with some PSU backups
    -Improved screen cleanup for some command progress reports
    -Merged PSU_NoOverwrite implementation contributed by ffgriever at ps2-scene. This eliminates redundant backup work when a timestamped PSU filename is identical to the one that would have been used for a new backup file. NB: Setting it requires text editing.
    -Changed pad initialization to cater for digital controllers, and to unlock the controller mode switch (explicitly) for digital or unrecognized (even absent) controller. This has cured some problems that occurred with faulty detection of gamepads and their types. But some cases still exist where you need to set the type manually, by pressing the analog mode button between the joysticks.
    -Added Paste+Rename command, which only affects top level selections. It is used by pressing the 'Square' button instead of the normal OK button ('Circle' or 'Cross'), with the 'Paste' command selected in the R1 menu. This works only for standard 'Paste'. Its intended use is for installing stuff to memory cards using new folder names, and to allow 'pseudo' renaming on MC and mass: by using a combination of 'Cut' and 'Paste+Rename'. But you should never do this unless you have as much free space as the data selected, and can accept the copying delay (which can be huge on these slow media).
    LaunchELF v3.92 (2006.08.15)
    -Fixed a new bug (v3.88) that interfered with free space calculations for HDD
    -Improved PSU title naming, so it works even if title mode was activated after 'Copy'
    -Improved confirmation dialog for folder overwrite, to include gamesave title (if any)
    -Modified folder overwrite for 'mcPaste' and 'psuPaste', to remove old folder before pasting. This is to avoid combining contents of differing gamesaves with identical names. Normal 'Paste' does not delete old folders at overwrite, so such pasting will combine files. This means that any file unique to either source or destination will exist in the destination after pasting. For normal folders that is appropriate, though it's not for gamesaves
    -Added CNF option PSU_HugeNames to make PSU names combining original folder name with the gamesave title, like in this example: "BESLES-5245800_Disgaea(1) Ep.1 LV1.psu"
    -Added CNF option PSU_DateNames to make PSU names with an appended timestamp, taken from the original gamesave data as in this example: "Disgaea(1) Ep.1 LV1_2006-07-23_14-46-33.psu". Naturally the two new options can be used in combination as well.
    NB: As yet these two new options are not in any config menu. Use TextEditor instead.
    LaunchELF v3.91 (2006.08.14)
    -Corrected PSU name filter which was incorrect for HDD destinations
    -Implemented title display mode for PSU files (using icon.sys stored in each file)
    -Implemented optional use of save title for PSU filename. This is based on display mode, so the name chosen will be the same as that displayed. However, since titles use Shift-JIS characters and filenames need ASCII, the title strings will be filtered to use only normal european characters. Any other character will be changed to underscore ('_').
    -Modified JpgViewer so that rotating a picture during slideshow will reset the timer so that a full normal viewing period is alloted after the rotation is performed.
    LaunchELF v3.90 (2006.08.13)
    -Fixed a bug that prevented proper restore of zero-length files from a PSU to MC
    -Fixed a bug that prevented proper backup of zero-length files from MC to a PSU
    -Fixed a bug that could break backup to PSU if a file size was a multiple of 1K
    LaunchELF v3.89 (2006.08.13)
    -Fixed a bug that prevented PSU files from being created on HDD
    -Added name filtering to ensure valid PSU filenames, both for PC and PS2 filesystems
    -Modified PSU save format slightly, to conform better with current standards of EMS. This means that for some very rare saves this version may be incompatible with v3.88, so you may need to restore saves made with v3.88 to MC using that version, and then again save them to PSU with v3.89. If you do it that way, then the new saves will be fully compatible both with new uLE versions and with EMS PSU tools.
    LaunchELF v3.88 (2006.08.13)
    -Implemented 'psuPaste', a new command for the R1 menu, used to Backup/Restore MC folders to/from PSU files. Each created PSU file will be given the same name as its MC folder, but with the extension ".psu" added. When restoring PSU files to MC, their names do not matter, as the proper name for the MC folder is stored inside the PSU file. The PSU files preserve all MC specific attributes, timestamps, and other bytes, including those lacking any proper documentation. The psuPaste command is only available for copying from MC to non-MC devices, or vice-versa. Restoring PSU files to MC should only be done in the root directory of that MC, and backup to PSU files should also only be made with folders in an MC root directory selected, and those folders must not have any subfolders (always illegal on MC by Sony standards). This first implementation does not enforce all those rules, so it's up to each user to be aware of them.
    LaunchELF v3.87 (2006.08.10)
    -Fixed a bug preventing proper display of 'Tooltips' for the PathPad dialog
    -Modified JpgViewer Prev command to go from the first file to the last file.
    -Modified drawChar and drawChar2 to use one gsKit_prim_sprite call instead of two gsKit_prim_point calls. (Polo's idea, slightly extended.)
    -Fixed a gsKit buffer overflow that could crash program on text-rich screens, by allocating 50% greater buffer. This fix should cure all crashing reported both for TextEditor and for FileBrowser.
    -Increased line thickness to 3 (for frames etc), to minimize interlace flicker.
    -Tweaked various dialogs to work better with the new line thickness
    -Modified virtual keyboard of FileBrowser to use highlight colour for cursors
    -Modified JPG Brightness scale to widen the range from 32..224 to 16..240
    LaunchELF v3.86 (2006.08.08)
    -Fixed a bug that caused some horizontal frame lines to be lost in non-interlaced modes
    -Fixed a bug making text 'fuzzy' when aligned to odd pixel rows in non-interlaced modes
    LaunchELF v3.85 (2006.08.08)
    -Merged in JpgViewer changes by Polo. It now uses DPad Up/Down for picture rotation.
    -Merged in display init changes by Polo. This should eliminate screen border garbage, and fix a problem with non-interlaced TV mode shifts between PAL and NTSC.
    -Fixed a bug that prevented v3.79-v3.84 from finding a CNF in the same folder as the ELF when started from a USB mass storage device.
    -Added function wrapper 'drawOpSprite' for calls to gsKit_prim_sprite.
    -Purged most use of gsKit_prim_line from the program, as its coordinate handling is not compatible with other gsKit_prim_ functions, and is also inconsistent within itself. (This was the main cause of incorrect dialog boxes.) I've used 'drawOpSprite' in its place.
    -Purged most direct gsKit calls for line and rectangle operations from other source files than "draw.c" which now handles most such calls for most other sections of the program. Exceptions are the JpgViewer, the circle drawing in HddManager, and the jpg loading of "main.c", which still use some such gsKit functions directly.
    -Implemented a new CNF variable "USBMASS_FILE", which may be used to specify another 'usb_mass' driver than the one embedded in the program. This choice can be set by the user in the submenu "Startup Settings..."
    LaunchELF v3.84 (2006.08.01)
    -Merged in gsKit non-interlace support contributed by Polo
    -Merged in Analog controls for JPG viewer contributed by Polo
    -Upgraded PS2SDK libs from ps2dev.org SVN
    -Upgraded usb_mass driver from ps2dev.org SVN. Note that this includes huge changes to the detection and initialization of USB storage devices. This means that such as did not work before may do so now, and even 'hotplugging' now seems to work well with many devices.
    -Corrected a bug introduced by gsKit changes and affecting multiple CNF loading. As a consequence of these changes it's now possible to switch between CNFs using different TV modes and interlace settings. So switching between PAL and NTSC CNFs no longer requires a restart, but will immediately switch the TV mode.
    -Implemented CNF file variables JpgView_Timer and JpgView_Trans, which will override the defaults for slideshow timer interval and picture transition choice.
    LaunchELF v3.83 (2006.08.01)
    -Corrected a timer variable to be 'u64' instead of 'int'
    LaunchELF v3.82 (2006.08.01)
    -Added anti-aliasing flag for gsKit setup (improves all picture quality)
    -Modified screen update methods to eliminate interactive flickering
    -Modified joystick reading to work with 'worn-out' gamepads
    LaunchELF v3.81 (2006.07.31)
    -Merged gsKit adaption contributed by Polo
    -Replaced some remnant libito defaults with ones appropriate for gsKit
    -Added screen offset conversion for compatibility to old CNF files
    -Modified some screen offset adjustments to match standard LaunchELF practice
    -Modified dialog navigation for screen settings to make it more consistent
    -Added another console check, to avoid NTSC offsets for PAL console with no CNF
    -Modified "RunElf" and "checkELFheader" functions to improve error checking for HDD. This eliminates a bug that caused program crash when attempting to use a launch key to a deleted file on HDD.
    LaunchELF v3.80 (2006.07.19)
    -Changed some incorrect strings in the supplied example LAUNCHELF.CNF
    -Merged JPG viewer contributed by Polo
    -Merged EE timer functions contributed by Polo
    -Modified paste progress calculations for better precision
    LaunchELF v3.79 (2006.07.01)
    -Changed "MISC/Configurator" to "MISC/Configure"
    -Fixed a bug that made TextEditor unable to save files on HDD
    -Added PathPad_Lock as a CNF variable. Text edit this to a non-zero value if you want to prevent any changes to your PathPad array. This will then prevent the commands to clear or set PathPad entries from having any effect. You can still use them, but not change them.
    LaunchELF v3.78 (2006.06.12)
    -Added ability to use 'Select', 'Left', and 'Right' as normal launch keys, by giving them optional string definitions. If those are not used, the old default usage applies, with these keys being used to enter configurator and to switch CNF pages. If the new strings are used, but set to empty strings, then these keys are disabled, and if you use the new strings for proper launch paths, then those will be used as for normal launch keys.
    -Added three new MISC/ commands:
    -"MISC/Configurator" corresponds to the default action for 'Select' button
    -"MISC/Load CNF--" corresponds to the default action for 'Left' button
    -"MISC/Load CNF++" corresponds to the default action for 'Right' button
    -Fixed several cases of incomplete PFS unmounts (caused occasional browser errors)
    -Made some changes to various text messages for better english and consistency
    -Changed TextEditor to use 'Select' button to toggle virtual keyboard OFF as well as ON
    -Fixed a TextEditor bug that caused insert mode to be missed when cursor at CR+LF line end, thus causing the CR+LF combo to be overwritten when entering a character.
    -Tweaked TextEditor colour brightness, from 255 to 160 as max component value
    -Fixed TextEditor popups to use standard GUI colours and to obey the Popup_Opaque flag
    LaunchELF v3.77 (2006.06.11)
    -Merged in the text editor contributed by Polo
    -Changed ELF file names from BOOTc.ELF + BOOT.ELF to BOOT.ELF + uncompressed_BOOT.ELF
    -Added support for using uLaunchELF on such CDVD filesystems that are limited to 8+3 characters for filename+extension, by also allowing a CNF file to be loaded even when renamed LNCHELF.CNF (or LNCHELF1.CNF etc for multiple CNFs). This patch only applies to loading CNFs. CNF files saved will always use the longer form of the name (LAUNCHELF.CNF etc).
    LaunchELF v3.76 (2006.06.09)
    -Added ability to display HDL game info and to rename such games (for the gamelist). This feature is based on a modified version of an IRX module contributed by Polo.
    LaunchELF v3.75 (2006.06.06)
    -Speed optimized various aspects of HddManager
    LaunchELF v3.74 (2006.06.05)
    -Modified HddManager to make more partitions visible
    -Added lots of changes to HddManager to improve speed and reliability (still slow init)
    -Fixed a bug that affected creation of a partition of exactly 2048MB
    -Fixed a bug that made HddManager miss subpartition sizes of 4096MB in total sum
    LaunchELF v3.73 (2006.06.02)
    -Added "MISC/Set CNF_Path" command that sets the CNF_Path variable by direct browsing. Note however that this does not work properly for HDD paths (yet). For those you can only use the CNF_Path variable in the "Startup Settings"
    -Added "MISC/Load CNF" command that simply reloads CNF (useful with CNF_Path variable)
    -Added CNF_Path variable (Startup Settings) to override normal CNF path choice
    -Fixed a PathPad bug causing free space of another device to be shown for host:
    -Fixed Overwrite query to show real folder names, never titles (not unique)
    -Fixed a bug in usb_mass that prevented backup of MC saves using backslash in names
    -Fixed a bug in HddManager that caused freezing with Sony-style protected partitions
    -Raised an index limit for partition arrays from 100 to 400 for larger disk support
    -Added progress messages to GetHddInfo function (mainly for debugging)
    -Changed HddManager to cause partition list refresh for the FileBrowser when needed
    -Changed HddManager to use configurable colours
    -Added four more configurable colours to Screen Settings for GUI graphs (eg: HddManager)
    -Merged HddManager contributed by Polo. It can be launched as MISC/HddManager
    LaunchELF v3.72 (2006.05.24)
    -Fixed a bug that sometimes caused incorrect display of free MC space
    -Fixed a bug that prevented correct display of file size sums of 4GB or more
    -Fixed a bug that prevented correct display of free size for HDD partitions > 4GB
    -Changed various configuration menus for better consistency and appearance
    LaunchELF v3.71 (2006.05.21)
    -Changed browser to allow MISC/ pseudodevice for manual browsing (except 'FileBrowser')
    -Changed browser to select folder created by 'New Dir' command
    -Changed browser to select object preceding object(s) removed by 'Delete' command. For multiple marks the object preceding the first deleted one will become selected, and at delete failure an attempt will be made to keep selection unchanged (may fail though).
    -Removed test message from triggerPowerOff function (was visible at PS2PowerOff)
    -Fixed a bug that made 'Disc Control' necessary for Launch Key paths using CD
    LaunchELF v3.70 (2006.05.18)
    -Fixed a bug from v3.69 that messed up screen when switching CNFs or canceling CONFIG
    -Changed text for ynDialog used to confirm Delete operations
    LaunchELF v3.69 (2006.05.18)
    -Changed MISC/PS2PowerOff function to work without either HDD or Network Adaptor
    -Changed MISC/PS2Net message to "Loading NetFS and FTP Server Modules..."
    -Changed Clipboard indicator to make it larger (now 14 pixels total width)
    -Changed 'New Dir' command to avoid 'automatic' navigation (stay in old dir)
    -Changed display of file names during Paste/mcPaste operations
    -Changed ynDialog and nonDialog to preserve operational messages on screen
    -Changed ynDialog to clean up screen background after completion
    -Changed text for ynDialog used in query to continue/abort paste operations
    LaunchELF v3.68 (2006.05.14)
    -Added LED-like clipboard content indicator Red=CUT, Green=COPY (overlaps scrollbar)
    -Added ability to abort Paste/mcPaste file transfers (partial dest file is removed)
    -Added loadable custom key maps for the USB keyboard driver. Note that the built-in font used at present is not capable of displaying non-english characters. Some such keys may correspond to graphics characters in this font, and will then be displayed as such, while other national keys may not have any corresponding font character. Those keys will then be displayed simply as an underscore character ('_').
    -Added MISC/ShowFont for reference purposes (Displays font on screen until next input)
    -Added 'Show Launch Titles' to main CONFIG with CNF variable Menu_Show_Titles. When set this causes Launch Key titles to be displayed instead of ELF pathnames. The variable Menu_Hide_Paths is no longer involved in that decision, though it was earlier.
    -Moved 'TIMEOUT' config to 'STARTUP SETTINGS' as it only takes effect on startup
    -Corrected a bug with tooltips for configurable files
    -Rearranged various font operations to allow for larger fonts (more characters) later
    -Corrected bug in string drawing routines (missing test for 2byte char validity)
    -Corrected bugs in char drawing routines (missing tests for font array limits)
    -Corrected a usb_mass bug (false error msg for folder creation in root directory)
    -Updated ps2sdk's libpad.c in external projects source package. This is the same bugfix that EP added to libpadx.c in v3.67
    LaunchELF v3.67 (2006.05.13)
    -Added PS2PowerOff function to MISC. Only works with PS2's that have a hard drive installed?
    -Updated ps2sdk's libpadx.c in external projects source package.
    -Added fixed header files to the libito external projects source package. This eliminates all the compiler warnings related to libito when building launchELF. Note: includes ito.h, itodma.h, itotypes.h, itomisc.h, itosyscalls.h, and itoimage.h.
    LaunchELF v3.66 (2006.05.11)
    -Added Triangle as quick exit button for all CONFIG menus, and at top level this acts the same way as the 'Cancel' command. The purpose of this is to allow you to exit and recover original settings, if you accidentally create settings that make the screen text invisible. All you need do in such a case is to press Triangle repeatedly. When you reach the main menu, all settings will have been restored.
    -Added ability to complete boot without any gamepad connected. Note that you'll need a USB keyboard to use uLaunchELF without gamepad, and that this keyboard must be enabled in the CNF (also default). If you connect a gamepad after booting, then it needs to be a Sony original, or fully compatible, otherwise it may fail to work correctly.
    -Added startup setting to enable (also default) or disable the USB keyboard driver. This setting uses the new CNF variable USBKBD_USED.
    -Added startup setting for external keyboard driver as alternative to that built in. Note however that this is not compatible to Sony drivers, but only to those from PS2SDK. This setting uses the new CNF variable USBKBD_FILE.
    -Modified browser for CNF paths, to block browsing USB to set USB drivers (can't work)
    -Modified browser for CNF paths, to block browsing MISC for anything except launch keys
    -Fixed a bug in the initialization of the keyboard, which made it work only if mass: had already been accessed in the boot process (either for booting, or for skin loading).
    -Fixed a bug causing the wrong tooltip to be shown for Init_Delay in 'STARTUP SETTINGS'
    -Fixed a bug which has prevented external USBD.IRX drivers from being used. This bug never reported any errors, but merely caused the internal driver to be used at all times. The new routine will only fall back on the internal driver if loading of the external one really fails, or if no external driver was specified.
    -Fixed a bug in skin loading that caused a file handle never to be closed if a JPG file was selected with zero size, or a size for which memory allocation fails. (Not likely to happen, but still a bad bug.)
    LaunchELF v3.65 (2006.05.09)
    -Implemented 'Rename' for PS1 MC files (still not possible for PS2 MC)
    -Merged support for USB keyboard in filename entry, contributed by Polo
    -Added support for USB keyboard as alternate gamepad in uLaunchELF.
    NB: See separate file "keyboard.txt" for additional details.
    LaunchELF v3.64 (2006.05.08)
    -Fixed some bugs in launch key title management.
    LaunchELF v3.63 (2006.05.07)
    -Implemented user defined launch key titles for use in the main menu, in place of the ELF names. Such titles can be edited in the main CONFIG menu, but doing so is completely optional. The file name will be used (as previously) if no title is defined for an entry. Titles will only be displayed if the option "HIDE FULL ELF PATHS" is set ON in the CONFIG menu. Otherwise the full ELF path is shown (that setting replaces the old entry "PRINT ONLY FILENAME"). Titles will be saved to the CNF file in the form "LK_xxxx_Title", where xxxx is some button designation (eg: "Circle", "Square", etc. By editing the CNF directly you can also define some titles that are not accessible in CONFIG. These are LK_Select_Title, LK_Left_Title, and LK_Right_Title, and those titles will then be used for the corresponding entries in the main menu, even though these are not really launch keys. Note that the current virtual keyboard places a 33 char limit on these titles. This limit will be extended later. All other parts of the implementation allows for 70 characters.
    -Modified timeout halting, so that timeout will continue even if a button is pressed, if that button lacks any defined purpose in uLaunchELF. This is intended to allow button commands to mod chips without affecting the timeout of uLaunchELF.
    -Added configurable init delay, so that button commands to mod chips can be used in the starting of uLaunchELF, and yet allow the user time to release those keys before uLaunchELF starts responding to any buttons. If a default program has been defined, its timeout delay will not start until the init delay has completed. You can control the new delay through the new CNF variable Init_Delay, which has a default value of zero. This new delay method also replaces the one used for emergency booting, as introduced in v3.62, but using a default delay of two seconds for that boot method (since no CNF is expected then).
    -Dropped the 'emergency' CNF inhibit feature introduced in last version, as it interferes with compatibility to other launchers. (Partly some gamepad driver issue.)
    LaunchELF v3.62 (2006.05.06)
    -Improved free space calculation, to make it work correctly for PS1 memory cards
    -Changed browser display to show final slash for all links to directories, which was not done previously for ".." or for gamesave titles.
    -Added support for PS1 gamesave titles, both as separately copied gamesave files, and in the standard form produced by the built-in PS2 browser (save file in folder of same name). You can easily tell the difference from the fact that folders always have a slash at the end of the string, even in title mode.
    -Reimplemented string cursor blinking for virtual keyboard
    -Added support for both keypads, in parallel. Use both or either one, with no need for the other to be connected.
    -Added emergency CNF inhibit. Pressing 'Select' button during startup will prevent the normal loading of "LAUNCHELF.CNF". This can be used either to load an "EMERGENCY.CNF" file holding user-defined defaults, or to fall back on the built-in defaults (simply by not having any "EMERGENCY.CNF" file). When the emergency button is used there will be an extra 2 second delay from program init until button commands are accepted, to allow the user time to release the 'Select' button (so it is not misinterpreted as a normal command).
    LaunchELF v3.61 (2006.04.18)
    -Added PathPad array for user defined browser shortcuts which can be accessed in browser by pressing R2 to bring up the PathPad submenu. Though not strictly a CNF variable, since it doesn't really configure anything, this array is saved at the end of each CNF file, so the paths can be reused in future sessions. (The main purpose of this is to minimize repetitive manual browsing) NB: There is no separate save command for this feature, so you must enter the CONFIG menu and then exit it with 'OK', to resave a CNF with PathPad.
    -Modified some menus for consistent use of Triangle button
    -Modified MISC/PS2Browser to make it go directly to that browser (as before v3.50)
    -Slightly modified CD init for MISC/PS2Disc launching (eliminated a rare error case)
    LaunchELF v3.60  (2006.04.11)
    -Split the background colour usage into one colour used by libito/GS for pixels outside of the normal screen area, and another used inside the normal screen area. The former will now always be max black (value 0) while the latter will remain as used previously. This change eliminates the inconsistent colouring of screen borders, making them consistently black from now on. 
    -Added configurable option for opaque popup menus to the 'SCREEN SETTINGS' submenu.
    -Fixed a bug in loadSkin function, that prevented skins from being loaded from HDD folders using long path strings (as for deeply nestled folders or very long names). That bug may have caused other errors too, depending on path strings used
    -Fixed a cosmetic bug that affected top right corner of menu frame in filebrowser, when using simple colour setup instead of JPG skin.
    LaunchELF v3.59  (2006.04.04)
    -Modified 'CONFIG' so that 'CANCEL' restores original skin state
    -Modified 'SCREEN SETTINGS' so that 'DEFAULT SCREEN SETTINGS' turns off skin
    -Modified main menu so that 'LOAD CONFIG++' and 'LOAD CONFIG--' will update all screen settings correctly. This was already done for skin, but not for screen offset and interlace.
    -Fixed a bug that made v3.58 use wrong default value for vertical screen offset
    LaunchELF v3.58  (2006.04.04)
    -dlanor: Fixed a bug that could corrupt a Launch Key setting, if you started to browse for a new ELF of a launch key whose old ELF was on MC, and then cancelled out of the browser
    -dlanor: Tweaked some display parameters to improve visibility of characters at the 'edges' of the screen. Mainly needed for top and bottom lines (esp corner characters)
    -dlanor: Readjusted some display parameters so that file browser now uses 26 rows for PAL, and 22 rows for NTSC.
    -dlanor: Modified the methods of handling display parameters, to make it easier to modify screen layouts
    -dlanor: Corrected various implementation bugs of the new resolution for NTSC
    -dlanor: Added support for either PAL or NTSC TV modes on either PAL or NTSC consoles. The TV mode is configurable in 'STARTUP SETTINGS', and requires reset of the console to activate a changed mode
    -dlanor: Renamed the "SKIN SETTING" submenu to "SKIN SETTINGS" as it has two settings now
    -Polo35: Reimplemented much of the graphics routines, to provide new higher resolutions of 640x512 for PAL consoles and 640x448 for NTSC consoles
    -Polo35: Added brightness control for skins. This allows skin pictures to be used that would not work otherwise because they contain both bright and dark areas, so that text would become invisible on parts of the background. By adjusting skin brightness you can ensure text readability with any picture. Brightness is configurable in 'SKIN SETTINGS' submenu
    LaunchELF v3.57  (2006.04.02)
    -Fixed a bug that interfered with timeout for default ELF launching
    LaunchELF v3.56  (2006.04.02)
    -Added CONFIG option 'Menu Frame:'. Default is ON, stored in CNF as "Menu_Frame = 1"
    -Modified all menus/submenus to minimize redundant display calls (offload GS). The purpose of this change is mainly to reduce the risk of screen flicker, but another side effect is that the program may be more responsive, as it no longer wastes time on unneded work
    -Fixed a skin problem by adding 'itoGsFinish()' calls after skin texture load calls
    LaunchELF v3.55  (2006.03.30)
    -dlanor: Rearranged colour configuration in 'SCREEN SETTINGS' to make more room
    -dlanor: Moved menu title configuration to 'SCREEN SETTINGS'
    -dlanor: Added colour patches and descriptive labels to colour configuration
    -dlanor: Changed colour configuration format to hex, so as to match CNF file
    -Polo35: Moved skin configuration to 'SCREEN SETTINGS'
    -Polo35: Added JPG skin preview
    LaunchELF v3.54  (2006.03.29)
    -Removed limitation that prevented use of JPG skins stored on HDD
    -Improved readability of source code by adding a new drawSprite function
    LaunchELF v3.53  (2006.03.28)
    -dlanor: Added user editable menu title (individual per menu page)
    -Polo35: Sealed some memory leaks in the JPG background skin implementation.
    -Polo35: Improved vertical resolution of JPG skin by 87.5% (240/128)
    LaunchELF v3.52  (2006.03.26)
    -Merged in JPG background implementation, contributed by 'Polo35' at PS2-Scene.
    -Combined hdd patches to a single IRX for both PS2 and PStwo, eliminating the need for model-dependent ELFs. Now all models of PS2 and PStwo can use the same ELFs.
    -Modified the partition 'hiding' of both the main program and the FTP server, so as to allow normal file/folder access to the partition "__common", used by the Sony HDD browser for memory card backups.
    -Modified the timeout method so that pressing any gamepad keys will permanently halt the timeout. The timeout will also be halted once the DEFAULT action has been performed. This is useful for those who set up "MISC/PS2Net" as DEFAULT action, to start FTP server.
    -M
  21. PS2Ident

    PS2Ident is an identification tool that allows dumps of a PlayStation 2 console's ROM chips and MECHACON NVRAM to be made. It will also gather data from the console, for research purposes.
    It has the following features:
    Dumps ROM chips (BOOT and DVD ROM) as a whole, not according to their contents (rom0, rom1, rom2 and erom) Displays the actual addresses for DEV1 (rom1, rom2 and erom) that are set by the ROM filesystem drivers. Coloured user interface that is easy to use. Supports dumping to memory cards and USB mass storage devices. Supports multi-languages, which include the 8 supported languages by the PS2 Gathers data of all known parts of the PS2. Attempts to automatically match the chip/part name with the version number of the part. Supports all PlayStation 2 consoles, including the SCPH-10000 and SCPH-15000, and the PSX (DVR unit). Note: Chip and mainboard identification is currently very incomplete and inaccurate, due to a lack of data. Sometimes, Sony makes hardware revisions without changing the chip implementation numbers as well, hence why chip identification may be inaccurate. The chip and version IDs are, however, accurate since they are taken directly from the hardware.
    Its database, which contains the parts and mainboard data, is managed and updated with the PlayStation 2 Ident DataBase Management System (PS2IDBMS) tool.
    I made such a change because it wasn't possible to get a complete list of all PlayStation 2 models in existence. With PS2IDBMS, a spreadsheet containing all recorded models can be generated automatically. 
    Not to mention that the whole PS2Ident tool would have to be recompiled, whenever model data was added.
  22. wLaunchELF

    LaunchELF is a file manager program for the PlayStation 2.
    The original LaunchELF project was by Mirakichi, who worked on versions prior to v3.41.
    After Mirakichi stopped working on LaunchELF, E P and dlanor worked on unofficial LaunchELF (uLaunchELF) up to v4.42d.
    Due to real-life commitments, both E P and dlanor have been on a hiatus for quite a few years. Double-unofficial LaunchELF (wLaunchELF) is a new project by AKuHAK and SP193 that continues to bring new updates to our favourite file manager to the PlayStation 2.
    The first stable release is slated to be LaunchELF v4.50, to mark the start of a new line of builds. As of today, we are still updating and fixing LaunchELF, so we will appreciate constructive comments and feedback about the quality and functionality of LaunchELF.
    While E P and dlanor have not officially declared that they won't be ever coming back to continue work on uLaunchELF, I have decided to create a new thread in order to avoid cluttering their thread with posts regarding new bugs that are caused by the (rather invasive) work on the code.
  23. Cdvdgen2Patch

    This patch, made by 2SP, removes the 71-minute size limitation in IML files... thus allowing one to use the $ony  software to image/burn 'oversized' DVD Rip images.
  24. OPL Manager

    Con OPL Manager podrás gestionar cómodamente tu colección de juegos de Open PS2 Loader (OPL) de una forma fácil.
    Con solo unos cuantos clicks puedes:
    Corregir o cambiar el nombre de los archivos ISO Descargar carátulas, discos y capturas de pantalla, tanto de todos los juegos como de forma individual Limpiar tu carpeta de arte de arte no utiliado Editar archivos de trucos
    OPL Manager es una aplicación creada por danielb.
  25. PS2 HDDChecker

    HDDChecker is a disk diagnostic tool meant for testing the health of your PlayStation 2 console's Harddisk Drive unit.
    It now supports maintenance of the partitions on the disk too.
    It was conceived and constructed because I didn't want to see anymore poor SCPH-20400 units being cut open, just to have the disks within them taken out for testing. >_>
    Features:
    ---------
    1. Detects and lists the model, serial, firmware and S.M.A.R.T. status of HDD unit 0 (Primary Master).
    2. Performs a surface scan of the disk.
    3. Supports 48-bit LBA disks up to 2TB.
    4. Performs zero-filling of the disk.
    5. With the surface scan, bad sectors found might be remappable.
        Writing to a to-be-remapped sector (those hard-to-read sectors, as recorded by the disk)
            may kick off the actual sector remapping process.
        However, this has not been widely tested and is manufacturer-specific.
    6. Checks for damage to the APA scheme and PFS partitions.
    7. Optimizes the partitions on the HDD to reclaim space.
    Notes/known issues/bugs:
    ------------------------
    *Disks up to 2TB are supported. Any capacities beyond that will be truncated to 2TB.
    *Do not use (usually old) disks that are not compliant with the ATA-4 specification.
     Like with every other PlayStation 2 software out there that supports the ATA interface, the disk is expected to support UDMA mode 4 and S.M.A.R.T.
    *If the disk's S.M.A.R.T. status is indicated to be no good (NG status), the disk is about to fail and should be replaced.
    *This tool may not be able to successfully remap sectors on all drives, as there isn't an official specification on remapping sectors within the ATA specification.
     If writing to a bad sector isn't sufficient to cause the disk to automatically remap it, the manufacturer's tools may have to be used instead.
    *If a bad sector cannot be remapped, the disk is dying and should be replaced.
    *As zeros will be written to the bad sector in an attempt to cause the disk to remap it, the data stored within the bad sector will be lost.
     Do not choose to remap the sector if it contains data that cannot be lost.
    Logging Feature
    ---------------
    As of HDDChecker v0.96, a new logging feature has been added.
    4 log files will be generated:
        When scanning is done:
            *hdck.log
            *fsck.log
        When optimization is done:
            *fssk.log
            *hdsk.log
    No log files will be generated for surface scanning or zero-filling,
    as the purpose of these log files is allow what was done during the scanning and optimization operations to be explained.
    If you experience problems with HDDChecker's scanning and optimization functionality, please contact the developer and provide the log files.
    How to setup this software:
    ---------------------------
    Extract the main binary (HDDChecker.elf) and the lang folder (do not delete any files), and place both of them in the same place.
    The only supported devices are the HDD unit, Memory Card and USB mass storage device.
    Credits:
    This software would not have been possible without the support of other users. Special thanks to: Berion, for the icons. Translators. krHACKen, giving reports on the S.M.A.R.T. status bug and contributing research materials.... and all users!
     

×
×
  • Crear nuevo...