Home » Archimedes archive » Apps » Archimedes Basic Compiler 3.00 (1991)(Oak Solutions).adf » Examples/Screen

Examples/Screen

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 » Apps » Archimedes Basic Compiler 3.00 (1991)(Oak Solutions).adf
Filename: Examples/Screen
Read OK:
File size: 0283 bytes
Load address: FFFFFB43
Exec address: 5B79038D
File contents
   10 REM >Examples.Screen
   20
   30REM {MODULE TITLE    DemoModule}
   40REM {MODULE VERSION  1.00}
   50REM {MODULE TYPE     SERVICE}
   60REM {MODULE COMMAND  Screen 1}
   70REM {MODULE HELP     sets the screen background colour}
   80REM {MODULE MEMORY = 8192}
   90
  100I% = INSTR(LINE$," ")
  110
  120Command$ = LEFT$(LINE$,I%-1)
  130
  140Command$ = FNUPPER_case(Command$)
  150
  160CASE Command$ OF
  170WHEN "RED"     : COLOUR 0,1
  180WHEN "YELLOW"  : COLOUR 0,3
  190WHEN "GREEN"   : COLOUR 0,2
  200WHEN "BLUE"    : COLOUR 0,4
  210OTHERWISE
  220ERROR 1,"Bad Colour"
  230ENDCASE
  240
  250END
  260
  270DEF FNUPPER_case(A$)
  280LOCAL I%,B$,C$
  290FOR I% = 1 TO LEN(A$)
  300C$ = MID$(A$,I%,1)
  310IF "a"<=C$ AND C$<="z" THEN
  320  C$ = CHR$(ASC(C$)-32)
  330  ENDIF
  340  B$+=C$
  350  NEXT
  360  =B$
  370

 � >Examples.Screen

"� {MODULE TITLE    DemoModule}
(� {MODULE VERSION  1.00}
2� {MODULE TYPE     SERVICE}
< � {MODULE COMMAND  Screen 1}
F9� {MODULE HELP     sets the screen background colour}
P� {MODULE MEMORY = 8192}
Z
dI% = ��$," ")
n
xCommand$ = ��$,I%-1)
�
�$Command$ = �UPPER_case(Command$)
�
�Ȏ Command$ �
�� "RED"     : � 0,1
�� "YELLOW"  : � 0,3
�� "GREEN"   : � 0,2
�� "BLUE"    : � 0,4
�
�� 1,"Bad Colour"
��
�
��

