Home » Archimedes archive » Acorn Computing » 1994 06.adf » 9406 » MsgTrans/MsgTranLib

MsgTrans/MsgTranLib

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 Computing » 1994 06.adf » 9406
Filename: MsgTrans/MsgTranLib
Read OK:
File size: 048A bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > MsgTranLib
   20REM MessageTrans library for BASIC programs
   30REM by Ben Summers
   40
   50
   60DEFPROCmsgtrans_init(filename$)
   70  SYS "MessageTrans_FileInfo", , filename$ TO f%, , size%
   80  IF (f% AND 1) = 0 THEN DIM msg_buffer% size%
   90  DIM msgs% 256
  100  $(msgs%+16) = filename$
  110  SYS "MessageTrans_OpenFile", msgs%, msgs%+16, msg_buffer%
  120  DIM msg_out% 256
  130ENDPROC
  140
  150
  160DEFFNmsgtrans_lookup0(token$)
  170  SYS "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, 0, 0, 0, 0 TO , ,value$
  180= value$
  190
  200DEFFNmsgtrans_lookup1(token$, p0$)
  210  SYS "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, p0$, 0, 0, 0 TO , ,value$
  220= value$
  230
  240DEFFNmsgtrans_lookup2(token$, p0$, p1$)
  250  SYS "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, p0$, p1$, 0, 0 TO , ,value$
  260= value$
  270
  280DEFFNmsgtrans_lookup3(token$, p0$, p1$, p2$)
  290  SYS "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, p0$, p1$, p2$, 0 TO , ,value$
  300= value$
  310
  320DEFFNmsgtrans_lookup4(token$, p0$, p1$, p2$, p3$)
  330  SYS "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, p0$, p1$, p2$, p3$ TO , ,value$
  340= value$
  350
  360
  370DEFPROCmsgtrans_final
  380  SYS "MessageTrans_CloseFile", msgs%
  390ENDPROC
  400
  410

