try posting it in the translation thread http://www.assemblergames.com/forums/showthread.php?t=21989 also: awesome project!
your welcome, I'll be sharing even more soon........ Disks are dumped now.......... big shout out to kammedo for the help
Once released we need some way to play them with retail 64DD. Maybe some kind of FPGA based 64DD simulator could load the game from flash card. Or maybe just simulating the 64DD drive itself could be easier to achieve. Keeping the 64DD motherboard and only doing RE for the drive itself. Sound like a cool project :O
Well, I personally have not tried but you could make a masterbuild for the disk and then write it to a retail disk..if there is a way to write the retail disk, that is..it might require some library patching as the type of disk is probably labeled as read only.
Yeais sure, they are magnetic disk so the whole surface is writable after all. I never worked on any N64 software but the question is: does the 64DD give us RAW access to the disk so we can write the header/TOC and define thing like the "ROM" and "RAM" area of the disk?
kammedo is way smarter at this stuff than me but if writing a gray disk became possible that would be killer. If anyone could figure it out it would be him. If it became possible we could churn out some reproductions using some randnet disks or something.
So the goal is to avoid this error when using LeoReadWrite function: LEO_ERROR_WRITE_PROTECTED (Write only) - The LBA that was the intended write target is in the unwritable area (ROM area), so no write occurred. I guess we could edit that function to remove the check. EDIT: Which would not be that easy since we don't have the lib source file.
My wife and me are going to Montreal next year. :nod: Maybe we could pick up a copy of Dezaemon DD, then.
I reverse engineered the whole library in order to get the emulator running long time ago. There are some read-only checks at library level, thing is I am not sure if the read-only feature is only library related or is defined inside the firmware, as in a retail drive's firmware does not support writing disks. This is necessarily not a problem, as we could easily write retail-formatted disks with dev drives. I have this info still somewhere, ill try to crank it together and get it out.
I believe that ROM RAM separation is just something theoretical, for saving Player data the retail 64DD need to be able to write in the RAM area, So I guess the only thing that can't prevent writing to ROM is some check done by the function to check the type of disk in used and them check the LBA pass in parameter to see if it's not located in the ROM area. This is pure speculation since I didn't RE anything, would be very interested to see the result of your RE!
I posted the disk format in the Nintendo tech section. You can see the difference of system area format between dev and retail disks. The ROM / ram separation is definitively NOT theoretical. A retail drive at least will not allow you to write on a ROM LBA (read only), even with a patched library; i haven't done the same test on a dev drive. Also, the fact that there is a register which is meant to contain the disk type in the 64DD address space makes me think the ivision is actually enforced at the drive's firmware level. Remember, a disk is composed of physical tracks, to navigate these tracks the disk controller relies heavily on meta information (the infamous servo) which states how long a sector is, how many bytes it contains, how many checksum sectors there are etcetcetc. A disk is much more complex than it actually seems from the easy RAM / ROM division ! As far as my RE, I will not publish any of it, since it is proprietary information - not of me but of you-know-who. That said, nothing states I cannot respond to questions, or release information about it made by me . Which is what I will be doing as the need arises.
Thanks for all these info! I don't have any dev stuff unfortunately and don't plan to get it anyway. Do you know if the disk drive in the retail and dev 64DD is the same? If so I guess I will just start hacking right away with the drive without the n64/64DD and try to get full power over it
Hmm - you mean the actual drive? Yes I believe the hardware is the same?? But you can test with retail disks as well, it should be easy - if you are not afraid of loosing some disks !
Yeais the drive itself, I need to change my logic analyzer first it's just 8bit and way to slow (the sofware suck also) will get a better one soon (32bits). Will finish to read the whole docs first and then start more serious hacking once my school break start for the summer (April 19 )