
                       1  0  e7 e6 e5 e4 e3 e2     e1
                      ͼ    ͼ
              몫稬 䫠 C:
                                   AND A
                      ͻ    ͻ
                       1  0  e7 e6 e5 e4 e3 e2     0 
                      ͼ    ͼ
                                   RRA
                      ͻ    ͻ
                       0  1  0  e7 e6 e5 e4 e3     e2
                      ͼ    ͼ
+                                   - 94 -

               ⥯   0, 1, 2   ᮮ⢥-
         騬  ⠬  ॣ E:

                                   XOR E
                                   AND 0F8H
                                   XOR E
        Ŀ
                                          ͻ
            ᫥ 樨 XOR,AND,XOR -           
        ࠧ    -                 
         饭. ᫨  , ਬ,              
          - A  B    ᪮쪮               
        ⮢   A   ᮮ⢥-   ͼ
        騥    B,   樨   ᤥ.  -
        饭      ,    ᪨஢  樨 AND
        ﬨ. ਬ  A  ᪫ a7a6a5a4a3a2a1a0,   B
         ᪫ b7b6b5b4b3b2b1b0     a5  a3 
        b5  b3.   樨 AND     ᪨஢-
        .                                                            
                      室: a7 a6 a5 a4 a3 a2 a1 a0                 
                                                                       
                        XOR B: b7 b6 b5 b4 b3 b2 b1 b0                 
                      AND 214:  1  1  0  1  0  1  1  1                 
                        XOR B: b7 b6 b5 b4 b3 b2 b1 b0                 
                     _________________________________                 
                    : a7 a6 b5 a4 b3 a2 a1 a0                 
        

               १  ᫥ 権 ࠧ ᫥
         ᪫ ⮢:
                      ͻ
                       0  1  0  e7 e6 e2 e1 e0
                      ͼ
               ⨭ 㦥 ᮮ⢥ ⮬,    
          ॣ H (. .15).
                                 LD H,A
               ࠧ,     न y   175  
         ।    ᥣ  ࠭   (e7,e6)       
+                                   - 95 -

         (e2,e1,e0)    ⭮  ()    ⮣ ᥣ. 
         鸞    ⠭,    ᬮਬ  न  x  ᬮ
          ॣ L.

              ᬮਬ ⥯ न x.

                                    LD A,D

              ᪫ ⮢  饬 砥   ਬ ⠪:

                      ͻ
                      d7  d6 d5 d4 d3 d2 d1 d0
                      ͼ
                蠣 饭 :

                                     RLCA
                      ͻ
                      d6  d5 d4 d3 d2 d1 d0 d7
                      ͼ
                                     RLCA
                      ͻ
                      d5  d4 d3 d2 d1 d0 d7 d6
                      ͼ
                                     RLCA
                      ͻ
                      d4  d3 d2 d1 d0 d7 d6 d5
                      ͼ
               ன ࠧ 믮塞 ᬮ७  
         ᪮ 饭.
                                     XOR E
                                     AND C7
                                     XOR E
               ⮣ 砥:

                      ͻ
                      d4  d3 e5 e4 e3 d7 d6 d5
                      ͼ

+                                   - 96 -

                蠣 饭 :

                                     RLCA
                      ͻ
                      d3  e5 e4 e3 d7 d6 d5 d4
                      ͼ
                                     RLCA
                      ͻ
                      e5  e4 e3 d7 d6 d5 d4 d3
                      ͼ

                   ᮮ⢥
         襬   ᯫ 䠩 (. . 15).

                                   LD L,A

              訩    ᯫ 䠩 ନ஢.   
         訥   㪠뢠   鸞  ⠭
         ᥣ ࠭,  訥  ⮢ -   ⮫.

                  ᥣ, 鸞, ⮫  . 
           ࠭  ॣ஢  HL. ᫥,  -
          ᤥ -  ᯮ,      ᢮  -
           8 ᥫ,   㦥 ⮫쪮    -  -
         室.  ᪨   । ⪮  
         न x  8,    ⮪ - ⥬  ᪨-
            ⮢,      .    ⮬,
           न  x    ᫥  ࠢ  0,1,2... 255, 
          ⮢  ,   7,6,5.....0. ⮬  㦭
         ᤥ ८ࠧ.

              쬥 न x:

                                 LD A,D
                      ͻ
                      d7  d6 d5 d4 d3 d2 d1 d0
                      ͼ

+                                   - 97 -

               ᪨㥬   ⮢:

                                 AND 07
                      ͻ
                       0  0  0  0  0  d2 d1 d0
                      ͼ
             ᪨     ⮪    8.
         ⨬   ॣ B

                                 LD B,A
               믮 ८ࠧ:

                                 LD A,08
                                 SUB B
                                 LD B,A

              ⠪,   믮.  ॣ஢  HL  ᮤ-
          ,   ஬  室 ,  騩   ࠭
         , ன ਭ  室 न.   ॣ
         B ᮤন  , ᮮ⢥騩 㦭  窥   ⮩
         .

















+                                   - 98 -

                 2.10     

                ணࠬ    믮  ᪠஢  ࠭   
            ।   ᨬ ⠬ ᮤন.

                ⫨稥    㭪樨    SCREEN$  (X,Y)     
         設    ⥬   ,  
         ணࠬ ᯮᮡ ᯮ  ᨬ 䨪 짮⥫  
         ᨬ 筮 䨪.

              ணࠬ    ࠧ  窨 室.    
         짮    ⮣,        砫
         ᫮. ᫨ न ᪠㥬    -
         設 ⥪   浪 Y,X,  楤  뢠
          ⪥  SCR_FP.  ⮬ १   設  ⥪
         .

              ᫨  室  न     ⢥ ࠬ஢
         㭪樨 짮⥫ FN  S (),   窮 室   ⪠
         SCR_FN.   ⮬ 砥  ᠬ 㭪  짮⥫   
           DEF  FN S(X,Y) =  USR addr,   addr -   ⪨
         SCR_FN. 맮  楤 ⮣ 믮  RANDOMIZE
         FN S(X,Y),   X  Y  ⠢  ࠬ.

             ᫨ न  १ ॣ B (न x)  
         C (न y),   楤 뢠  ⪥  SCR_1. 
         ᭮ 窠 室.   ⠫ ⮫쪮  믮 ८-
          室     .

               ࠡ  楤 ।  ﭨ 䫠
         Z (ZERO) ॣ F. ᫨ 䫠 祭,  ᪠஢  諮
         ᯥ譮  ᨬ ஢.  ᫨ 䫠 몫祭 -  ⠪
         ᨬ   .   砥 ᯥ譮  ᪠  ᨬ
          㧭   .




