New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance .sym file for bank switching #1
Comments
Here is the macro from Boulder Dash/Sokoboo that does this for anyone wanting to do it before DASM is updated with this capability.
If DASM auto-generate the One gotcha, though - in the case where self-modifying code is copied to multiple RAM banks - then the |
If this can be done with a macro, is there a reason why we need to embed this functionality directly into dasm? If it can be done with a macro, it would be better to leave it there. Is there an envisioned convenience, or some additional functionality embedding would give, that I'm missing? (bear in mind that any bank-aware dasm enhancement needs to be applicable to other supported platforms, in addition to the wide variety of 2600 schemes.) |
The idea is to define a standard, which Stella can understand and use for its disassembly. Currently an address in a .sym file is just that, an address. Which can be used in multiple banks. Then Stella's debugger does not know which label to display. Adding pseudo ops would allow DASM to create better .sym files and allow the debugger to create better disassemblies. The burden would be solely on the developer, so DASM does not be aware of any bankswitching methods. BTW: The same would be helpful for constants and variables too. Currently we also have clashes in the Stella debugger for these. And I am sure the same can happen for other platforms too. |
Stella's disassembler (DiStella) is not well prepared for multi bank or multi segments ROMs. It "somehow" works, but is not 100% reliable. |
Would it be easily possible to add an option to output symbols ordered by their definition appearance in the code? |
I went for it and created a pull request (not sure why the MacOS build doesn't want to start). |
It would be nice if the labels in the .sym file would contain bank information. That would make debugging of bank-switched files in Stella much easier.
Maybe one could add some pseudo-op (like SUBROUTINE) which defines the start of a new bank. And then generate a .sym file which outputs the bank too.
The text was updated successfully, but these errors were encountered: