ZX Review #3-4
22 июля 1997
  Обзор  

New Programs - I. Roshchin. HELP_Z80. Davydov. Catalog's Base v1.8.

<b>New Programs</b> - I. Roshchin. HELP_Z80. Davydov. Catalog's Base v1.8.

       NEW PROGRAMS



(C) Ivan Roshchin, Moscow.


           HELP_Z80


   This unparalleled program is an electronic guide to the teams
microprocessor Z80. With it you can learn a mnemonic (and
its meaning), encoding an impact on
flags and run-time for
each command processor, and
and other useful information. HELP contains a description of 
1136 teams, including the undocumented, is just 9 kilobytes, 
and can work on ZX SPECTRUM with a storage capacity of 48

up to 512K.

 A brief summary:


   - As well as popular
debugger STS, HELP may be in any memory page
addresses # DB00-# FFFF, so
it can be used in conjunction
with any assembler. With its
HELP work does not spoil the value of
a single memory cell, excluding
himself and the screen area.
Thus, it is completely autonomous.

   - Information about the commands of the processor can be 
viewed as plain text. With the existing search tools easy to 
find information about a specific team or to learn how to 
decipher its mnemonic. 

   - You can write all the information on a disk in the form of 
several text files total

more than 66K (eg, for printing).

   - Have the means to communicate with the assembler / 
debugger: for example, you write or debugging a program, and 
when you press a certain combination keys on the screen appears 
with background information on team, on which key is pressed. 
In the description given detailed instructions on making 
changes to the debugger STS (any version) to implement this 
feature. 

P.S. There is a version of this

     program containing the integral
     information on the teams process
     Sor 6502. It can be used
     to use in conjunction with the ac
     Sembler TASM 4 by RST7.

1
2
********************************

(C) Davydov,
s.Zaprudnoe Nizhny Novgorod region.


      CATALOG'S BASE v.1.8.


    1. Purpose of the program.


    The program is designed to
create card files software
software on the disk OS TR-DOS.
Speed ​​up your file cabinets is determined, basically, the 
time required for disc replacement in the drive.


    Allows you to quickly determine
on which disk is one or
another program, if at least
know something about its name.

    Data Buffer Size 30
KB, which pozvoyaet include in a single database information 
about 250-300 ROM (2500-3000 files).


    Data is stored on disk
in the form of a code file of variable length.

    Supported operations
compare and merge the databases.

    Can display information on
printer of any type.


    2. Hardware requirements.


    SPECTRUM-compatible computer with 48 KB of memory and 
higher. The program does not use non-standard calls to the ROM 
TRDOS and will work with any version of TR-DOS.



     COMPATIBILITY WITH OTHER

          PROGRAMS.


    Initially, the program was written as a set of procedures 
to facilitate work with the program DDB 2.0, author 
SOKupriyanov, (c) 1991, almost only one similar to that

Time (1994). Therefore, the data structure is identical,
and can be downloaded and processed
file bdate2.0, created by the program DDB2.


       3. Error handling.


    In the event of erroneous
situations prints out the content
system variable ERR_NR
(23,610), and the execution of the current
Operation aborted.

    With some typical mistakes instead ERR_NR printed
text about describing the nature of the error.

    When downloading files, their structure is checked and when 
non-compliance load is not performed. Available memory 
information is not destroyed. 


    4. MANAGEMENT PROGRAM.


    SINCLAIR, CURSOR, QAOP - menu navigation.

    0, SPACE, ENTER - to select menu item.

    EDIT (CAPS +1) - break
operation is being performed or the transition
to another menu.

    For all press queries
press "Y" is taken as confirmation and any other key - for the 
abandonment of the operation. 


           5. MENU.


    In version 1.8 there are three menus, which can enter into 
or selecting the relevant item

or by pressing the EDIT (CS +1).


  5.1. MENU disk.


    Appears immediately after downloading. Consists of the 
following items: 

"SEARCH" - opens the search menu.

"EDIT" - the edit menu.

