gozar Posted January 3, 2014 Share Posted January 3, 2014 Is there a way to save the config in Action!? Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 4, 2014 Share Posted January 4, 2014 I don't think so. I typically patch the ROM file to achieve that. Quote Link to comment Share on other sites More sharing options...
gozar Posted January 4, 2014 Author Share Posted January 4, 2014 That's what I was thinking, at first. Then I noticed that I can change memory locations when I compile with the SET directive. Any idea where the options are stored in memory? I just want to set the left margin and turn off the screen. Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 6, 2014 Share Posted January 6, 2014 (edited) Some of the options are stored in $04xx. The margin is simply the standard OS zero page location (82 = $52). That's also why it is reset to 2 when pressing "RESET". Edited January 6, 2014 by JAC! Quote Link to comment Share on other sites More sharing options...
gozar Posted January 6, 2014 Author Share Posted January 6, 2014 Ok, here's my test. I created a Action! file on D1: called simply S: proc main() BYTE bell=$4E0 BYTE screen=$4F1 BYTE lmargin=$52 lmargin=0 bell=$60 ;off-$60,on-$4C screen=$00 ;off-$00,on-$22 return I load Action!, hit <CONTROL><SHIFT>M, then type R"D1:S" It works, configures Action! how I like it. Two more questions: 1. Any idea how to set it to INSERT mode? I couldn't find anything that changed in the $400 block. 2. Does anyone know how to set the default directory in MyDOS from Action!? The docs say to use CIO function code 41. I have no idea how to do that... :-) 1 Quote Link to comment Share on other sites More sharing options...
a8isa1 Posted January 7, 2014 Share Posted January 7, 2014 (edited) Ok, here's my test. I created a Action! file on D1: called simply S: proc main() BYTE bell=$4E0 BYTE screen=$4F1 BYTE lmargin=$52 lmargin=0 bell=$60 ;off-$60,on-$4C screen=$00 ;off-$00,on-$22 return I load Action!, hit <CONTROL><SHIFT>M, then type R"D1:S" It works, configures Action! how I like it. Two more questions: 1. Any idea how to set it to INSERT mode? I couldn't find anything that changed in the $400 block. 2. Does anyone know how to set the default directory in MyDOS from Action!? The docs say to use CIO function code 41. I have no idea how to do that... :-) Well done! I always wondered how to do that. This works for setting current directory. Proc Main() xio(1,0,41,0,0,"D1:<folder>") ; where <folder> is the name of your subdirectory return The first number ('1' above) has to be a currently unused channel, I believe. For SpartaDOS the command number is 42 instead of 41 Edited January 7, 2014 by a8isa1 2 Quote Link to comment Share on other sites More sharing options...
gozar Posted January 7, 2014 Author Share Posted January 7, 2014 xio command works great! Current code (turned off key click too) proc main() BYTE bell=$4E0 BYTE screen=$4F1 BYTE lmargin=$52 BYTE noclik=$2DB lmargin=0 bell=$60 ;off-$60,on-$4C screen=$00 ;off-$00,on-$22 noclik=1 XIO(1,0,41,0,0,"D1:ACTION") return I also put it in the default directory (D1: for my MyIDE+Flash, D8: when in the Ramdisk) so now I start Action!, go to the monitor and type R"S". The last piece of the puzzle for me is to set it to insert mode... If I can find where that is stored. 1 Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 7, 2014 Share Posted January 7, 2014 Hi, had a short look: INSERT/REPLACE is store in $9d ($00 vs. $ff) 1 Quote Link to comment Share on other sites More sharing options...
gozar Posted January 7, 2014 Author Share Posted January 7, 2014 PERFECT! proc main() BYTE bell=$4E0 BYTE screen=$4F1 BYTE lmargin=$52 BYTE noclik=$2DB BYTE insert=$9D lmargin=0 bell=$60 ;off-$60,on-$4C screen=$00 ;off-$00,on-$22 noclik=1 insert=$FF ;off-$00,on-$FF XIO(2,0,41,0,0,"D1:SRC") return How do you find these locations? I don't even know where to start! And my next goal (after I finish my game) is to figure out some way to make the bottom line in the editor useful. (It would be nice to have a indicator on whether I'm in Insert or Replace mode, for example.) Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 7, 2014 Share Posted January 7, 2014 How do you find these locations? I don't even know where to start! One approach is to home-in on an area of RAM (in this case $04xx) and using an emulator, watch for any bytes which change when (say) insert mode is toggled. Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 8, 2014 Share Posted January 8, 2014 Yes, that's exactly what I do in these cases. "WRITE 0000 ffff C:\temp\first.bin" in Atari800Win before and after the change. Then I use VBinDiff. You have to igore some ZP locations , the stack and the screen, the rest is what is interesting. http://www.cjmweb.net/vbindiff/ 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.