Home » Archimedes archive » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95 » !AWApr95/Goodies/Draw/!DrawBasic/Info/Commands/Scales

!AWApr95/Goodies/Draw/!DrawBasic/Info/Commands/Scales

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95
Filename: !AWApr95/Goodies/Draw/!DrawBasic/Info/Commands/Scales
Read OK:
File size: 0AA2 bytes
Load address: 0000
Exec address: 0000
File contents
Resources.Scales :                       

 Scales are discussed in Chapter 8 of the DrawBasic book. Pages 67-78
  
 ----------------------------------------------------------------------------- 
  � SCREEN  
  --------                                  
  �Screen(a,b,u,v)                         
  �ScreenL(a,b,u,v)           
 ----------------------------------------------------------------------------- 
  � AXES  
  --------         
 �Axes(width)                    �@Axes                 �Axes                  
  �AxesWidth

 �AxesCaps(point%,capwidth%)
   �AxesCapPoint         
   �AxesCapWidth
               
 �AxesExtend(left%,right%,top%,down%)   
  �AxesExtendB  
  �AxesExtendL
  �AxesExtendR
  �AxesExtendT
 ----------------------------------------------------------------------------- 
  � SCALES  
  --------
           
 �AxesScale(HDiv%,HSubDiv%,VDiv%,VSubDiv%) 
 �FrameScale(HDiv%,HSubDiv%,VDiv%,VSubDiv%) 
 �Grid(HDiv%,HSubDiv%,VDiv%,VSubDiv%)
 
    �HScale(nx%,y,index%,tick_length,width)
    �@HScale(nx%,y,index%,tick_length)
    �HScaleSize(Nx%,nx%)
    �HLabels(nx%,y,index%)
    �HWidth(Wx,wx)
    �HLength(Lx%,lx%)
     �HDiv                      
     �HLength    
     �HScale(nx%,y,index%,tick_length)        
     �HSubDiv                  
     �HSubLength  
     �HSubWidth         
     �HWidth           
 
    �VScale(ny%,x,index%,tick_length,width)  
    �@VScale(ny%,x,index%,tick_length)
    �VScaleSize(Ny%,ny%)
    �VLabels(ny%,x,index%)
    �VWidth(Wy%,wy%)
    �VLength(Ly%,ly%)              
     �VDiv                       
     �VLength    
     �VScale(ny%,x,index%,tick_length)        
     �VSubDiv                    
     �VSubLength   
     �VSubWidth       
     �VWidth    

 �Scales(Nx%,nx%,Ny%,ny%)                 
 �ScalesLength(Lx%,lx%,Ly%,ly%)           
 �ScalesWidth(Wx,wx,Wy,wy)
               
  �Label(y)                  
 
 -----------------------------------------------------------------------------                  
                        
 
                      
                         
       
 �HDiv=!(HIMEM+136)                       
 �HLength=!(HIMEM+152)*640/FNY_Scale      
 �HScale(nx%,y,index%,tick_length)        
 �HSubDiv=!(HIMEM+140)                    
 �HSubLength=!(HIMEM+156)*640/FNY_Scale   
 �HSubWidth=!(HIMEM+172)/(1<<16)          
 �HWidth=!(HIMEM+168)/(1<<16)             
 �Label(y)                                
 �VDiv=!(HIMEM+144)                       
 �VLength=!(HIMEM+160)*640/FNX_Scale      
 �VScale(ny%,x,index%,tick_length)        
 �VSubDiv=!(HIMEM+148)                    
 �VSubLength=!(HIMEM+164)*640/FNX_Scale   
 �VSubWidth=!(HIMEM+180)/(1<<16)          
 �VWidth=!(HIMEM+176)/(1<<16)             

