Inferno #07
31 мая 2005
  Софт  

For Coderz - Programming under DNA_OS ZET-9, a package of tools to work with storage devices.

<b>For Coderz</b> - Programming under DNA_OS ZET-9, a package of tools to work with storage devices.
       Programming under DNA_OS
ZET-9
29.05.2005


   From here you will learn how to be ISPO
lzovat function of DNA in your prog
Rummy. This file will gradually complement
nyatsya.Poka it's just a collection of texts
describing the structure of DNA and prog
Ramm, using its function.

   The system provides an external program
nyuyu (long term) memory in the form of a disk
O drives. Working with different however
Pitel carried odinakovo.P-mothers do not
requires knowledge about what type of storage ring
Telja (flexible or rigid magnetic disks,
optical disks or dynamic circuits
Scoy / SRAM), which file
system at some nakopitele.Vse for
Bots on the variety of external in-
her memory takes over the system.

   Working with files is reduced to the fundamental challenge
ktsy system with the number of memory device
Islands, the name of the (sub) directory in which located
wives file (sub) directory, name the file you want /
(Sub) directory, and type of operation that the neo
bhodimo to use the file / (sub) directory:
read / write / create / delete.


       Modes of memory allocation



   The system operates in 1 mode, 2-nd yet
not used - in reserve:


          1 - single-tasking mode


   The memory is the core of the system and n-ma.
U-ma can use different modes
interruptions (including IM 2), pereustana
pour in the stack, etc. In this mode of operation
n we almost do not differ from that of normal
TR-DOS n we have but to call disk functions
use function calls the system (through
resident system), and instead of a direct C / O
lyucheniya pages through the ports of the n-ma used
em driver paging pamyati.Drayver we find
reduces to the resident system, and a resident of the system
threads located at the bottom of memory (now
23296-23551). The system also uses about
domain # 5d40 .. # 5fff. Thus, the n-metal
available screen area (16384-22527)
region from 24576 to 65535 and page parameters
crease, with the exception of systemic stranitsy.Pri
call disk functions, the system in its
discretion, may include a trap mode
IM 1 (if there is an appeal to TR-DOS) and OS
accorded him. U-ma should take this into account.

   In case of shortage of low memory n-ma
can use the field 23296-24575,
saving it in free of
region and to restore 23296-24575
appeal to the resident sistemy.Pered ZAPU
Scoma n we have in this mode is activated 0-I
page.


      2 - mode "task switching"


   Available in the presence of upper memory
(> 128k), actually d / b 512k (if not used
forms a RAM-disk) or 1024k.Otlichaetsya those
that in the upper memory may be other
Gia-n us. Therefore, before using
vat top page of memory in this mode
ME, you should check whether it is free.

   Page is considered free if the village
glacial bytes in the page is 0. Otherwise, there
is another n-ma, and use the country
ary can not.

   In this mode, possible temporary output
of n-we maintaining the current status
("Folding"). For this n-ma should by
revenge of the non-zero bytes in all the pages in
which will retain the code / data, and Cox
wound screen and 24576-49151 in stranitsah.Po
following this control is transferred to the resident
Dent, a procedure in the Released obolochku.V distance
In what follows it will be possible to return to the n-th at
This control is transferred to the address 49152
in the main page of the n-us - one that results
zerviruetsya for "we-axis. It turns
When downloading files from the n-me.

   P-axis is we have the extension. SEP and
loaded with the addresses of 24576 and 65535. If
n-file, we are longer than 40960 are loaded first
curves 40960 bytes.

   Before the release of n-ma must itself osvobo
all sums pages that use,
otherwise, these pages will be available to other
n-mom (should be placed at 0 to # FFFF
every page, including main).


         The first entry in the program


   After booting from the address # 6000 control
of transmitted n-metal. IX points to the table
face with dannymi.P-ma should take from the table
particle required her data for further ISPO
lzovaniya. See "Block data transfer
given by the program at startup.

   When receiving a message # 0001 n-ma long
