Tatara

Appendix E
Limits

This appendix lists the fixed limits of TATARA and TANREN: how far each one goes, the message that going past it gives, and the section that describes it. Section E.4 says what has no fixed limit.

E.1 TATARA

What

Limit

Message

Section

A source line

255 characters

source line too long.

6.6

A symbol name

255 characters, all significant

7.2

A macro name

64 characters

a macro name may be at most 64 characters.

7.2

A segment or group name

16 characters

a segment or group name may be at most 16 characters.

7.2

Filenames on the command line

3

too many filenames.

5.6

Files open at once

4

too many source files open at once.

13.5

Include files, macro expansions and repeat blocks inside each other

16

sources nested too deeply.

16.7

Files opened in one assembly, the source included

32

too many different source files.

D.2

The name of a file at the start of a message

its first 31 characters are shown

20.1

Conditionals open at once

16

conditionals nested too deeply.

15.6

Macro parameters

16

too many macro parameters.

16.9

A line of a macro or repeat block, once expanded

255 characters

macro line too long.

16.2

External names

254

too many segments, groups or externals.

12.5

A title or subtitle

its first 28 characters are kept

18.2

The length of a page

10 to 255 lines

a PAGE length must be 10 to 255.

18.2

The TATARA variable

127 characters

the TATARA variable is too long.

13.3

A macro, segment or group name that is too long is refused, not cut short. A file opened twice counts twice towards the 32 files of one assembly. The name of a file at the start of a message is cut to its first 31 characters, so a long path can hide the name of the file itself; the included from lines and the cannot open message show names in full.

TATARA accepts more named segments and groups than TANREN does, so in practice the limits of section E.2 apply.

E.2 TANREN

What

Limit

Message

Section

Segments in one module

16, the default code and data segments included

too many segments or groups in one module.

27.4

Groups in one module

16

too many segments or groups in one module.

27.4

External names in one module

512

too many external symbols in one module.

D.3

The words of a link, command line and link file together

4096 characters

too many words on the command line or in the file list.

22.4

One word

128 characters

the same

22.4

Link files

1, which may not name another

only one file list may be given., a file list may not name another one.

22.4

The TANREN variable

127 characters

the TANREN variable is too long.

23.5

The program

ends at FFFFh or below

the linked image would run past FFFFh.

24.6

A module can therefore have up to fourteen named segments, besides the default code and data segments. The limits are for each module, not for the program: a program that needs more can spread them over several modules. TATARA stops at 254 external names, so the limit of 512 is never reached by an object file that TATARA made.

E.3 The command line

MSX-DOS gives a program a command line of 127 characters, and drops the rest without a message. This is a limit of MSX-DOS, not of the tools, and it applies to both. TANREN warns when its command line is exactly 127 characters long, because part of it may be missing; a link file has no such limit (section 21.5).

E.4 What has no fixed limit

The number of symbols, the number and size of macros, and the size of the program are limited only by the memory mapper, where TATARA keeps its tables and TANREN builds the program. When the mapper is full, the tool stops with out of mapper memory. Appendix G describes how the tools use memory.