Copyright © 2026 Rib
OmniDrive is a firmware modification for MediaTek MT1959-based optical disc drives manufactured by Hitachi-LG Data Storage that enables features that allow for better, more complete reading of discs, including proprietary game discs.
- Lead-in/lead-out reading for CD/DVD/BD and derivatives.
- Raw sector reading for CD/DVD/BD and derivatives (2352 bytes/sector for CD, 2064 bytes/sector for DVD, 2072 bytes/sector for BD).
- Custom READ DISC RAW command to read discs, with flags for FUA (bypassing cache), raw addressing (MSF for CD, PSN for DVD/BD), and descrambling (for DVD/BD).
- The ability to read various proprietary game discs (see table):
| Disc Type | Support | Notes |
|---|---|---|
| CD (ROM/R/RW) | ☑️ | |
| DVD (ROM/RAM/±R/±RW) | ☑️ | |
| BD (ROM/R/RE) | ☑️ | |
| BD-XL (R/RE) | ☑️ | |
| UHD-BD | ☑️ | |
| PlayStation 3 BD-ROM | ☑️ | Disc contents are encrypted, disc key is not retrievable |
| PlayStation 4 BD-ROM | ☑️ | Disc contents are encrypted, disc key is not retrievable |
| PlayStation 5 BD-ROM | ☑️ | Disc contents are encrypted, disc key is not retrievable |
| Xbox (XGD1) | ✅ | |
| Xbox 360 (XGD2/XGD3) | ✅ | |
| Xbox One/Series (XGD4) | ✅ | Disc contents are encrypted, disc key is not retrievable |
| GameCube (NROM)/Wii (RVL-ROM) | ✅ | |
| GameCube (NR)/Wii (RVT-R) | ❓ | |
| Wii U (WUP-ROM?) | Can be read as raw, but scrambling algorithm is currently unknown | |
| Wii U (CAT-R) | ☑️ | |
| Dreamcast (GD-ROM/GD-R) | ❎ | Only low-density area can be read |
Key:
- ☑️ - Native Support (without patched firmware)
- ✅ - Supported with OmniDrive
⚠️ - Partial support (see notes)- ❓ - Unknown support (needs testing)
- ❎ - Not currently supported
- CMake
- ninja
- arm-none-eabi-gcc toolchain
- armips
- Python 3
- pycryptodome
- Put the stock LG BU40N 1.00 and ASUS BW-16D1HT 3.02 firmware files in the
firmwarefolder. The files should be named the following and have the following checksums:
| Filename | CRC32 | MD5 | SHA-1 |
|---|---|---|---|
| HL-DT-ST_BD-RE_BU40N_1.00.bin | E3C1A315 |
EDB28FCD7A239281ACE26A468D382A9C |
9C48677B155154D24A3B95A32B4A29CA02FF40B3 |
| ASUS_BW-16D1HT_3.02.bin | 84000B21 |
97F0EEABD0B675B4363B2C4749226016 |
F8DF5B579F25DA8D4E5AA5EF79F3005DAC5EB8C7 |
- Create a
buildfolder and runcmake -G Ninja ..from the build folder. - Run
ninja. The patched firmware files should be output in thepatched_firmwarefolder.
Currently the recommended method to flash the drives is to use sdftool which comes as part of MakeMKV. The BU40N firmware should work with all slim drives and the BW-16D1HT firmware should work with all desktop drives.