� �UPPER_case(A$)
� I%,B$,C$
"� I% = 1 � �(A$)
,C$ = �A$,I%,1)
6� "a"<=C$ � C$<="z" �
@  C$ = �(�(C$)-32)
J  �
T  B$+=C$
^  �
h	  =B$
r
�
00000000  0d 00 0a 17 20 f4 20 3e  45 78 61 6d 70 6c 65 73  |.... . >Examples|
00000010  2e 53 63 72 65 65 6e 0d  00 14 04 0d 00 1e 22 f4  |.Screen.......".|
00000020  20 7b 4d 4f 44 55 4c 45  20 54 49 54 4c 45 20 20  | {MODULE TITLE  |
00000030  20 20 44 65 6d 6f 4d 6f  64 75 6c 65 7d 0d 00 28  |  DemoModule}..(|
00000040  1c f4 20 7b 4d 4f 44 55  4c 45 20 56 45 52 53 49  |.. {MODULE VERSI|
00000050  4f 4e 20 20 31 2e 30 30  7d 0d 00 32 1f f4 20 7b  |ON  1.00}..2.. {|
00000060  4d 4f 44 55 4c 45 20 54  59 50 45 20 20 20 20 20  |MODULE TYPE     |
00000070  53 45 52 56 49 43 45 7d  0d 00 3c 20 f4 20 7b 4d  |SERVICE}..< . {M|
00000080  4f 44 55 4c 45 20 43 4f  4d 4d 41 4e 44 20 20 53  |ODULE COMMAND  S|
00000090  63 72 65 65 6e 20 31 7d  0d 00 46 39 f4 20 7b 4d  |creen 1}..F9. {M|
000000a0  4f 44 55 4c 45 20 48 45  4c 50 20 20 20 20 20 73  |ODULE HELP     s|
000000b0  65 74 73 20 74 68 65 20  73 63 72 65 65 6e 20 62  |ets the screen b|
000000c0  61 63 6b 67 72 6f 75 6e  64 20 63 6f 6c 6f 75 72  |ackground colour|
000000d0  7d 0d 00 50 1c f4 20 7b  4d 4f 44 55 4c 45 20 4d  |}..P.. {MODULE M|
000000e0  45 4d 4f 52 59 20 3d 20  38 31 39 32 7d 0d 00 5a  |EMORY = 8192}..Z|
000000f0  04 0d 00 64 11 49 25 20  3d 20 a7 86 24 2c 22 20  |...d.I% = ..$," |
00000100  22 29 0d 00 6e 04 0d 00  78 18 43 6f 6d 6d 61 6e  |")..n...x.Comman|
00000110  64 24 20 3d 20 c0 86 24  2c 49 25 2d 31 29 0d 00  |d$ = ..$,I%-1)..|
00000120  82 04 0d 00 8c 24 43 6f  6d 6d 61 6e 64 24 20 3d  |.....$Command$ =|
00000130  20 a4 55 50 50 45 52 5f  63 61 73 65 28 43 6f 6d  | .UPPER_case(Com|
00000140  6d 61 6e 64 24 29 0d 00  96 04 0d 00 a0 11 c8 8e  |mand$)..........|
00000150  20 43 6f 6d 6d 61 6e 64  24 20 ca 0d 00 aa 17 c9  | Command$ ......|
00000160  20 22 52 45 44 22 20 20  20 20 20 3a 20 fb 20 30  | "RED"     : . 0|
00000170  2c 31 0d 00 b4 17 c9 20  22 59 45 4c 4c 4f 57 22  |,1..... "YELLOW"|
00000180  20 20 3a 20 fb 20 30 2c  33 0d 00 be 17 c9 20 22  |  : . 0,3..... "|
00000190  47 52 45 45 4e 22 20 20  20 3a 20 fb 20 30 2c 32  |GREEN"   : . 0,2|
000001a0  0d 00 c8 17 c9 20 22 42  4c 55 45 22 20 20 20 20  |..... "BLUE"    |
000001b0  3a 20 fb 20 30 2c 34 0d  00 d2 05 7f 0d 00 dc 14  |: . 0,4.........|
000001c0  85 20 31 2c 22 42 61 64  20 43 6f 6c 6f 75 72 22  |. 1,"Bad Colour"|
000001d0  0d 00 e6 05 cb 0d 00 f0  04 0d 00 fa 05 e0 0d 01  |................|
000001e0  04 04 0d 01 0e 15 dd 20  a4 55 50 50 45 52 5f 63  |....... .UPPER_c|
000001f0  61 73 65 28 41 24 29 0d  01 18 0e ea 20 49 25 2c  |ase(A$)..... I%,|
00000200  42 24 2c 43 24 0d 01 22  14 e3 20 49 25 20 3d 20  |B$,C$..".. I% = |
00000210  31 20 b8 20 a9 28 41 24  29 0d 01 2c 12 43 24 20  |1 . .(A$)..,.C$ |
00000220  3d 20 c1 41 24 2c 49 25  2c 31 29 0d 01 36 19 e7  |= .A$,I%,1)..6..|
00000230  20 22 61 22 3c 3d 43 24  20 80 20 43 24 3c 3d 22  | "a"<=C$ . C$<="|
00000240  7a 22 20 8c 0d 01 40 16  20 20 43 24 20 3d 20 bd  |z" ...@.  C$ = .|
00000250  28 97 28 43 24 29 2d 33  32 29 0d 01 4a 07 20 20  |(.(C$)-32)..J.  |
00000260  cd 0d 01 54 0c 20 20 42  24 2b 3d 43 24 0d 01 5e  |...T.  B$+=C$..^|
00000270  07 20 20 ed 0d 01 68 09  20 20 3d 42 24 0d 01 72  |.  ...h.  =B$..r|
00000280  04 0d ff                                          |...|
00000283