"Change the file type" - for files,

           created programs
           me, I chose the extension
           broadening "b", since,

           Firstly, it has

           something in common with the word
           your BASIC PROGRAM, and

           Secondly, I do not

           met him nor the one
           regular program. If

           You have files with the

           expansion are,

           it can, in order to avoid
           of confusion changing

           it to any other.

"Selecting the drive" - ​​A, B, C, D.

           If you go away

           to the desired key,

           can ponazhimat on

           any other, with

           input is used

           only two junior

           bits. Completion TSBs
           Yes - ENTER.

"Catalogue of the disk" - serves to
           Mandu "CAT" TR-DOS.

"Comparison of the disc and the base" - CD

           in the current drive

           (BASIC - program and

           MAGIC-files) are comparable
           is called a data base
           GOVERNMENTAL, located in

           RAM computer. Pec
           remains to the number of occurrences
           of the filename and the EU
           Does a file with this has
           It is found, the name of the drive.

"Adding a Disk - information
           tion of the BASIC-program
           Max and MAGIC - files

           disk in the current dis
           kovode added to the

           end database

           and discs with owls
           falling names can
           can be unbounded
           Noe number. If

           name is added to dis
           ka found in the database

           data derived

           request for authorization

           add a drive. When

           affirmative corresponding
           those asked

           necessary, remove
           of disks with

           the same name. When Oatka
           else from adding you
           holds the operation

           comparison of disk and ba
           Shl.

"Loading database" - with the current

           drive loads
           Xia previously recorded

           file. In the absence of

           the file on disk or

           pressing ENTER without

           enter the name displays
           Xia list available

           on disk files. When

           Download is available at

           memory information is not

           destroyed, which

           allows you to combine

           database. Therefore,

           if you want to
           chat to work with but
           curve database, you
           Take in the edit menu
           tirovaniya operation

           "Cleaning the base."

"Writing database" - database will
           children kept in the file

           with the entered name.

"Comparison of databases - allows y
           increasing of the exchange
           on programs. So

           I think that

           practical interest

           represent only

           differences between the base
           mi, prints the names of

           files from the database, we find
           dyascheysya on the drive to
           torye not found in

           base loaded in the

           memory. With a large

           number of coincidences
           tions on the screen before
           rather long time may

           no output

           with periodic on
           increment to the drive.

           Do not be afraid and do not cha
           nites to the button "RE
           SET ".

Enable (disable) the printer -

           switching devices
           properties of the output information
           tion. When you turn

           Printer information

           printer output

           in the same format as

           and on the screen.


     5.2. Edit menu.

"SEARCH"
"Disk" - go to

           another menu.

"The names of the drives" - displays the names of

           CDs included in the

           base, and information about

           number of free

           sectors on them. If

           number of free

           sector looks

           Strangely enough, it means that

           Disk mutilated 9 th

           Sector zero road
           ki, and it's time to restoration
           rehydrating.

"Removing the drive" - ​​if you enter

           instead of the name can be

           use tune my
           Since the search. Ver
           hny and lower Regis
           spectra do not differ.

           When you click on ENTER

           without entering a name will
           FLS has printed
           on the drive. For all

           drives, the names of which
           ryh satisfy the
           satisfying condition search, shows
           Xia request for removal
           of the disk from the database.

"Information on the base" - the number of

           files, disks and wasps
           tatok free months
           that in mind. Print
           is also satisfied with
           nenii most

           operations with the base data
           GOVERNMENTAL. In the next ver
           siyah this function does not

           be. I will give a constant
           but displayed Institute
           formational window.

"Sort Files" - after you
           complement this operation
           tion for printing discrete
           Cove filenames

           They will be displayed

           in alphabetical order.

           Return to the original
           Therefore, the location is not
           possible.

