City #10
10 апреля 1999

Likbez - a full description and full disassembler ROM (part 6).

<b>Likbez</b> - a full description and full disassembler ROM (part 6).
--------------------------------------------------
                       LIKBEZ
--------------------------------------------------
(C) P. Yu Fedin



    FULL DESCRIPTION + FULL ROM Disassembler


              TR-DOS 5.04T (5.03)


              For professionals


               And as for those


             WHO WANTS TO BE.



                    continued



         Ways to refer to TR-DOS ROM

 TR-DOS ROM is a shadow, so it can not be
speak directly with CALL. But for
that it was available for use,
there is an address during the transition which included ROM 
TR-DOS. In the ROM BASIC-48 in these addresses is decoder 
therefore usually control there is never transmitted. 

  Attention! In the ROM BASIC-128 in these addresses, there is 
a program, so when the ROM BASIC-128 TR-DOS ROM is blocked 
completely. Below you see a list of entry points, switching 
ROMs. 15616 - entrance to the shell TR-DOS.

15,619 - execute commands TR-DOS from BASIC.
15,622 - routine input from the data file.
15,629 - routine output data file.
15,632 - routine change of mind.
15,635 - subroutine call TR-DOS from the machine code.
15638 - error routine coming
from the ROM BASIC.
15,663 - go to any address in the ROM TR-DOS.


          How to use these entry points

15616 - a simple call. You can set variables
23831 and 23296.
15619 - from BASIC:

        RANDOMIZE USR 15619: REM: 

        of machine code:

        1) placed in the memory of the command line in

        ASCII form with the prefix REM:.

        2) put in CH_ADD address this row.

        3) CALL 15619.

        For example:

       LD HL, LINE; installation CH_ADD

       LD (23645), HL

       JP 15619, the command

                     ; Command line
LINE DEFB 234; REM

       DEFB ":";:

       DEFB 239; HOAD

       DEFB 34; "

       DEFM "EXAMPLE"; EXAMPLE

       DEFB 34; "

       DEFB 13; ENTER
15,622 - to open a channel data file vyzvat.Na output symbol 
from the file will be in the battery. 15,629 - to open a 
channel data file and place in A character and cause.


  Attention! Contains an error.
15,632 - just call. Checks 23734 and 23832 and
changes blokipamyati places if needed.
15,635 - Number of sub put in register C,
the rest according to the table:

Team Functions


   0 recovery with the expectation INTRQ. Susceptibility
        takes BREAK

   1 Select the floppy drive. Put the drive number
        those in case A. If a variable with time
        Menem move drive heads bit 7

        included, is determined by the time displacement
        of the head and checked variable

        type of drive. If it does not equal 255

        (Error), it will be determined by the number of

        Track drive. In this case involves
        It turns out that a unilateral drive (error).

        When you return is determined by track number,

        on which the drive heads and for
        worn in case the track

   2 Positioning. Logical zero track

        place in A. If the address 23757 is not 0,

        after positioning of the delay.

        The program has a bug

   3 Puts the contents of the battery on Adre
        Su 23807

   4 Pushes the contents of the HL at 23,808

   5 Reading of sectors. In HL place

        address in memory, D - number of the first road
        ki, the E - number of first sektoa in B - to
        lichestvo sectors.

        The program has a bug.

   6 Recording of sektorov.Parametry and error

        same team of 5.

   7 The output directory. In the battery place

        thread number, and place the number at 23,801

        drive from 23798.

        The program has a bug.

   8 Reading the file descriptor at 23,773.

        File number put in the battery

   9 record file descriptor. Descriptor Publish
        Tite at 23,773 and put the number

        file in the battery

  10 Search File. Verifiable part of the descriptor

        place to address 23773, and its length by
        place in 23814.Esli file is found, then the BC,

        23823 and 23838 will be his number, or 23,838

        does not change, but in 23,823 BC, and will be 255

  11 record fayla.Imya and expanding place with

        23773, beginning at the memory place in the HL, and

        Length - DE

  1912 Record of the program in BASIC. Name and extension
        broadening place to address 23773. If we consider
        extension is not "B", then the file is written as

        code

  13 Not used

  1914 Performs 5 Functions:

         File Download: 23801 and 23824 in place

         0, name and extension of place with 23,773, and

         also:

          To BASIC - program - nothing more.

          For files CODE:

           When A = 0 - the load address and length of the Be
                     rutsya from the directory.

           For A = 3 - the load address is taken from

                     HL, length - out DE.

           Otherwise - the load address is taken from

                     HL, length - from the catalog.

          Array - A <> 0, HL - length of body

          the old array, or 0 if none

          No, in 23767 - the address of the old body weight
          Siwa in memory of 23,762 - the array name

         Verification of the file - all as to zag
         manual ultrasonic inspection, only 23,801 put 255.

         Upload file sector - in the 23,801 hybrids
         Tits 0, 23824 - 255, 23767 - Address

         BitTorrent, the HL - sector number in A - 3,

         in DE - 0 (the last two steps to about
         of the error.

         Attention! Does not work with files BASIC

         and DATA with the following error.

         Verification of the sector file, all as in the

         loaded, only 23,801 put 255.

         Record sector file - 23801 place

        255 (for a workaround) in 23,824 - not 0

         and 255, A - not 0, the HL - the number seconds
         torus in 23767 - the memory address
15 - 17 Not used

  18 Erasing files. Name and extension of hybrids
        Titus with 23773, 23815 can be cleared, then

        at the end there will be a number of abortive fi
        fishing

  19 Transferring 16 bytes from the address in HL at

        23873

  20 converse 19

  21 Checking dorozhki.Fizichesky track number

        put in the battery and then hand
        Well drive. If you find any bad sector

        then 23,823, and BC will be 7, and 23,766 bu-children

        number

  22 Select the upper side of the disc

  23 Select the lower side of the disc

  24 Checks membership drive and nastrai
        Vaeth system of its type. Contains an error


15638 - internal entry point. How to use

        See the disassembler.
15663 - Place the stack the desired address, then

        JP 15663. As an example, cite a
        program run two teams TR-DOS,

        absent in 15635.
Formatting the drive. The name of the drive put in 23773.

        CAHL 15632; change memory

        LD A, 255, this part of the program repeats

                      15635

        LD (23829), A; message does not print

        LD (23839), A; running machine code

        LD (23768), A; tracks do not check

        LD (23761), A; NO DISC when reading the address

                      marker to ignore

        LD HL, 513; after the return will
                      children in BASIC

        LD (23834), HL

        LD (23836), SP; preservation SP

        PUSH AF; allocation of space to address

                      error-handling routine

        LD HL, 7901; e routines Format
                      tion

        PUSH HL; putting it on the stack

        LD HL, 541; address setup routines

                      address error handling

        PUSH HL; putting it on the stack

        JP 15663, the entrance to the TR-DOS ROM
Packaging of disk space.

        CALL 15632; repeats 15635

        LD A, 255

        LD (23829), A

        LD (23839), A

        LD HL, 513

        LD (23834), HL

        LD (23836), SP

        PUSH AF

        LD HL, 5806; address subroutine package

                      disk space

        PUSH HL; putting it on the stack

        LD HL, 541; continue as above with
                      as

        PUSH HL

        JP 15663


              to be continued ...





Other articles:

Editor - Hpistos voskpes, dopogie readers!

Iron - IBM-analog-native serial port COM1 (COM2).

Likbez - a full description and full disassembler ROM (part 6).

Beech - The Adventures of Shtirlitsa and other adventures Bormann.

Advertising - Ppodam, buying, exchanging ppogpammy for the ZX Spectrum.


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

Similar articles:
Forum - Studying and debugging @ files using STS 5.1. Features of debugging using a monitor STS. Bugfix STS 5.1.
Iron - KAY: ZX Spectrum Ttransformer.
News - Perm news from Diver/4D.
Inferno - Entered from the editor.

В этот день...   29 April