� > MsgTranLib
-� MessageTrans library for BASIC programs
� by Ben Summers
(
2
<��msgtrans_init(filename$)
F;  ș "MessageTrans_FileInfo", , filename$ � f%, , size%
P*  � (f% � 1) = 0 � � msg_buffer% size%
Z  � msgs% 256
d  $(msgs%+16) = filename$
n>  ș "MessageTrans_OpenFile", msgs%, msgs%+16, msg_buffer%
x  � msg_out% 256
��
�
�
�ݤmsgtrans_lookup0(token$)
�T  ș "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, 0, 0, 0, 0 � , ,value$
�= value$
�
�#ݤmsgtrans_lookup1(token$, p0$)
�V  ș "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, p0$, 0, 0, 0 � , ,value$
�= value$
�
�(ݤmsgtrans_lookup2(token$, p0$, p1$)
�X  ș "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, p0$, p1$, 0, 0 � , ,value$
= value$

-ݤmsgtrans_lookup3(token$, p0$, p1$, p2$)
"Z  ș "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, p0$, p1$, p2$, 0 � , ,value$
,= value$
6
@2ݤmsgtrans_lookup4(token$, p0$, p1$, p2$, p3$)
J\  ș "MessageTrans_Lookup", msgs%, token$, msg_out%, 256, p0$, p1$, p2$, p3$ � , ,value$
T= value$
^
h
r��msgtrans_final
|(  ș "MessageTrans_CloseFile", msgs%
��
�
�
�
00000000  0d 00 0a 12 f4 20 3e 20  4d 73 67 54 72 61 6e 4c  |..... > MsgTranL|
00000010  69 62 0d 00 14 2d f4 20  4d 65 73 73 61 67 65 54  |ib...-. MessageT|
00000020  72 61 6e 73 20 6c 69 62  72 61 72 79 20 66 6f 72  |rans library for|
00000030  20 42 41 53 49 43 20 70  72 6f 67 72 61 6d 73 0d  | BASIC programs.|
00000040  00 1e 14 f4 20 62 79 20  42 65 6e 20 53 75 6d 6d  |.... by Ben Summ|
00000050  65 72 73 0d 00 28 04 0d  00 32 04 0d 00 3c 1e dd  |ers..(...2...<..|
00000060  f2 6d 73 67 74 72 61 6e  73 5f 69 6e 69 74 28 66  |.msgtrans_init(f|
00000070  69 6c 65 6e 61 6d 65 24  29 0d 00 46 3b 20 20 c8  |ilename$)..F;  .|
00000080  99 20 22 4d 65 73 73 61  67 65 54 72 61 6e 73 5f  |. "MessageTrans_|
00000090  46 69 6c 65 49 6e 66 6f  22 2c 20 2c 20 66 69 6c  |FileInfo", , fil|
000000a0  65 6e 61 6d 65 24 20 b8  20 66 25 2c 20 2c 20 73  |ename$ . f%, , s|
000000b0  69 7a 65 25 0d 00 50 2a  20 20 e7 20 28 66 25 20  |ize%..P*  . (f% |
000000c0  80 20 31 29 20 3d 20 30  20 8c 20 de 20 6d 73 67  |. 1) = 0 . . msg|
000000d0  5f 62 75 66 66 65 72 25  20 73 69 7a 65 25 0d 00  |_buffer% size%..|
000000e0  5a 11 20 20 de 20 6d 73  67 73 25 20 32 35 36 0d  |Z.  . msgs% 256.|
000000f0  00 64 1d 20 20 24 28 6d  73 67 73 25 2b 31 36 29  |.d.  $(msgs%+16)|
00000100  20 3d 20 66 69 6c 65 6e  61 6d 65 24 0d 00 6e 3e  | = filename$..n>|
00000110  20 20 c8 99 20 22 4d 65  73 73 61 67 65 54 72 61  |  .. "MessageTra|
00000120  6e 73 5f 4f 70 65 6e 46  69 6c 65 22 2c 20 6d 73  |ns_OpenFile", ms|
00000130  67 73 25 2c 20 6d 73 67  73 25 2b 31 36 2c 20 6d  |gs%, msgs%+16, m|
00000140  73 67 5f 62 75 66 66 65  72 25 0d 00 78 14 20 20  |sg_buffer%..x.  |
00000150  de 20 6d 73 67 5f 6f 75  74 25 20 32 35 36 0d 00  |. msg_out% 256..|
00000160  82 05 e1 0d 00 8c 04 0d  00 96 04 0d 00 a0 1e dd  |................|
00000170  a4 6d 73 67 74 72 61 6e  73 5f 6c 6f 6f 6b 75 70  |.msgtrans_lookup|
00000180  30 28 74 6f 6b 65 6e 24  29 0d 00 aa 54 20 20 c8  |0(token$)...T  .|
00000190  99 20 22 4d 65 73 73 61  67 65 54 72 61 6e 73 5f  |. "MessageTrans_|
000001a0  4c 6f 6f 6b 75 70 22 2c  20 6d 73 67 73 25 2c 20  |Lookup", msgs%, |
000001b0  74 6f 6b 65 6e 24 2c 20  6d 73 67 5f 6f 75 74 25  |token$, msg_out%|
000001c0  2c 20 32 35 36 2c 20 30  2c 20 30 2c 20 30 2c 20  |, 256, 0, 0, 0, |
000001d0  30 20 b8 20 2c 20 2c 76  61 6c 75 65 24 0d 00 b4  |0 . , ,value$...|
000001e0  0c 3d 20 76 61 6c 75 65  24 0d 00 be 04 0d 00 c8  |.= value$.......|
000001f0  23 dd a4 6d 73 67 74 72  61 6e 73 5f 6c 6f 6f 6b  |#..msgtrans_look|
00000200  75 70 31 28 74 6f 6b 65  6e 24 2c 20 70 30 24 29  |up1(token$, p0$)|
00000210  0d 00 d2 56 20 20 c8 99  20 22 4d 65 73 73 61 67  |...V  .. "Messag|
00000220  65 54 72 61 6e 73 5f 4c  6f 6f 6b 75 70 22 2c 20  |eTrans_Lookup", |
00000230  6d 73 67 73 25 2c 20 74  6f 6b 65 6e 24 2c 20 6d  |msgs%, token$, m|
00000240  73 67 5f 6f 75 74 25 2c  20 32 35 36 2c 20 70 30  |sg_out%, 256, p0|
00000250  24 2c 20 30 2c 20 30 2c  20 30 20 b8 20 2c 20 2c  |$, 0, 0, 0 . , ,|
00000260  76 61 6c 75 65 24 0d 00  dc 0c 3d 20 76 61 6c 75  |value$....= valu|
00000270  65 24 0d 00 e6 04 0d 00  f0 28 dd a4 6d 73 67 74  |e$.......(..msgt|
00000280  72 61 6e 73 5f 6c 6f 6f  6b 75 70 32 28 74 6f 6b  |rans_lookup2(tok|
00000290  65 6e 24 2c 20 70 30 24  2c 20 70 31 24 29 0d 00  |en$, p0$, p1$)..|
000002a0  fa 58 20 20 c8 99 20 22  4d 65 73 73 61 67 65 54  |.X  .. "MessageT|
000002b0  72 61 6e 73 5f 4c 6f 6f  6b 75 70 22 2c 20 6d 73  |rans_Lookup", ms|
000002c0  67 73 25 2c 20 74 6f 6b  65 6e 24 2c 20 6d 73 67  |gs%, token$, msg|
000002d0  5f 6f 75 74 25 2c 20 32  35 36 2c 20 70 30 24 2c  |_out%, 256, p0$,|
000002e0  20 70 31 24 2c 20 30 2c  20 30 20 b8 20 2c 20 2c  | p1$, 0, 0 . , ,|
000002f0  76 61 6c 75 65 24 0d 01  04 0c 3d 20 76 61 6c 75  |value$....= valu|
00000300  65 24 0d 01 0e 04 0d 01  18 2d dd a4 6d 73 67 74  |e$.......-..msgt|
00000310  72 61 6e 73 5f 6c 6f 6f  6b 75 70 33 28 74 6f 6b  |rans_lookup3(tok|
00000320  65 6e 24 2c 20 70 30 24  2c 20 70 31 24 2c 20 70  |en$, p0$, p1$, p|
00000330  32 24 29 0d 01 22 5a 20  20 c8 99 20 22 4d 65 73  |2$).."Z  .. "Mes|
00000340  73 61 67 65 54 72 61 6e  73 5f 4c 6f 6f 6b 75 70  |sageTrans_Lookup|
00000350  22 2c 20 6d 73 67 73 25  2c 20 74 6f 6b 65 6e 24  |", msgs%, token$|
00000360  2c 20 6d 73 67 5f 6f 75  74 25 2c 20 32 35 36 2c  |, msg_out%, 256,|
00000370  20 70 30 24 2c 20 70 31  24 2c 20 70 32 24 2c 20  | p0$, p1$, p2$, |
00000380  30 20 b8 20 2c 20 2c 76  61 6c 75 65 24 0d 01 2c  |0 . , ,value$..,|
00000390  0c 3d 20 76 61 6c 75 65  24 0d 01 36 04 0d 01 40  |.= value$..6...@|
000003a0  32 dd a4 6d 73 67 74 72  61 6e 73 5f 6c 6f 6f 6b  |2..msgtrans_look|
000003b0  75 70 34 28 74 6f 6b 65  6e 24 2c 20 70 30 24 2c  |up4(token$, p0$,|
000003c0  20 70 31 24 2c 20 70 32  24 2c 20 70 33 24 29 0d  | p1$, p2$, p3$).|
000003d0  01 4a 5c 20 20 c8 99 20  22 4d 65 73 73 61 67 65  |.J\  .. "Message|
000003e0  54 72 61 6e 73 5f 4c 6f  6f 6b 75 70 22 2c 20 6d  |Trans_Lookup", m|
000003f0  73 67 73 25 2c 20 74 6f  6b 65 6e 24 2c 20 6d 73  |sgs%, token$, ms|
00000400  67 5f 6f 75 74 25 2c 20  32 35 36 2c 20 70 30 24  |g_out%, 256, p0$|
00000410  2c 20 70 31 24 2c 20 70  32 24 2c 20 70 33 24 20  |, p1$, p2$, p3$ |
00000420  b8 20 2c 20 2c 76 61 6c  75 65 24 0d 01 54 0c 3d  |. , ,value$..T.=|
00000430  20 76 61 6c 75 65 24 0d  01 5e 04 0d 01 68 04 0d  | value$..^...h..|
00000440  01 72 14 dd f2 6d 73 67  74 72 61 6e 73 5f 66 69  |.r...msgtrans_fi|
00000450  6e 61 6c 0d 01 7c 28 20  20 c8 99 20 22 4d 65 73  |nal..|(  .. "Mes|
00000460  73 61 67 65 54 72 61 6e  73 5f 43 6c 6f 73 65 46  |sageTrans_CloseF|
00000470  69 6c 65 22 2c 20 6d 73  67 73 25 0d 01 86 05 e1  |ile", msgs%.....|
00000480  0d 01 90 04 0d 01 9a 04  0d ff                    |..........|
0000048a