"Sort discs" - with the addition
           lenii new drive to

           the basis of information about it

           located at the end

           base. This operation

           allows you to organize

           base for the drive names

           in alphabetical order.

           With a large volume

           base process can

           markedly delayed,

           Therefore, to avoid ka
           It turned out that the computer

           dependent, the buffer sorting
           I've placed in the mounting plate

           display area PA
           cards, an organized and
           SRI sorting eq
           the wound will be depicted
           huddle melteshaschie

           band. Not very es
           tetichno, but the print

           how much otsor
           preted, and how much

           No, the speed of sorting
           mounting plate will slow further

           more.

"Cleaning the base" - Delete

           information from memory.

Enable (disable) the printer -

           switching devices
           properties of the output information
           tion.


    5.3. MENU search operation.

"Printing" - displays all

           database in the alphabet
           Witney order in

           filenames in the form
           material: the file name, for
           so the drive on which
           torus we find this file
           converges.

Print CDs "- is derived from
           derzhimoe all disks

           included in the base

           data.

"Find file" - allows us to define
           share the drive on which
           rum is the required
           my file. The requested
           is called a model for

           search. The upper and

           lower case

           taken into account, ie

           modeled on the war may

           be found in the files

           "WAR GAME", "Star War"

           etc. If you make

           sample press ENTER

           a blank line, you
           holds the operation

           "Print file".

Search CD "- on the same principle
           CESG is displayed containing
           zhimoe drive names

           satisfy

           required condition.

           If you enter an image
           sample press ENTER to

           empty string, satisfied
           varies Operation "ne
           chat discs.

"The names of the drives" - displays the names of

           CDs available at

           base, and the number of

           free sectors on the

           them.

"EDIT"
"Disk" - go to

           another menu.

Enable (disable) the printer -

           switching devices
           properties of the output information
           tion.


     6. Printer driver.


    The structure of the driver and point
entry similar to the driver a text editor "ZX-WORD". If you 
have one, you can use, but if not, then develop their own 
drivers, might facilitate the following example of a printer 
driver "EPSON", connected through the interface "ZX-LPRINT 
III". Just do not Remember to provide control

"BREAK" and install the carry flag when you click "BREAK" in an 
emergency pechatayushego device, otherwise the program runs the 
risk of freeze at random "Switching" the printer is physically

not connected to the computer.


   Entry point:

      # 5B00 - treatment initiative
               crystallization;

      # 5B03 - how to print.


   The maximum length of driver
256 bytes.


  The structure of the driver:
140.
# 5B00 NOP
# 5B01 JR INIT; entry point

                    ; ZX-WORD
# 5B03 PRINT
2
INIT - initialization routine
     function that performs all training
     tovitelnye action to

     to the printer started

     printing alternative to
     bombarded. At this address ne
     transmits control when you
     complement Operation Enable

     Printer.

PRINT - transfer to the printer symbol
     ox, whose code is found
     Camping in the battery.


   Driver passes the following
Codes:

  - Sequence # 0D, # 0Avozvrat carriage and line feed. On all 
printers, descriptions I have seen the same codes are used to 
print internal buffer of the printer. If you have to do a 
different code, add it in the preparation of conversion tables.


  - # 20 .. # 7E - special codes
characters and Roman letters to
standard ASCII, which coincides
decoder with SPECTRUM.

  - # 80 .. # 9F - A, B, C, D, E,
G. .. S, I - the big Russian letters
in alphabetical order.

  - # A0 .. # AF - a, b, c, d, e, e,
Well ... o, n - small Russian letters.

  - # E0 .. EF - p, s, t. .. e, w, I
- Small Russian letters.


    Not only me, but also in
EDITORe they are also absent. (In
ZX-WORD they are, but to gain
text it is not so convenient because
its 64-character). This letter, which is very similar to E
e, with only two points above.

    The encoding of Russian letters is taken from the ZX-WORD.

 6.1. EXAMPLE Printer Driver

      "EPSON", ATTACHED TO

      PARALLEL INTERFACE

      "ZX-LPRINT III".
