(c)  騭, ᪢

ZXNet : 500:95/462.53
E-mail: bestview@mtu-net.ru
WWW   : http://www.ivr.da.ru

                    㡠 䠩 "墮"
                    

(".  " 4/2002)

     [1] ᪠뢠  ஡, 易  ᯮ짮
⥪⮢ । Microsoft Word. :  諠  ⮬,
  ।   ࠭ ⥪⮢ 䠩
 ࠣ ⥪, 㤠  ।஢, 祬
 ⥪   ⮬   ॢ.  ⥫,
⠢訩  䠩,  㧭 ଠ,   
  ।砫.
     ஡ 㠫쭠    ⥪⮢
।஢  ZX Spectrum,  稭    
⠪,   MS Word.    祬:  ࠭  ᪥
䠩, ᨬ   , 뤥 楫 ᫮ ᥪ஢.
 ࠧ, ⮪ ᫥ ᥪ ("墮") 䠩 
ᮤঠ ଠ,  ⮬ 䠩  ⭮.  
࠭塞 ⥪  ।,    뢠 楫
᫮ ᥪ஢  砫 ⥪⮢ .  ᫨  ⥪
 ⭠ 256 ⠬,  ⪥ ᫥ ᥪ 㤥 , 
室  ⥪⮢  ᫥ 䠪᪮  ⥪.
㧨 䠩  ⥪⮢ ।,   ଠ  㢨
(⮬   ⠫ 㪠뢠 筠  䠩),  
ᬮ ᮤন ᫥ ᥪ   -
᪮ ।   .
      室   ᫥  ⥪?   
 ⮪ ।饣 㦥  । 䠩 ( ।
㧪  䠩    - 祬 믮
 ࠡ?),  ࠣ ⥪, 㤠 
।஢.  ᫨   頥  ᪥ ।,
⠬   ,  뫮 饭 㤠  ࠡ
।饩 ணࠬ.  ᫨ ⮩ ணࠬ  
"boot",     ⠫ ᪠,  ண 
饭 ।. ⭮,    ଠ
饤㯭  ⥫ .
       ஢ 䠩, 뫪  
ଠ hobeta, scl, (, ࠧ㬥,  䠩 - ࠧ ᪠:
trd, fdi, td0),  ⠪  㯠 䠩   娢
HRIP ⮪ ᫥ ᥪ ⠪   樨.
 ࠧ, ⥫쭠 ଠ  
࠭   ᠬ 䠩,     
 ⢮ .
    ᫨    ᫥  ⥪ 﫠 ।
 䠩, ஡ 뫠   襭.   
 ᮢ ᮧ⥫ ।஢.    
짮⥫?
    室  - ᯮ짮 ᯥ樠쭮 ணࠬ,
饩 "墮" 㪠 䠩.   ⥪:

SECTOR     EQU  #C000  ;#100 ⮢
CATALOG    EQU  #C100  ;#800 ⮢
FILE_LIST  EQU  #C900  ;#800 ⮢

           ORG  #8000

;樠:

           LD   A,(23611) ;⥬
           OR   %00001100 ;६
           LD   (23611),A ;ࠡ稪
           XOR  A         ;
           LD   (23658),A
           LD   A,(23562)
           PUSH AF
           LD   A,1
           LD   (23562),A

BEGIN      XOR  A         ;CLS
           OUT  (254),A
           LD   HL,#4000
           LD   (HL),L
           LD   DE,#4001
           LD   BC,#17FF
           LDIR
           LD   HL,#5800
           LD   (HL),7
           LD   DE,#5801
           LD   BC,#2FF
           LDIR

;⠥ ⠫  ।塞 
;஫ 㬬:

           CALL READ_CAT

;ନ㥬 ᯨ᮪ 䠩:

           CALL MAKE_LIST

;롮 䠩:

SELECT     LD   A,(ALL_FILES)
           AND  A             ;᫨ 
           JR   Z,SELECT_NF   ;䠩...

           XOR  A
           LD   (FIRST),A
           LD   (NUM_F),A
           CALL PRINT_LIST

SELECT_1   CALL CURSOR_ON

