i1
                                   - 5 -

                                            1           T R - D O S
   3

D 3ljhd.pdr * * *
         ணࠬ  

    ᯮ짮 ⥬ ६ TR-DOS

D 3ljm.pdr 2 * *
i1.14

             2( ਬ  DUNDARACH  GARGOYLE GAMES)

                   (C) ⠭᫠ , ., 1995.

         ᫥ ६  ᪠  ⢮  ண-
   ࠬ   ⪮ -    㧪  .     ண-
   ࠬ  ॢ   ⠪  ᫮,    ᤥ ਫ 楤
   㧪/㧪    ᪠, 㤠 ᫮.  ⠭-
   묨 ਥ TR-DOS   ,  ..  設⢮  
   㧪 ᯮ ࠧ ᫥ ⥬  ६  ᨪ  
       ,  ⠪   ⥬ ६ TR-DOS,
   ⥬    TR-DOS ᮢ襭  .    㯠  
   ⠪ 砥 ?  ⮥,   ᤥ -  ᤥ ணࠬ-
    뢠饩 㧪 ᠬ  ᥡ.    ⠪ ணࠬ-
   ,  筮  ᮥ    ᨪ-  ⠢ ᪮쪮
   ᥪ஢ ᫥     㧪.    㧪
       ᯮ짮    ணࠬ   TR-DOS:
   #2D73 -  ᥪ, #2F1B - ⥭ ᥪ.  ⥭/ -
    ᥪ஢ ਤ  ᮡ⢥ ணࠬ (㦥 ⮢  
   SPECTROFON' N3).    ⮣ ᯮᮡ 樨  ᪮쪮  -
   ⪮.   .  -,  ᫨   
     饭   ,     ࠭    ᮮ饭
   "READ ONLY...",  ᫥ 祣  ᯮ 뢠   १-
   㦠 ᭮.  筠       ᡮ  ᥪ,
   ⮫쪮  ᮮ饭 "DISK ERROR...".  ਬ, ᫨  ᪮
   ⠢ IS-DOS   ஡ 㧨   ,    
   ࠭    㯮⮥ ᮮ饭.  -,  祭 ᨫ쭮
   짮⥫ ࠭稢 ⮫쪮  㧪  , ⥬  ᫮-
   .
            ⪮?   ਢ    ⮩  
   ணࠬ  ࠭  ᫥ 訡,     -
   ⮪, ..  DUNDARACH ᮢ襭  뫮   楤 ⥭/-
   ,  ⮬   㯨 ᫥騬 ࠧ.㦠  ண-
   ࠬ ⥭/ 䠩  ᪠,     ⠢ ⮫쪮  ண-
   ࠬ ⥭ ᥪ஢  ᪠. ணࠬ,  㦠 ᥪ, 
   ﭭ 室   㤥  쭥襬  - "뢠-
   饩",  ணࠬ  㦠    ᪠ - "᭮".
        "᭮" ணࠬ 㦠  ࠭     ᪠  
     "뢠饩"  ணࠬ,    室   
    ணࠬ.  ᫥ 祣 ᪠ "᭮" ணࠬ  
   믮    㧪 䠩  㧪.  砫 ᬮਬ,
   ⠪ 뢠 "뢠" ணࠬ.  맮 樨 2 (SAVE GAME)
    3 (RESTORE GAME)  OPTIONS,  ணࠬ 室 ᮮ⢥⢥
    ⪨ JRSAVE  JRLOAD.  ⥬ 頥 ࠭ (ப  170),  ᫥
   祣  樠  ᪮  ⮤ אַ 饭  -93 (
   ⮬ ⮤  ᪠ ).  ⥬ ⠥ ᪮쪮 ᥪ஢   -
.
i1.16
                                   - 6 -

   1           T R - D O S
   3

   ࠭      #4B00 (६ DATPLC)  "᭮" ண-
   ࠬ (ப 240-660,810-940).  ᫥ ⮣ ஢塞 ⠭  -
   ଠ,  ᫨    ࠢ #A7, #1F,    ᪮
   ⮨ 㦭 ,  ணࠬ  멤   OPTIONS. ᫥
   ⮣ ᪠ "᭮" ணࠬ.      ࠡ-
   ⠥  "᭮" ணࠬ. 砫 訢 ᨮ 㪢 -
   㧪  (ணࠬ ENTNAM),  ⥬ 뢠 ⠫ ᪠ (ண-
   ࠬ RDCAT)   #5000 (.  CAT).  ᫥ 祣 ஢ 
    䠩,  ᫨  䠩 ᮮ⢥  㧪,  -
    ⮣ 䠩 ७   #5000,  ⥬ #5010  ..  ⥬
   ࠢ      襤襣 ஢ 䠩  묨 㦭
       #AF2C-FNAME (ணࠬ FINDAF),  ᫨ 䠩 ᮮ-
     㦭  㧪,   楤 LOAD 㦠  䠩
   ᭠砫     #4000,  ⥬ ४뢠 㦭 ⢮
   ⮢    ணࠬ  LDIR.  ᫨ 楤 SAVE 室
   䠩 ᮮ⢥騩 㧪,   ࠧ 室  楤 
   ,  ..   १뢠 ,  ᮧ  䠩 
   ⠫ ᪠ (ணࠬ NEWF).  ᮧ  䠩  
   #4F00-CATDAT  㦠  ᪠,   ॡ㥬 ,
   ᫥ 祣  뢠  .  ⥬ 㦠 ᥪ   -
     䠩    ᥪ    䠩,  ᫥ 祣
   ணࠬ SVE 뢠   䠩.    ਭ樯   -
    "᭮" ணࠬ.
         訡,      ࠡ   ᪮.
   訡,     뤠 ᮮ饭 : 1. ⪠   -
   饭 , 2. ⪠    ଠ஢ , 3. -
     ⥭ 㧪  ᪠  ᡮ묨 ᥪࠬ    TR-DOS -
   .   砥  訡 ணࠬ 㤥        ⠢
   㣮         SPACE  室   OPTIONS.
   ᫨  ᪮  ᪠,   ணࠬ 㤥    , 
      ⠢.  訡,  ᮯ஢ ᮮ饭: 1. 
   㧮  ᪥ (NO FILE(S) ON DISK),  2.     (FILE  AB-
   SENT),  3.     ᪥ (NO SPACE ON DISK).    
   訡,       ࠡ  ᪮.
        쥩 ⤥쭮 ணࠬ,  室  ᪮ DUNDARACH
   -  ணࠬ START.      "뢠饩" ண-
   ࠬ,  ..      ணࠬ.  ࠨ
   ணࠬ  ⥪騩 ᪮ (A..D),  ⨯ ᪮ (஭,
   ஭)      "뢠饩" ணࠬ न "᭮"
   ணࠬ (஦,  ᥪ).     ᭨   , ⠫-
        ணࠬ.
          ⮤ 饭    -93.  ਢ  
   ⮩  ணࠬ  ⮫쪮 ६ ணࠬ TR-DOS.

        ᥭ  ॣ -93 .

   #20B8  OUT  (C),D   ; ॣ C  ,  ॣ. D - ᫮
          DJNZ #20B1   ; ॣ B 易⥫쭮   1.
          RET          ;室.
.
i1.16
                                   - 7 -

                                            1           T R - D O S
   3

        ,  ࠧࠡ稪 TR-DOS    
   ணࠬ  ⥭ ⮢.  ᫨   뫠,    뫮 -
    ॣ ﭨ -93.

           .

   #3FCA  IN   A,(#FF) ; ﭨ -93.
          AND  #C0     ;
          JR   Z,#3FCA ;⮢ -93.
          RET  M       ;室, ᫨ -93 稫 .
          OUTI         ;뢮   .
          JR   #3FCA   ;室   ᫥饣 .

        ⥭   ᪠.

   #3FE5  IN   A,(#FF) ; ﭨ -93.
          AND  #C0     ;
          JR   Z,#3FE5 ;⮢ -93.
          RET  M       ;室, ᫨ -93 稫 㧪.
          INI          ;   ᪠.
          JR   #3FE5   ;室  㧪 ᫥饣 .

         ⠫쭮, ⭮饥  -93     ZX-,
   N4, 1994, . 10   ZX-, N5, 1994, . 19.  ⥫, -
     ਬ "᭮" ணࠬ  ᮡ⢥,  ண-
   ࠬ PRINT,  ன 祣 ࠡ  㤥 ⤥쭮  .

   PRINT  POP  HL      ;   ணࠬ  ॣ. HL.
          CALL PRN     ;뢠 ணࠬ .
          JP   (HL)    ;室  ᫥. ᫥ ⥪ .
   PRN    LD   A,(HL)  ; ॣ. A ᨬ.
          INC  HL      ;HL=HL+1
          CP   "7%0"     ; ⥪?
          RET  Z       ;᫨ ,  室.
          PUSH HL      ;
          RST  #10     ;⠥ ᨬ.
          POP  HL      ;
          JR   PRN     ;室  ᫥騩 ᨬ.

          ᪠,        㪠뢠  ६
   FNAME,       䠩.  .. ᫨   ᯮ짮-
    ணࠬ  ᢮  楫,        FNAME  EQU  #AF2C
   ⠢:

        FNAME  DEFM "dun" ; 䠩 (8 ⮢).
        LETTER DEFB "."   ;ᨮ 㪢.
               DEFB #20,#20,#20
               DEFB #20
        TYPE   DEFB ""   ;⨯ 䠩 "" - CODE.
.
i1.18
                                   - 8 -

   1           T R - D O S
   3

        LSTR   DEFB #00   ;⮢  䠩.
        HSTR   DEFB #00   ;
        LLEN   DEFB #AC   ; 䠩.
        HLEN   DEFB #0A   ;
        SLEN   DEFB #0B   ;  ᥪ.
        SSECT  DEFB #00   ;砫 ᥪ.
        STRK   DEFB #00   ;砫쭠 ஦.

        ᫨  ᯮ 㣨   ᠭ 䠩,   -
     "᭮" ணࠬ ࠢ ப 1440, 1470, 1490.

                           2뢠 ணࠬ.

          10        ORG  #AFE5        ; 樨 ணࠬ.
          20 SAVE   EQU  #4C9B        ; / .
          30 LOAD   EQU  #4C14        ; / 㧪.
          40 DATPLC EQU  #4B00        ; 㧪 ᭮ /.
          50 PRINT  EQU  #AD1A        ; / .
          60 RDCAT  EQU  #4B96        ; / ⥭ ⠫.
          70 MENU   EQU  #AF3C        ; 室  .
          80 BLKLNG EQU  #0300        ;  ᥪ ..
          90 CLS    LD   HL,#5800     ;/ ⪨ ࠭.
         100        LD   DE,#5801     ;
         110        LD   BC,#02FF     ;
         120        LD   (HL),L       ;
         130        LDIR              ;
         140        RET               ;
         150 JRSAVE LD   HL,SAVE      ; ⢫ 室
         160        JR   LOADAT       ; 樨 2 (SAVE GAME),
         170 JRLOAD LD   HL,LOAD      ; 樨 3 (RESTORE GAME)
         180 LOADAT LD   (COMAND+1),HL;⠭ 室.
         190        CALL CLS          ;頥 ࠭.
         200        CALL BG93         ;樠㥬 ᪮.
         210        DEFB #1F          ;
         220 RES    DEFB #0C          ;
         230        CALL RESET        ;⪠ -93.
         240        CALL BG93         ;⠭.  ᪮ 
         250        DEFB #7F          ;㦭 ஦  ॣ..
         260 TRACK  DEFB #00          ; ஦.
         270        CALL BG93         ;⠭.⥬ ॣ
         280        DEFB #FF          ;(#3C-஭ 1, #2C--
         290 SIDE1  DEFB #3C          ;஭ 0  ᪮ A).
         300        CALL BG93         ; -93 ᪠
         310        DEFB #1F          ;஦  ஭.
         320        DEFB #1C          ;#1C=000111000b.
         330        CALL RESET        ;⪠ -93.
         340        LD   HL,DATPLC    ; 㧪  .
         350 SECTOR LD   BC,BLKLNG    ;.B-, ॣ.-ᥪ.
.
i1.18
                                   - 9 -

                                            1           T R - D O S
   3

         360 LOOP   PUSH BC           ;࠭ BC.
         370        PUSH HL           ;. . 砫 㧪.
         380        LD   A,C          ;⠭
         390        LD   (SECTPL),A   ;ᥪ 
         400        CALL BG93         ;ॣ 
         410        DEFB #5F          ;  #5F
         420 SECTPL DEFB #01          ;TR-DOS.
         430        CALL BG93         ; -93 -
         440        DEFB #1F          ;- ⥭ ᥪ.
         450        DEFB #80          ;#80=10000000b.
         460        POP  HL           ; HL - 
         470        PUSH HL           ;砫 㧪.
         480        CALL R_LOAD       ;맮 / ⥭ ᥪ.
         490        POP  DE           ;஢ઠ
         500        PUSH DE           ; 訡
         510        INC  D            ;⥭,
         520        AND  A            ;᫨ HL
         530        SBC  HL,DE        ;
         540        POP  HL           ;ࠢ 0,
         550        POP  BC           ;
         560        JR   NZ,EXIT      ;室  .
         570        LD   A,#7F        ;᫨ 
         580        IN   A,(#FE)      ;
         590        AND  #01          ;SPACE, 
         600        JR   Z,EXIT       ;室  .
         610        INC  H            ;=+#0100.
         620        INC  C            ;祭  ᥪ.
         630        LD   A,C          ;᫨ =#11 ( -
         640        CP   #11          ;஦),  . ᫥.
         650        JR   Z,NEXTRK     ;஦  ஭.
         660 DJN    DJNZ LOOP         ;⥭ ᫥饣 ᥪ.
         670        LD   HL,DATPLC    ;᫨ 
         680        LD   A,#A7        ; 
         690        CP   (HL)         ;⠭
         700        JR   NZ,EXIT      ;
         710        LD   A,#1F        ; ࠢ #A7, #1F,
         720        INC  HL           ;
         730        CP   (HL)         ;室
         740        JR   NZ,EXIT      ; .
         750        CALL NAST         ;ன  ᪮.
         760        EI                ;
         770        CALL RDCAT        ;⥭ ⠫.
         780 COMAND CALL #0000        ;맮 / SAVE  LOAD.
         790 EXIT   EI                ;室
         800        JP   MENU         ;  OPTIONS.
         810 NEXTRK                   ;ணࠬ 室
         820        PUSH BC           ; ᫥ ஦.
         830        PUSH HL           ;
.
i1.16
                                   - 10 -

   1           T R - D O S
   3

         840 NOFORW CALL BG93         ; ᤢ 
         850        DEFB #1F          ;᪮  1 蠣, ᫨
         860 FORWRD DEFB #5C          ;ᥪ 室  0 
         870        CALL RESET        ;1 .,   ⪨ NOFORW
         880 JMP    CALL BG93         ;  ணࠬ 㤥
         890        DEFB #FF          ;⠢  JR JMP.
         900 SIDE0  DEFB #2C          ;⠭ ஭ 1  0.
         910        POP  HL           ;
         920        POP  BC           ;
         930        LD   C,1          ;⠭  ᥪ=1.
         940        JR   DJN          ;. ⥭ ᫥.ᥪ.
         950 BG93   EX   (SP),HL      ;६ ᫥ CALL
         960        LD   C,(HL)       ; ॣ  -  TR-DOS,
         970        INC  HL           ;  ॣ D - ᫮,
         980        LD   D,(HL)       ;뫠   .
         990        INC  HL           ;
        1000        EX   (SP),HL      ; ⥪ - .+2.
        1010        PUSH HL           ;뫠 HL  ⥪.
        1020        LD   HL,#20B8     ; HL -    TR-DOS
        1030        LD   B,#01        ;/  ᫠
        1040        JR   TRDOS        ;  TR-DOS.
        1050 RESET  LD   HL,#0000     ;/ ⪨ -93.
        1060 R_LOAD LD   DE,#0000     ;/ ⥭ ᥪ,  HL -
        1070        LD   C,#7F        ; 砫 㧪.
        1080        PUSH HL           ;࠭塞 HL.
        1090        LD   HL,#3FE5     ; HL- / ⥭ ᥪ.
        1100 TRDOS  DI                ;
        1110        EX   (SP),HL      ;塞 ᮤ. ⥪  HL.
        1120        JP   #3D2F        ;室   TR-DOS.
        1130 NAST   LD   A,(SIDE1)    ;ன
        1140        OR   #10          ;㦥
        1150        LD   (#4906),A    ;ணࠬ
        1160        AND  #EF          ; 
        1170        LD   (#490A),A    ;᪮ (0..3).
        1180        RET               ;
        1185 ;--------------------------------------------------
        1190 START                    ;ணࠬ ᪠.
        1200        LD   A,(#5CF4)    ; ॣ. A - ⥪騩 ᥪ.
        1210        INC  A            ;㢥稢  1.
        1220        LD   (SECTOR+1),A ;࠭塞  ணࠬ.
        1230        LD   A,(#5CF6)    ; ॣ. A -  ᪮.
        1240        LD   E,A          ;࠭塞  ॣ E.
        1250        ADD  A,#C8        ; ॣ
        1260        LD   L,A          ;HL -  , ।-
        1270        LD   H,#5C        ;饣 ० ࠡ ᪮.
        1280        LD   A,#3C        ; ॣ A -  ⥬.
        1290        ADD  A,E          ;ॣ. -93,  ஭ 1.
        1300        LD   E,A          ;
        1310        LD   D,A          ;
.
i1.18
                                   - 11 -

                                            1           T R - D O S
   3

        1320        BIT  1,(HL)       ;஢ઠ ⨯ ᪮.
        1330        LD   A,(#5CF5)    ; A -  ⥪饣 ४.
        1340        JR   Z,SSIDE      ;᫨ .,  室.
        1350        AND  A            ;஢ઠ
        1360        RRA               ;⥪饩 ஭,
        1370        JR   C,_SIDE1     ;᫨ 䫠 ,  ஭ 0.
        1380        RES  4,D          ; D .ॣ. .0.
        1390        LD   HL,#0618     ;⠭ 室  /
        1400        LD   (NOFORW),HL  ;ᤢ .
        1410        JR   SSIDE        ;
        1420 _SIDE1 RES  4,E          ;
        1430 SSIDE  LD   (TRACK),A    ;⠭ ஦.
        1440        LD   A,D          ;
        1450        LD   (SIDE0),A    ;⠭ ⥪饩 ஭.
        1460        LD   A,E          ;
        1470        LD   (SIDE1),A    ;⠭.᫥饩 ஭.
                         . . . . .    ; ணࠬ.

                            2᭮ ணࠬ.

          10        ORG  #4B00   ; 樨 ணࠬ.
          20 WYGR   EQU  #B0D6   ;WYGR - 砫 㧪.
          30 CATDAT EQU  #4F00   ;CATDAT-,  ண  -
                                 ;㦥  ᪠ (.0,ᥪ.9).
          40 BUFFER EQU  #4000   ;砫  㧪.
          50 LENGHT EQU  #0AAD   ; 㧪  DUN DARACH.
          60 CAT    EQU  #5000   ; 㧪 ⠫.
          70 FNAME  EQU  #AF2C   ;砫  䠩 㧪.
          80 PRINT  EQU  #AD1A   ; 楤 .
          90 CLS    EQU  #AFE5   ; 楤 ⪨ ࠭.
         100 RDSECT EQU  #0B00   ;\
         110 RDS1   EQU  #000B   ; - ᥪ஢  㧪.
         120 RDS2   EQU  #0B     ;/
         130 LETTER EQU  #AF2F   ;㪢   䠩 㧪.

         140 GO_TR  AND  A              ;GO_TR-/ ᪠ ஦.
             ; ॣ A   ⠭ ᪮ ஦.
         150 SDRIVE RRA                 ;஢ઠ ஭.
         160        LD   (TRACK),A      ;C.஦   2.
         170        LD   A,#3C          ;#3C- 1 . ᪠ A.
         180        JR   NC,SIDE1       ;᫨ 䫠 NC,  室,
         190        LD   A,#2C          ; ⠭ ஭ 0.
         200 SIDE1  LD   (SYSREG),A     ;.। ஭.
         210        CALL BG93           ;⠭ ஭ ᪠
         220        DEFB #FF            ;  -93.
         230 SYSREG DEFB #3C            ;஭ ᪮.
         240        CALL BG93           ;⠭ ॣ ஦.
         250        DEFB #7F            ;  ஦-#7F.
.
i1.18
                                   - 12 -

   1           T R - D O S
   3

         260 TRACK  DEFB #00            ; ஦.
         270        CALL BG93           ;
         280        DEFB #1F            ; -ﭨ 93.
         290        DEFB #18            ;#18=00011000- ஦.
         300        CALL RESET          ;᪠ -93.
         310        RET                 ;

         320 CATSAV LD   HL,CATDAT      ;ONDISK-楤  ᥪ-
             ;  . ࠬ: HL-砫 뢠 
             ; , ᫥ CALL    ᥪ.
         330 ONDISK LD   A,#A4          ;/   ⠫.
                                        ;#A4=10100100b- ᥪ.
         340        LD   (S_OR_L),A     ;⠭ ६ .
         350        LD   DE,R_SAVE      ; DE ./ 뢮  .
         360        JR   JMP1           ;
         370 LOAD_C LD   HL,CATDAT      ;/ 㧪 ⠫.
         380 FROM_D LD   A,#80          ;#80- ⥭ ᥪ.
         390        LD   (S_OR_L),A     ;⠭. ६ 㧪.
         400        LD   DE,R_LOAD      ; DE -  / ⥭.
         410 JMP1   LD   (ROUTIN+1)     ,DE ;⠭ 室.
         420        EX   (SP),HL        ; ᮤ. ⥪  L.
         430        LD   A,(HL)         ; ॣ. A  ᥪ.
         440        INC  HL             ;㢥.   1.
         450        EX   (SP),HL        ;  HL  ⥪.
         460        LD   (SECTOR),A     ;⠭ ᥪ.
         470 LOOP1  PUSH HL             ;࠭ HL.
         480        CALL BG93           ; ᥪ -  ॣ.
         490        DEFB #5F            ;#5F-ॣ ᥪ.
         500 SECTOR DEFB #01            ; ᥪ.
         510        CALL BG93           ;   -
         520        DEFB #1F            ;,  ᨬ.  ⠭-
         530 S_OR_L DEFB #80            ; ࠭ ६.
         540        POP  HL             ;⠭ ࢮ砫-
         550        PUSH HL             ; 祭 HL.
         560 ROUTIN CALL R_LOAD         ;ᯮ SAVE  LOAD.
         570        LD   A,#7F          ;஢ઠ  
         580        IN   A,(#FE)        ;SPACE, ᫨  ,
         590        AND  #01            ; 室  ணࠬ.
         600        JR   Z,BREAK        ;
         610        LD   DE,#0100       ;஢ઠ ⠭  -
         620        AND  A              ;ᠭ ᥪ, ᫨ 
         630        SBC  HL,DE          ; ࠢ 256 ⠬, 
         640        POP  DE             ;   .
         650        PUSH DE             ;
         660        SBC  HL,DE          ;
         670 BREAK  POP  HL             ;
         680        JR   NZ,LOOP1       ;.⥭./.  訡.
         690        RET                 ;
.
i1.18
                                   - 13 -

                                            1           T R - D O S
   3

         700 BG93   EX   (SP),HL        ;६ ᫥ CALL BG93
         710        LD   C,(HL)         ; ॣ C- TR-DOS,
         720        INC  HL             ; ॣ D-᫮, ஥
         730        LD   D,(HL)         ;㦭    .
         740        INC  HL             ;
         750        EX   (SP),HL        ;⠭. +2.
         760        PUSH HL             ;
         770        LD   HL,#20B8       ; HL- / 
         780        LD   B,01           ;  TR-DOS.

         790        JR   TRDOS          ;
         800 RESET                      ;
         810        LD   HL,#0000       ;⪠ -93.
         820 R_LOAD LD   DE,#0000       ;/ ⥭ ᥪ.
         830        LD   C,#7F          ;
         840        PUSH HL             ;
         850        LD   HL,#3FE5       ;
         860 TRDOS  DI                  ;
         870        EX   (SP),HL        ;塞 ॣ. HL  ⥪.
         880        JP   #3D2F          ;室   TR-DOS.

         890 R_SAVE LD   DE,#0000       ;/ 뢮  .
         900        LD   C,#7F          ;
         910        PUSH HL             ;
         920        LD   HL,#3FCA       ;
         930        EX   (SP),HL        ;
         940        JP   #3D2F          ;室   TRDOS.

         950 RDCAT  CALL ENTNAM         ;RDCAT-/ ⥭ ⠫
             ; ஢ . ⠭ 㪢   䠩.
         960        CALL CLS            ;⪠ ࠭.
         970        XOR  A              ;⠭  
         980        CALL GO_TR          ;㫥 ஦.
         990        CALL LOAD_C         ;㧪 ⠫  .
        1000        DEFB #09            ; 09, ஦ 0.
        1010        LD   A,(CATDAT+#E3) ;஢ઠ - ᥪ஢ 
        1020        BIT  3,A            ; ஦, ᫨ 8, 
        1030        JR   Z,DDRIVE       ;ந室 ᬥ
        1040        XOR  A              ;६ 
        1050        LD   (SDRIVE),A     ;஭
        1060        LD   A,#08          ;᪮.
        1070        LD   (SSECT+1),A    ;
        1080 DDRIVE LD   HL,CAT         ;뢠  䠩 
        1090        LD   C,#08          ;᪠    .#5000.
        1100 LOOP2  PUSH BC             ;稪  ⥭ 
        1110        LD   A,#09          ;8 ᥪ஢ ⠫.
        1120        SUB  C              ;A=A-C
        1130        LD   (SECT1),A      ;⠭ ⥪饣 ᥪ.
.
i1.18
                                   - 14 -

   1           T R - D O S
   3

        1140        CALL FROM_D         ;뢠 ᥪ.
        1150 SECT1  DEFB #09            ;
        1160        POP  BC             ;⠭ BC.
        1170        LD   DE,#0010       ;஢ઠ  䠩.
        1180        LD   B,E            ;⠭.稪  16 .
        1190 LOOP3  LD   A,(HL)         ;஢ઠ ࢮ 㪢
        1200        AND  A              ;, ᫨ 
        1210        JR   Z,C_FILE       ;ࠢ 0,  室,
        1220        ADD  HL,DE          ; ஢ઠ
        1230        DJNZ LOOP3          ;᫥饣  䠩.
        1240        DEC  C              ;室  뢠
        1250        JR   NZ,LOOP2       ;᫥饣 ᥪ.
        1260 C_FILE                     ;⡮ 䠩  .
        1270        LD   DE,CAT         ;DE -  砫 ⠫.
        1280        PUSH DE             ;
        1290        POP  HL             ;HL=DE
        1300        XOR  A              ;㫥 稪 䠩.
        1310        LD   (NFILES),A     ;࠭.
        1320 LOOP4  LD   BC,#0010       ;-   .
        1330        LD   A,(HL)         ; A -    -
        1340        AND  A              ;, ᫨  ࠢ 0 (
        1350        JR   Z,ENDCAT       ;⠫),  室  /.
        1360        CP   #01            ;᫨=1 ( 䠩),
        1370        JR   Z,A_TYPE       ; ஢ઠ ᫥. 䠩.
        1380        PUSH HL             ;
        1390        POP  IX             ;IX=HL
        1400        LD   A,(IX+8)       ; 䠩: BASIC, CODE 
        1410 TYPE   NOP                 ;㣮 ⨯.  
        1420        NOP                 ;⠢ XOR [ASCII CODE].
        1430        LD   A,(IX+11)      ;訩  . ᫥
        1440 LLEN   XOR  #AC            ; ஢ન  
        1450        JR   NZ,A_TYPE      ;⠫ 䠩.
        1460        LD   A,(IX+12)      ;஢ઠ 襣 .
        1470 HLEN   XOR  #0A            ;஢ઠ 襣
        1480        JR   NZ,A_TYPE      ; .
        1490 SLEN   LD   A,RDS2         ;஢. - ᥪ஢.
        1500        SUB  (IX+13)        ;᫨  ࠢ ६
        1510        JR   NZ,A_TYPE      ;RDS2,    㧪.
        1520        LDIR                ;७ ஢७ .
        1530        LD   A,(NFILES)     ;祭 稪
        1540        INC  A              ;⮡࠭ 䠩.
        1550        LD   (NFILES),A     ;࠭ 稪.
        1560 A_TYPE ADD  HL,BC          ;஢ઠ ᫥饣 䠩.
        1570        JR   LOOP4          ;
        1580 ENDCAT XOR  A              ;ᥭ ᫥ ᫥
        1590        LD   (DE),A         ;⮡࠭ 䠩 0.
        1600        RET                 ;室  ணࠬ.
        1610 NFILES DEFB #00            ;- ⮡࠭ 䠩.
.
i1.16
                                   - 15 -

                                            1           T R - D O S
   3

        1620 LOAD                       ;/ .  .
        1630        LD   A,(NFILES)     ;஢ઠ - 㧮,
        1640        CP   #00            ;᫨  ,  室 
        1650        JP   Z,ERR1         ;ᮮ.   ⢨.
        1660        CALL FINDAF         ;  䠩, ᫨ -
        1670        JP   C,ERR2         ;   室  訡.
        1680        LD   HL,FROM_D      ;. ६ ⥭.
        1690        LD   (CDLORS+1),HL  ;
        1700        CALL SORL           ;맮 / 㧪.
        1710        JR   Z,ENDLD        ;室  /  訡.
        1720        LD   HL,BUFFER      ;७ 㧪  
        1730        LD   DE,WYGR        ; ணࠬ.
        1740        LD   BC,LENGHT      ;
        1750        LDIR                ;
        1760 ENDLD  RET                 ;

        1770 SORL   LD   A,(IX+15)      ;/ ⥭   
             ;,  ᨬ  ६. IX- 䠩.
        1780        LD   (FINDTR+1),A   ; 砫쭮 ஦.
        1790        CALL FINDTR         ;
        1800        LD   A,(IX+14)      ; A - 砫 ᥪ.
        1810        LD   HL,BUFFER      ; HL 砫 .
        1820        LD   BC,RDSECT      ;BC - ᥪ஢  .
        1830 LOOP5  PUSH BC             ;࠭ BC.
        1840        INC  A              ;祭  ᥪ.
        1850        PUSH HL             ;
        1860        PUSH AF             ;
        1870        LD   (SECT2),A      ;⠭ ᥪ.
        1880 CDLORS CALL FROM_D         ;⥭/ ᥪ.
        1890 SECT2  DEFB #00            ;
        1900        POP  AF             ;
        1910        POP  HL             ;
        1920        INC  H              ;祭   256.
        1930        CP   #10            ;஢ઠ ᥪ, ᫨ 
        1940        JR   NZ,LAB         ;16,  室  쭥-
        1950        PUSH HL             ;襥 ⥭/, 
        1960        LD   A,(FINDTR+1)   ;ᤢ 
        1970        INC  A              ;।  1 ४.
        1980        LD   (FINDTR+1),A   ;
        1990        CALL GO_TR          ;
        2000        POP  HL             ;
        2010        XOR  A              ;㫥 ᥪ.
        2020 LAB                        ;
        2030        POP  BC             ;⠭ BC.
        2040        DJNZ LOOP5          ;쭥襥 ⥭.
        2050        RET                 ;
        2060 FINDTR LD   A,01           ; ஦.
        2070        CALL GO_TR          ;
        2080        RET                 ;
.
i1.20
                                   - 16 -

   1           T R - D O S
   3

        2090 FINDAF LD   HL,CAT         ;/ ᪠  䠩 -
             ; ⮡࠭  . HL-砫  ࢮ 䠩.
        2100 L1     LD   A,(HL)         ;஢ઠ  ⠫.
        2110        AND  A              ;᫨   
        2120        JR   Z,END          ;䠩=0,  室.
        2130        PUSH HL             ;
        2140        LD   DE,FNAME       ; DE -  ᪮ 䠩.
        2150        LD   BC,#0800       ;-    8.
        2160 L2     LD   A,(DE)         ;஢.ࢮ  .
        2170        INC  DE             ;DE=DE+1
        2180        AND  A              ;஢ઠ A  .᫨ ,
        2190        JR   Z,L3           ; ஢ઠ ᫥. .
        2200        CP   (HL)           ;ࠢ ⮢ .
        2210        INC  HL             ;㢥祭  ᫥饩
        2220        JR   NZ,L3          ;㪢. ᫨  ࠢ, 
                                        ;஢ઠ ᫥饣 .
        2230        DJNZ L2             ; ஢.᫥.㪢.
        2240        POP  IX             ;IX-  .
        2250        SCF                 ;몫祭 䫠 ७.
        2260        CCF                 ;
        2270        RET                 ;
        2280 L3     POP  HL             ;
        2290        LD   DE,#0010       ; ᫥饣 :
        2300        ADD  HL,DE          ;ࠢ HL=HL+16
        2310        JR   L1             ;஢ઠ, ᫨ 䠩
        2320 END    SCF                 ; ,  祭
        2330        RET                 ;䫠 ७  室.

        2340 SAVE                       ;/   .
        2350        LD   HL,WYGR        ;७ 㧪 
        2360        LD   DE,BUFFER      ;ணࠬ  .
        2370        LD   BC,LENGHT      ;
        2380        LDIR                ;
        2390        CALL FINDAF         ; .
        2400        JP   C,NEWF         ;᫨ 䠩  ,
                                        ;ᮧ  䠩.
        2410 SVE    LD   HL,ONDISK      ; १ ண.
        2420        LD   (CDLORS+1)     ,HL; ன ६.
        2430        LD   A,(IX+15)      ;஦ 砫 䠩.
        2440        LD   (FINDTR+1)     ,A
        2450        CALL FINDTR         ; ஦.
        2460        LD   A,(IX+14)      ; 砫 䠩.
        2470        LD   HL,BUFFER      ; HL - 砫 .
        2480        LD   BC,RDSECT      ; BC - - ᥪ஢.
        2490        CALL SORL           ;  ᥪ஢.
        2500        RET                 ;
        2510 NEWF   CALL BG93           ;  䠩.
.
i1.16
                                   - 17 -

                                            1           T R - D O S
   3

        2520        DEFB #1F            ; ⠭.
        2530        DEFB #0C            ;#1F-ॣ .
                                        ;#0C=00001100-⠭.
        2540        CALL RESET          ;RESET 93.
        2550        CALL LOAD_C         ;㧪  ⠫.
        2560        DEFB #09            ;
        2570        LD   HL,(CATDAT+#E5);஢ઠ ⠢ ᥪ.
        2580        LD   DE,RDS1        ; ᪥, ᫨  RDS1,
        2590        SBC  HL,DE          ; 室  ᮮ饭 
        2600        JP   C,ERR3         ;訡 (no space on disk!).
        2610        LD   (CATDAT+#E5),HL
        2620        LD   HL,CATDAT+#E4  ;஢ઠ - 䠩 
        2630        INC  (HL)           ;᪥, ᫨ 128,  室 
        2640        BIT  7,(HL)         ;ᮮ饭  訡.
        2650        JP   NZ,ERR3        ;
        2660        LD   HL,(CATDAT+#E1);  ᫥-
        2670        LD   E,L            ; ४/ᥪ.
        2680        LD   D,H            ;
        2690        PUSH DE             ;
        2700        LD   A,RDS2         ;  ⢮ ᥪ஢.
        2710 SSECT  LD   B,#10          ;-- ᥪ஢  ४.
        2720        ADD  A,E            ;
        2730 L5     CCF                 ;
        2740        SUB  B              ;
        2750        JR   C,L6           ;
        2760        INC  D              ;
        2770        JR   L5             ;
        2780 L6     ADD  A,B            ;
        2790        LD   E,A            ;
        2800        EX   DE,HL          ;
        2810        LD   (CATDAT+#E1),HL;.᫥ ./ᥪ.
        2820        CALL CATSAV         ;  .
        2830        DEFB #09            ;
        2840        LD   A,(CATDAT+#E4) ;A - - 䠩  ᪥.
        2850        DEC  A              ;ࢮ. - 䠩.
        2860        RRCA                ; १  -
        2870        RRCA                ;権 砥    ᥪ-
        2880        RRCA                ; ( 1  8),  ஬
        2890        RRCA                ;室  ᫥
        2900        PUSH AF             ;䠩  ᪥.  ⥪
        2910        AND  #07            ;  䠩  ᥪ-
        2920        INC  A              ; (1-16).
        2930        LD   (SECT3),A      ; ६  ண.
        2940        LD   (SECT4),A      ;
        2950        CALL LOAD_C         ;⠥ ᥪ.
        2960 SECT3  DEFB #00            ;
        2970        POP  AF             ;
        2980        AND  #F0            ;    䠩.
        2990        LD   E,A            ;
.
i1.16
                                   - 18 -

   1           T R - D O S
   3

        3000        LD   D,#00          ;
        3010        ADD  HL,DE          ;
        3020        PUSH HL             ;
        3030        POP  IX             ;
        3040        EX   DE,HL          ;㥬 .
        3050        LD   HL,FNAME       ;
        3060        LD   BC,#000E       ;
        3070        LDIR                ;
        3080        EX   DE,HL          ;
        3090        POP  DE             ; 砫
        3100        LD   (HL),E         ;ᥪ
        3110        INC  HL             ;
        3120        LD   (HL),D         ;४.
        3130        CALL CATSAV         ;뢠  
        3140 SECT4  DEFB #00            ; ᥪ.
        3150        JP   SVE            ;   䠩.

        3160 ERR1   CALL PRINT          ;訡 1.
        3170        DEFB #16            ;᫨  ᪥ 
        3180        DEFB #10            ;㧮 ,
        3190        DEFB #03            ; 뤠
        3200        DEFB #10            ; ᮮ饭.
        3210        DEFB #07            ;
        3220        DEFB #11            ;
        3230        DEFB #00            ;
        3240        DEFM "no file(s) of restore game!7%0"
        3250        CALL ANYKEY         ;
        3260        JP   PAUSE          ;
        3270 ERR2   CALL PRINT          ;訡 2.
        3280        DEFB #16            ;  .
        3290        DEFB #10            ;
        3300        DEFB #09            ;
        3310        DEFB #10            ;
        3320        DEFB #07            ;
        3330        DEFB #11            ;
        3340        DEFB #00            ;
        3350        DEFM "file absent!7%0"
        3360        CALL ANYKEY         ;
        3370        JP   PAUSE          ;
        3380 ERR3   CALL PRINT          ;訡 3.
        3390        DEFB #16            ;   ᪥.
        3400        DEFB #10            ;
        3410        DEFB #07            ;
        3420        DEFB #10            ;
        3430        DEFB #07            ;
        3440        DEFB #11            ;
        3450        DEFB #00            ;
        3460        DEFM "no space on disk!7%0"
        3470        CALL ANYKEY         ;
.
i1.20
                                   - 19 -

                                            1           T R - D O S
   3

        3480        JP   PAUSE          ;
        3490 ANYKEY
        3500        CALL PRINT          ;
        3510        DEFB #16            ;
        3520        DEFB #12            ;
        3530        DEFB #09            ;
        3540        DEFB #10            ;
        3550        DEFB #07            ;
        3560        DEFB #11            ;
        3570        DEFB #00            ;
        3580        DEFB #13            ;
        3590        DEFB #01            ;
        3600        DEFM "press any key7%0"
        3610        RET                 ;
        3620 PAUSE
        3630 NEXTP  XOR  A              ;/  
        3640        IN   A,(#FE)        ; .
        3650        CPL                 ;
        3660        AND  #1F            ;
        3670        JR   Z,NEXTP        ;
        3680        RET                 ;
        3690 ENTNAM CALL PRINT          ;/  ᨨ 㧪.
        3700        DEFB #16            ;
        3710        DEFB #10            ;
        3720        DEFB #05            ;
        3730        DEFB #10            ;
        3540        DEFB #06            ;
        3750        DEFB #11            ;
        3760        DEFB #00            ;
        3770        DEFM "enter version letter7%0"
        3780        XOR  A              ;
        3790        LD   (#5C08),A      ;
        3800 LL     LD   A,(#5C08)      ;
        3810        AND  #DF            ;
        3820        CP   #41            ;
        3830        JR   C,LL           ;
        3840        CP   #5B            ;
        3850        JR   NC,LL          ;
        3860        LD   (LETTER),A     ;
        3870        RET                 ;