+                                   - 99 -

                            ணࠬ  SCANER.

             SCR_FP  CALL 2307H         ;맮 楤  STK_TO_BC.
                                        ;楤 㦨  ࠧ-
                                        ; ᮤন 設 ⥪
                                        ;  ॣ஢
                                        ; BC.
                     CALL SCR_1         ;맮 㣮 窨 室. 
                                        ;१  ࠡ 稬
                                        ; ॣ A  ᨬ, -
                                        ;ঠ饣  㥬 -
                                        ;.
                     LD BC,0000         ;樠 BC.
                     JR NZ,SCR_STR      ;᫨ ᨬ  -
                                        ;,  室.
                     INC BC             ;  BC ⥯ 1.  
                                        ;ᨬ쭮 ப,  ன
                                        ;⮫쪮  ᨬ.
                     RST 30             ;맮 ⮩ ⥬ 楤
                                        ; १ࢨ ࠭⢮,
                                        ;ࠧ ண ⮨  BC. 
                                        ; 㪠뢠 DE.
                     LD (DE),A          ;᫠  ᨬ.
             SCR_STR JP 2AB2            ; 窠 室 ⥬
                                        ;楤  STACK_AEDCB,
                                        ; 頥  設
                                        ;⥪   
                                        ;ॣ஢ A,E,D,C,B.
                                        ; 楤 ᠬ ᮢ 
                                        ;  뢠 ணࠬ.

             SCR_FN  LD HL,(DEFADD)     ;  㬥 짮-
                                        ;⥫᪮ 㭪樨. ஡-
                                        ; .  ࠧ 3.1.
                     LD DE,0004
                     ADD HL,DE          ;  4 .
                     LD C,(HL)          ;न Y.
                     ADD HL,DE          ;
+                                   - 100 -

                     ADD HL,DE          ;  8 ⮢.
                     LD B,(HL)          ;न X.
                     CALL SCR_1         ;맮 㣮 窨 室. 
                                        ;१  ࠡ 稬
                                        ; ॣ A  ᨬ, -
                                        ;ঠ饣  㥬 -
                                        ;.
                     JR Z,SCR_SINGL     ;᫨ ᨬ  - 室.
                     XOR A              ; ⨢ 砥  -
                                        ; ⠢塞 .
          SCR_SINGL  LD C,A             ;⮢ 
                     LD B,00            ;室.
                     RET                ;室.

              ᭮  窠 室 SCR_1, .. ⠫
         ᢮   . ⠪, BC ᮤন न X  Y.

              SCR_1  LD A,C             ; 
                     RRCA               ; 
                     RRCA               ;      -
                     RRCA               ;     ᯫ
                     AND E0             ;     
                     XOR B              ;   न⠬.
                     LD E,A             ; 
                     LD A,C             ;   . . 86...89
                     AND 18             ; 
                     XOR 40             ; 
                     LD D,A             ; 
                     PUSH DE            ; 

              ⠪,   ⠭  ॣ஢  DE 
         ࠭  ⥪.  蠥   ⮬ 蠡 
          ᨬ ࠦ  ⮬ .

                     LD HL, (CHARS)     ;⥬ ६ CHARS
                                        ;(23606 = 5C36) 㪠뢠 
                                        ;256 ⮢ , 祬 砫
                                        ;⠡ 蠡 ᨬ.
+                                   - 101 -

                     INC H              ; HL 㪠뢠 筮
                                        ; 砫 ⠡ 蠡.
                     CALL 254DH         ; 254DH -   祪
                                        ;室  楤 
                                        ;S_SCRN_$,  믮
                                        ;஢    
                                        ;㥬 蠡 ᨬ
                                        ;ASCII.  ⠥ 
                                        ;設 ⥪ .
                     CALL 2BF1H         ; 2BF1 - 窠 室 -
                                        ;楤  STK_FETCH, 
                                        ;᭨ 孨  祭
                                        ; ⥪   ࠧ-
                                        ;   ॣࠬ
                                        ;A,E,D,C,B.
                                        ;   
                                        ; ᨬ, ᫨ 蠡  -
                                        ;㥬  
                                        ;⠪.
                     POP DE             ;⠭  .
                     DEC C
                     RET Z              ;室, ᫨   ᯥ.

              ᫨ 騩    ᨬ   ᨬ-
          ASCII, 稭  ஢,       ᨬ
         䨪 짮⥫ UDG.

                      PUSH DE            ;  .
                      LD HL,(UDG)        ;⥬ ६ UDG
                                         ;(23675 = 5C7BH) 㪠뢠 
                                         ;, 稭  ண -
                                         ; 蠡 ᨬ 䨪
                                         ;짮⥫.
                      LD B,15H           ;15H = 21 DEC - ⢮ ᨬ-
                                         ; 䨪 짮⥫.
                      CALL 254F          ; 窠 室  ⥬
                                         ;楤 S_SCRN_LP.  -
                                         ;   ᨬ UDG, -
+                                   - 102 -

                                         ;⢥騩 襬 -
                                         ;   १ 
                                         ;設 ⥪ .
                      CALL 2BF1          ;室  STK_FETCH  ࠧᥭ
                                         ;設 ⥪  
                                         ;ॣࠬ A,E,D,C,B.

                ᤥ  砭.   ⮬,   -
         設 ⥪,  ⥬       ᨬ  UDG,
           ஥  㣮  ᫮,  ஥   ᪮४஢.
         稭  ⮬,  楤 S_SCRN_LP    ।砫
           ࠡ    ᨬ  UDG,    ⮫쪮  ᨬ ASCII, 
         १  祣    ᫥騩  䥪.   
         ᨬ, 頥   ,  ।   ࠧ
           ᫮  128  (।    ᨬ ASCII)  ⥬, 
         ⠫  稪 ஢塞  ᨬ (ॣ B).   
         ᨬ  UDG        ࠢ  165,   128,  
         祭      १  室   
          ࠧ - ᫮ 37 (25H).

                      ADD A,25           ;믮 ४.
                      POP HL             ;   - 
                                         ; HL.
                      DEC C
                      RET Z              ;, ᫨   -
                                         ;.

              ᫨     ᥩ ࠧ 襫 ᯥ譮,  ⠥
         ⮫쪮 ஢: "    㥬 ᨬ ᨬ
         筮  䨪?" ஢ઠ  믮    ⠯.  砫
         ஢      ᨬ,    ⮬ . ᫨
         ࢠ ஢ઠ  諠,   믮  ᫠.  -
          ⠪   ,    ᨬ 筮  -
         䨪  4          ࠢ  ᮡ  ⮬
         ஢     ,    .

                      CALL TEST_HALF     ;஢ઠ 孥 
                                         ;ᨬ.