zhna take the name of the file and pro
carry with it the operation according to the destination
n us. (Download the file and "show" him to
example: playing music, images, text - you
to the screen, the archive - unpack ...)


       Re-entry into the program


   If n-ma was "rolled", it can be
return. Return by any of the
shell, or from another instance of n-us.

   Included is the main page of this
n-us, control is transferred to the address 49152.
Register pair IX points to the table
parameters. Relevant bytes IX-2, IX-1
(2 bytes) - message n we. May, at
 take the values:

    # 0001 - open the file (see above);

   # 0002 - to complete the n-us (it's from
communication means that the user wants to
 remove the n-th of the memory);

   # 0003 - n-ma was the current (user
Tel switched to this n-th).


             Resident System


   All calls are made through
Resident of (its address is passed
p-metal on the first run).

   Resident has 3 entry points (so far):


              1-I entry point



   Resident Address 0: call drivers countries
bital memory to switch pages. In
register pair DE transmitted number countries
boundary. If your computer has a page with
this number, it will be included, while
flag is set Z. If your computer
No page with that number, reset
Flag Z, and will be a maximum reg.pare HL
page number for this company (for 128k
- 7, 256k - 15 for 512k - 31 for 1024k
- 63, etc.).

   Additional functions are called when
 DE = 2, it uses the register C:

  C = 0: insert page number 2 (ie
32768-49151 area to be plugged in to
 region of 49,152)

  C = 1: turn on the 1 st screen (will be visible
 screen with the address 16384);

  C = 2: enable the 2 nd screen (will be visible
 screen with the address 49152 in page 7);

   C = 3: enable ROM BASIC 48;

   C = 4: Enable ROM BASIC 128;

  C = 5: to obtain information on the inclusion
 page, screen, and ROM. Returns:

      DE = number of the last page included;

      B = bit 3 = 0 is on the 1 st screen;

      B = bit 3 = 1 is on the 2 nd screen;

      B = bit 4 = 0 enabled ROM BASIC128;

      B = bit 4 = 1 enabled ROM BASIC48;

     HL = maks.nomer str.dlya this company.



             2-I entry point



   Resident Address 2: Exit to the shell.

   Here n-ma should transfer control
shutdown, or when "turning
Research Institute. "

   Be launched, user subroutine
Vatel, located here in the residence.
Depending on this subsequence, we will be implemented
Implemented a transition in the ROM BASIC128, either in ROM
TR-DOS with the launch of boot'a, or go into
CACHE, or search the n-us-shell and
transfer of control to it, or out in the definition
divided the page in the STS, in ALASM (depends
the contents of subroutines).



             3rd entry



   Resident Address +4: call f-functions of the system.

   Here should transfer control to
cause any of the functions of the system. At the same time
in Reg. pair IX should be addressed to the table
Call settings (see "System functions").
And the table itself should be located in
lower memory (the last byte long table
wives have the address below 49152, the system behind it
It should not, so wash your hands before eating).


             System Boot



  1. First, the memory should be placed
boot axis (welcome any variation
 Options):

    a) The loader is copied from ROM to RAM
when selecting a menu item (as KAY-1024
 click "HDD Boot");

    b) is loaded from external media (in
a separate n-us, either as signature-ma other
 On the other n-us - eg., plug-in to Real_Commander);

    c) your option (perekidyv-found from Cache,
loaded with the cassette:)).

   Loader system - a signature-ma, intended
values ​​for kernel with CASE
physical y-va. Examples: boot from the HDD,
CD-ROM, from a specific page top na
cards, an out of the cache of the 4 th page memory (at some
toryh there a printer driver that someone Gluk
Service). The kernel will be downloaded to address
# BE00, and it is passed control.



  2. The kernel sets the stack, then oprashi
Vaeth press "Space". If not pressed, Loss
zvoditsya attempt to download configuration files
radio from the boot of Islands from the root CA
 Taloga:

    a) file HIMEMORY.DNA - Driver Strání
chnoy memory for your computer.
After a successful download, it installs
 In further work is being done with it.

    b) SYSTEM.DNA - file transfer system
