(c)  騭, ᪢

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

              ᪨ 䥪 "梥 "
              

("ZX-" 7-10/1997)
 ᫥ ।஢: 30.11.2002.

    । 襬  ᠭ  ணࠬ,
ॠ ᨢ ᪨ 䥪:  ࠭ 
梥 ,  室騥   㣠. 
࠭ real-time 䥪  ᥣ   60%
६ . 冷 ᫥   
室    .

;****************************************************

CLR0    EQU     0     ; 
CLR1    EQU     1     ;(ᢥ ).
CLR2    EQU     2
CLR3    EQU     3
CLR4    EQU     4
CLR5    EQU     5
CLR6    EQU     6

;****************************************************

DEMO    LD      C,0        ;饭  ⨪.

; :

LOOP1   CALL    SHOW       ;㥬 .
        CALL    KEY        ;- ?
        RET     NZ         ;᫨ , 室.
        INC     C          ;稫 ᬥ饭.
        LD      A,C        ;⨣ ᨬ쭮?
        CP      TABMAXA-23
        JP      NZ,LOOP1   ;᫨ , த.

; ᪠:

        DEC     C          ;訫
        DEC     C          ;ᬥ饭.
LOOP2   CALL    SHOW       ;㥬 .
        CALL    KEY        ;- ?
        RET     NZ         ;᫨ , 室.
        DEC     C          ;訫 ᬥ饭.
        LD      A,C        ;⨣ 쭮?
        CP      #FF
        JP      NZ,LOOP2   ;᫨ , த.

        LD      C,1        ; 室
        JP      LOOP1      ; 砫 ணࠬ.

;***************************************
;楤 SHOW.
;
;室: C - ᬥ饭   ⨪
;          ( ).
;室: ࠦ ᮮ. ⨭.

SHOW ;砫 ࠦ ਡ:

        LD      DE,TABL_A ; ⠡ ਡ⮢.
        LD      H,0       ;HL = ᬥ饭.
        LD      L,C
        ADD     HL,DE     ;ਡ塞 ᬥ饭.
        LD      DE,#5800  ;砫 䠩 ਡ⮢.

        HALT    ; 砫 .
        DI      ;頥 뢠, ..
                ;㤥 㫨஢  ⥪.

NEXT_A  LD      A,(DE)    ; ਡ ࠦ?
        CP      (HL)      ;,  ?
        JP      Z,RETU    ;᫨ ,  뫠.

        PUSH    HL        ;࠭  筨.

        LD      A,(HL)    ;  筨.
        LD      (M1+1),SP ;࠭ SP ( ,
                          ;㤠).
        LD      HL,#20    ;ନ㥬 
        ADD     HL,DE     ; ⥪.
        LD      SP,HL
        LD      D,A       ; 
        LD      E,A       ;ப.

        PUSH    DE       ;ନ㥬 
        PUSH    DE       ;ப.
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE
        PUSH    DE

        EX      DE,HL    ; DE -   ਥ.

M1      LD      SP,0     ;⠭ SP.
                         ;  㧪 SP
                         ;믮  ॥,
                         ;祬  LD SP,(NN).
        POP     HL       ;⠭ HL.
        JP      NE_RETU  ;,  JP
                         ;믮 ॥,
                         ;祬  JR.

;᫨ ப  諮 ,
;㢥稢 DE ( ਥ)  #20:

RETU    LD      A,#20    ;룫廊 
        ADD     A,E      ;ਢ筮, 
        LD      E,A      ;ࠡ⠥
        LD      A,0      ;॥.
        ADC     A,D
        LD      D,A

;  ਥ 㦥 㢥祭.

NE_RETU INC     HL      ; 筨.
        LD      A,D
        CP      #5B
        JP      NZ,NEXT_A

; 㥬 ⨭:

        LD      L,C      ;饭  .
        SLA     L        ;  8.
        SLA     L
        SLA     L
        RES     7,L
        LD      B,L      ;稫 ᬥ饭  ⠡.

        LD      H,0      ;HL = ᬥ饭  ⠡.
        LD      DE,TABL  ; ⠡.
        ADD     HL,DE
        EX      DE,HL
        LD      HL,#4000 ;砫 ᯫ 䠩.

;, , HL -  ਥ, 
;DE -  筨.

NEXT    LD      A,(DE)    ;ࠦ .
        CP      (HL)      ;ࠢ  ࠦ.
        JP      Z,RET3    ;᫨ ࠢ,  뫠.

        PUSH    HL        ;࠭  ਥ.

;稢 HL ( ਥ)  #20:

        LD      A,#20    ;룫廊 
        ADD     A,L      ;ਢ筮, 
        LD      L,A      ;ࠡ⠥
        LD      A,0      ;॥.
        ADC     A,H
        LD      H,A

        LD      (M2+1),SP ;࠭ SP.
        LD      SP,HL     ;SP 㪠뢠   ப.

        LD      A,(DE)
        LD      H,A      ; 
        LD      L,A      ;ப.

        PUSH    HL       ;ନ㥬 
        PUSH    HL       ;ப.
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL
        PUSH    HL

