Monday, May 28, 2007

http://uk.codejunkies.com/news_revie...3&i =9102&s=8



Quote:
The trouble with most games consoles, is you can't modify the game code when it's running. Sure, you can use tools such as Datel's own Action Replay game enhancers to input all sorts of cheats and enhancements, but there's no straightforward way for amateur programmers and techie tinkerers to get inside the game, investigating how it works and trying out modifications and tweaks you've programmed yourself. Thankfully, if you're a Wii owner Datel has come to the rescue with Drive Doctor, the ultimate aid for the hardcore tinkerer and amateur programmer. With Drive Doctor for your Nintendo Wii, you can gain a unique insight into the under-the-bonnet operation of your console, examining, analysing and altering the Wii drive's memory...

With Drive Doctor in place, you can connect your Wii to your PC using the supplied USB 2.0 cable. You can then review its innermost operations, watching your Wii software in action through Drive Doctor's PC application. You can even add data of your own, all from your PC. Drive Doctor’s memory and command views give you a unique insight into the innermost workings of your Wii’s drive memory, and even lets you make on-the-fly adjustments. You can read status, write data, send control commands, report the drive status and more. By injecting your own code into the data stream, you can create your own effects and experiment with modifying the program. It’s fun! And as the Wii home brew scene grows and prospers, the device will also come in handy for playing freely-downloadable software straight from your console.

Fitting Drive Doctor requires a little soldering, so make sure you have your precision soldering iron handy. Full fitting instructions are supplied. It’s a fairly simple task, requiring you to connect just five wires. After that, the unit just clips to the back of your console. It remains in place even when not in use - just unplug your USB cable and you can use your Wii in the usual way. It's styled to match the console, and completely unintrusive when not in use.


I have to hand it to Datel for bringing console modding to the mainstream. It will be great to be able to go into the local videogame store to buy all of this stuff instead of ordering it from shady internet sites.


WiiVision has posted about his upcoming app that will boot the wii into gamecube linux and allow it to play dvd movies.

Support currently includes:
- 4.7G DVD Media (-r, +r, +rw, and of course "originals")
- Region Free
- Multi-Language Subtitle Support

Controls:
Toggle menu: B
Play/Pause: Start
SlowMotion: A
Goto Disc Root: Y
Goto First Chapter: X
FF: R Trigger
RW: L Trigger
Next Chapter: C-Stick Right
Previous Chapter: C-Stick Left

DVD Menus Navigation: D-Pad
DVD Menus Select: Start

Eject the disc at anytime: L+R Trigger Combo


Great work so far! It's good to see the GC homebrew scene still brewing up releases.

Read More

Thursday, May 17, 2007

Owing to high demand, I will explain the steps required to integrate AJAX Labels with the immensely popular Phydeaux3's Label Cloud hack.

Note: Please back up your template at three places as a precaution:
a. Before installing Label Cloud
b. Between installation of Label Cloud and AJAX Labels.
c. Before Step 4 below.

1. Your first step is to install Label Cloud. Go to Phydeaux3 and follow the steps that are mentioned there. Please comment in Phydeaux3's blog if you find difficulties in installing that hack. I cannot help you there. If you have already installed Labels Cloud, then move on to the next step.

2. The second step is to install part of my AJAX Labels. Jump to this link and follow all the steps except Step 3 (The optional one)