+                                   - 103 -

                      RET NZ             ;, ᫨ ஢ઠ 
                                         ;諠.
                      LD C,A             ;᫨ ஢ઠ 諠,  
                                         ;ॣ C  -
                                         ;⮢ ᪫  孥
                                         ; ᨬ.
                      CALL TEST_HALF     ;஢ઠ  
                                         ;ᨬ.
                      RET NZ             ;, ᫨ ஢ઠ 
                                         ;諠.
                      ADD A,A            ;  樨 ᨬ
                      ADD A,A            ;筮 䨪 ।
                      ADD A,C            ; .
                      ADD A,80           ;
                      CP A               ;祭 䫠 Z  ᨣ
                                         ; ⮬,    १-
                                         ;⨢.
                      RET                ;⥫ 室  -
                                         ; ணࠬ.

              ணࠬ TEST_HALF 믮 ஢ 孥  
             ⪥ ।    
         饭 ⠬ ᨬ ᨬ 筮 䨪.

          TEST_HALF   CALL TEST_LINE     ;맮 ணࠬ, 
                                         ;믮 ஢ ࢮ
                                         ;  .
                      RET NZ             ;, ᫨   ᮢ.
                      LD D,A             ;᫨ ᮢ,    
                                         ;,  ᫥騥
                                         ;   ⠪ .
                      LD B,03            ;稪 横   .
             LOOP     CALL TEST_LINE     ;設 横   ஢-
                                         ;ப .
                      RET NZ             ;, ᫨    
                                         ;  ᮮ⢥ 筮
                                         ;䨪.
                      CP D               ;᫨  ᮮ⢥,  -
+                                   - 104 -

                      RET NZ             ;砥  ࢮ,  ⮦
                                         ;.
                      DJNZ LOOP          ; 横  .
                      RET                ;室  ணࠬ.

              ணࠬ  TEST_LINE  ஢  ᮮ⢥  
         ஢塞   ᨬ 筮  䨪. 
            ⮬. ᪮ ᨬ 筮  䨪
          ।  ᨬ,        ᪠,
         ஢ਢ 訩 㡠 (4 )  訩 㡠 (4 ).
         ᫨      ᮮ⢥ 樨 ᨬ  筮
         䨪,  쭥襥 ᫥ ᨬ ᯮ.

          TEST_LINE   LD A,(HL)          ;HL 㪠뢠   
                                         ; ᯫ 䠩.  
                                         ;ॣ A 䠪᪨ ᮤ-
                                         ;  .
                      INC H              ;室  ᫥饩 .
                      LD E,00            ;樠 ॣ E.
                      CALL TEST_NIBBLE   ;஢ઠ 襣 㡠.
                      RET NZ             ;, ᫨   諠.
                      RLC E              ;᪫ ⮢  ॣ
                                         ;E ਭ :
                                         ;  0 0 0 0 0 0 0 ah
                                         ; ah - ﭨ 襣
                                         ;㡠  㥬
                                         ;.
                      CALL TEST_NIBBLE   ;஢ઠ 襣 㡠.
                      RET NZ             ;, ᫨   諠.
                      LD A,E             ;  :
                                         ;  al 0 0 0 0 0 0 ah, 
                                         ;ah  al - ﭨ 襣
                                         ; 襣 㡠⮢  -
                                         ;㥬 .
                      RLCA               ;  :
                                         ;  0 0 0 0 0 0 ah al
                                         ;  ଠ 㦥 
                                         ; ᯮ짮 
