In my journey along the asm learning trail, I have been listing the effects of b_calls on the various registers. Having listed a few of the most-used, along with their Romcall addresses, I am amazed that many Romcalls are only 3 bytes long. Since the last byte must be 'ret'. it doesn't appear to leave much for any serious code. (unless it calls yet another routine) It would be interesting to examine a list of disassembled Romcalls. Is such a list available ? Failing that, it should be relatively simple to examine the contents of Romcall addresses and disassemble them manually. as a matter of interest, in the old days of the Commodore64, there was available a cartridge which would merrily disassemble machine language.
Generally ROM calls do indeed call another routine. The reason for this is so that the actual routines can be expanded or shrunk in OS updates without having to change the addresses of the ROM calls, which would mean breaking compatibility with all programs made for previous OS versions.

There isn't really a place to look for disassembled code (I believe the OS license agreement specifically forbids reverse-engineering it or something to that effect), but you can check out BrandonW's Pterodactyl utility with the IDA disassembler. (Unfortunately, IDA isn't free.)
Deep Thought wrote:
Generally ROM calls do indeed call another routine. The reason for this is so that the actual routines can be expanded or shrunk in OS updates without having to change the addresses of the ROM calls, which would mean breaking compatibility with all programs made for previous OS versions.


That does make a lot sense, I'm chuffed that I thought of the possibility.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement