Speedhacking Tool Pack for LiteOn DVD Drives

Document Information

Author: Code65536 (member at club.cdfreaks.com)
Date: Last modified on 27 Mar 2004.
More information, help, and support: Speedhacking-Made-Easy forum thread.

Disclaimer

These tools are NOT supported in any way by LiteOn, and are intended only for people who are comfortable tweaking their drives. Furthermore, the author of these tools is not affiliated with LiteOn in any way. USE AT YOUR OWN RISK, FOR IF SOMETHING GOES WRONG, THE AUTHOR OF THESE TOOLS WILL NOT BE RESPONSIBLE!

Revision History

Speedhacker

Media Code Scanner

Introduction

What exactly is speedhacking?

DVD writers keep track of various DVD media codes and what speeds media with certain media codes are certified for. The speeds the media is certified for is what the DVD writer will allow you to write the media at. Speedhacking is the process of changing this list of media codes stored in the DVD writer so that it will think that a disc that is certified for a particular speed is actually certified for another speed.

What can I do with speedhacking?

The most popular and common use of speedhacking is making the burner think that your 4x-rated media is actually certified for 8x. This would allow you to burn 4x media at 8x speeds. There are other uses for speedhacking, such as enabling 4x burning for 2x media, or enabling 1x burning for media where 1x burning is turned off (this may interest some people, as LiteOn disabled 1x burning for 1x-certified Princo discs; speedhacking can re-enable 1x burning for these discs).

How is speedhacking different from overclocking?

Overclocking a drive, such as converting the 451S to a 451S@851S, allows the burner to burn at 8x on media that supports 8x burning. Speedhacking deals with the "on media that supports 8x burning" part by making the burner think that certain 4x media supports 8x burning. If your burner doesn't support 8x burning, telling the burner that your 4x media supports 8x won't do anything, as the burner will still burn at a max of 4x. You'll have to overclock your burner first to support 8x burning before a 8x@4x speedhack will do you any good. In short, these are two different, but somewhat related topics. Speedhacking, when used for enabling 8x@4x for certain media, can be seen as a supplement to overclocking.

How can these tools help me?

Without these tools, speedhacking would entail manually editing the drive's firmware, changing the values of a few bytes here and there. It's not a particularly difficult process, but not everyone is comfortable manually editing their firmware, not everyone has a hex editor to do the editing with, not everyone knows how to use a hex editor, and because the locations of the bytes that need to be changed varies between firmware versions, not everyone is comfortable searching out the location of the media code tables and figuring out which byte is the right byte to change. Finally, for people who are comfortable doing manual hacks, it is a somewhat tedious and annoying process, especially when dealing with the -R media table where it's necessary to count bytes to make sure the you're at the right position. These tools automate the speedhacking process and make it a much easier and less intimidating process.

The Tools

Speedhacker (spdhack.bat) is the main tool that patches a given firmware with the new speeds.

Media Code Scanner (getcodes.bat) is a tool that, given a firmware, will create a report file containing all the media codes found in the firmware and the speeds currently associated with the codes.

Usage

Both tools are should be run from the command prompt.

Speedhacker

spdhack <input_file> <output_file>
Example: spdhack GS0F.BIN GS0F_SPEEDHACKED.BIN

Media Code Scanner

getcodes <input_file>
Example: getcodes GS0F.BIN

Configuration

Speedhacker configuration is stored in config.pl, which can be edited with Notepad or some other plain text editor. There are no configuration files for the Media Code Scanner. The rest of this section discusses the configuration for Speedhacker.

By default, both +R/W and -R/W codes are patched. This is a change from previous versions (in previous versions, only +R codes were processed by default). I decided that there really wasn't any need to disable -R by default, as there is no harm done from speedhacking -R media on drives that don't support 8x -R (there's no benefit, but there's also no harm). If, for some reason, you feel that it's necessary to disable either +R/W patching or -R/W patching, you can, but I do not see any situation where this would become necessary (not even if you're patching a firmware that doesn't have any -R/W codes, like some of the 401S versions, because the program is smart and will not do anything if it detects that there are no -R/W codes).

Media codes that are patched in the DEFAULT configuration...

MCC/002/00, RICOHJPN/R01/02, RITEK/R02/01, YUDEN000/T01/00, MAXELL/001/00 are the +R media types that receive a 8x@4x speedhack in the default configuration. RITEKG04/52, MXL RG02/52, TYG01/52 are the -R media types that receive a 8x@4x speedhack in the default configuration. PRINCO/50, which corresponds to 1x-rated Princo discs, get 1x burning enabled in the default spdhack configuration (early LiteOn firmware versions burned these Princos at only 1x, but later versions diabled 1x burning and enabled 2x burning... because of the poor quality of these discs, there are people who want to be burn at 1x on these discs). None of the +RW or -RW codes are patched by the default configuration.

Editing the configuration...

Editing the configuration is fairly simple and straightforward. Find the patch tables in the configuration file and add/remove/edit entries as you see fit. Note that right above each table, there is a simple format guide that tells you what each thing means, and you can look at the existing entries for an example of how to add new entries. Also, if you're planning to edit the configuration, you should read the guide titled "Interpreting Speed Codes" located at the end of the configuration file. The next part of this guide is where the Media Code Scanner comes in handy! If you want to add a new entry, you'll need to specify the exact MID, TID (for +R/W only), Rev. ID, and burn speed; media codes are very sensitive, and if you mess up on capitalization or spacing, it won't work. In order to do this, run the Media Code Scanner, look in the report file that it generates, and you'll be able to find the exact MID, TID, Rev. ID, and burn speed. You can copy and paste this information from the media code report into the configuration file. All that you need to specify now is the new speed code that you want to assign.

Notes...

There is only one configuration table for +R and +RW media. You can put both +R and +RW entries in this table (similarly, when reporting media codes, the Media Code Scanner will lump all the +R and +RW codes together). Because of how the -R/W tables are formatted, -R and -RW patches are specified separately in the configuration, and they are also listed separately in the report. Please note that speedhacking RW media is not recommended, as I have not seen many people try it. As with speedhacking -R and +R media, use at your own risk.

Miscellaneous Notes