variables (in its description of the logical y-in, but
measure of the boot, system, quick, those
kuschego and Islands to swap a page in which the
must reside at the core of the work, and
etc. More details below). After a successful zag
manual ultrasonic inspection of the core would be moved to the 
specified Page will continue to work there. Attention

attention! number is now in boot Islands may
change, and no further files will be loaded
 his wife with him.

    a) CONFIG.DNA - file with names of cars
starting n-we named E-Tov, who
should be installed in the system. After
successful download of the file takes the name of the author
tostartuyuschey n we (ie n-us, which will be
loaded first): This is the first 8 bytes of a file.
The downloaded file and burn to # 8000.



  3. Loaded n-ma CONFIG.SEP. It Be
retract the names of elements onto starting at address # 8009,
the first 8 bytes of each line (the end
line - byte 13), end of file - bytes 3.

   U-ma looking at the root of bootable
Nogo y va el-you with the names (fi
ly. DNK), loads them into the system country
ary, establishes a chain adjusts
to the load address - and now the elements of a hundred
novyatsya part of the axis.

   All of these configuration files are loaded
to address # 6000.Esli files are missing or
can not download them (error reading and
etc.), then they will not be installed in the system
mu.

   If the key is pressed, "Space", misses
tsya retrieve all the configuration files.



  4. It will be loaded with n-ma named