+                                   - 105 -

                                         ;᫥  ᨬ.
                      CP A               ;祭 䫠 Z  ᨣ
                                         ; ⮬,    १-
                                         ;⨢.
                      RET                ;.

              ணࠬ TEST_NIBBLE ஢ 㡠   
          । ᮮ⢥⢨  樨 ᨬ 筮  -
         .    ⮬  ᯮ    祢  䠪,   
         ᨬ 筮 䨪     ( )  
            祭  몫祭.

         TEST_NIBBLE  PUSH BC            ;࠭  ⥪ 稪
                                         ;  B, ᪮ 
                                         ; ॣ 㤥 ᯮ짮
                                         ; 稪 ⮢  㡠.
                      RL E               ; १ ⮩ 室
                      RLA                ;樨 訩  E ⠫
                      RR A               ;ࠢ 襬  A (-
                                         ;஢ ந諮 १ 䫠
                                         ;७ .
                      LD B,03            ;࣠㥬 稪  ஢-
                                         ;  ᫥ ⮢.
           LOOP_1     XOR E              ;   訩
                                         ; , ᫨ 
                                         ;ࠢ ( ᭠砫 ⠪  
                                         ;) 襬   E.
                      RLA                ;।   
                                         ;⠭ 訬,  訩
                                         ;ࠢ  䫠 C
                      JR C, EXIT         ; C   ⮫쪮
                                         ;᫨    ⮢, ᫥-
                                         ;  訬,  ࠢ
                                         ;. ,   ᨬ
                                         ;筮 䨪  ᫥
                                         ;室  EXIT.
                      DJNZ LOOP_1        ;७   ⮢.
                      CP A               ;祭 䫠 Z  ᨣ
+                                   - 106 -

                                         ; ⮬,    १-
                                         ;⨢.
                      JR EXIT_1          ;⮢  .
            EXIT      OR FF              ;몫祭 䫠 Z  ᨣ
                                         ; ⮬,                                             ;⨢.
                                         ;१.
            EXIT_1    POP BC             ;⠭ 稪 
                                         ; ॣ B.
                      RET                ;.





























+                                 - 107 -

                    3.      

               ୠ     ਥ 楫.  -, 
         㦨   ࠪ⨪㬮   ⮬ ਠ,    -
         ᬮ७    ࠭.  -,     ,
         ਥ  ⬮,  祡 ᮡ   ᠬ-
         ⮢.  ,  ,  -,   ਠ,  
         ।⠢,     ௮஢     -
         ࠬ  ⨦ ᨮ ᪨ 䥪⮢.

              ᫨  ⠫   ⮣ ࠧ,  㦥  -
          ।⠢,     䨪  ਡ   
         ⮫쪮  ஢   楯権,   ⮫쪮  室 
          ࠪ᪨  ਬ,   室 ⢮-
          設  .   -⠪   ⠢   ,
               ⠪ ,     ᯮ짮  
         뫮  ࠧ㬭.

               ࠭    த⢨ 設-
          楤,  ࣠  ᮢ⭮ ᯮ짮 
         ࠬ  .  ⢮ ஫ 饣 , 
         ⠪      孥  ஢,     樨
         믮 設 , ।⠢ ࠧ묨 楤ࠬ.

               ࠧ ᯮᮡ ꥤ   -
             設  . ,  ࠭    
         ୠ   ࠧ ਫ   設   -
         ப  ஬ REM.   ⥬,   ப  -
         ࠭ ਥ, 易  ᯮ짮 㭪権  짮-
         ⥫ FN     襫  ᢥ饭    ࠡ-
         ,  祬 室 ᮦ.   ⮬,   ⮦  祭
         㤮 ਥ,   ⠭  ᮡ    
         ,    맮 設 楤   
          ।    ࠬ஢.

               ਥ  । ࠬ஢    設
          ⮨  ⮬,    ⨢   뤥  -
         쪮 祥   ࠭  ࠬ஢, ..  ᯮ-
+                                 - 108 -

           ,   ணࠬ ६. ⥬, -
         ।  맮  設  楤,  ⠢  
          POKE 㦭  ࠬ   祩  NN,  -
         뢠  楤,    "墠뢠"    ࠬ  ⮩
         祩, ࠢ  ॣ , ࠡ⠥   , ᫨
         㦭  - १ ࠡ, ⮦ ࠢ   
         ࠭  १ࢨ஢  祩  ,  ਬ MM, ᫥
         祣 頥  .        -
           PEEK  MM  "㯠",    ⠬ ࠡ⠫  -
         楤.

               ⠭ ਥ.   ᯮ, ਬ,  訥
         ணࠬ, 楫 ᠭ   設 .   ।
         ࠬ   楤   㣨.  ⮣, ⮡   
           ࠡ⠫,  ணࠬ  筮  ⢮  ᮫  
           (᪮쪮  ⥭  ⮢)    ࠭     ⠪
         ணࠬ ६  ண  ᫥, ⮡    
          ६ ࠡ ணࠬ  ૮.

              㤮⢮  祢 -   ६ , 
         ६  祩  ⢥,  㤠   -
           १,  ⠪ ᫥, ⮡ ६  ᯮ짮-
            - 稭  祭, ᢮६
         ⠭  樠஢.  ਭ樯  뤠-
          ணࠬ  楫   (⥪)  ᢮  -
         ࠬ   ᯮ짮   ࠡ ६.

              ᫨  ணࠬ, 楫 ᠭ  設 , 
         㤮⢮    室  ,    襣 ,
           ꥤ塞    設      ,
            ਥ   । ࠬ஢,  ᭮ 
         ᯮ짮    㭪権, । 짮⥫  
           ᥩ ᬮਬ,   ᭠砫 ⠭    
         ⮬,  ࠭    㭪樨  짮⥫.

              ! । ⥬,  稭 ࠡ  ⮩ ,
                        室 ⥫쭮  ࠧ 2.9.

+                                 - 109 -

                3.1. ⠭ ଠ              ͻ
                   㭪樨 짮⥫.                     
                                                                   
                   ᯥਬ㥬.           
            ᫥ ணࠬ:              
                                                     ͼ
                      10 DEF FN a(x,y,z)=x+y+z
                      20 FOR i=23755 TO 24000
                      30 PRINT i, PEEK i
                      40 NEXT i

              , 祢 ,   稭   23755   
           ᯮ ⥪ -ணࠬ, ⮬ -
         ਢ ணࠬ   ,  ᯥ뢠 
         ⥪   ⮬.   ࠡ 㤥 ᫥騬:

         23755         0  Ŀ
         23756        10   -  ப ;
         23757        34  Ŀ
         23758         0   -  ⮩ ப (34 );
         23759       206     -   DEF FN;
         23760        97     -  㪢 a;
         23761        40     -  뢠饩 ᪮;
         23762       120     -  㪢 x;
         23763        14     - , ᢨ⥫騩,  ᫥騥 5
                               ⮢ ࠦ ஥ ⢨⥫쭮
                               ᫮, ᠭ  ⥣ࠫ쭮 ଥ;
         23764       121 Ŀ
         23765        44       "ࠪ", ᮢ襭 -
         23766       122   - ⭮,    ᫮.   祭
         23767        41      讥,   祭 쪮.
         23768       120 
         23769        44     -  ⮩;
         23770       121     -  㪢 y;
         ...................    ⠪ .

               ⠢ ன ᯥਬ:

+                                 - 110 -

              10 DEF FN a(x,y,z)=x+y+z
              15 LET test=FN a(3,8,5*2-7)
              20 FOR i=23755 TO 24000
              30 PRINT i, PEEK i
              40 NEXT i

                 ணࠬ ப 15,  ⥯    ᯥ-
         ⠥ ⥪ ப 10,   RUN.   १:
         ...........................................
         23762       120     -  㪢 x;
         23763        14
         23764         0 Ŀ
         23765         0  
         23766         3   -   ᫠ 3.
         23767         0  
         23768         0 
         23769        44     -  ⮩;
         23770       121     -  㪢 y;
         23771        14
         23772         0 Ŀ
         23773         0  
         23774         8   -   ᫠ 8.
         23775         0  
         23776         0 
         ................... -   .

              ,   ᥩ 㢨 - 쭮  १.
         ᪨ 稥   ணࠬ  ப   ஬ 15  
         ᮤঠ ப 10.   ⠪  㤠 ⠫.  
         ந室    ⮬,      "㬥",   
         । 㭪樨 DEF FN  㪠뢠  ࠬ  x,y,z,...
          .,    ࠬ ࠧ १ࢨ 5 ⮢,
            ᫥⢨   ᯮ ᫮  祭
          ࠬ஢.

               ⮫쪮 ⨫  맮 㭪樨 FN   ப 15,  
         ࠬ 뫨 ᫥  ⠢    ⠢,
         ᫨    ,  ஭஢   ப 10.
+                                 - 111 -

              ࠧ, ।⢥  -ப  ࣠
         ,  ஬ ࠭ ⥪騥 祭 ࠬ஢. ࠢ
          ணࠬ묨 ६묨, ⥪騥 祭  ࠭ 
         ᯥ樠쭮  ⢥    ,     㪠뢠
         ⥬ ६ VARS (23627 = 5C4B).

                  ६ ᫥ 㭪樨  짮⥫ -
          ⠢  ᢮ ⠬,    뫮   ᯮ-
             ।      設 , ᫨  㤠
         筮 ।     ਢ易   祬-.
            .

                ⥬ ६  - ͻ
              ⥬  ६   DEFADD           
         (23563 = 5C0BH),                     
         㭪樨 짮⥫ ᮤন  ᥡ ,               
          ண 稭 ࠬ ⮩  㭪-               
         樨.  稥  ६ ⠬  ࠭               
         0.  ᫨      㤠  ᯥ           
         ᮤন    樨 FN a, ͼ
          稫  23762, ..   㪠뢠   ࢮ  -
          - "x".    . ᫨  㤥 ।  -
         १ ࠬ 楤 楫  ᫠, 騥  ࢠ   0
          255,  ࢮ ᫮ 㤥 室    (DEFADD)+4,
         ⠬ ᥩ ⮨  ᫮ "3", ஥  - (DEFADD)+12 -  ⠬ 
         ⮨ ࠬ y, ࠢ 쬨,  - (DEFADD)+20  ..  
         蠣  ᥬ  ⮢ (    㪢,   
         ⮣ ࠬ,     ,  ࠧ ࠬ,
            ᨬ CHR14    ⮢  ⥣ࠫ  
         ᫠.)

                 ᯮ짮 ।  ࠬ஢    
         設    १  ࠬ  㭪樨  짮⥫.  襬
         砥  㤥 । 楫  ᫠  0  255,  .. 
         ,  筮  ।   ⢨⥫ ᫠,
            ⮤  㤮.  ⮬ 砥  ।-
          ⨡⭠ ଠ ⮢  ࠡ⪨  .

+                                 - 112 -

                   3.2   ⪠   ࠭.

               ࠧ  楤 ᠬ ஡訬 ࠧ.  -
         稥  筮 楤  CLS,      
         ࠭,      ,  ࠬ  ண  ⠢ 
           㭪樨 FN  a(x,y,h,v).  ⢥ 砫쭮  
         楤  ࠫ 63000,    - 92      
            楤 ⢥  ࠭ ࠡ  ࠬ-
         ஢. ᮪ ࠬ஢:

              x - ਧ⠫쭠 न  孥 㣫 ,
                  饣 ⪥ (   0...31);
              y - ⨪쭠 न  孥 㣫 ,
                  饣 ⪥ (   0...23);
              h - ਧ⠫ ࠧ    (h+x<32);
              v - ⨪ ࠧ    (v+y<24).

               楤   㦨   ࠭,    
           ᨬ 鸞,   ⮫쪮   ,
         .. 22 鸞. ᫨   砫 ࠬ y , 祬
         23, 楤 ୥    ࠡ,   ࠬ  x,
         h  v 墠 訡  ⠢, ⮡  ᫮ 設
         , ⠪   訡  ਢ  ᠭ  
         , 祬,  ࠪ᪮ ᯮ짮 ⠪  -
         楤  ᬮ ⠢  墠 ਬ    ।
         맮 FN a.

                    10 REM *** 稪 設 
                    20 LET adr=63000: LET long=95: LET z=0
                    30 FOR i=0 TO long-1: READ a
                    40 POKE (adr+i),a: LET z=z+a
                    50 NEXT i
                    60 LET z=INT (((z/long)-INT (z/long))*long)
                    70 READ a
                    80 IF a<>z THEN PRINT "??": STOP
                    90 REM
                   100 REM *** ਬ ᯮ짮 楤
                   110 DEF FN a(x,y,h,v)=USR 63000
+                                 - 113 -

                   120 BORDER 4: PAPER 1: INK 6: CLS
                   130 FOR n=0 TO 703
                   140 PRINT "";
                   150 NEXT n
                   160 PAUSE 100
                   170 FOR n=1 TO 5
                   180 RANDOMIZE FN a(n*6-5,n*3-1,5,5)
                   190 NEXT n
                   200 REM ***   設 
                   210 DATA  42,  11,  92,   1,   4
                   220 DATA   0,   9,  86,   1,   8
                   230 DATA   0,   9   94, 237,  83
                   240 DATA 116, 246,   9,  86,   9
                   250 DATA  94, 237,  83, 118, 246
                   260 DATA 237,  91, 116, 246, 123
                   270 DATA 254,  23, 240, 237,  83
                   280 DATA 116, 246, 123, 230,  24
                   290 DATA 246,  64, 103, 123, 230
                   300 DATA   7, 183,  31,  31,  31
                   310 DATA  31, 130, 111,  58, 118
                   320 DATA 246,  71, 197, 229,   6
                   330 DATA   8, 197, 229,  58, 119
                   340 DATA 246,  71, 175, 119,  35
                   350 DATA  16, 252, 225, 193,  36
                   360 DATA  16, 240, 225, 193,  62
                   370 DATA  32, 133, 111,  48,   4
                   380 DATA  62,   8, 132, 103,  16
                   390 DATA 222, 201,   0,   0,   0
                   400 DATA  82

              ᥬ 設  ।⠢ .   -
         , 䠪᪨      ᯥ   -
         楤,  ७ ਦ.   ࠧ  筮   
         ப DATA, ன ࠧ -   ᠬ  ⭠筮 
          ⨩ ࠧ -    .  ன 
         ᤥ  ⮫쪮  ⮣, ⮡   ࠡ  ⥬  -
         ,   㤮,    ᮮࠦ ,  -
         ⢥ ⥫쭮   졥  ⪠.
+                                 - 114 -

               ࢮ ⠯ 楤 ਭ ࠬ x,y,h  v 
         ॡ뢠   祩 63092...63095.

         63000   2A0B5C        LD HL,(5C0BH)  ;DEFADD - ⥬ -
                                              ;, 㪠뢠 
                                              ;,  室 -
                                              ; 㭪樨 짮-
                                              ;⥫.   5C0BH
                                              ;(23563).
         63003   010400        LD BC,0004     ;  DEFADD  4 -
         63006       09        ADD HL,BC      ; (. ).
         63007       56        LD D,(HL)      ;न x.
         63008   010800        LD BC,0008     ;  DEFADD   8
         63012       09        ADD HL,BC      ;⮢ (. ).
         63013       5E        LD E,(HL)      ;न y.
         63014 ED5374F6        LD(COORD),DE   ;ॡ᪠ ࠬ஢ y
                                              ; x   63092,63093.
         63018       09        ADD HL,BC      ; ᤢ  8 ⮢.
         63019       56        LD D,HL        ;ਭ .
         63020       09        ADD HL,BC      ; ᤢ  8 ⮢.
         63021       5E        LD E,(HL)      ; .
         63022 ED5376F6        LD(PARAM),DE   ;ॡ᪠ ࠬ஢ v
                                              ; h   63094,63095.

               楤  ஢   室   ࠬ y  
         ⨬ ।  稭    ࠭ 
         ,  ᮮ⢥騩  न⠬     孥   㣫
          .

         63026 ED5B74F6        LD DE,(F674)   ;न x  y.
         63030       7B        LD A,E         ;न y.
         63031     FE17        CP 17          ;஢ઠ  <=23.
         63033       F0        RET P          ;室, ᫨ .
         63034 ED5374F6        LD(F674),DE    ;न x  y.
         63038       7B        LD A,E         ;न y.
         63039     E618        AND 18         ;  
         63041       F6        OR 40          ;  न⠬.
         63042       67        LD H,A         ;
+                                 - 115 -

         63043       7B        LD A,E         ;
         63044     E607        AND 07         ;
         63046       B7        OR A           ;
         63047       1F        RRA            ;
         63048       1F        RRA            ;
         63049       1F        RRA            ;
         63050       1F        RRA            ;
         63051       82        ADD A,D        ;
         63052       6F        LD L,A         ;

                ॣ H  L  ᮮ⢥ . 16  
         . 86, ..  ⠢   HL  ᯫ ,   -
         ⢥騩  㫥      孥 㣫 . 
         ᫥   - ।⢥  ⪠ ,   
         㤥  ,  뫠  㫨   祩 , ᮮ⢥騥
          室   .

                ਤ  ࣠ ᪮쪮   横-
         .  横 (譨) -  ⨪,    鸞  
         1  ࠬ v. ன 横 (।) -     - 
         1  8.  ⨩ 横 (७) -  ਧ⠫,   
         ⮫栬 -  1  ࠬ h.

         63053   3A76F6        LD A,(F676)    ;ࠬ v
         63056       47        LD B,A         ; ॣ ""  㤥
                                              ;稪 横.
         63057       C5 LOOP_V PUSH BC        ;࠭   ⥪
         63058       E5        PUSH HL        ;࠭ ⥪騩 .
         63059     0608        LD B,08        ;稪 横  .
         63061       C5 LOOP_8 PUSH BC        ;࠭   ⥪
         63062       E5        PUSH HL        ;࠭  ⥪
                                              ;⥪騩 .
         63063   3A77F6        LD A,(F677)    ;ࠬ h
         63066       47        LD B,A         ;稪 横  ⮫栬
         63067       AF        XOR A          ; ⥩訩 ᯮᮡ -
                                              ;㫥 .
         63068       77 LOOP_H LD(HL),A       ;砫 横  ⮫栬.
                                              ;⪠  .
+                                 - 116 -

         63069       23        INC HL         ;室  ᥤ -
                                              ; ࠢ.
         63070     10FC        DJNZ LOOP_H    ; 横  ⮫栬.
         63072       E1        POP HL         ;⠭  
         63073       C1        POP BC         ;⥪.
         63074       24        INC H          ;室  ᫥饩 
                                              ;  .
         63075     10F0        DJNZ LOOP_8    ; 横  .
         63077       E1        POP HL         ;⠭  
         63078       C1        POP BC         ;⥪.
         63079     3E20        LD A,20        ;室
         63081       85        ADD A,L        ; ᫥騩
         63082       6F        LD L,A         ;.
         63083     3004        JR NC,NO_SEG   ;  
                                              ;室  ᥣ  -
                                              ;. ᫨ ⮣ , 
                                              ;室   NO_SEG.
         63085     3E08        LD A,08        ;४஢
         63087       84        ADD A,H        ; HL
         63088       67        LD H,A         ; ᥣ.
         63089     10DE NO_SEG DJNZ LOOP_V    ; 横  鸞.
         63091       C9        RET            ;室  ணࠬ.
         63092     0000 COORD  DEFW 0000
         63094     0000 PARAM  DEFW 0000


                   3.3. 訢   梥⮬ INK.

              筮 ।饩 楤, ࠬ  ,
         ⠢          짮⥫᪮  㭪樨
         FN b(x,y,h,v,c,b,f). 砫  ᮬ    ਬ 
         62800,  楤 - 127 ⮢    ⮢   
         ⢥  ࠭ ࠡ ६. ᮪ ࠬ஢:

              x - ਧ⠫쭠 न  孥 㣫 ,
                  饣 ⪥ (   0...31);
              y - ⨪쭠 न  孥 㣫 ,
                  饣 ⪥ (   0...23);
+                                 - 117 -

              h - ਧ⠫ ࠧ    (h+x<32);
              v - ⨪ ࠧ    (v+y<24).
              c -  梥 INK (0...7);
              b - ਧ મ BRIGHT (0,1);
              f - ਧ  FLASH (0,1).

               楤 ⠪  㦨  ࠭ -   24
         ப,   ⮫쪮 22 ப ᭮  .

                    10 REM *** 稪 設 
                    20 LET adr=62800: LET long=130: LET z=0
                    30 FOR i=0 TO long-1: READ a
                    40 POKE (adr+i),a: LET z=z+a
                    50 NEXT i
                    60 LET z=INT (((z/long)-INT (z/long))*long)
                    70 READ a
                    80 IF a<>z THEN PRINT "??": STOP
                    90 REM
                   100 REM *** ਬ ᯮ짮 楤
                   110 DEF FN b(x,y,h,v,c,b,f)=USR 62800
                   120 BORDER 0: PAPER 0: INK 4: CLS
                   130 FOR n=0 TO 703
                   140 PRINT "";
                   150 NEXT n
                   160 PAUSE 100
                   170 FOR n=1 TO 7
                   180 RANDOMIZE FN b(0,n*3-3,32,3,8-n,0,0)
                   190 NEXT n
                   200 FOR n=1 TO 7
                   210 RANDOMIZE FN b(n*4-1,0,2,22,n,0,0)
                   220 NEXT n
                   300 REM ***   設 
                   310 DATA  42,  11,  92,   1,   4
                   320 DATA   0,   9,  86,   1,   8
                   330 DATA   0,   9   94, 237,  83
                   340 DATA 210, 245,   9,  86,   9
                   350 DATA  94, 237,  83, 208, 245
                   360 DATA   9, 126, 230,   7,  50
+                                 - 118 -

                   370 DATA 207, 245,   9, 126, 230
                   380 DATA   1,  40,   8,  58, 207
                   390 DATA 245, 246,  64,  50, 207
                   400 DATA 245,   9, 126, 230,   1

                   410 DATA  40,   8,  58, 207, 245
                   420 DATA 246, 128,  50, 207, 245
                   430 DATA 237,  91, 210, 245,  58
                   440 DATA 208, 245, 254,   0, 200
                   450 DATA 237,  83, 210, 245, 123
                   460 DATA 230,  24, 203,  63, 203
                   470 DATA  63, 203,  63, 246,  88
                   480 DATA 103, 123, 230,   7, 183
                   490 DATA  31,  31,  31,  31, 130
                   500 DATA 111,  58, 208, 245,  71

                   510 DATA 197, 229,  58, 209, 245
                   520 DATA  71, 126, 230,  56,  79
                   530 DATA  58, 207, 245, 177, 119
                   540 DATA  35,  16, 244, 225,   1
                   550 DATA  32,   0,   9, 193,  16
                   560 DATA 230, 201,   0,   0,   0
                   570 DATA  46,   0

              ᭮ ⫨稥  ⮩ 楤   ।饩  
         ,       樨     ᯫ
         䠩,  樨  䠩 ਡ⮢.  砫   
         HL ⠢  ᮮ⢥⢨  䠩 ਡ⮢ (. .17
          . 89).

                믮 ࠡ 筮   横, 
          㦨  ᯫ 䠩,   ⮫쪮   - 譥
         横  ⨪ (ࠬ v)  ७ -   ਧ⠫
         (ࠬ h), .. 横  쬨  㦥  㦥.

                  ,      ࠬ  c,b  f
         ⢮ ᥣ  祩 .   ࠬ c  ⢥
          0,1,2, ࠬ b  -  6   ࠬ f -   7.  
+                                 - 119 -

          ᮮ⢥⢨  ᪫ ਡ⮢  ⠬ (. 8).

                          ᥬ ணࠬ:

         62800   2A0B5C        LD HL,(5C0BH)  ;. . 109...111?
         62803   010400        LD BC,0004     ;  DEFADD  4 -
         62806       09        ADD HL,BC      ; (. c. 109...111).
         62807       56        LD D,(HL)      ;न x.
         62808   010800        LD BC,0008     ;  DEFADD   8
         62811       09        ADD HL,BC      ;⮢ (.c.109...111)
         62812       5E        LD E,(HL)      ;न y.
         62813 ED53D2F5        LD(COORD),DE   ;ॡ᪠ ࠬ஢ y
                                              ; x   62930,62931.
         62817       09        ADD HL,BC      ; ᤢ  8 ⮢.
         62818       56        LD D,HL        ;ਭ .
         62819       09        ADD HL,BC      ; ᤢ  8 ⮢.
         62820       5E        LD E,(HL)      ; .
         62821 ED53D0F5        LD(PARAM),DE   ;ॡ᪠ ࠬ஢ v
                                              ; h   62928,62929.
         62825       09        ADD HL,BC      ;騩 ࠬ (INK)
         62826       7E        LD A,(HL)      ;饭  .
         62827     E607        AND 07         ; ९ࠢ  ⢥-
         62829   32CFF5        LD (INK),A     ;  祩 62927.
         62832       09        ADD HL,BC      ;ࠬ (BRIGHT)
         62833       7E        LD A,(HL)      ;ਭ,
         62834     E601        AND 01         ;뤥,
         62836     2808        JR Z,SKIP_1    ;, ᫨  ࠢ ,
         62838   3ACFF5        LD A,(INK)     ;  ࠬ INK
         62841     F640        OR 40          ;砥 6- 
         62843   32CFF5        LD (INK),A     ; INK ࠭.
         62846       09 SKIP_1 ADD HL,BC      ;ࠬ (FLASH)
         62847       7E        LD A,(HL)      ;ਭ,
         62848     E601        AND 01         ;뤥,
         62850     2808        JR Z,SKIP_2    ;, ᫨  ࠢ ,
         62852   3ACFF5        LD A,(INK)     ;  ࠬ INK
         62855     F680        OR 80          ;砥 7- 
         62857   32CFF5        LD (INK),A     ; INK ࠭.
         62860 ED5BD2F5 SKIP_2 LD DE,(COORD)  ;न x,y.
+                                 - 120 -

         62864   3AD0F5        LD A,(F5D0)    ;  (v)
         62867     FE00        CP 00          ;஢ઠ   .
         62869       C8        RET Z          ;室, ᫨ ⠪
         62870 ED53D2F5        LD (COORD),DE  ;न y,x.
         62874       7B        LD A,E         
         62875     E618        AND 18         
         62877     CB3F        SRL A              
         62879     CB3F        SRL A            न⠬.
         62881     CB3F        SRL A          
         62883     F658        OR 58          
         62885       67        LD H,A         
         62886       7B        LD A,E         
         62887     E607        AND 07         
         62889       B7        OR A           
         62890       1F        RRA            
         62891       1F        RRA            
         62892       1F        RRA            
         62893       1F        RRA            
         62894       82        ADD A,D        
         62895       6F        LD L,A         
         62896   3AD0F5        LD A,(F5D0)    ;ࠬ v
         62899       47        LD B,A         ;⠭ ࠬ஬
         62900       C5 LOOP_V PUSH BC        ;横  ࠭ 
         62901       E5        PUSH HL        ;⥪   ᮬ.
         62902   3AD1F5        LD A,(F5D1)    ;ࠬ h ⠭
         62905       47        LD B,A         ;ࠬ஬ 横.
         62906       7E LOOP_H LD A,(HL)      ;﫨  ࠭ ਡ
                                              ;.
         62907     E638        AND 38         ;⠢ 祭묨
                                              ;⮫쪮 , ⢥騥
                                              ; 梥 PAPER.
         62909       4F        LD C,A         ;६   "".
         62910   3ACFF5        LD A,(INK)     ;ࠬ c,b,f.
         62913       B1        OR C           ;   PAPER.
         62914       77        LD (HL),A      ; ਡ.
         62915       23        INC HL         ;饥 .
         62916     10F4        DJNZ LOOP_H    ; 横  ਧ-
                                              ;⠫.
+                                 - 121 -

         62918       E1        POP HL         ; 砫 鸞.
         62919   012000        LD BC,0020     ;室 
         62922       09        ADD HL,BC      ;᫥騩 .
         62923       C1        POP BC         ;ࠬ 横  v.
         62924     10E6        DJNZ LOOP_V    ; 横  v.
         62926       C9        RET            ;室.
         62927       00 INK    DEFB 00        ;ਡ
         62928     0000 PARAM  DEFW 0000      ;ࠬ v  h.
         62930     0000 COORD  DEFW 0000      ;ࠬ y  x.

                   3.4. 訢   梥⮬ PAPER.

              楤  ࠡ⠥  ᮢ襭  筮 ।饩, 
         ᪫祭 ⮣,   梥 INK,    ⠭
          梥 PAPER. ࠬ   ⠢     
          짮⥫᪮   㭪樨 FN c(x,y,h,v,c,b,f). 砫-
           ᮬ     ਬ  62600,  楤  -
         139 ⮢      ⮢      ⢥  ࠭
         ࠡ ६. ᮪ ࠬ஢  ,     ।-
         饩 楤 (.. 116), ⢥ ⫨稥 ⮨   ⮬,
          ࠬ "c" ᮤন ଠ  梥 PAPER ( 0  7),
           INK,  뫮 ࠭.

               楤 ⠪  㦨  ࠭ -   24
         ப,   ⮫쪮 22 ப ᭮  .

                    10 REM *** 稪 設 
                    20 LET adr=62600: LET long=145: LET z=0
                    30 FOR i=0 TO long-1: READ a
                    40 POKE (adr+i),a: LET z=z+a: NEXT i
                    60 LET z=INT (((z/long)-INT (z/long))*long)
                    70 READ a
                    80 IF a<>z THEN PRINT "??": STOP
                    90 REM *** ਬ ᯮ짮 楤
                   100 DEF FN c(x,y,h,v,c,b,f)=USR 62600
                   110 BORDER 1: PAPER 4: CLS
                   120 FOR i=1 TO 120
                   130 LET x1=INT (RND*17)
+                                 - 122 -

                   140 LET y1=INT (RND*10)
                   150 LET h1=INT (RND*16)
                   160 LET v1=INT (RND*15)
                   170 LET c1=INT (RND*7)
                   180 RESTORE FN c(x1,y1,h1,v1,c1,0,0)
                   190 NEXT i: PAUSE 0 : REM 㧠   .
                   200 REM ***   設 
                   210 DATA  42,  11,  92,   1,   4
                   220 DATA   0,   9,  86,   1,   8
                   230 DATA   0,   9   94, 237,  83
                   240 DATA  22, 245,   9,  86,   9
                   250 DATA  94, 237,  83,  20, 245
                   260 DATA   9, 126, 230,   7, 203
                   270 DATA  39, 203,  39, 203,  39
                   280 DATA  50,  19, 245,   9, 126
                   290 DATA 230,   1,  40,   8,  58
                   300 DATA  19, 245, 246,  64,  50
                   310 DATA  19, 245,   9, 126, 230
                   320 DATA   1,  40,   8,  58,  19
                   330 DATA 245, 246, 128,  50,  19
                   340 DATA 245, 237,  91,  22, 245
                   350 DATA  58,  20, 245, 254,   0
                   360 DATA 200,  58,  21, 245, 254
                   370 DATA   0, 200, 237,  83,  22
                   380 DATA 245, 123, 230,  24, 203
                   390 DATA  63, 203,  63, 203,  63
                   400 DATA 246,  88, 103, 123, 230
                   410 DATA   7, 183,  31,  31,  31
                   420 DATA  31, 130, 111,  58,  20
                   430 DATA 245,  71, 197, 229,  58
                   440 DATA  21, 245,  71, 126, 230
                   450 DATA   7,  79,  58,  19, 245
                   460 DATA 177, 119,  35,  16, 244
                   470 DATA 225,   1,  32,   0,   9
                   480 DATA 193,  16, 230, 201,   0
                   490 DATA   0,   0,   0,   0,   0
                   500 DATA  12

+                                 - 123 -

              樮  ணࠬ  믮     砩
         梥 ,  襭 梥⮬  PAPER.    ⥫ 
          ᮡ    ,   楤 ͻ
         뢠  १ RANDOMIZE USR,   १         
         RESTORE USR.   祬  ࠧ?   窨               
         ७ ᠬ 楤,      ࠢ,           
           ࠧ  ,    ᯮ짮           
         RANDOMIZE USR   ᢥ  䥪, ͼ
          ⮨  ⮬,  直 ࠧ,   -
           RANDOMIZE,  ⠭ ᮤন  ⥬-
          ६ SEED (23670=5C76H), ᮤঠ饩   稭
          樨 砩 ᥫ.  ᫨  設⢥ 砥  
          ࠧ筮,      ᯮ㥬  砩 ᫠  
         ⮣, ⮡  ࠬ 訢  (ப 130..
         .170).  ᫨        蠣  㭪 RANDOMIZE 
         २樠஢    ⥬  ६ SEED,   
         祣   ࠭   㢨 .  ࠧ, ᫨  
            砩묨  ᫠, 塞묨 १ RND,  
         ᯮ짮 RANDOMIZE USR  -    ⥫-
         ⢠ RESTORE USR, PRINT USR  ..

              ⥫  䥪          ਠ  
         ᬮ , ਬ,  ᫨ ᯮ   楤 
         ᫥饩  -ணࠬ.    ਥ  ਤ 訬
         ணࠬ ਬ .

           100 DEF FN c(x,y,h,v,c,b,f)=USR 62600: BORDER 7: PAPER 7: CLS
