If I'm reading this right, he specifically wants to change the user interface of the pictured program, with access to the source code.
Is my interpretation correct?
Is my interpretation correct?
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
sta $4202 // 00:4202 is the first value to multiply with
sta $4203 // 00:4203 is the second value
nop // The result won't be ready yet
nop // So we wait
rep #$20 // Set A to 16-bits.
lda $4216 // 00:4216 will have the result (in this case, 6) now.
Alright so right now when I need to do ASM edits I basically convert 65816 to hex and then edit the hex data through a hex editor. I've seen a couple programs, notably Asar and Xkas, that are asm utilities. I use currently asmdev to view translated opcodes, but for example I can't really do very much with the program like if I wanted to do BNE jumploc, I wouldn't know how to do that since it's ASCII characters not hex values like I typically use.
// another routine
For some reason also it uses "projects". Like if I edit a few lines then save it saves the files as *.bin rather than the rom directly so I'm not exactly sure how to use them, or get an emulator to run any changes I've made.The file you specify with -o can be an existing file, and you can use the org directive to specify where in the ROM to output the code to.
It looks like some people are able to save .asm files then patch the games this way. I really like just using IPS/BPS files to patch a rom for rom hacks rather than using a program I haven't heard of. Also, those programs look like DOS based. Are there any asm programs such as xkas/asar that have a GUI?Most of what you need to do is write a text file (that's all the .asm file really is) that contains your new code. The command line just specifies input and output files. A GUI is possible, but there wouldn't be much to it.
One more thing on memory management. So I was working on editing a rom recently where I needed to add several instructions. Before I was lucky I found several NOP instructions in the rom bank and just overwrote those with a subroutine. Unfortunately now for this new bug fix I need some more space and searching through the rom I found a couple NOP instructions but they were very far spread out so I couldn't really work with them. I tried expanding the rom. I was just hoping that adding an extra 500kb would have hundreds of NOPs somewhere, but I think the bank I was using was completely untouched. How do people manage space limitation?NOPs are typically included when the code is waiting on something else, for example, the multiplication or division registers. You'll generally want to jsr/jsl to free space (usually continues blocks of 00 or FF). I usually end up moving an instruction or two into the new area, and replacing the old instruction with a jump.
I just need to include an if/else statement. It's so difficult working with assembly where you get 3 variables max. So ridiculous. Could you imagine trying to write a C++ program, or a webpage where your boss or teacher was like, "ok need you to create the next Amazon, or program Skyrim but it's going to be hard because you can only use 4 registers. Now begin!"Registers are used for things you're immediately working with - once you've finished with those values, you can either discard them or store them to RAM.[/code]
And although I don't have a clue on the inner workings of Chrono Trigger, perhaps there's a way to have both Frog and Glenn share the same spot in the lineup? Like say, have a bit of code that runs on two flags dedicated to the two characters: When flag X is set it looks for Frog's graphical data, if Flag Y is set it looks for Glenn's graphical data.
Will this eventually include the extra content from the DS or is that beyond the scope of the project? Because that would be perfect, and make this like the ultimate Chrono Trigger modification.