JC64dis File menu
The file menu is dedicated to the project, and so have many voices:


New project
To use the disassembler it is necessary to be inside a project, so creating a new one is the fist step to do.

The project windows gives you the ability to insert:
- Project name: a name to give to the project
- File to disassemblate: it let you choose the file that you want to disassemblate. Once done, you will see the type (SID, MUS, PRG, MPG, CRT) detected and some information extracted from the file. In case of a cartridge you have to select the number of chip to disassemblate using the spinner
- Target maschine: for program file you can choose the target machine to use in disassembler from:
- C64
- C1541
- C128
- VIC20
- PLUS4
This selection will activate specific comments to know memory locations of each machine.
In Option panel you can select for each machine what range of memory location must be commented automatically.
- SIDLD memory flags: this file were generated by some modified version of SidLength Detector wrote by Michael Schwendt and that myself patched into libsidplay in order to create such memory dump.
The idea were simple: let play a tune of a SID and collect if a given address is of a code or a data or never utilizated. With those flags you can achieve two important step:
- Make at 0 to all the binary locations in SID files not used and being sure that the tune still play correctly. That file can be then compressed more better and I use a lot for saving byte in 4KB/16KB competition!
- Let an disassembler to know if it has to decode a part as of data or as of code.
If you have such files you can simple use Add next button to add one by one. If you want to reset the situation, just use the clear
button or if you want a memory marked as all of code, than use init button.
Take present that you must apply the use of SIDLD with the function into the option menu
Open project
The function let you open a previusly salved project by read a .dis file.
Only one project can be opened at time, so you have to close the previous before opening a new one.
Close project
This function let you close the current project to work with a new one.
If you had not saved it, you can still save it bebore closing.
Save project
Save the project to the current .dis file being in use.
Save as project
Save the project to a .dis file that you choose or create as new.
Apply SIDlD memory flags to memory
If you have associated some SIDLD files to the project, here you can apply them to the memory location, so you will get the code/data part compiled in automatic.
The program takes your confirmation before going on.
Create a MPR archive
The MPR is a custom files that contains many PRGs inside, so you can disassembly all files together.
This is usefull when you have some files from disk or tape that load itself in different part of the memory: you can so disassembly the memory with all the programs inside.
This means that one program should start and end before the starting of another peaces, otherwise the common memory is filled with the last read one.
For creating the MPR archive you should select all PRG files with CRTL+click from the file selector, then you should insert the name of resulting MPR archive.
Collaborative merge
Suppose you are working in a team for disassembly for example a game. One people will follow the music, one people the graphics, and so on.
You need to create the project for that program and then give a copy to each people of the team to work on.
When all people has worked to their peace, you need to use this function to merge your work with all the other. Your work is so the primary and all the other the secondary.
The idea is that if you apply something to a memory location (make labels, comments, data/code assigment and so on) this will not be altered by secondary files,
otherwise the value of secodary file being imported will be used.
The resulting project file is now the merge of all works and you can see all contribution together.
Exit
This exit the application.
