I managed to disassemble Arkista's Ring with disasm6 and it seems to compile with asm6. I don't have the time to add the proper labels to it. Anyway I have included the .asm file, the .chr file, and the .cdl file I used to make the rom in an attachment.
You should call it a disassembly. Source code implies that it's the original developer's collection of .ASM files with all labels and comments intact.
Is this just the straight output of the disassembler then? You might as well only post the CDL for now, since that's all someone else should need to produce the disassembly (and also is not violating copyright).
ccovell wrote:
You should call it a disassembly. Source code implies that it's the original developer's collection of .ASM files with all labels and comments intact.
Sorry I'm not good with this stuff.
rainwarrior wrote:
Is this just the straight output of the disassembler then? You might as well only post the CDL for now, since that's all someone else should need to produce the disassembly (and also is not violating copyright).
Yeah, it does compile to a working rom though, I rushed though this topic when creating it.
The real question is does it still compile correctly if you add a byte to the middle somewhere. This would indicate that all pointers (both in code and in data) are not absolute 16-bit numbers.
It's not a true relocatable disassembly until all 16-bit numbers that are memory addresses are labels (possibly with + - offsets).
Here is the best cdl I can get. No other files included this time.
Dwedit wrote:
The real question is does it still compile correctly if you add a byte to the middle somewhere. This would indicate that all pointers (both in code and in data) are not absolute 16-bit numbers.
It's not a true relocatable disassembly until all 16-bit numbers that are memory addresses are labels (possibly with + - offsets).
It's not just 16-bit numbers; you also have to have to handle the (extremely common on the 6502) case where a pointer is split into two immediate operands:
Code:
asl index
rol index+1
lda #<table
clc ; can omit if index is guaranteed to be < 32768
adc index
sta ptr
lda #>table
adc index+1
sta ptr+1
I haven't yet thought of a way to automate detection of this pattern...
mugenfighter wrote:
Here is the best cdl I can get. No other files included this time.
Sorry wrong file...
By the way, how can I learn what the disassembled code means? I'm still kind of new at this, but I want to learn how the game worked so I can recreate it in 32 bit Windows.
Edit: Sorry I haven't got time to work on a disassembly. I'm busy with stuff I can't go into now.
Edit (Again): My original goal was to have a working disassembly with comments, but again I'm busy.
I had nothing better to do...
I'm trying to get a good cdl to work from.
Edit: I think I'm just trying to avoid the fact that I have no clue what I'm doing.