00000000  52 65 73 6f 75 72 63 65  73 2e 53 63 61 6c 65 73  |Resources.Scales|
00000010  20 3a 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | :              |
00000020  20 20 20 20 20 20 20 20  20 0a 0a 20 53 63 61 6c  |         .. Scal|
00000030  65 73 20 61 72 65 20 64  69 73 63 75 73 73 65 64  |es are discussed|
00000040  20 69 6e 20 43 68 61 70  74 65 72 20 38 20 6f 66  | in Chapter 8 of|
00000050  20 74 68 65 20 44 72 61  77 42 61 73 69 63 20 62  | the DrawBasic b|
00000060  6f 6f 6b 2e 20 50 61 67  65 73 20 36 37 2d 37 38  |ook. Pages 67-78|
00000070  0a 20 20 0a 20 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |.  . -----------|
00000080  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000000c0  2d 2d 20 0a 20 20 8f 20  53 43 52 45 45 4e 20 20  |-- .  . SCREEN  |
000000d0  0a 20 20 2d 2d 2d 2d 2d  2d 2d 2d 20 20 20 20 20  |.  --------     |
000000e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000000f0  20 20 20 20 20 20 20 20  20 20 20 20 20 0a 20 20  |             .  |
00000100  b7 53 63 72 65 65 6e 28  61 2c 62 2c 75 2c 76 29  |.Screen(a,b,u,v)|
00000110  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000120  20 20 20 20 20 20 20 20  20 0a 20 20 b7 53 63 72  |         .  .Scr|
00000130  65 65 6e 4c 28 61 2c 62  2c 75 2c 76 29 20 20 20  |eenL(a,b,u,v)   |
00000140  20 20 20 20 20 20 20 20  0a 20 2d 2d 2d 2d 2d 2d  |        . ------|
00000150  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000190  2d 2d 2d 2d 2d 2d 2d 20  0a 20 20 8f 20 41 58 45  |------- .  . AXE|
000001a0  53 20 20 0a 20 20 2d 2d  2d 2d 2d 2d 2d 2d 20 20  |S  .  --------  |
000001b0  20 20 20 20 20 20 20 0a  20 b7 41 78 65 73 28 77  |       . .Axes(w|
000001c0  69 64 74 68 29 20 20 20  20 20 20 20 20 20 20 20  |idth)           |
000001d0  20 20 20 20 20 20 20 20  20 b7 40 41 78 65 73 20  |         .@Axes |
000001e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000001f0  bb 41 78 65 73 20 20 20  20 20 20 20 20 20 20 20  |.Axes           |
00000200  20 20 20 20 20 20 20 0a  20 20 bb 41 78 65 73 57  |       .  .AxesW|
00000210  69 64 74 68 0a 0a 20 b7  41 78 65 73 43 61 70 73  |idth.. .AxesCaps|
00000220  28 70 6f 69 6e 74 25 2c  63 61 70 77 69 64 74 68  |(point%,capwidth|
00000230  25 29 0a 20 20 20 bb 41  78 65 73 43 61 70 50 6f  |%).   .AxesCapPo|
00000240  69 6e 74 20 20 20 20 20  20 20 20 20 0a 20 20 20  |int         .   |
00000250  bb 41 78 65 73 43 61 70  57 69 64 74 68 0a 20 20  |.AxesCapWidth.  |
00000260  20 20 20 20 20 20 20 20  20 20 20 20 20 0a 20 b7  |             . .|
00000270  41 78 65 73 45 78 74 65  6e 64 28 6c 65 66 74 25  |AxesExtend(left%|
00000280  2c 72 69 67 68 74 25 2c  74 6f 70 25 2c 64 6f 77  |,right%,top%,dow|
00000290  6e 25 29 20 20 20 0a 20  20 bb 41 78 65 73 45 78  |n%)   .  .AxesEx|
000002a0  74 65 6e 64 42 20 20 0a  20 20 bb 41 78 65 73 45  |tendB  .  .AxesE|
000002b0  78 74 65 6e 64 4c 0a 20  20 bb 41 78 65 73 45 78  |xtendL.  .AxesEx|
000002c0  74 65 6e 64 52 0a 20 20  bb 41 78 65 73 45 78 74  |tendR.  .AxesExt|
000002d0  65 6e 64 54 0a 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |endT. ----------|
000002e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00000320  2d 2d 2d 20 0a 20 20 8f  20 53 43 41 4c 45 53 20  |--- .  . SCALES |
00000330  20 0a 20 20 2d 2d 2d 2d  2d 2d 2d 2d 0a 20 20 20  | .  --------.   |
00000340  20 20 20 20 20 20 20 20  0a 20 b7 41 78 65 73 53  |        . .AxesS|
00000350  63 61 6c 65 28 48 44 69  76 25 2c 48 53 75 62 44  |cale(HDiv%,HSubD|
00000360  69 76 25 2c 56 44 69 76  25 2c 56 53 75 62 44 69  |iv%,VDiv%,VSubDi|
00000370  76 25 29 20 0a 20 b7 46  72 61 6d 65 53 63 61 6c  |v%) . .FrameScal|
00000380  65 28 48 44 69 76 25 2c  48 53 75 62 44 69 76 25  |e(HDiv%,HSubDiv%|
00000390  2c 56 44 69 76 25 2c 56  53 75 62 44 69 76 25 29  |,VDiv%,VSubDiv%)|
000003a0  20 0a 20 b7 47 72 69 64  28 48 44 69 76 25 2c 48  | . .Grid(HDiv%,H|
000003b0  53 75 62 44 69 76 25 2c  56 44 69 76 25 2c 56 53  |SubDiv%,VDiv%,VS|
000003c0  75 62 44 69 76 25 29 0a  20 0a 20 20 20 20 b7 48  |ubDiv%). .    .H|
000003d0  53 63 61 6c 65 28 6e 78  25 2c 79 2c 69 6e 64 65  |Scale(nx%,y,inde|
000003e0  78 25 2c 74 69 63 6b 5f  6c 65 6e 67 74 68 2c 77  |x%,tick_length,w|
000003f0  69 64 74 68 29 0a 20 20  20 20 b7 40 48 53 63 61  |idth).    .@HSca|
00000400  6c 65 28 6e 78 25 2c 79  2c 69 6e 64 65 78 25 2c  |le(nx%,y,index%,|
00000410  74 69 63 6b 5f 6c 65 6e  67 74 68 29 0a 20 20 20  |tick_length).   |
00000420  20 b7 48 53 63 61 6c 65  53 69 7a 65 28 4e 78 25  | .HScaleSize(Nx%|
00000430  2c 6e 78 25 29 0a 20 20  20 20 b7 48 4c 61 62 65  |,nx%).    .HLabe|
00000440  6c 73 28 6e 78 25 2c 79  2c 69 6e 64 65 78 25 29  |ls(nx%,y,index%)|
00000450  0a 20 20 20 20 b7 48 57  69 64 74 68 28 57 78 2c  |.    .HWidth(Wx,|
00000460  77 78 29 0a 20 20 20 20  b7 48 4c 65 6e 67 74 68  |wx).    .HLength|
00000470  28 4c 78 25 2c 6c 78 25  29 0a 20 20 20 20 20 bb  |(Lx%,lx%).     .|
00000480  48 44 69 76 20 20 20 20  20 20 20 20 20 20 20 20  |HDiv            |
00000490  20 20 20 20 20 20 20 20  20 20 0a 20 20 20 20 20  |          .     |
000004a0  bb 48 4c 65 6e 67 74 68  20 20 20 20 0a 20 20 20  |.HLength    .   |
000004b0  20 20 bb 48 53 63 61 6c  65 28 6e 78 25 2c 79 2c  |  .HScale(nx%,y,|
000004c0  69 6e 64 65 78 25 2c 74  69 63 6b 5f 6c 65 6e 67  |index%,tick_leng|
000004d0  74 68 29 20 20 20 20 20  20 20 20 0a 20 20 20 20  |th)        .    |
000004e0  20 bb 48 53 75 62 44 69  76 20 20 20 20 20 20 20  | .HSubDiv       |
000004f0  20 20 20 20 20 20 20 20  20 20 20 0a 20 20 20 20  |           .    |
00000500  20 bb 48 53 75 62 4c 65  6e 67 74 68 20 20 0a 20  | .HSubLength  . |
00000510  20 20 20 20 bb 48 53 75  62 57 69 64 74 68 20 20  |    .HSubWidth  |
00000520  20 20 20 20 20 20 20 0a  20 20 20 20 20 bb 48 57  |       .     .HW|
00000530  69 64 74 68 20 20 20 20  20 20 20 20 20 20 20 0a  |idth           .|
00000540  20 0a 20 20 20 20 b7 56  53 63 61 6c 65 28 6e 79  | .    .VScale(ny|
00000550  25 2c 78 2c 69 6e 64 65  78 25 2c 74 69 63 6b 5f  |%,x,index%,tick_|
00000560  6c 65 6e 67 74 68 2c 77  69 64 74 68 29 20 20 0a  |length,width)  .|
00000570  20 20 20 20 b7 40 56 53  63 61 6c 65 28 6e 79 25  |    .@VScale(ny%|
00000580  2c 78 2c 69 6e 64 65 78  25 2c 74 69 63 6b 5f 6c  |,x,index%,tick_l|
00000590  65 6e 67 74 68 29 0a 20  20 20 20 b7 56 53 63 61  |ength).    .VSca|
000005a0  6c 65 53 69 7a 65 28 4e  79 25 2c 6e 79 25 29 0a  |leSize(Ny%,ny%).|
000005b0  20 20 20 20 b7 56 4c 61  62 65 6c 73 28 6e 79 25  |    .VLabels(ny%|
000005c0  2c 78 2c 69 6e 64 65 78  25 29 0a 20 20 20 20 b7  |,x,index%).    .|
000005d0  56 57 69 64 74 68 28 57  79 25 2c 77 79 25 29 0a  |VWidth(Wy%,wy%).|
000005e0  20 20 20 20 b7 56 4c 65  6e 67 74 68 28 4c 79 25  |    .VLength(Ly%|
000005f0  2c 6c 79 25 29 20 20 20  20 20 20 20 20 20 20 20  |,ly%)           |
00000600  20 20 20 0a 20 20 20 20  20 bb 56 44 69 76 20 20  |   .     .VDiv  |
00000610  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000620  20 20 20 20 20 0a 20 20  20 20 20 bb 56 4c 65 6e  |     .     .VLen|
00000630  67 74 68 20 20 20 20 0a  20 20 20 20 20 bb 56 53  |gth    .     .VS|
00000640  63 61 6c 65 28 6e 79 25  2c 78 2c 69 6e 64 65 78  |cale(ny%,x,index|
00000650  25 2c 74 69 63 6b 5f 6c  65 6e 67 74 68 29 20 20  |%,tick_length)  |
00000660  20 20 20 20 20 20 0a 20  20 20 20 20 bb 56 53 75  |      .     .VSu|
00000670  62 44 69 76 20 20 20 20  20 20 20 20 20 20 20 20  |bDiv            |
00000680  20 20 20 20 20 20 20 20  0a 20 20 20 20 20 bb 56  |        .     .V|
00000690  53 75 62 4c 65 6e 67 74  68 20 20 20 0a 20 20 20  |SubLength   .   |
000006a0  20 20 bb 56 53 75 62 57  69 64 74 68 20 20 20 20  |  .VSubWidth    |
000006b0  20 20 20 0a 20 20 20 20  20 bb 56 57 69 64 74 68  |   .     .VWidth|
000006c0  20 20 20 20 0a 0a 20 b7  53 63 61 6c 65 73 28 4e  |    .. .Scales(N|
000006d0  78 25 2c 6e 78 25 2c 4e  79 25 2c 6e 79 25 29 20  |x%,nx%,Ny%,ny%) |
000006e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000006f0  0a 20 b7 53 63 61 6c 65  73 4c 65 6e 67 74 68 28  |. .ScalesLength(|
00000700  4c 78 25 2c 6c 78 25 2c  4c 79 25 2c 6c 79 25 29  |Lx%,lx%,Ly%,ly%)|
00000710  20 20 20 20 20 20 20 20  20 20 20 0a 20 b7 53 63  |           . .Sc|
00000720  61 6c 65 73 57 69 64 74  68 28 57 78 2c 77 78 2c  |alesWidth(Wx,wx,|
00000730  57 79 2c 77 79 29 0a 20  20 20 20 20 20 20 20 20  |Wy,wy).         |
00000740  20 20 20 20 20 20 0a 20  20 bb 4c 61 62 65 6c 28  |      .  .Label(|
00000750  79 29 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |y)              |
00000760  20 20 20 20 0a 20 0a 20  2d 2d 2d 2d 2d 2d 2d 2d  |    . . --------|
00000770  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
000007b0  2d 2d 2d 2d 2d 20 20 20  20 20 20 20 20 20 20 20  |-----           |
000007c0  20 20 20 20 20 20 20 0a  20 20 20 20 20 20 20 20  |       .        |
000007d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000007e0  0a 20 0a 20 20 20 20 20  20 20 20 20 20 20 20 20  |. .             |
000007f0  20 20 20 20 20 20 20 20  20 0a 20 20 20 20 20 20  |         .      |
00000800  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000810  20 20 20 0a 20 20 20 20  20 20 20 0a 20 bb 48 44  |   .       . .HD|
00000820  69 76 3d 21 28 48 49 4d  45 4d 2b 31 33 36 29 20  |iv=!(HIMEM+136) |
00000830  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000840  20 20 20 20 20 20 0a 20  bb 48 4c 65 6e 67 74 68  |      . .HLength|
00000850  3d 21 28 48 49 4d 45 4d  2b 31 35 32 29 2a 36 34  |=!(HIMEM+152)*64|
00000860  30 2f 46 4e 59 5f 53 63  61 6c 65 20 20 20 20 20  |0/FNY_Scale     |
00000870  20 0a 20 bb 48 53 63 61  6c 65 28 6e 78 25 2c 79  | . .HScale(nx%,y|
00000880  2c 69 6e 64 65 78 25 2c  74 69 63 6b 5f 6c 65 6e  |,index%,tick_len|
00000890  67 74 68 29 20 20 20 20  20 20 20 20 0a 20 bb 48  |gth)        . .H|
000008a0  53 75 62 44 69 76 3d 21  28 48 49 4d 45 4d 2b 31  |SubDiv=!(HIMEM+1|
000008b0  34 30 29 20 20 20 20 20  20 20 20 20 20 20 20 20  |40)             |
000008c0  20 20 20 20 20 20 20 0a  20 bb 48 53 75 62 4c 65  |       . .HSubLe|
000008d0  6e 67 74 68 3d 21 28 48  49 4d 45 4d 2b 31 35 36  |ngth=!(HIMEM+156|
000008e0  29 2a 36 34 30 2f 46 4e  59 5f 53 63 61 6c 65 20  |)*640/FNY_Scale |
000008f0  20 20 0a 20 bb 48 53 75  62 57 69 64 74 68 3d 21  |  . .HSubWidth=!|
00000900  28 48 49 4d 45 4d 2b 31  37 32 29 2f 28 31 3c 3c  |(HIMEM+172)/(1<<|
00000910  31 36 29 20 20 20 20 20  20 20 20 20 20 0a 20 bb  |16)          . .|
00000920  48 57 69 64 74 68 3d 21  28 48 49 4d 45 4d 2b 31  |HWidth=!(HIMEM+1|
00000930  36 38 29 2f 28 31 3c 3c  31 36 29 20 20 20 20 20  |68)/(1<<16)     |
00000940  20 20 20 20 20 20 20 20  0a 20 bb 4c 61 62 65 6c  |        . .Label|
00000950  28 79 29 20 20 20 20 20  20 20 20 20 20 20 20 20  |(y)             |
00000960  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000970  20 20 20 0a 20 bb 56 44  69 76 3d 21 28 48 49 4d  |   . .VDiv=!(HIM|
00000980  45 4d 2b 31 34 34 29 20  20 20 20 20 20 20 20 20  |EM+144)         |
00000990  20 20 20 20 20 20 20 20  20 20 20 20 20 20 0a 20  |              . |
000009a0  bb 56 4c 65 6e 67 74 68  3d 21 28 48 49 4d 45 4d  |.VLength=!(HIMEM|
000009b0  2b 31 36 30 29 2a 36 34  30 2f 46 4e 58 5f 53 63  |+160)*640/FNX_Sc|
000009c0  61 6c 65 20 20 20 20 20  20 0a 20 bb 56 53 63 61  |ale      . .VSca|
000009d0  6c 65 28 6e 79 25 2c 78  2c 69 6e 64 65 78 25 2c  |le(ny%,x,index%,|
000009e0  74 69 63 6b 5f 6c 65 6e  67 74 68 29 20 20 20 20  |tick_length)    |
000009f0  20 20 20 20 0a 20 bb 56  53 75 62 44 69 76 3d 21  |    . .VSubDiv=!|
00000a00  28 48 49 4d 45 4d 2b 31  34 38 29 20 20 20 20 20  |(HIMEM+148)     |
00000a10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 0a  |               .|
00000a20  20 bb 56 53 75 62 4c 65  6e 67 74 68 3d 21 28 48  | .VSubLength=!(H|
00000a30  49 4d 45 4d 2b 31 36 34  29 2a 36 34 30 2f 46 4e  |IMEM+164)*640/FN|
00000a40  58 5f 53 63 61 6c 65 20  20 20 0a 20 bb 56 53 75  |X_Scale   . .VSu|
00000a50  62 57 69 64 74 68 3d 21  28 48 49 4d 45 4d 2b 31  |bWidth=!(HIMEM+1|
00000a60  38 30 29 2f 28 31 3c 3c  31 36 29 20 20 20 20 20  |80)/(1<<16)     |
00000a70  20 20 20 20 20 0a 20 bb  56 57 69 64 74 68 3d 21  |     . .VWidth=!|
00000a80  28 48 49 4d 45 4d 2b 31  37 36 29 2f 28 31 3c 3c  |(HIMEM+176)/(1<<|
00000a90  31 36 29 20 20 20 20 20  20 20 20 20 20 20 20 20  |16)             |
00000aa0  0a 0c                                             |..|
00000aa2