WAIT_K     CALL GETSYM
           CP   "q"
           JR   Z,SEL_UP
           CP   11
           JR   Z,SEL_UP
           CP   "a"
           JR   Z,SEL_DN
           CP   10
           JR   Z,SEL_DN
           CP   13
           JR   Z,WORK_FILE
           CP   7
           JP   Z,EXIT
           CP   "r"
           JR   Z,BEGIN
           JR   WAIT_K

;"":

SEL_UP     LD   A,(NUM_F)
           AND  A
           JR   Z,WAIT_K

           CALL CURSOR_OFF

           LD   HL,NUM_F
           DEC  (HL)
           LD   A,(FIRST)
           SUB  (HL)
           JR   C,SELECT_1
           JR   Z,SELECT_1

           LD   HL,FIRST
           DEC  (HL)
           CALL PRINT_LIST
           JR   SELECT_1

;"":

SEL_DN     LD   A,(NUM_F)
           INC  A
           LD   HL,ALL_FILES
           CP   (HL)
           JR   Z,WAIT_K

           CALL CURSOR_OFF

           LD   HL,NUM_F
           INC  (HL)

           LD   A,(FIRST)
           ADD  A,17
           SUB  (HL)
           JR   NC,SELECT_1

           LD   HL,FIRST
           INC  (HL)
           CALL PRINT_LIST
           JR   SELECT_1

;᫨  ᪥  䠩,  
;"R"  "EDIT":

SELECT_NF  CALL GETSYM
           CP   7
           JP   Z,EXIT
           CP   "r"
           JP   Z,BEGIN
           JR   SELECT_NF

;ࠡ⪠ 䠩.

WORK_FILE  LD   A,(NUM_F)
           LD   H,0
           LD   L,A
           ADD  HL,HL
           ADD  HL,HL
           ADD  HL,HL
           ADD  HL,HL  ;*16
           LD   DE,FILE_LIST
           ADD  HL,DE
           PUSH HL
           POP  IX

;஢ઠ,   ࠡ뢠 䠩:

           LD   A,(IX+8)  ; ᨪ?
           CP   "B"
           JP   Z,WAIT_K

           LD   A,(IX+11) ;訩 
           AND  A         ; = 0?
           LD   (USED),A
           JP   Z,WAIT_K

           LD   A,(IX+12) ;  ᥪ.
           INC  A         ;ᮮ⢥
           CP   (IX+13)   ;
           JP   NZ,WAIT_K ; ?

;।塞 ४-ᥪ 
;᫥ ᥪ 䠩:

           LD   D,0
           DEC  A
           LD   B,A
           AND  15
           ADD  A,(IX+14)
           BIT  4,A
           RES  4,A
           LD   E,A         ;ᥪ
           JR   Z,WORK_1
           INC  D

WORK_1     LD   A,B
           RRCA
           RRCA
           RRCA
           RRCA
           AND  15
           ADD  A,(IX+15)
           ADD  A,D
           LD   D,A         ;४

           LD   (DISK_ADR),DE

;஢塞  ஫쭮 㬬
;⠫:   ᪮ 㦥 㣮
;? ᫨ ⠪, 뢠 ⠫.

           LD   HL,(SUM)
           PUSH HL
           CALL READ_CAT
           LD   HL,(SUM)
           POP  DE
           AND  A
           SBC  HL,DE
           JP   NZ,BEGIN

;塞 ᯮ㥬 ࠭⢮
; ᫥ ᥪ 䠩:

           LD   DE,0
DISK_ADR   EQU  $-2
           LD   HL,SECTOR
           LD   B,1
           LD   C,5
           PUSH DE
           PUSH HL
           CALL #3D13

           LD   H,SECTOR/256
           LD   L,0
USED       EQU  $-1

WORK_2     LD   (HL),0
           INC  L
           JR   NZ,WORK_2

           POP  HL
           POP  DE
           LD   B,1
           LD   C,6
           CALL #3D13

;᫥ ࠡ⪨ - ᭮  롮 䠩:

           JP   WAIT_K

;室  ணࠬ:

EXIT       LD   HL,#2758
           EXX
           POP  AF        ;. ਮ
           LD   (23562),A ;⮯
           RET

;---------------------------------------
;६:

SUM        DS   2 ;஫쭠 㬬
ALL_FILES  DS   1 ;- 䠩
FIRST      DS   1 ;N 孥 䠩
NUM_F      DS   1 ;N ࠭ 䠩

;---------------------------------------
;楤 READ_CAT ⠥ ⠫ ᪠
;   ஫ 㬬.

READ_CAT   LD   C,0    ;
           CALL #3D13  ;஫

           LD   C,#18  ;ன
           CALL #3D13  ; 

           LD   B,8        ;⥭
           LD   DE,0       ;쬨
           LD   HL,CATALOG ;ᥪ஢
           LD   C,5        ;⠫
           CALL #3D13

;᫥ ஫쭮 㬬:

           LD   IX,CATALOG ;. 砫
           LD   BC,#800    ;稪
           LD   HL,0       ;. 㬬
           LD   D,0

CALC_SUM   LD   E,(IX)   ;ਡ塞
           ADD  HL,DE    ;। 
           INC  IX
           DEC  BC
           LD   A,B
           OR   C
           JR   NZ,CALC_SUM

           LD   (SUM),HL
           RET

;---------------------------------------
;楤 MAKE_LIST ନ ᯨ᮪
;䠩  뢠  ⢮.

MAKE_LIST  LD   HL,CATALOG
           LD   DE,FILE_LIST
           LD   IX,#8000

;XH - 稪 ⮢ ⠫ (128),
;XL - 稪 䠩.

MAKE_M1    LD   A,(HL)     ;䠩
           AND  A          ;稫?
           JR   Z,MAKE_M4

           DEC  A          ;㤠
           JR   Z,MAKE_M2  ;䠩?

           LD   BC,16      ;७ᨬ
           LDIR            ;⥫
           INC  XL         ;㢥. -
           JR   MAKE_M3

MAKE_M2    LD   BC,16
           ADD  HL,BC

MAKE_M3    DEC  XH         ;稪
           JR   NZ,MAKE_M1

MAKE_M4    LD   A,XL
           LD   (ALL_FILES),A
           RET

;---------------------------------------
;楤  ࠦ :
;CURSOR_ON - ᮢ,
;CURSOR_OFF - .

CURSOR_ON  LD   B,%00111000
           JR   CURSOR_1

CURSOR_OFF LD   B,%00000111

CURSOR_1   LD   A,(NUM_F)
           LD   HL,FIRST
           SUB  (HL)
           ADD  A,4
           LD   E,A
           LD   D,1
           CALL GET_A_A
           LD   (HL),B
           LD   D,H
           LD   E,L
           INC  DE
           LD   BC,11
           LDIR
           RET

;---------------------------------------
;楤 PRINT_LIST 뢮  ࠭
; 䠩, 稭  FIRST,  
;㤥 뢥 18    
; 䠩.

PRINT_LIST LD   XH,0      ;稪

           LD   DE,FILE_LIST
           LD   H,0
           LD   A,(FIRST)
           LD   L,A
           ADD  HL,HL
           ADD  HL,HL
           ADD  HL,HL
           ADD  HL,HL ;*16
           ADD  HL,DE

;HL 㪠뢠   䠩.

NEXT_OT    LD   B,8
           LD   D,2
           LD   A,XH
           ADD  A,4
           LD   E,A

           PUSH HL
LOOP_P2    LD   A,(HL)
           INC  HL
           CALL PRINT_SYM
           INC  D
           DJNZ LOOP_P2
           LD   A,(HL)
           INC  D
           CALL PRINT_SYM
           POP  HL

           LD   A,(FIRST)
           ADD  A,XH
           LD   B,A
           LD   A,(ALL_FILES)
           DEC  A
           CP   B
           RET  Z

           INC  XH
           LD   A,XH
           CP   18
           RET  Z

           LD   DE,16
           ADD  HL,DE
           JR   NEXT_OT

;---------------------------------------
;楤 PRINT_SYM ⠥  ࠭
; ᨬ ( ਡ⮢).
;
;室: A -  ᨬ,
;      D - न X,
;      E - न Y.
;
;室: ॣ  .

