Jump to content
gozar

Save Action! config?

Recommended Posts

I don't think so. I typically patch the ROM file to achieve that.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 by JAC!

Share this post


Link to post
Share on other sites

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... :-)

  • Like 1

Share this post


Link to post
Share on other sites

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 by a8isa1
  • Like 2

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

Hi, had a short look: INSERT/REPLACE is store in $9d ($00 vs. $ff)

  • Like 1

Share this post


Link to post
Share on other sites

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.)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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/

  • Like 2

Share this post


Link to post
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...