3520 firmware with PI/PIF checking and full bitsetting



As many people were complaining that they wanted a firmware capable of doing quality checks AND bitsetting on all plus media types, I started modifying the 3.04 firmware that everyone is playing with at the moment.

I copied the bitsetting code from MadDog’s 1.f3 firmware and made it work on the 3.04 firmware.

Please consider that - although this firmware has been tested - this is a highly experimental firmware that may still have some bugs. If you damage your drive by flashing this firmware, neither me nor CD Freaks can be held responsible for this damage. Don’t RMA your drive in this case, but buy a new one.

Download NEC ND3520 3.04 Bitsetting firmware here. Three files are included in the archive, containing a version only with added support for bitsetting, a fast version removing riplock and a version with RPC1. All firmwares are bundled with Binflash 1.16 Win32 GUI version, but they can all be flashed with any Binflash commandline version.


Thank u going to test this firmware now :bow:


tried to flash with 304bt_rpc1.exe got error culdt not submit checksum.
Edit: Drive locked up after flash, reflashed with Liggy & Dee NEC ND-3520 Modified Firmware V 1.UC and it looks like the drive is ok


Oops. Mixed up checksums for orig and rpc1 firmware. Sorry. :rolleyes:
Re-Uploaded fixed version.


i hope you could transfer the PI/PIF scanning to the nec 3500 FW …and yes i know they are diferent…but let me my hope :wink:


Awesome work again Liggy :smiley:


Now THIS is what I was waiting for! Great job!! :bow: :bow: I’ll have to wait until I get home though. Doh!!


Thanks a lot, Liggy! Nice work. I’m going to flash it right now and post some disc tests.


Thanks Liggy :eek: :iagree:


CD-Speed will not allow me to set the default booktype with this firmware. Using the booktype button on the flasher appears to work, although I haven’t burned any discs yet.

Just thought I would see if other people are experiencing this…


thank you Liggy :slight_smile:


still cant flash with 304bt_rpc1.exe just re downloaded it too get the same error “culdt not submit checksum” can you give a link for the fixed version please


Go here to get the firmware. v1UC is the one you want.


I’m not sure what went wrong when applying the correct checksums, but it should be fixed now. (Hopefully)


How do you modify a firmware like this?
You said you copied the bitsetting code from the 1.F3 firmware.
Did you actually disassemble the existing code, copy some new code from 1.F3 and add a jump (or call subroutine or whatever) to the bitsetting code?
Or was the bitsetting code already present in the 3.04 firmware and you just had to enable it?

I can see that modifying some data structures (with media codes for example) can be relatively safe, but I’m not so sure about modifying the code.


First of all I disassembled the 1.f3 firmware and located the routines that handle bitsetting. They are easy to find since they all need to access address $5086. That’s the address where the booktype for +R9 is stored.

Then I copy the Bytes that represent this code and paste them in a free area of the 3.04 firmware. So I have some copied routines for bitsetting, but of course that’s not all.

The next thing is to check the 3.04 firmware for some subroutines that are called in the bitsetting code. These routines start at different locations, depending on the firmware version and need to be adjusted in the copied code. Some of the other addresses need to be changed too since memory locations may also differ from time to time. (Although this sounds easy, it’s a very time consuming task)

Now I have a working bitsetting code, but the firmware won’t do bitsetting yet, so I have to change the original routines so they call the new routines. (Just add an unconditional jump at the beginning)

I can see that modifying some data structures (with media codes for example) can be relatively safe, but I’m not so sure about modifying the code.

Maybe you can imagine that it’s a bit more complicated to implement bitsetting than to “just” change some media codes or increase writing speeds where support tools exist. Most of my work is done with Ultraedit - a text and hex editor. And I wrote a small tool to adjust some subroutine calls for 3520 firmware, since the target address needs some calculation and Byte moving…


I was out for a week, and didn’t expect to see the quality-test enabled firmware until May. It’s good to see it’s here already.

But, I’m confused. I want quality testing, and I need bit setting for single layer DVD+R media. Do I want the 304bt firmware referenced in this thread, or do I want the LD3520 1.UC firmware mentioned elsewhere? They both seem to say they do the things I want.

What’s the difference?


Liggy, thanks for the explanation!


They’ll both do what you want but while my firmware only adds bitsetting to the original 3.04 firmware, Dee’s modified firmware also increases writing speeds for several discs.

You have to decide for yourself what you prefer.


Thanks Liggy!

Just ordered a 3520 :bigsmile:
Can i bitset the drive with your binflash tool or are the bitsetcommands all new again in this firmware?