148.
 ORG # 5B00

        NOP

        JR INIT
 PRINT LD C, A
 BUSY CALL # 1F54; control "BREAK"

        JR C, PRN

        SCF

        RET
 PRN IN A, (# 7B)

        BIT 7, A; readiness check

        JR NZ, BUSY; printer

        LD A, C

        OUT (# FB), A; installation bus

                       ; Data

        OUT (# 7B), A; the pulse

                       ; STROBE

        OUT (# FB), A; end STROBE

; For your printer I had to put a slow down cycles
, At the beginning and end of STROBE, otherwise disrupted 
synchronization , Although in the software ZX-LPRINT III made it

; So.


        XOR A; Reset carry flag

        RET
INIT LD A, # 1B; reset printer

        CALL PRINT; device. (Codes

        LD A, # 40, drawn from descriptions

        JR PRINT; 3 EPSON LX-800)
2

    6.2. EXAMPLE COMPILATION

     Conversion table.


    And another example of a conversion
abstract printer driver that has an arbitrary code table. 
Written for a very novice programmers. Others can not read.



   Between comments like


         ; --------- V-N

         ; ---------^- N

enclosed fragments of the program,
applied to specific circumstances, depending on the type of 
printer, which in other cases should be excluded.

140.

        ORG # 5B00

START JP INIT
PRINT CP # 20;

        JR NC, C_20_7F; printed
And symbol
; ------------------- V-1

        CP # 0D

        JR NZ, EXIT
And if the printer is on-line auto-translation mode
; (Skipping # 0A)
; ------------------- V-2

       LD A, CR; instead of CR - carriage return code
; This fragment was unrealistic for the case when the printer 
has ; Different from the conventional code a carriage return.

; ------------------ V-2 .1

       CALL PRN_A

       LD A, LF; instead of LF - code ne
                    , Maps the line (if

                    ; Required)
; ------------------^- 2.1
; -------------------^- 2

        JR PRN_A; output bytes from ak; kumulyatora Printer
; -------------------^- 1
EXIT XOR A; Reset carry flag

        RET

C_20_7F CP # 80

        JR NC, C_80_AF
; ------------------- V-3

        LD HL, TABL1-# 20

        LD E, A

        LD D, 0

        ADD HL, DE

        LD A, (HL)
; Also unlikely case where the printer complete
; Discrepancy with the standard ASCII
; -------------------^- 3

        JR PRN_A
C_80_AF CP # E0

        JR C, SEARCH

        SUB # 30
SEARCH LD HL, TABL2-# 80

        LD E, A

        LD D, 0

        ADD HL, DE

        LD A, (HL)
; ------------------- V-4

        PUSH AF

        CALL RUS;

        POP AF
; If you want to send a printer code sequence
; To enable the Russian font.
; ------------------^- 4

        CALL PRN_A
; ------------------ V-5

        CALL LAT
; Restoring character generator Roman font.
; ------------------^- 5

        RET
PRN_A; Sub-transfer printer code from register A.
; Depends on how you connect the printer, so write
; Something universal is impossible. One example is given
; In the previous section.
;
INIT; Sub initialize the printer. Depends on the type of
; Printer and how it is connected.

; ------------------ V-6
RUS LD A, CR_1

       CALL PRN_A

       LD A, CR_2

       CALL PRN_A
; .............
; .............

       LD A, CR_N

       JR PRN_A
; Sub switch the printer on the Russian font. CR_1,
; CR_2, ... CR_N - a sequence of control codes for
; Switching character generator. Substitute the desired number.
; ------------------^- 6
; ------------------ V-7
LAT LD A, CL_1

       CALL PRN_A

       LD A, CL_2

       CALL PRN_A
; .............

       LD A, CL_N

       JR PRN_A
; Sub switch the printer on the Latin alphabet. CL_1,
; CL_2, ... CL_N - a sequence of control codes for
; Switching character generator.
; -----------------^- 7
; ----------------- V-8
TABL1 DEFB ... , 95 bytes - code table printer
; Appropriate decoder ZX-SPECTRUM codes # 20, # 21,
; ... # 7E. The need for it is unlikely anyone will.
; -----------------^- 8
; ----------------- V-9
TABL_2 DEFB ... , 64 bayta - table code printer
; Corresponding Russian letters A, B, C, D, E, G, H, ... E,
, U, X, a, b, c, d, e, f, g, ... I.
; ------------------^- 92


   P.S. Text typed in editor
ZX / IBM Text Editor ver 1.0 (c)
Hohlov Oleg, formatted ZXWORD v 2.5m (c) Yeliseyev, Kokunov.

    For the program used HELP TEXT DESIGNER v 1.0 (c) Plyasunov 
Dmitry. 

    Inscription in Latin symbols borrowed from
ZX-ASM 3.

    Music written by a group
Smash Soft (application to demonstrate the "DISCOMANIA").

    In developing the program borrowed some of the procedures. 
To print a double-height use the procedure described in the 
ZX-REVIEW 95 / 2, p. 40 (c) Michael Hubble.

To separate window for printing
menu, use the procedure,
similar to that described in the book
Publishers "Peter" How to write a game in assembly language. " 
The remaining match with the machine code of other programs are 
accidental. 






Other articles:

TR-DOS for beginners - Part 1.

Authoring - General Sound - Multimedia for the ZX Spectrum!

Business Card - Introducing the new electronic journal "Major Wares" (c) Codebusters & VMG

Computer novella - Knight Lore "legends of chivalry times."

New Programs - I. Roshchin. HELP_Z80. Davydov. Catalog's Base v1.8.

description of the shell of the journal "ZX-REVIEW"

Crossing Dragon - Aavlon, Castle of Dreams, Erik the Viking.

Crossing Dragon - Eureka!, Eye of Bain, Kentilla.

Crossing - Sherlock, Apollo, Shadows of Mordor, Rigels Revenge, Temple of Terror, ID, That's the Spirit, Return to Ithaka.

Retro - Dzh.Hardman, E. Hyuzon. Top 40 procedures.

Expert Tips - Castle Master.

Expert Tips - Firelord.

Expert Tips - Stonkers.

Forum Games - Insult Megademo, Catch 23, Livingstone, Rock Star ate my Hampster, UFO-2: Devils of the Abyss, Terminator 2, Venturama, The Spririts, Nipper, Sweewo'S World, King's Bounti -2, Hacker 2, Black Magic, Satcom, Star Heritage.

Forum - A. Gura. Code programmer.

Forum - A. Strelnikov. Prospects of development of ZX Spectrum.

Forum - Davydov. According to materials published in the ZX-REVIEW: Some issues related to autostart BASIC programs. Redefine Keys. How to print 42 characters per line. The procedure of multiplication HL = B * C. Refinement cloning downloaders. Mini-driver disk.

Forum - With 'Light'. Music processor ZX-Speccy.

Forum - Dmitry Fyodorov: Print images with a mask with pixel precision. Algorithm for calculating the address coordinates to within a pixel.

Forum - I. Roshchin. Sharing ZX ASM 3.0 and STS 5.1.

Forum - M. Bekarev. The calculation of the address display area of familiarity, and vice versa.

Forum - VP Fedin. Refinement Profi for conflict-free peripheral connectivity.

Forum - S. Astrov. Pseudorandom number generator.

reader-reader - V. Sirotkin. Protection program (look at the problem).

reader-reader - I. Roshchin. Display driver for the computer, "Pentagon-128.

Studies - A. Savinov: The procedure for displaying a double-height characters. Procedure "dissolution" of characters.

Studies - A. Urzha. The procedure for drawing a circle.

Studies - V. Sirotkin. Program checksum.

Studies - E. Volchkov. Improvement routines address calculation system on display file.

Studies - E. Frost. Running line.

Studies - I. Komandin. The program display screen.

Studies - I. Roshchin. Two graphic effect.

Studies - M. Lazutov: The modernization program font. Program encode / decode block codes. The effect of the attributes.

Studies - O. Smolyankin: Procedures for cleaning the screen. Output of text messages on the screen.


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

Similar articles:
Premiere - Digital Studio v1.12
Contest - Poll-contest in a game program.
We will understand - A detailed report on the passing game WILD WEST SEYMOUR.

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