SHELL.SEP (or with a different name, taken from
File CONFIG.DNA) from the root directory
BOOT y va. At the same time that the n-metal transformation
Page delivered with the number 0. After
successful loading control is transferred
n-metal. Otherwise, the 7-th page in the STS, to the address
56064 (if there is no STS'a - zavison).

   Theoretically, it is assumed that the loaded
nounced n-ma - a shell, and almost
can be any n-ma.


            Shell program


   U-ma-span can be any (this can
can be even Real Commander 2.6 with acc
tstvuyuschimi plug-ins). it must provide
 vat following functions:

  - Provide information to the user
of n-grammes, which are in the pages of memory,
the ability to select and switch
 one of them.

  - Provide user directories with-in
and the ability to run the n-th files (SEP),
as well as the ability to open files corresponding
sponding n-mami.Dlya last shell
ka download a file EXTEND.TXT, which is long
wives placed on the y-ve with an opening
file takes the name of it n we have-in at
that this program is located (number
0-9, or S, W, T, Q, L - ie: system for
swap, current, quick, boot) and vyzy
Vaeth system to start this n-system (of which
rnevogo directory). If the file EXTEND.TXT
No, the shell searches for it on the systemic in-ve.
(Example: A user clicks on the file *. SCR
- Is a picture in the file name specified n-we
OPEN_SCR.SEP, will be loaded this n-ma, and
she loads the *. SCR file and displays it
on the screen.)

   In this shell will be ne
transition from the other n-m (but not necessarily for
depends on the routines of residents).


               Data block

    passed to the program at startup


   The maximum block length 768 bytes, this
hour block located starting at address
# 5d00.

   When you start the n-ma gets control
tion, the register IX indicates the block address
Data + 15.

   The block of data as follows:
 IX-15 defw X; data length of opened

              file
 IX-13 defw Y; length of the data about the parameters

              run (Keys)
 IX-12 defw Z; data length of the running

              nth
 IX-10 defb 0; location system memory

              Tee PC: 0 - in the page
 IX-9 defb 0; mode of the system:

              0 - single-tasking
 IX-8 defw 0, the page number where the system

              and a buffer for directory
IX-6 defw 0, length of residence
 IX-4 defw 0; address resident system

              (Now # 5b00)
 IX-2 defw 0; message-e for n we have from the system:

              0 = first run;

              1 = First + run to open the file;

               other messages until

              not used (see above)
 IX +0 defs Z; here Z bytes - data about

               running the n-th.

              (Max = 352 bytes)
 IX + Z defs Y; here Y bytes - data about

               startup parameters (keys)

               (Max = 49 bytes

              if IX-13 is not equal to 0)
 IX + Z + Y defs X; here X bytes - data about

               Open the file.

              (Max = 352 bytes)
Total 15 +352 +49 +352 = 768 bytes.


   The first step is n-ma should take the address
Resident (IX-4), then checks the community
of the system (IX-2) - whether to open
file (ie the user runs the file, and
Shell runs the nth), or user
Tel himself launched the n-th.

   Data about running the n-th-n needed ME
 if:

  - It consists of several files,
this case, n-ma takes this data and vyzy
Vaeth element of DOS, to get the rest
 files;

  - Or n-ma wants to keep his spirit
Key to file *. ini, then it saves the
 file back to where she is located;

  - Etc.


     Function of the system DNA version 0,431



   Elements are selected by name (8 bytes on
at IX).


               Element SYSTEM

   Inputs: IX +8 (1 byte) - the number of
function.

                  The function 0

        (Get the system variables)

  IX +9 (2 bytes) - the address of where to put to
anisotropy of the system peremennyh.Potom n-ma should
 add 5 to the address and use them.

   System variables have the property of
me:), so you need to get them
immediately before use.

                 Function 1

        (Set the OS)

  IX +9 (1 byte) - the desired mode of operation:
0 - single-tasking mode
1 - the switching of tasks
2,3 - multitasking
5 - to restore the previous mode of operation


              Element RUNEXE

   Runs programs (files with the extension
eat SEP). If n-ma wants to start another
nth, it must prepare a data block and
cause element RUN_EXE.

   Block of data transmitted e-tu RUN_EXE:
IX-2 defw 0; here is a message from

              e-ta RUN_EXE about the result

              execution in the case

              any errors
IX +0 defb "RUNEXE"; name e-ta 8 bytes
IX +8 defb 0; reserve
IX +9 defb 1, 0, first run

              1-Start with opening the file
IX +10 defb X; name length n we have X
IX +11 defw XX; shift before the name

               n we have from the XX IX +0
IX +13 defw YY; shift before the name

               file to be opened by IX +0
IX +15 defb Y; path length n-metal
IX +16 defb Z; dl.puti the opened file
IX +17 defb W; dl.imeni of the file
IX +18 defb V; length of the startup options

              (Number keys)
IX +19 defb 0; number of islands where the file
IX +20 defb 0; length subdirectory where the file

              (In blocks of 256 bytes)
IX +21 defw 0,0; top of the tackle. Where a file:

                0 - in the root directory
IX +25 defb 0; number of islands, where n-ma
IX +26 defb 0; length subdirectory, where n-ma
IX +27 defw 0,0; top of the tackle., Where n-ma
IX +31 defs X; name n we
IX +31 + X defs Y; data about the path to the n-metal
IX +31 + X + Y defs W; the name of the file
IX +31 + X + Y + W defs Z; data about the path to

                    opened file
IX +31 + X + Y + W + Z defs V; start options

                      n we have (keys)


               Element DOS

   Disk function. Inputs: IX +8
(1 byte) - the number of functions.

                 The function 0

         (Initialization logich.u Islands)

   IX +30 (1 byte) - the number of logical. y-va.

   Be caused by the driver block input-you
Water for the y-space with a function 0 - Ini
socialization.

                 Function 1

      (Call file system driver)

   To work with the files necessary vyzy
 vat precisely this function.

  IX +28,29 (2 bytes) - number of f-tion and under
 function driver filesystem:

  0 - initialize the file system. By
IX +30 offset will be placed the name of the file
 system, 11 bytes (for example: TR-DOS).

  1 - installation directory (to make the current
 this catalog). Number of sub-functions:

   * 0 - root

      1 - the name of the buffer

   * 2 - up to the level (output from the current
 schego subdirectory)

    * 3 - name + full path in the buffer

  2 - create. Number of sub-functions:

      0 - file

   * 1 - subdirectory

  3 - delete. Number of sub-functions:

      0 - file

   * 1 - subdirectory

  4 - to download. Number of sub-functions:

     0 - file

     1 - subdirectory

  5 - to write. Number of sub-functions:

     0 - file

     1 - subdirectory
* 6 - rename. Number of sub-functions:

     0 - file

     1 - subdirectory
 * Feature not (not yet in the system)

   For functions 2.6 file name / subdirectory
must be specified in the buffer. These operations
performed in the current subdirectory.


   Block of data transmitted e-To DOS:
DEFW 0; IX-23; kontr.summa variables DOS
 DEFB 0, -21; data block length

             ; In the sectors of 256 bytes
DEFB 0, -20; length of the path to the file
DEFB 0, -19; smesch.do beginning of the file name
DEFB 0, -18; file name length
DEFB 0, -17; BYTES IN FILE KONECH.BLOKE
DEFW 0,0; -16; LENGTH OF FILE IN BLOCKS
DEFB 0, -12, length of current directory
DEFW 0,0; -11; NACH.BLOK Current Directory
 DEFB 0, -7; offset within the cluster

            , (In blocks of 256 bytes)
DEFW 0,0; -6; starting number blocks of the file
DEFW 0, -2; ADDRESS BUDET
PARAMETR
DEFB "DOS"; +0; ELEMENT NAME DOS
DEFB 1; 8; FUNCTION ELEMENT DOS
DEFB "TR_DFS"; +9; ELEMENT NAME WILL DFS
; DEFB "PAGE_DRV"; +17; FILE NAME 8, if the length
; Name = 0. If the name length is not 0 (bytes from
, -18), There is the following:
DEFB 0; 17; reserve is not used
 DEFW XX; +18; offset before the path

             ; A file from +17
DEFB X; +20; length of the path to the file
DEFB Y; +21; file name length
 DEFW YY; +22; shift before the name

             ; File from +17
DEFB 0; 23; reserve
 DEFB "DNA"; +25; file extension, with a length

               ; Behalf of 255 bytes
DEFB 4,0; +28; NUMBER F-IIC and sub-DFS
DEFB 0; 30; NUMBER OF THE CURRENT ARRANGEMENTS
 DEFB 1; 31; boot flag:

    ; Bit0 :0-In ADR.IZ DIR., 1-In these ADRs

    ; Bit1 :0-entire file; 1-specified length

    ; Bit2 :0-FROM THE BEGINNING OF FILE-1-C UKAZ.SMESCH AZ

    ; Bit4 :0-beg. With the file; 1-cont.

   ; Bit5 :1-CONVERT. Univers.formu catalog
 DEFW # 6000,0; +32; load address

                 ; IF FLAG =% xx1
 DEFB 0,0,0,0; +36; LENGTH DOWNLOADS,

                 ; IF FLAG =% x1x
 DEFB 0,0,0,0; +40; SHIFT BOOT,

                 ; IF FLAG =% 1xx
 DEFB "FDD_DRV"; +44; HERE TO Name E-TA

                    ; DRV
DEFB 0; 52; NUMBER OF THE DRV
DEFW 0,0; +53; starting number Block 0 ... N
DEFW 0,0; +57; NUMBER OF UNITS
DEFW 0,0; +61; ADDRESS WHERE / WHERE LOAD / SAVE
DEFB 0; 65; NUMBER VIRT.DISKA
KUS_AUTO1
 DEFS 256, 66, is the path and file name

              , (If the name length is not 0

             , And the path length of 0)

ELEMENT DOS out the names DRIVERS FAI
Lovoy SYSTEMS AND block I / O (DFS
And DRV) YOURSELF.


   Almost need to change only the flag
operation, the address of LOAD or SAVE, the shift from
beginning of the file (if the flag is "rough
zit at the specified offset) and length of the piece
for LOAD / SAVE (if the flag is "rough
zit specified length).

   U-ma takes data obtained by entangled
sk, copies of its address space,
change some parameters and calls
e-t DOS. Register IX should point to the
name e-ta DOS.

   E-m DOS monitors the integrity of the data
GOVERNMENTAL about the file you are working with n-ma. Under
read checksum (CRC16), from
beginning of the DOS data takes 53 bytes.

   If you opened the file was not loaded
(Recorded) at a time, then the following about
increment must be set the flag "continued
live with the file. "Otherwise, each of
increment of the driver will load the catalog and
look for the file there, and then read / write
vat.

   If the load / save data indicated
zannoy length, and flag-ship at the specified
bias "is not set, then the shift
within a file is changed avtomaticheski.T.e.
if 3 times to call DOS and every time zag
Rouge 1 kb, the first kilobyte would zag
Disarmament Affairs since the beginning of the file, the next 
KBytes will be loaded with the displacement of 4 (4 blocks

256 bytes), and the third will be loaded kilobytes
at offset 8 (8 blocks of 256 bytes of on
We first file.)

   Flag-ship at the specified offset "
need to provide random access
the data within the file, and if the sequence
Mr. access (eg, copying) it
not need to install.


                Error Codes


   To the application as a message
2-byte. If both bytes are zero,
 then there are no errors.

   1-st byte - conditioned room e-ta (IX-1);

  2-nd byte - number of errors (IX-2).

   For all e-Tov common error numbers
 are:

  0 - no calling function (subfunction)
(After this error, the application can you
give a message to the user such as "update
 element).

  1 - wrong command options (checking
ka on your settings, is only
in the E-max, where the launch of c non
lnymi parameters can damage the system
 IU).

  2 - corrupted data in a data table
(Meaning that some spoiled
variables caused by the element).


    Conditional number of elements:

  0. Element FINDER (looking for e-t in the chain and
 calls it).

    0 - in a chain e-Comrade is no e-ta with the indicated
 zannym name.

  1. Element SYSTEM (System Manager
 resources).

  5. Element DFS (filesystem drivers
 we).

    3 - there is no file with the specified name (if
 reading / deleting a file / directory);

    4 - file with that name already exists (for
 create a file / directory);

    5 - There is no place in the directory (when creating
 file / directory);

    6 - No disk space (when you create
 file / directory);

    7 - end of file (when trying to read /
 records for the end of the file / directory).

  6. Element DRV (driver block I / O).

    3 - no virtual disk with the specified
 number;

     4 - y-in is not ready;

    5 - I / O errors. Then there will be
introduced errors for each operation separately
 but (read / write).

   14. Element RUNEXE (runs) files.

   15. Element of DOS (disk manager in-c).

    3 - do not have islands with a given number.


           Format (sub) directory

          (Universal form)



   2 bytes - number of files downloaded
 real part catalog (M);

   2 bytes - number of files in all SC
Taloga (N).

   Next to each of the M files to X +16
byte:

offset length description
0 a file name length (X)
The value of 1 byte is equal to 0, takes
tsya as 8 (ie, file name length 8 bytes)
file extension is 3 bytes.
+1 5 length of the file in bytes
 6 2 file attributes

  1-st byte (from FATx):

   bit0: read-only;

   bit1: invisible;

   bit2: systemic;

   bit3: volume label;

   bit4: directory;

   bit5: archive;

   bit6-7: Reserve.
 2-nd byte - a reserve.
 8 4 time the file was created

  1-st byte: bit0-5 - minute (0 .. 59);

  1 st :6-7 and 2 :0-2 - clock (0 .. 23);

  2-nd :3-7 - the number (1 .. 31);

  3rd :0-3 - month (1 .. 12);

  3rd :4-7 - st.chast year minus 1982;
 4 th: ml.chast year minus 1982.
Example: The date the file was created March 26, 2003
year 9 hours 30 minutes - we
30 +9 * 64 +26 * 2048, 1 st and 2 nd bytes.
2003-1982 = 21 years (mean over 4 bits
year, equal to 0). The third byte is 3 +0 * 16 = 3.
4-th byte is 21.
+12 X filename
+12 + X 4 the file extension


   Example: suppose in a subdirectory Raznoe 4
 file, all files have the same length of name:

  HIMEMORY.DNA

  spectrum_os_history.text

  The Best Games for ZX-SPECTRUM.hlp
 Well, just for a very long sverhimya
file that does not fit into either
file system, but a universal form
directory provided by operating
system DNA.joke

   After calling the "download subcategory
Taloga named Raznoe, starting at address
ADRESS and convert it into a universal
nuyu form (must be set bit 5
 flag operations), we obtain at ADRESS:

     4,0; 2 bytes - number of files

            ; In a busy part of the catalog

      4,0; 2 bytes - all files in the cat.

  And the first file
0 0 name length: 0 -> 8 bytes name

           And 3 bytes of extension
1 255,0,0,0,0 the length of the file 255 bytes
6 4,0; 2 bytes of file attributes

           , Set bit 2 - System
8 0,0,0,0 4 bytes: file creation time
+12 "HIMEMORY"; 8-byte file name
 +20 "DNA"; 4 bytes of the file extension

  And the second file
0 19; file name length 19 characters
1 0,100,0,0,0, file length 25600 bytes
6 2,0; file attributes: bit1 - read only
8 0,0,0,0, file creation time
+12 "Spectrum_os_history"; 1919 bytes name
 +31 "Text"; 4-byte extension

  And the third file
0 30; file name length of 30 characters
1 0,100,0,0,0, file length 25600 bytes
6 2,0; file attributes: bit1 - read only
8 0,0,0,0, file creation time
+12 "The Best Games for ZX-SPECTRUM"

                              ; 30 bytes name
 +42 "Hlp"; 4-byte extension

  , The fourth file
0 167; file name length 167 characters
1 0,100,0,0,0, file length 25600 bytes
6 2,0; file attributes: bit1 - read only
8 0,0,0,0, file creation time
+12 "Well, just for a very long sverhimya
file that does not fit into either
file system, but a universal form
directory provided by operating
system of DNA "; ​​167 bytes of name
+189 "Joke"; 4-byte extension


   Designed directory format allows
submit any known (to me) (TR-DOS,
NEOS, iS-DOS, FAT12, FAT16, FAT32, VFAT, CDFS and
etc.) file system in a universal form
metal without loss of information about files. As will
children available to catalog other files
tems (NTFS, UFS, and the like), unknown
but: (

   It turned out that we should still be stored somewhere
the length of the BASIC file, when he one-piece with a finite
dovym block, and then, when copying to
y in the file system TR-DOS, put
this length. And at the moment is put on
schaya length monoblock.




Other articles:

Classics - Almanashnik. Alexander Pushkin.

For Coderz - Recognition and computation of arithmetic expressions on their character record.

Inferno - The authors of the magazine.

For Coderz - the discipline to create large projects.

Interview - Questions Konstantin Sviridov (Conan) on the site zxnext.narod.ru.

Likbez - The principles of converting graphics PC-ZX.

For Coderz - Programming disc changer / drive in Scorpio.

Softinka - DNA_OS v0.431 - package of utilities for working with hard drives, RAM-drives and floppy disks.

For Coderz - Programming under DNA_OS ZET-9, a package of tools to work with storage devices.

Softinka - The problems and shortcomings package of tools to work with storage devices DNA_OS.

Likbez - details about disk formats that are FAT.

Inferno - Entered from the editor.

Inferno - Errors in the previous numbers.

For Coderz - Small programmers' tricks.

Gameland - On the new games: Oneyroid, Dizzy forever, Dridlock.

For Coderz - Writing archive. Practical principles LZ packaging.

Gameland - Passage of new shipments for the game "Black Crow".

For Coderz - Programming for the video mode 384x304.

Inferno - Letters to the Editor.

Sound - Eden Megus'a about the tracker for the AY / YM.

Inferno - On the shell.

For Coderz - Fundamentals of optimization for the processor Z80.

Likbez - The location of partitions on your hard drive.

Gamedev - 3D projection of the floor / road in the games.

Sound - Wild ideas for AY trackers.

Advertising - Ads by Roman Chuunin.

Advertising - Ads by V. Bogdanovich

For Coderz - How a large Flexible Program.

Repair - Faults Pentagon 128 + and their repair.

Inferno - Content.

Miscellaneous - Thoughts on the contest for the best software.

Others - Transfer software on ZX Spectrum with a PC.

Video - On packaging for a video ZX Spectrum.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Vedem - Description, prohodilka games: Dizzy-3.5
Iron - Hemnogo about GMX (end).

В этот день...   23 November