3. If you have a Labels widget, you probably have to delete it. (Although I'm not sure about that) Do as Phydeaux3 suggests.

4. Search for the following code snippet inside the code you copied from Phydeaux3 for Label Cloud:
a.href = '/search/label/'+encodeURIComponent(t);
and replace it with this:
a.href = 'javascript:getCat("' + encodeURIComponent(t) + '",null)'

I haven't tested this anywhere. I hope this one will work. If it doesn't, please revert back.

This is another tidbit for coders.
(To be honest, I'm just finding enough time to do some finishing touches for my drafts which are gathering dust and post them here!)

We come up with new hacks, invariably with a javascript file attached. You add all the hacks, end up with a truckload of javascript includes and thus, a longer loading time.

THE ROOT CAUSE
The real problem is the sequential nature of XHTML. XHTML is parsed a tag at a time. So, if you have a couple of lines like this:
<script type="text/javascript" src="script1.js"></script>
<script type="text/javascript" src="script2.js"></script>

the files are loaded as follows:
The parser first encounters the first script tag. It then slowly retrieves script1.js and loads it into memory, which takes a lot of time. The parser thinks this is the best time to take a nap and doesn't proceed to parse the next script tag until the current download of script1.js is finished.

See the circled portion above. Never mind the loading times. The stuff to notice is that scriptaculous.js doesn't start loading until prototype.js finishes loading.
Now, we have a hell lot of bandwidth going wasted during this time. We can do other activities in parallel. But how to do it?

THE FIX
The simple answer: Load the scripts asynchronously!
I call it EOF. EOF for Execute-Open-Forget. (Well!! These things ought to have a geeky name!) We execute a javascript function, request for a download of script1.js, forget it, and execute the function again with another argument for a download of script2.js

The result is very evident from the following graph below.
Again, don't worry about the load times of singular files. We cannot improve it for the user. But check out the total time taken for the two javascript files circled. It is lesser because the second one starts even before the first one is finished. This difference will be evident if the javascript files are large and takes a few seconds to load.

Now you might be asking how to make it an EOF?
That's what Javascript is here for. We use Javascript to load a Javascript file. It cannot get weirder.

Check out this nifty function:

<script type='text/javascript'>
//<![CDATA[
function loadScript(src) {
var script = document.createElement("script");
script.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(script);
script.src = src;
}
//]]>
</script>


Now you can load any number of functions using the function.
You just have to add the calls wherever you want
<script type='text/javascript'>
loadScript("script1.js");
loadScript("script2.js");
</script>


This can go anywhere in the code, including onload event.

BE SMARTER
This technique can be used cleverly in specific situations.
For example, you may be using some JS libraries for some of your hacks. If the hacks don't show up during loading and does only when uses does some action, we can set a timer to load the script in background after, say, 5 seconds. The main page will be loaded in a jiffy, and the user will be effectively hoodwinked.
This will result in a really critical timing issue, if not handled carefully. Too much of timeout, and the user may get ample time to tamper with the related hack before the script is loaded.

You can also place the loadScript() call at some convenient place in the HTML code. It can be as far as the bottom portion of your HTML just before body tag, so that the page is rendered very fast. (Again, the above problem holds good here also.)

CAVEATS
Everything comes with a price. This too has its own deficiencies. Some which I know of:
1. This one is because of the different behavior of IE. IE and Firefox both can download scripts in the manner specified above. The difference is that IE executes them in the order they finish downloading, whereas Firefox executes them in the order they are appended to the DOM.
This means that your scripts cannot have dependencies on each other in IE. You can get away sometimes, if you are not using the script files until long after loading. (An example is my AJAX Labels Hack)
Update: You have to be really careful that you don't allow the user to make calls to a particular function in the dependent script in that case. The only advantage that you can get is a slight improvement in overall loading time.
2. You can download more than two files at the same time only if they are from different domains or subdomains. Normal browsers (including Firefox) can open only upto 2 simultaneous HTTP connections to a domain. If you try to download too many files at the same time, you may even witness bottlenecks. So use this discreetly.

ET AL.
There are many more ways of improving load times:
1. Compress the javascript file. There are umpteen ways of doing that. Refer to my previous post.
2. Check this link out: Speed Up Your Javascript Load Time - BetterExplained

Monday, May 7, 2007

MTVPimpMyRide

Get ready to tune 4 rides in a stack of mini games that take you from Rookie to Master.In Hit it you gotta match the moment and beat that bodywork.Then release the pressure and get the lacquere job right in Flawless Finish.Boost your looks with the Slot Stickers and last of all fix any fried circuits in the classic Electrix game.



Compatible Devices
SonyEricsson K600, K600i, K700, K700c, K700I, T610, T616, T618, T628, T630, T637, V800, W700i, W800i, W810i, Z1010, Z600, Z608, Z800

Motorola C650, C975, C980, E1000, E1070, E398, E550, E770, E770v, L7, PEBL U6, ROKR E1, V1050, V180, V220, V3, V300, V3i, V400, V500, V525, V535, v547, V600, v635, V80, V975, v980

SAMSUNG SGH-D500, SGH-D500C, SGH-D500E, SGH-D508, SGH-D600, SGH-D600E, SGH-D820, SGH-D900, SGH-E100, SGH-E108, SGH-E300, SGH-E330, SGH-E330C, SGH-E330N, SGH-E338, SGH-E340, SGH-E630, SGH-E630C, SGH-E638, SGH-E700, SGH-E700A, SGH-E730, SGH-E800, SGH-E800C, SGH-E808, SGH-X460, SGH-X460C, SGH-X468, SGH-X480, SGH-X640, SGH-Z105, SGH-Z107

Panasonic -MX7, -SA6, -SA7, -VS2, -VS3, -VS6, -VS7

Sagem myV-55, myV-65, myV-75

Siemens C65, S65

Nokia 2610, 2650, 2652, 3100, 3105, 3108, 3120, 3200, 3205, 3220, 3230, 3250, 3300, 3510i, 3530, 3560, 3590, 3595, 5100, 5140, 5140i, 6020, 6021, 6030, 6100, 6108, 6200, 6220, 6225, 6230, 6260, 6600, 6610, 6610I, 6620, 6630, 6650, 6670, 6680, 6681, 6682, 6800, 6810, 6820, 6822, 7200, 7210, 7250, 7250I, 7260, 7600, 7610, 7650, 8910i, E61-1, E61i-1, E62-1, N70-1, N72, N77, n91-1

Friday, May 4, 2007

I've got to hand it to them, this is some pretty hardcore hacking going on at WAB and Team Infectus. The idea as it has been discussed is, you run the wii with probes attached to the memory. Then you apply an external power source and turn off the wii. Now everything that was in memory stays in memory and you can read it out and see if there is anything useful. Looks like they've got logic analyzers and their own homebrew circuits attached to try and figure out a way into this thing. God luck guys!


To follow their progress, check out the forum post here.

Wednesday, May 2, 2007

Over the last few weeks, several groups have been dumping chips on the wii motherboard to see what they can find. After dumping one of the Wii's memory chips they realized that everything is encrypted and not very useful. They are not going to give up easily, now they are going after the RAM to see what data is stored in memory unencrypted.

The play-by-play can be found on websites such as WiiNewz Forums or TehSkeen, as well as OpenWii Forum.


WAB - Wii Hacking In Action:


While not pracitcal, and definitely not secure, some clever engineers have hooked up a wiimote to their electronic lock, and can now open their door with the flick of the wiimote.

Check out their Video on YouTube:


The translation of the original site can be found here.

;;

By :
Free Blog Templates