ClIRC - IRC client for Nintendo DS. Contents: * 1. Introduction. * 2. System Requirements. * 3. What is IRC? * 4. Installation. * 5. Precautions. * 6. Step-by-Step Instructions. * 6.1. Connection to an Access Point. * 6.2. Button Functions. * 6.3. After Connection - The Basic Interface. * 6.3.1. IRC Servers List. * 6.3.2. Windows Manager. * 6.3.3. Onscreen Keyboard. * 6.3.4. Nicklist. * 6.3.5. Channels list. * 6.3.6. Settings. * 6.3.7. Disconnect and Exit. * 6.4. Commands. * 7. Settings. * 7.1. IRC Servers. * 7.2. IRC. * 7.2. View. * 7.2.1. View - Main Interface Settings. * 7.2.2. View - Message Settings. * 7.2.3. View - Color Settings. * 7.4. Sounds. * 7.5. Logs. * 7.6. DCC. * 7.7. Automation. * 8. Memory and RSOD. * 9. Known Bugs. * 10. Conclusion, Contacts and Thanks. 1. Introduction. I'm keen on IRC and I spend 24 hours a day in it. Not less I'm keen on my Nintendo DS. And no doubt, after the appearance of "dswifi lib" I was waiting for a good IRC client. Some clients appeared at last, but they seemed being made anyhow. They were suitable just to connect to IRC from DS once, impress and forget about the program. They seemed to be very inconvenient and unfinished, to say nothing of absence of Russian in-out (Yes, I'm russian). So I set myself the task of creating a new client for DS, which would be practically as convenient as IRC clients for desktop PC. Truth to tell, I met some difficulties connected with screen size. It's quite impossible to place on DS screens a list of channels, a nick list, the chat itself and a keyboard display simultaneously. Switch buttons of these modes would also take large place. I tried some variants and decided that the good-enough solution is to make just one switch button: tap it by stylus, hold - and then icons appear, drag stylus to a required icon and release. So the switching can be realized just by one shift of stylus or by buttons. Besides I wanted others to like this program, especially those who don't know what IRC is. That's why I suggest that they should use minimum of primary settings. You shouldn't even enter your nickname - it would be taken automatically from DS settings. Just connect to an access point and go ahead! But I digressed from the topic. Well, what was finally made? * A clipboard in all dialog boxes. You can even copy from upper screen, holding "L" button. * Using up to three servers at the same time. * DCC chat support and file transfer by DCC in both directions (I really don't know what for, but in fact :)) * Storing of logs directly to flash. * Identification of server answers by numbers. I.e. not an interface only but the great deal of server answers is in English (for non-english servers). * An alternative mode of nicklist request. Now you can see user's "away" status plus a complete list of his modes on server. * Flexible settings of colors, highlights, etc. * The prototype of scripts for advanced users. You can set commands, which will be executed after opening or closing of DS (turn away automatically, for example). You can previously make a list of commands for channels, privates and nick list, where the appropriate variables will be substituted as well. I.e. mIRC popups' analog :) * All settings can be changed during a program work - it's no need to bother with ini files. * Something like multitasking. At the same time you can download several files by DCC, get a list of channels and chat. Practically all tasks are working simultaneously, except the moment of connection. * Russian in/out and interface (only for Russian version). 2. System Requirements. * Nintendo DS :) * Wi-Fi access point, where you use ClIRC. * A flash memory card (compatible with DLDI driver) is highly recommended. DLDI driver supports the storage of settings. But if it so happened that you don't have a flash memory card, you can work without it. 3. What's IRC? If you aren't novice at IRC, you can safely omit this paragraph. IRC - is a protocol for real-time chat. In brief, this is a system of chats, which is popular all over the world. A great number of different IRC servers and nets exist, from small to vast. After connection to a server, you can visit different channels (chat-rooms), where other people can be found. You can communicate in those channels together or in private chat. There is a great variety of channels, they are devoted to different topics like games, quizzes, anecdotes, etc. You can easily create your own channel as well. IRC - is an endless communication and a lot of fun. And I hope that those who don't know what IRC is, will enjoy it using my program :) That's why I did everything to prevent newbies from racking their brains over lots of settings. Just connect to access point and then - to server. Have fun! :) 4. Installation. The installation of ClIRC is not more difficult, than installation of any other program for DS. You should: * Get file ClIRC.nds (ClIRC.ds.gba is reserved for compatibility with old flash cards) and patch it with DLDI driver of your flash card. This process is described in detail on different sites and forums. For many old flash cards (like M3 CF, for instance) the driver is already built in. If happened so that you haven't appropriate driver - don't be afraid, but take into account that you will be incapable of saving settings. * Copy this file to your flash card. * You can create folders for logs and files at once. * Run the program as homebrew (on M3 CF - by "Start" button, on G6 Lite by "Add header"). * Enjoy :) ClIRC will create two files in root directory of your flash card - wificonf.dat (contains settings of an access point connection) and ClIRC.dat (contains the program settings). 5. Precautions. My program stores data to a flash card. So be careful, to avoid errors in file system. Simply don't turn DS off while a picture of floppy disk appears on a screen. If you use log savings, don't forget to select "Disconnect and exit" to return to Main Menu - it will close all the log files. Don't worry about accumulator - if the power is low, my program will turn to a safe mode and close all the logs automatically. So the problem of sudden cutoff caused by low power is solved. Also you shouldn't turn off your DS when you receive a file by DCC. In any case you'd better use "Disconnect and exit" when you are going to finish your work with the program. If you've turned off your DS by chance during program work, check your flash card using "chkdsk" or other software. 6. Step-by-Step Instructions. Read the given information carefully, otherwise some features can be difficult to understand. If you are in IRC for the first time, you'd better not bother with a hassle of settings. Default settings are quite suitable for newbies. Take your stylus first - you'll get access practically to all controls of the program via touch screen. 6.1. Connection to an Access Point. Strictly speaking, you should connect to Wi-Fi access point at first, otherwise you won't be able to see anything. It is not much more difficult than in games. But this program will work with Nintendo Wi-Fi USB Connector only if you have installed special hacked drivers for PC. After a program start the Main Menu appears. The two upper buttons realize connection. What's the difference between them? If you press "Connect to Wi-Fi using Nintendo WFC settings" the program won't require any settings, but it'll try to connect using your game settings (the connection settings are stored in your DS). It'll be convenient to connect from home and use standard access point. But when you press "Connect to Wi-Fi another settings" a full list of settings appears. Let's examine it in detail. * SSID - it's a name of an access point. Press the "scan" button to get list of available points. The "edit" button allows you to input names manually. * WEP key - it's naturally the WEP key for connection. Hexadecimal keys are also supported. * Auto-obtain IP (DHCP) - tick it on, if you want to get IP address automatically. * IP address - it's naturally an IP address, which will provide your DS with a net access. * Subnet mask - it's an subnet mask, indeed :) * Gateway - it's an IP address of a default gateway. * Auto-obtain DNS (DHCP) - an option that allows you to get an address of DNS server automatically. * Primary DNS - it's an IP address of a primary DNS server * Secondary DNS - it's an IP address of a secondary DNS server. If you input correct data, go ahead - press the "connect" button. If it doesn't work, check your settings again. If the trouble remains, try to remove the WEP key on your access point (if it's possible) - "dswifi lib" is still developing and work with WEP is not always stable. After successful connection a picture on the upper screen will change into a text and the basic program interface will be available. 6.2. Button Functions. There are buttons which can function in any time, but some buttons can be used in separate dialogs only. The latter buttons will be discussed further. Here are buttons which can function in any time: * Up - scrolls text up (if upper screen contains text) * Down - scrolls text down (if upper screen contains text) * Left - allows you to go to a previous window * Right - allows you to go to next window * Start - scrolls text down up to the end (if upper screen contains text) * Select - changes backlight brightness (for DS Lite only) * L - swaps your screens and allows you to select your text by stylus and copy selected text to a clipboard (if upper screen contains text) * Closing DS - puts screens off. The program continues work. 6.3. After Connection - The Basic Interface. The basic interface appears after connection to an access point only. What does it consist of? The text which we will read appears on an upper screen. This is so called "window system" We can read a content of only one window on the upper screen; its name displays above. The window can display a channel, a private chat, status, file transfer and so on. Only one window is opened initially - the main program window. There is nothing interesting, just different system information. You can switch windows by crossbar, pressing "left" and "right". You can do it even after access point disconnection, to finish reading. The lower screen contains the basic interface of the program. It consists of seven separate modes: "IRC servers list", "Windows manager", "Onscreen keyboard", "Nicklist", "Channels list", "Settings" and "Disconnect and exit". We'll consider them later, and now look at your screens and let me give you a description. In all modes of the program you can see the upper bar that contains three buttons: "left", "menu" and "right". "Left" and "right" buttons realize the same function as similar DS buttons accordingly - switching of windows. The "menu" button allows switching modes. Press it by stylus and hold - the screen will darken and several mode buttons will appear. Drag stylus to the necessary icon and release. It's simply and quickly. Notice that when you drag stylus upon them, a name of mode appears above. You can also perform the same operation using buttons: * Y - Windows Manager * B - Onscreen Keyboard * A - Nicklist But they work only when the "menu" button is displaying above. I should mention icons with "?" and "!" symbols, which can appear on the upper bar. They help you to avoid unnecessary switching between modes and windows. "?" appears, when a new private message received. Click this icon and a first window which contains incoming message will be opened. The "!" icon appears if one of windows contains a highlighted text (I'll describe it further: it usually informs you that somebody has called your nick name, i.e. when somebody is speaking to you). Click the "!" icon - it will also open the first window which contains highlighted text. Now let's consider every mode in detail. 6.3.1. IRC Servers List. This mode appears first on DS screens. It's quite simple. A list of IRC servers which are available for connection (up to three, you can set number) and a connection status are displayed. Press "Connect", to connect to a server and begin to communicate. If you want to disconnect, just press the "Disconnect" button. You can do it easily, can't you? Notice that if ClIRC does not connect to a server the program will hang for a while (will not respond to buttons and stylus), just wait for a minute and try to understand why it happened so, maybe IP address, subnet mask or gateway set wrong. After connection let's consider the next mode. 6.3.2. Windows Manager. Here you can view a complete list of opened windows, easily switching between them. An active window is marked out by blue cursor. Green text performs windows which contain new messages and the red one performs windows where a highlighted word is mentioned (see further). The scrollbar is on the right side. You can easily scroll the list if it doesn't place on a screen completely. Touch the window title by stylus to switch. You can also hold your stylus and read a content of all the windows, constantly dragging the stylus down the screen. "Close" and "Presets" buttons are placed below. The "Close" button closes the current window. If it's a channel, you will exit. If it's a file transfer occurred, the "Close" button will interrupt it. Notice that if you close a status window of server, you close all the windows which refer to this server as well, then a disconnection follows. The main window of the program cannot be closed. The "presets" button intended for advanced users. It opens list of preset commands, which can be applied to selected channel or private chat. You can learn that functions in the description of settings. 6.3.3. Onscreen Keyboard. This is the main tool for chat. You enter your text using the keyboard display. It is easy in use; just tap necessary buttons by stylus. Your text appears at the top of the lower screen. The "shift" button allows to type one capital letter. The "EN/RU" icon lets you switch Russian and English keyboard layout easily (only for Russian version!). For more comfortable use there are four buttons above the keyboard. This buttons place appropriate commands to the entry field. When you enter a text, you can remove a cursor and select your text by stylus. The "enter" button sends typed text. Isn't it clear? Well, you'd better notice some key combinations now: * Ctrl+backspace - erases a word before the cursor * Ctrl+Alt+backspace - erases all * Ctrl+A - selects the whole text * Ctrl+X - cuts selected text to clipboard * Ctrl+C - copies selected text to clipboard * Ctrl+V - pastes selected text from clipboard * Ctrl+R - allows to enter text of inversed color * Ctrl+U - allows to enter underlined text * Ctrl+K - allows to enter colored text (the color selection appears) * Ctrl+B - allows to enter bold text * Ctrl+O - makes the standard text of default color, without underlining * Ctrl+Enter - sends the entered content as text, despite the "/" symbol in the beginning of your line * Ctrl+number - sends the text/command which is associated beforehand with an appropriate number in settings. * Alt+number - pastes the text/command which is associated beforehand with an appropriate number in settings. After pressing the "Ctrl" button a prompt appears over the keys, so you needn't bothering with learning of these combinations. In this mode you can use the combinations of DS buttons: * R+crossbar - moves the cursor * R+X+crossbar - moves the cursor selecting text * R+Y - cut * R+B - copy * R+A - paste Notice that the given rules of text input are applicable to another dialogs of text input. 6.3.4. Nicklist. If active window contains a channel you can see who joined this channel because nick names of users displays here. You can see also their "modes" on the left side. Unlike other clients, ClIRC realizes an alternative mode of getting nicklist, so several modes can be displayed here. If fact, you can see not only user modes on a channel, but also all user modes on a server. The symbol "*", for example, indicates, that those man is an IRC operator. Also the "away" user status displays here. If user is absent, you can see "(away)" near the nick and the line is grey. The update of these modes delays a little. Double click the nick - it'll be automatically pasted in entry field (with the postfix) and the keyboard will be appeared. You can quickly refer to anybody on a channel. You can see "Private" and "Presets" buttons below. The "Private" button opens window for a private chat with selected user. The "Presets" button opens the list of predetermined commands like in windows manager mode. Those commands can be applied to a selected nick. The "presets" button is also can be used if an active window contains private chat. 6.3.5. Channels List. In this mode you can get list of channels on the current server (except secret ones). Just open any window which refers to the current server and press the "get" button - after a while the list of channels will appear (usually very large), and a number near the channel's name will display. Those number shows the quantity of interlocutors which exist there. You can see the buttons "Get", "By name", "By number" and "Join". I've mentioned already what the "Get" button makes. The "By name" and "By number" buttons allows you to sort all this mess by name of a channel or by number of interlocutors accordingly. The "Join" button allows you to enter selected channel. You can also double click the selected channel to join. 6.3.6. Settings. You can change different settings here during the program work. I'll consider them further. 6.3.7. Disconnect and Exit. It contains the only one button - "Exit". This button disconnects your DS from all servers and from an access point as well. Then all opened files will be closed. The button is highly recommended when you decide to finish program work. 6.4. Commands. In IRC you can do practically anything using commands. A command is a line which begins with the "/" symbol (slash). You can input some commands in one line, separating them by a special symbol - the command separator. The delimiter is primarily the "|" symbol, but you can set up the other one in your settings. To insert a delimiter without separating of a command, you should repeat this symbol twice. For example, the command "/join #free||forum" allows you to join #free|forum channel, though the command "/join #free|forum" opens "#free" channel and identities the command "forum" as unknown. Advanced users should notice some variables, which can be substituted into commands. We have not much of them now. There are "%SERV%", "%CHAN%" and "%NICK%". * "%SERV%" changes to the current server address while executes. * "%CHAN%" changes to an active channel name while executes. * "%NICK%" changes to nickname of user in active private chat or to the nick selected in your nick list while executes (if the command executes from appropriate presets). Now, the list of available commands: * /join - to join a channel, you can input several ones, separated with commas. * /part [channel [text]] - to quit from a channel (the current one, if not selected). * /hop - to quit and to enter the current channel again. * /me - performs a third person action on the current channel. * /nick - changes your nick to another one. * /ame - performs a third person action on all opened channels of the current server. * /aame - performs a third person action on all opened channels of all servers. * /action - performs an action on a specified channel. * /query - opens a private chat with user . * /msg - sends text to , the means a user nick name or a channel name. * /amsg - sends text to all opened channels of the current server. * /aamsg - sends text to all opened channels of all servers. * /notice - sends a notice with specified text to , the means a user nick name or a channel name. * /ctcp - sends a CTCP request to , the means a user nick name or a channel name. * /dccchat - sends DCC chat request to * /dccsend - sends your to ( is a path to file) via DCC. * /away [reason] - marks you as away due to a specified reason, or remove your "away" status, if the reason is absent. * /links - opens a window which contains a list of linked servers (the list isn't sorted). * /list - requests a list of channels on the current server. * /clearlist - clears the received list of channels (a useful command to save memory). * /topic [channel [text]] - if your channel is not specified, the command requests a current topic on the channel. If the only channel name is specified, the command requests a topic of appropriate channel. If the text is also specified, the command sets a topic. * /close - closes an active window. * /say - sends a specified text to an active channel/private chat. * /quit [] - disconnects you from current server, sending . * /quote - sends the raw command to a server without any changes, i.e. "as is". * /debug - for advanced users, opens debugging window, where you can see a "communication" with server in form of IRC protocol. * /memory - also for advanced users, it displays an approximate volume of free memory in the main window. * - if a command name is unknown, it'll also be sent to a server "as is", for example "/nickserv", "/chanserv" and so on. Notice that this is the list of ClIRC commands, but not the list of IRC commands. IRC has much more commands, which can work according to standards and settings of the current server. 7. Settings. Let me explain here how to adapt ClIRC for your sake correctly. You can open configuration menu from the main menu. You can also open it during your communication. Then you should select an appropriate icon with touchscreen. 7.1. IRC Servers. You can specify IRC servers here which you are going to use. Press the "Edit" button near the necessary number and the list of following settings will appear: * Host - the direct address of an IRC server * Port - a port for connection. It has number 6667 practically always. * Password - a password for access to IRC server. It uses rarely, so leave it empty, without necessity. * Nick - is your nick, which will be used during connection. * Alt. nick - alternative nick, can be chosen automatically if using of the basic nick is impossible (when the basic nick has already occupied, for instance). * Autoconnect - tick it off, if you want to establish connection with server straight after connection to an access point. * Autoperform commands - tick it off, if you want to execute specified commands after connection to a server. * Edit autoperform list - after pressing this button the interface of commands list editor appears. Here you can specify commands for joining defined channels and so on. 7.2. IRC. Here you can customize the basic parameters of work with IRC. * Quit - a message sending on default when a disconnection from server executes. * Realname - is your real name, visible for other users after your personal information request, but the common practice is to fill it with nonsense. * Ident - your identifier. If you doesn't know what it means - don't change it. * Check for timed out connection - executes a connection verifying if server doesn't respond for a long time. It also allows you to see that the connection disabled due to any reasons. * Rejoin on kick - to try joining the channel again if you were kicked from it. * Join on invite - to join the channel automatically, if you are invited by the "invite" command. * Rejoin channels on reconnect - turn it on if you want ClIRC to send the "JOIN" commands with names of all opened channels automatically (after reconnection). I.e. ClIRC will try to join opened channels again. * Min. WHO interval - minimal WHO interval (see further). * Max. WHO interval - maximal WHO interval. ClIRC realizes an alternative mode of getting a nick list - using the "WHO" command. It allows to get more detailed information about users' modes. But WHO requests are not sending constantly, they are separated by an interval. And the mentioned parameters establish minimal and maximal time (in seconds) between these requests. If a new user has joined the channel, ClIRC tries to send request as soon as possible. Otherwise - not sooner that the maximal interval time ends. Default settings are quite optimal, but if you have a lot of opened channels, I recommend you to enlarge intervals to avoid the overflow of channel. 7.2. View. Here you can set up the interface according to your preferences. These settings are subdivided by several categories. 7.2.1. View - Main Interface Settings. * Smooth scrolling - if you've selected this feature, a text scrolls smoothly, pixel-by-pixel. I like it very much, but maybe someone will against such option? :) * Show line marker - is a red line which separates text which you have already read from the new one. The marker appears if you open a window which contains a new text. * Show timestamps - displays time of every message, a very convenient feature but it takes additional place on your screen. ** Show seconds - displays seconds, besides hours and minutes. It's even more convenient, but also takes more additional place. * Translate messages - this is my exclusive feature. It's especially useful when you are using server, which provides you with information in foreign language. If it marked, ClIRC identifies a command number in error messages and other answers of server, and then substitutes the number for its own text. So, finally, if ClIRC has identified an answer of server of an error message, it provides you with their English (or Russian for Russian version) translation. * Sort windows - turn it on, then you can sort all the channels and private chats in alphabetical order. * Skip MOTD - if this option has been activated, a MOTD (a message of the day, which appears after connection) will be skipped. 7.2.2. View - Message Settings. Here you can tick off which me messages should be visible in a current channel or private chat. So there are some messages which aren't refer to the current window, but if you don't want to miss them, they should appear here. 7.2.3. View - Color Settings. Here you can set up colors for each type of messages and for a background. You can paint ClIRC as you like! :) If standard tints don't agree with you, just press the "edit palette" button and define your own colors. But remember that the primary settings - is a standard! And there is no need to change it completely. 7.4. Sounds. Here you can set up sounds. * Beep on private message - ClIRC will beep after receiving a new private message. * Enable hightlighting - You can set up to fifteen words, which would be responded by ClIRC (the sound "hey!" appears). Different variants of an owner's nick pronunciation can be recorded here. It helps you to react when somebody is speaking to you. ** Case sensitive - If this option is turned on, the word register will be considered during highlighting. * Sound on incoming DCC request - ClIRC will utter a sound, if somebody will try to connect you via DCC connection. * Cycle sounds when DS is closed - if this option is selected and the DS cover is closed, ClIRC will utter these sounds every three seconds. It's quite convenient if you closed your DS, put it somewhere, and forgot. The DS utters/screams in this case while the cover hasn't opened :) * Edit highlighted words - opens an edit mode for highlighted words. 7.5. Logs. Logs - is a savings of any dialogs as text files. It's very useful thing, especially when you need to recall some details of your chat. Please, notice the precautions (see the appropriate paragraph)! * Write logs to files - turns this feature on. ** Log channels - turns it on for channels. ** Log privates - turns it on for privates. * Path - here you can select a folder, where logs should be saved. 7.6. DCC. DCC - is a "Direct Client Connect", i.e. a direct connection between users. * Accept incoming file via DCC - naturally activates this feature, otherwise requests will be ignored. ** Auto-get - makes it without confirmation. ** Auto-resume - automatically resume uncomplited files. * Accept incoming DCC chats - turns DCC chats on :) Otherwise incoming requests will be ignored. ** Auto-accept - makes it without confirmation. * Path for downloading files - here you can select place where these files must be downloaded. 7.7. Automation. If you are novice in IRC, you'd better omit these settings. They made for IRC maniacs only, who has got accustomed to scripts, using IRC clients for PC. * Command separator - here you can change the symbol which delimits one line commands. See the detail description in paragraph "6.4. Commands". * Enable lid scripts - enable open/close commands * Close - here you can set definite commands which will be executed by closing your DS. For instance, "/ame closed DS". The command executes on each server separately so you shouldn't use "/aame" and "/aamsg". Using delimiter you can input several commands. * Open - commands which will be executed by opening your DS. * Postfix of nick - this strange term has rather simple meaning - the symbols, which substitutes after a nick, when you double click it in your nick list. E.g., if the postfix value is ", hey! " and you will double click the nick "Cluster", your entry field will contain text "Cluster, hey! ". * "Edit fast commands" - opens interface of editing of commands, which can be set for key combinations of Ctrl/Alt + numbers. You can also input different smiles or commands here. Ctrl+number, naturally sends the current command/text, and Alt+number pastes it in the entry field. * Edit command preserts - is a prototype of popups in mIRC. So, three groups of presets exist - "Channels presets", "Private presets" and "Nicklist presets". Let's consider it in detail. Channels presets - is a list of preset commands, which appears when you press "presets" button in windows manager, while one of channels displays in an active window. The name of preset defines separately; you can use the variable "%CHAN%" here. You can also use this variable in the current command. For instance, the preset named "Get topic at %CHAN%" and the command "TOPIC %CHAN%". Have you guessed what comes out? Try it! :) Private presets - is a list of preset commands that appears when you press "Presets" button in windows manager or nick list and an active window contains private chat. You can also give preset name here, but variables differ - both in preset name and in the current command the "%NICK%" variable is used, which substitutes a nick of interlocutor in a private chat. For example, the "Slap %NICK%" preset with the "ACTION slaps %NICK%" command. Nicklist presets - they appears after pressing the "presets" button in your nick list, while any nick has selected there. Here works two variables simultaneously: %CHAN% and %NICK%. In preset names and in the current commands both. For instance: the preset "Kick %NICK% from channel %CHAN%" and the command "KICK %CHAN% %NICK%". You can also use the variable "%FILE%" creating presets for commands. If this variable exists, after command selection the file selection dialog appears (I mean files on your flash card) and then a filename and a full path to the file will be substituted for the variable. For instance: the preset "DCC - send file" and the command "DCCSEND %NICK% %FILE%" for sending a file. Surely, you can input several commands in one line using a delimiter. I recommend you to examine default presets which are given as an example. 8. Memory and RSOD. I hope you understand that DS memory is limited. If it's overfilled, you can see RSOD (Red Screen of Death). Don't worry, all the files would be closed. My experiments results that you should open about 50 channels, with approximately 100 users on each of them, connect to three IRC servers and receive all the lists of channels at the same time for such effect. It's really difficult to realize, but all should be provided for. I hope that you can see RSOD only after premeditated memory overflow. You can use "/memory" to check volume of free memory. Also use the command "/cleanlist", it can slightly expand your free memory. * 9. Known Bugs. No software can go without bugs, including this one. So, identified problems at present: * WEP cannot work with some access points (the problem of "dswifi lib"?) * DHCP cannot work with some access points (the problem of "dswifi lib"?) * If connection is impossible, the program can delay for a minute, and then an error message appears (the problem of "dswifi lib"?) * If connection is absent, the program can hang, trying to connect (the problem of "dswifi lib"?) * Some insignificant graphic glitches (the problem of... my unskillful hands) 10. Conclusion, Contacts and Thanks. It seems that nothing had been forgotten. Well, see how to contact me. E-mail: clusterrr@clusterrr.com http://clusterrr.com <- you can download the latest versions from here. IRC: #cluster in RusNet and #cluster's in DalNet(ru) Please inform me about all bugs, even the slightest ones, which you will probably found. Just try to notice the regularity of their appearance. Oh, and my "engrish" is not so good... :) So try to notice eny errors. I should thank all who promoted the homebrew scene development for DS. Thanks to authors of devkitPro, thanks to Mollusk for his PAlib, thanks to Stephen Stair for his library, that allows work with Wi-Fi and, surely, thanks a lot to my girlfriend ScuLLy for extremely beautiful interface, which she have drawn. Aslo thanx to Puzrombas for english translation of this manual :) I'm hopeful now. I hope you will enjoy my program. I'm waiting for your responses and suggestions. Best regards, Cluster.