Ian Micheal wrote:I can compile the windows version what changes need to be done?
These are the source files posted at DCEmulation by Silhalnor:https://dcemulation.org/phpBB/download/file.php?id=807&sid=6173557bbacef13259daa4f8a657ea7e
This is the topic: https://dcemulation.org/phpBB/viewtopic.php?t=103101
I don't really know if it works correctly right now on windows, I didn't tried to compile it, If you can do this Ian it would be of great help. For now i'm using the Windows Subsystem for Linux (WSL) and it works but its kind of a hassle.
Ok, so here are the files needed and the explanation of how to create a new Nester Image in 2021 with what we have available as of now, I can update this post as new methods and etc are created.Files:
NesterDC SE with builder: http://archiv.sega-dc.de/www.sch3rz0.com/nesterdcse/download/NesterDCSE_2005-12-10.zip
Library Files: https://sourceforge.net/projects/dcevolution/files/Emulation/NES/dcevo-emu-NesterDC-SE-Master_Library.7z/download
sch3rz0 Nester DC SE original site archived: http://archiv.sega-dc.de/www.sch3rz0.com/nesterdcse
Silhalnor example CSV: https://dcemulation.org/phpBB/download/file.php?id=825
Silhalnor CRC32 reader: https://dcemulation.org/phpBB/download/file.php?id=822
Silhalnor Source and tool for building db (linux only):https://dcemulation.org/phpBB/download/file.php?id=807&sid=6173557bbacef13259daa4f8a657ea7e
The thing is that the original files and database were hosted on sch3rz0 site but its been a long time since this is not the case anymore and today, the site only remains in sega-dc archive. If you just try to use the CD builder app, it tries to contact the old site and nothing happens. After that, it seens that there was a DCEmulation hosted mirror, but i couldn't make it work too.
What worked was to download a full Master Library mirror to my PC from dcevolution sourceforge page and then, in the builder "Master Library URL" box, i've copied the Path for the "master_library" folder:
The builder checks the roms CRC32 and looks for them at the master_nes.db file. From it, it takes the corresponding images and etc, each numbered acordingly, inside the folders in the same directory, and then creates the correct structure and files for the disk. The thing is that, if the CRC32 won't match for the rom, the builder will simply ignore it. The db file contained in the dcevolution mirror is old and a lot of roms have newer and correct dumps that are not recognized, also, newer hacks and homebrew are not recognized because of that.
For using new roms, one should be able to make a new db file and for that, there is this tool that Silhalnor found the source and was able to compile it for linux, Ian Michael may be able to compile it for windows and this may even permit us to make a new, better tool, but for now only the linux version is available.
For creating a new db, the tool takes CSV file with a defined specification and converts it to the new db file. Silhalnor included a example CSV in his posts that can be used, and there also is a CSV in the dcevo mirror. You can just modify them for your needs. These are the instructions for using the tool by Silhalnor itself:
Silhanor wrote:First, were are the acceptable arguments for the nesdb_builder.
I'm afraid this still only works under linux.
./nesdb_builder-linux tab INPUT_CSV OUTPUT_DB
Converts your CSV into a DB file.
./nesdb_builder-linux build INPUT_CONFIG
Seems that this option takes a config file to produce the database but I don't a guide for you here.
No idea. Might be here for development purposes. I get a segmentation fault when I try it.
./nesdb_builder-linux dump INPUT_DB
Prints the name of every entry in a database. Works on .DB but not .CSV.
Collect and organize your files
Collect all the screenshots, scans, manuals, and everything else you may want and arrange them in your NesterDC library. They must all be named a 4 digit number, any number. I used the same number for all documents for a given game.
I have attached a tiny example library as a guide. It has documents for the Mario series and two imports. It also has has a .CSV and a .DB that you can use as templates or for reference.
FAQs can be whatever text file you want (walkthroughs are expected but summaries or histories or anything would work quite well). The library hosted here at DCEmulation doesn't include any, probably for copyright reasons.
GameGenie uses .xml files. I don't have a concise way to explain these but I have a few in the mini-library for reference.
Each game's manual must be JPGs contained in it's own subdirectory named 00.jpg, 01.jpg, 02.jpg, etc. Again, check the library for reference but note that the ones I included are tiny to keep the filesize down so you can't really reuse them.
NSF files are the only files which must be zipped. It's a special format for NES music.
Put together the CSV
Import a .CSV into a spreadsheet (I have one included in the mini-library) or create a new spreadsheet with the following fields in the top row in this order: CRC, Name, TitleShot, ScreenShot, Manual, FAQs, NSF, BoxScan, CartScan, StrategyGuide, GameGenie.
Put in the names of every game you want to add. I used the filename without the extension to ensure that it would work but you can probably use anything.
Run CRC32Reader (I have Windows and Linux versions attached) from the command line with the ROM file as the argument like so: CRC32Reader-win "Super Mario Bros. (JU) [!].nes" The ROM must not be compressed. It should give you an 8 digit hexadecimal code like "d445f698". Prefix it with "POOP" (all caps) (I no idea what it means) and paste it in the CRC field for the matching game. "POOPd445f698"
All the other fields take the 4-digit name of the corresponding file. "0845.jpg" should be put in as "0845".
When you are done export your file to CSV.
Generate the .DB
Next run nesdb_builder-linux from the command line followed by the CSV filename and then the desired output name like so: nesdb_builder-linux master_nes.csv master_nes.db
Put the master_nes.db in the root directory of the NesterDC library and now you can use the NesterDCSEBuilder.exe to compile your collection.
He says to use his CRC32 tool and I've included it in this post, but you can really use any tool you want. Also, I used libreOffice for editing the CSVs, it worked as long as the field delimiter of the file matches the selected one in the tool (thats the "tab" argument).
With the db file created and the corresponding images in place, select "DiscJuggler" at "CD Image Format" (not sure if it makes any diference at this point), select which features are wanted in the disk and click "Start Build". It will give a lot of OKs in the log for the images and etc for each game if everything was done correctly but will hang and give you a error when trying to build the CDI, thats because bin2boot is not supported at newer OSes anymore, but this is not really a problem because the files are correctly built in the "datatemp" folder. Just use your favore CDI making tool and build a image with the contents of the datatemp folder.
I will not lie, this whole proccess is a f*cking hassle and took me like a day to figure out, and even knowing what to do it is still very boring and work intensive to do. I don't know if I forgot something or is this post is too confusing, i'm myself was quite confused honestly trying to figure this all out of old forgotten posts, so, if this is not working or you guys have any doubt, don't be afraid to ask.
In the end, the best would be to create new tools if possible for building these discs, while there are discs already containing lots of games, 15 years is a long time, even more so for the NES that saw a lot of new homebrew and hacks, so creating new dbs and discs is very important.
Sorry for the long post