PRINT_SYM  PUSH BC
           PUSH DE
           PUSH HL
           PUSH AF

           LD   L,A
           LD   H,0
           ADD  HL,HL
           ADD  HL,HL
           ADD  HL,HL   ;*8
           LD   BC,#3C00
           ADD  HL,BC

           PUSH HL
           CALL GET_A_S
           POP  DE

           LD   B,8
LOOP_PR_S  LD   A,(DE)
           LD   (HL),A
           INC  DE
           INC  H
           DJNZ LOOP_PR_S

           POP  AF
           POP  HL
           POP  DE
           POP  BC

           RET

;---------------------------------------
;楤 GET_A_S 뢠 
; ࠭.
;
;室:  D - X, E - Y.
;室: HL - .

GET_A_S    LD   A,E
           AND  #18
           OR   #40
           LD   H,A
           LD   A,E
           AND  7
           RRA
           RRA
           RRA
           RRA
           ADD  A,D
           LD   L,A
           RET

;---------------------------------------
;楤 GET_A_A 뢠 
;  ਡ⮢.
;
;室:  D - X, E - Y.
;室: HL - .

GET_A_A    LD   A,E
           RRA
           RRA
           RRA
           AND  3
           OR   #58
           LD   H,A
           LD   A,E
           AND  7
           RRA
           RRA
           RRA
           RRA
           ADD  A,D
           LD   L,A
           RET

;---------------------------------------
;楤 GETSYM   .

GETSYM     XOR  A
           LD   (23560),A
GET_1      LD   A,(23560)
           AND  A
           JR   Z,GET_1
           RET

    ᫥ 樨 ࠭ ꥪ , ਬ, 
 del_tail <C>   ⥩訩 ᨪ-稪:

    10 CLEAR 32767: RANDOMIZE USR 15619: REM: LOAD "del_tail"
       CODE
    20 RANDOMIZE USR 32768
    30 RANDOMIZE USR 15616

    짮 ணࠬ 祭 . ᫥ ᪠
뢮 ⠫ ᪠,  㦭 䠩   
 "Q", "A"  ; "ENTER" -  ࠡ 䠩,
"R" -  ⠫, "EDIT" -   TR-DOS.
    । ⥬,   ࠡ ࠭ 䠩, ணࠬ
஢:        ⥭ ⠫?
᫨ ,   뢠 ⠫.
        ஢ઠ:  砥, ᫨ ࠭ ᨪ-䠩,
  䠩    ᮮ⢥   ᥪ, 
   ࠢ 楫  ᥪ஢, ࠡ⪠ 䠩 
ந.
    ணࠬ  ᯮ짮  ⮫쪮  ࠡ⪨
⥪⮢ 䠩.   ।।, ⮡  뫨 㢥७ 
ଠ ࠡ뢠 䠩: 뢠,  "墮" 䠩
ᮤন - 㦭 .
    ணࠬ  ᮢ襭⢮:  롮 ᪮,
 ࠡ⪨ ࠧ ᪮쪨 祭 䠩,
㫥 ᯮ㥬 ᥪ஢ ᪠  ଠ樨  
䠩  ⠫ ᪠...





1. " -  ஡". ".  " 10/2001,
   . 36.



    㣨    TR-DOS:

1. "   #1F  TR-DOS 5.03". "ZX-" 1-2/1997.

2. " ᮪饭 ६ ଠ஢". "ZX-" 1-2/1997.

3. "TR-DOS:    訡?". "ZX-" 5-6/1997.

4. "  ᪮   뢠". Adventurer #9,
   "ୠ ஭" #3, "⥫.  " 6/2000
   ( ).

5. "뢮 ᨬ ७ 䠩  樮
   ⥬ TR-DOS". "⥫.  " 7/2000.

6. "ᮢ襭⢮  । ᬥ ᪠".
   "⥫.  " 9/2000.

7. "७ 䠩 TR-DOS". "⥫.  "
   12/2000, ".  " 9/2001 ( ᥢ
   BV_Creator).

8. "ᯮ짮 筮 ଠ樨   䠩 
   ०". ".  " 11/2002.

9. "஢ઠ ४⭮ 䠩  ᪮ TR-DOS".
   ".  " 6/2004.