M2      LD      SP,0  ;⠭ SP.
        POP     HL    ;⠭  ਥ.

RET3    INC     DE    ;稫  筨.
        INC     B     ;稫 稪.
        LD      A,B
        CP      TABMAX    ;⨣ max. ?
        JP      NZ,TAB_OK
        LD      B,0       ;᫨ , 塞 稪
        LD      DE,TABL   ; 室  砫 ⠡.

TAB_OK  INC     H         ;।塞
        LD      A,H       ; 
        AND     7         ;ப 
        LD      A,H       ;࠭
        JP      NZ,NEW_OK ; 
        LD      A,L       ;।饩
        ADD     A,32      ;ப.
        LD      L,A
        LD      A,H
        JP      C,NEW_OK
        LD      A,H
        SUB     8
        LD      H,A

NEW_OK  CP      #58
        JP      NZ,NEXT

        EI
        RET

;***************************************

TABMAX  EQU     16*8   ; ᨢ  (. ).

TABL    DB      %00000000  ;  ନ஢
        DB      %00000000  ; 室 
        DB      %00000000  ;梥묨 ᠬ.
        DB      %00000000  ;,   
        DB      %00000000  ; த⢨
        DB      %00000000  ;楤 SHOW.
        DB      %00000000
        DB      %00000000
        DB      %00000000
        DB      %00000000
        DB      %00000000
        DB      %00000000
        DB      %00000000
        DB      %00000000
        DB      %00000000
        DB      %00000000

        DB      %00001000
        DB      %00000000
        DB      %10000000
        DB      %00000000
        DB      %00001000
        DB      %10000000
        DB      %00001000
        DB      %10000000

        DB      %00100010
        DB      %10001000
        DB      %00100010
        DB      %10001000
        DB      %00100010
        DB      %10001000
        DB      %00100010
        DB      %10001000
        DB      %00100010
        DB      %10001000
        DB      %00100010
        DB      %10001000
        DB      %00100010
        DB      %10001000
        DB      %00100010
        DB      %10001000

        DB      %00100010
        DB      %01010101
        DB      %10001000
        DB      %01010101
        DB      %00100010
        DB      %01010101
        DB      %10001000
        DB      %01010101
        DB      %00100010
        DB      %01010101
        DB      %00100010
        DB      %01010101
        DB      %10001000
        DB      %01010101
        DB      %00100010
        DB      %01010101
        DB      %10001000
        DB      %01010101
        DB      %00100010
        DB      %01010101

        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101
        DB      %10101010
        DB      %01010101

        DB      %10101010
        DB      %01110111
        DB      %10101010
        DB      %11011101
        DB      %10101010
        DB      %01110111
        DB      %10101010
        DB      %11011101
        DB      %10101010
        DB      %01110111
        DB      %10101010
        DB      %11011101
        DB      %10101010
        DB      %01110111
        DB      %10101010
        DB      %11011101
        DB      %10101010
        DB      %01110111
        DB      %10101010
        DB      %11011101

        DB      %11011101
        DB      %01110111
        DB      %11011101
        DB      %01110111
        DB      %11011101
        DB      %01110111
        DB      %11011101
        DB      %01110111
        DB      %11011101
        DB      %01110111
        DB      %11011101
        DB      %01110111
        DB      %11011101
        DB      %01110111
        DB      %11011101
        DB      %01110111

        DB      %01111111
        DB      %11110111
        DB      %01111111
        DB      %11110111
        DB      %11111111
        DB      %01111111
        DB      %11111111
        DB      %11110111

;********************************************************

TABMAXA EQU     6*16+2 ; ᨢ  (. ).

TABL_A  DB      CLR0*8+CLR1   ;   
        DB      CLR0*8+CLR1   ;梥  .
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1
        DB      CLR0*8+CLR1

        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2
        DB      CLR1*8+CLR2

        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3
        DB      CLR2*8+CLR3

        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4
        DB      CLR3*8+CLR4

        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5
        DB      CLR4*8+CLR5

        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6
        DB      CLR5*8+CLR6

        DB      CLR6*8+CLR6
        DB      CLR6*8+CLR6

;**************************************
;楤 KEY 頥 䫠 Z=0,
;᫨   - .

KEY     XOR     A
        IN      A,(254)
        AND     %00011111
        CP      %00011111
        RET



    㣨    ணࠬ஢ ᪨ 䥪⮢:

1. "ࠩ ࠭   '⠣-128'". "ZX-"
   3-4/1997.

2. " ᪨ 䥪". "ZX-" 3-4/1997.

3. "᪮쪮 ᪨ 䥪⮢". "ZX-" 11-12/1997.

4. "᪨ 䥪 'iris'". ZX Format #8, Adventurer #8.

5. "襭 䥪  demo 'Art Vision'". Adventurer #8.

6. "⨬  ਬ intro 'Start'". ". 
   " 7-10/2001.
