Home » Archimedes archive » Acorn User » AU 1995-05.adf » !PhoneDay_PhoneDay » Quantum/!Executor/Calculate

Quantum/!Executor/Calculate

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 » Acorn User » AU 1995-05.adf » !PhoneDay_PhoneDay
Filename: Quantum/!Executor/Calculate
Read OK:
File size: 021B bytes
Load address: 0000
Exec address: 0000
File contents
    1DIM buffer% 256
    2
    3SYS "OS_GSTrans","<KSfW>",buffer%,256
    4framewidth=VAL( FNgetstring(buffer%))
    5
    6SYS "OS_GSTrans","<KSgW>",buffer%,256
    7graphicwidth=VAL( FNgetstring(buffer%))
    8
    9SYS "OS_GSTrans","<KSgH>",buffer%,256
   10graphicheight=VAL( FNgetstring(buffer%))
   11
   12result=(framewidth/(graphicwidth/graphicheight))*1000
   13result$=STR$(INT result/1000)
   14
   15OSCLI("SET KSfH "+result$)
   16
   17
   18END
   19:
   20DEF FNgetstring(ptr%)
   21p$=""
   22 WHILE (?ptr%>31 AND ?ptr%<256) AND LEN(p$)<255
   23  c%=?ptr%
   24  p$+=CHR$ c%
   25  ptr%+=1
   26 ENDWHILE
   27=p$
   28:
� buffer% 256

(ș "OS_GSTrans","<KSfW>",buffer%,256
&framewidth=�( �getstring(buffer%))

(ș "OS_GSTrans","<KSgW>",buffer%,256
(graphicwidth=�( �getstring(buffer%))

	(ș "OS_GSTrans","<KSgH>",buffer%,256

)graphicheight=�( �getstring(buffer%))

9result=(framewidth/(graphicwidth/graphicheight))*1000

result$=�(� result/1000)

�("SET KSfH "+result$)


�
:
� �getstring(ptr%)
	p$=""
* ȕ (?ptr%>31 � ?ptr%<256) � �(p$)<255
  c%=?ptr%
  p$+=� c%

  ptr%+=1
 �
=p$
:
�
00000000  0d 00 01 11 de 20 62 75  66 66 65 72 25 20 32 35  |..... buffer% 25|
00000010  36 0d 00 02 04 0d 00 03  28 c8 99 20 22 4f 53 5f  |6.......(.. "OS_|
00000020  47 53 54 72 61 6e 73 22  2c 22 3c 4b 53 66 57 3e  |GSTrans","<KSfW>|
00000030  22 2c 62 75 66 66 65 72  25 2c 32 35 36 0d 00 04  |",buffer%,256...|
00000040  26 66 72 61 6d 65 77 69  64 74 68 3d bb 28 20 a4  |&framewidth=.( .|
00000050  67 65 74 73 74 72 69 6e  67 28 62 75 66 66 65 72  |getstring(buffer|
00000060  25 29 29 0d 00 05 04 0d  00 06 28 c8 99 20 22 4f  |%)).......(.. "O|
00000070  53 5f 47 53 54 72 61 6e  73 22 2c 22 3c 4b 53 67  |S_GSTrans","<KSg|
00000080  57 3e 22 2c 62 75 66 66  65 72 25 2c 32 35 36 0d  |W>",buffer%,256.|
00000090  00 07 28 67 72 61 70 68  69 63 77 69 64 74 68 3d  |..(graphicwidth=|
000000a0  bb 28 20 a4 67 65 74 73  74 72 69 6e 67 28 62 75  |.( .getstring(bu|
000000b0  66 66 65 72 25 29 29 0d  00 08 04 0d 00 09 28 c8  |ffer%)).......(.|
000000c0  99 20 22 4f 53 5f 47 53  54 72 61 6e 73 22 2c 22  |. "OS_GSTrans","|
000000d0  3c 4b 53 67 48 3e 22 2c  62 75 66 66 65 72 25 2c  |<KSgH>",buffer%,|
000000e0  32 35 36 0d 00 0a 29 67  72 61 70 68 69 63 68 65  |256...)graphiche|
000000f0  69 67 68 74 3d bb 28 20  a4 67 65 74 73 74 72 69  |ight=.( .getstri|
00000100  6e 67 28 62 75 66 66 65  72 25 29 29 0d 00 0b 04  |ng(buffer%))....|
00000110  0d 00 0c 39 72 65 73 75  6c 74 3d 28 66 72 61 6d  |...9result=(fram|
00000120  65 77 69 64 74 68 2f 28  67 72 61 70 68 69 63 77  |ewidth/(graphicw|
00000130  69 64 74 68 2f 67 72 61  70 68 69 63 68 65 69 67  |idth/graphicheig|
00000140  68 74 29 29 2a 31 30 30  30 0d 00 0d 1c 72 65 73  |ht))*1000....res|
00000150  75 6c 74 24 3d c3 28 a8  20 72 65 73 75 6c 74 2f  |ult$=.(. result/|
00000160  31 30 30 30 29 0d 00 0e  04 0d 00 0f 1a ff 28 22  |1000).........("|
00000170  53 45 54 20 4b 53 66 48  20 22 2b 72 65 73 75 6c  |SET KSfH "+resul|
00000180  74 24 29 0d 00 10 04 0d  00 11 04 0d 00 12 05 e0  |t$).............|
00000190  0d 00 13 05 3a 0d 00 14  16 dd 20 a4 67 65 74 73  |....:..... .gets|
000001a0  74 72 69 6e 67 28 70 74  72 25 29 0d 00 15 09 70  |tring(ptr%)....p|
000001b0  24 3d 22 22 0d 00 16 2a  20 c8 95 20 28 3f 70 74  |$=""...* .. (?pt|
000001c0  72 25 3e 33 31 20 80 20  3f 70 74 72 25 3c 32 35  |r%>31 . ?ptr%<25|
000001d0  36 29 20 80 20 a9 28 70  24 29 3c 32 35 35 0d 00  |6) . .(p$)<255..|
000001e0  17 0e 20 20 63 25 3d 3f  70 74 72 25 0d 00 18 0e  |..  c%=?ptr%....|
000001f0  20 20 70 24 2b 3d bd 20  63 25 0d 00 19 0d 20 20  |  p$+=. c%....  |
00000200  70 74 72 25 2b 3d 31 0d  00 1a 06 20 ce 0d 00 1b  |ptr%+=1.... ....|
00000210  07 3d 70 24 0d 00 1c 05  3a 0d ff                 |.=p$....:..|
0000021b