F.A.Q.
Last edition: 11.04.2003
This FAQ contains the answers to most asking questions about computer Sprinter.
- Estex DSS.
- The Accelerator.
1. Estex DSS.

What does the EXEC function of Estex DSS?
1) Opens an exe-file for reading;
2) Reads exe-header to the working area;
3) Allocates the memory block, what required for placing all data of file or primary loader. If it is not zero;
4) Saves STACK;
5) Sets the memory pages from allocated block;
6) Builds exe-prefix and points register IX to it;
7) Reads data from file to address specified at offset 16 (Load address);
8) Closes the file, if hasn't primary loader;
9) Sets SP register to address from offset 20 (STACK address);
10) Goes to address specified at offset 18 (Start address).

Where you recommend placing the STACK frame?

When you calls services of DSS or BIOS, STACK address shouldn't be more than 0BFFFh. When your programm running code of itself then STACK address can be between 04000h-0FFFFh.

Whether will be saved registers which not specified in input or output parameters?

No, it must be saved before call.

Can I use instruction "EXX" for saving registers during "RST 10h" executing.

No, you can't. Because DSS and BIOS use HL' DE' BC' registers.

If I create or open any file in one directory then change working directory. Shall I restore directory for access to the file?

No, you need not. All information about the file are stored in the file descriptor.

Can I get the signal of disk change from FDD 3,5"?

The signal are present in Altera PLD, but not released in current version. It can come in one of updates or new model of Sprinter.

When I change working directory, should be put "\" at the end of name?

DSS allow both variants. But you must check up "C:\" to avoid "C:\\".

Why the system palette of real computer is not similar to the palette of Sprinter emulator?

Today, operating system Estex include only Disk SubSystem. Estex DSS not works in graphical mode. Therefore the system palette not defined. You should not think that any palette index has the fixed color during every starting of your program. The system palette can be changed by a previous program.

When exiting the EXE with BC=$0041/RST $10, does execution continue after the RST $10 (in other words, is it necessary to have the following RET?)

It's not necessary today, but we recommend to have RET at the end of program. If the system can't terminate a program for any reasons, then RET will try terminate it with fault.

Is it recommended to use the text I/O functions in DSS or the BIOS?

We recommended to use DSS I/O functions for console messages with control codes like TB, CR, LF etc. And BIOS I/O functions for text windows output or for lowlevel screen operations.

Can the DSS/BIOS be paged out and replaced with RAM at $0000-$3fff? Do interrupts need to be disabled if doing this?

Yes, it can. And interrupts need to be disabled.

I have noticed that the screen only scrolls if you output CR/LF. Is it possible automatically scrolls of screen if other characters are output?

Only if you will check length of output string. DSS 1.xx can't determine it. We will fix this feature in next versions.

Which control codes are supported?

DSS hasn't smart terminal. And support only five control codes:
00 NULL - End of String
08 BACK - BACKSPACE (Cursor left)
09 TB - Tabulation
10 LF - Line Feed
13 CR - Cartridge Return
2. The Accelerator.

What the Accelerator allow?

The Accelerator allows:
- fast filling of horizontal or vertical screen line of 1-256 pixels by onecolor (in 640x256 mode - one/double horizontal line of 1-512 pixels)
- fast copying of horizontal or vertical screen line of 1-256 pixels (in 640x256 mode - horizontal line of 1-512 pixels)
- use AND, OR and XOR operations with data blocks

What kind of an efficiency of usage of the Accelerator?

The efficiency coefficient of usage of different ways of data transfer:
"LDIR" in RAM - 1
"LDIR" in FastRAM - 1,5-2
Usage of the Accelerator - 6

What is the amount of data that can be shifted in a second?

6MB-7MB can be shifted in a second during filling by one color. 3MB-3,5MB - during data moving.

Are there any limitation of usage of ordinary Z80 commands during usage of the Accelerator?

When the Accelerator is switched on, the commands set of Z80 is changed. And only commands which not uses a data are not changed.

When I should switch the Accelerator off by "LD B,B" command if I use several Accelerator commands?

You should switch the Accelerator off by "LD B,B" before usage of ordinary commands of Z80. And "LD B,B" command can be missed if a next command is a command of the Accelerator.

Can I use the Accelerator in my Spectrum program?

The Accelerator is absent in Spectrum Configuration of Sprinter.
You can ask any question by e-mail:
sprinter@petersplus.ru.