(c)  騭, ᪢

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

                    ⥪⮢ 뢮
                   

("⥫.  " 2,3/2001,  ᥢ
 BV_Creator)
 ᫥ ।஢: 15.12.2002.

      ᪠   ⨬樨, ᯮ㥬 
뢮 ⥪⮢ ᮮ饭  ࠭ ZX Spectrum.  
 񬮢   ᯮ짮   㣨 
ଠ,  ந  ⥪  ᪮ ०.

    砫 ᪮쪮  ᫮.  ⭮,  ZX Spectrum
ॠ ⢥ ᪨ ०  ࠧ襭 256x192.
       窨,  ࠧ  楫
 8x8 -   䠪᪨    饥 梥⭮
ࠦ,  襭 ୮-.
     㣨  (ਬ, PC)   ᪨
० 筮   ⥪⮢. ZX Spectrum  ⮩
,    室 뢮 ⥪  ᪮
०.   ஭,    ⭨  ,
  㣮 ஭ - ࠧ, ଠ  ⮯ ᨬ
  묨.  ᪮ ० ⠪ ⠭
  ஫  ᬮ ⥪,  ᮬ
蠥 㤮⢮ ⥭.
      ᬠਢ   騩 砩,
    ஢  (뢠  
),    ᨬ   ਭ  .
        ᯮ짮   8x8, 室騩
   ᠬ #3D00-#3FFF (⠬ ࠭  ࠦ
ᨬ   #20-#7F), ⠪  , 㦠  
(ࠧ  ⢮ ᨬ  ஬, ᠬ ᮡ,  
ந묨).
    楤  ᨬ 筮    ⠪
ࠬࠬ:  ᨬ (1 ), न (x,y)  梥.
न  ᥣ    ᥫ,   
( ⠬      ࠧ஬   ᨬ).
,  ᯮ짮  8x8  ࠭ 頥 32
ᨬ  ਧ⠫  24  ⨪; ᮮ⢥⢥,
न x    0  31,  y -  0  23.
砫 न (0,0) ࠤ樮 ᯮ  孥 
㣫 ࠭.
     , ந室   ⥪⮢ ०
  ᪮.  99% 砥  ⮬ ᯮ 
 ᫥  "⥪⮢" ०: 32x24 ( 8x8), 42x24
( 6x8)  64x24 ( 4x8). (   , 
० 42x24  ᥫ  ਧ⠫ 
ᯮ짮묨 - 筮   ࠢ୮ ।
ࠢ  ᫥,  ⠢  -  ஭.)
     ० 32x24  ᨬ   ᢮ 梥 (
।⢥ ⥪   ᯥ㬮᪮ ࠭). 
० 42x24  64x24  ,  ⠬  ᫮ 
 襭  ᢮ 梥 (᫨ ,  ᫮ ࠧ
஡). 㣨 ० (᪠, 51x24 -  ᯮ짮
 5x8) 襭  ⮣.

     ⥮ਨ  ᪠, , 㦥 筮.  ⥯ 
⨬஢! :)

    筮    ࠦ  ᨬ ⢮
ᥬ ⮢.  쭮  ⠪ ।⠢ 뢠
, ⠪     ᯮ.  ਬ,
  6x8 (. 1)  ࠩ ⮫  ⢮
 ᥣ ࠢ .

                1 = 00000000   
                2 = 00111000   ۰
                3 = 01101100   ۰۰
                4 = 01101100   ۰۰
                5 = 01111100   ۰
                6 = 01101100   ۰۰
                7 = 01101100   ۰۰
                8 = 00000000   

                              . 1

      ᯮ  , ⠪  ।⠢ 
ࠢ,  ᯥ稢饥  ᪮ .
( 稬,   ᨬ 6x8  ᤥ ᮡ
ன, ᯮ 楫   ᨬ,  
 ᤢ ⭮⥫쭮 㣮   ᥫ 
ਧ⠫ - ⮡   ६  ᤢ   
ᨬ.)    ᪮ ࠭⢠, 
襩 ணࠬ,   㤠    
ଠ.
      ⮬   쬠 ⥫쭮: ⠪, 
 256 ᨬ 6x8, 砫쭮 訩 #800 ⮢,
㬥  ⢥.  ᫨  ⠪  ࠦ
ᨬ ॠ쭮  ⮫쪮 5x6 ᥫ (.. 
ᨬ ।ᬮ७ 易⥫ ஡   ᥫ 
ਧ⠫    ⨪),   ᮪  祬
!
     ਢ 楤, 㤠   
ଠ.  ᯮ㥬   ⠭ font_sx, font_x,
font_sy  font_y   . 2.

                Ŀ
                ris_2.scr                   
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                

                            . 2

SOURCE     EQU  #8000 ; ᯮ 室 ,
DESTINY    EQU  #C000 ;  ⨬ 㯠...
KOLVO      EQU  #100  ;⢮ ᨬ (1-256).

font_sx    EQU  1 ; ࠬ । ᯮ㥬 
font_sy    EQU  1 ; 8x8  ८ࠧ㥬 .
font_x     EQU  5
font_y     EQU  6

DEST_LEN   EQU  ((font_x*font_y*KOLVO)+7)/8 ; 㯠
                                            ;  .

           ORG  #6000

           LD   HL,SOURCE
           LD   IX,DESTINY
           LD   E,0
           LD   B,KOLVO

M1         PUSH BC
           PUSH HL

           LD   BC,font_sy
           ADD  HL,BC

           LD   B,font_y
M7         LD   A,(HL)

           LD   C,font_sx
           INC  C
M2         DEC  C
           JR   Z,M3
           ADD  A,A
           JR   M2

M3         LD   C,font_x
           INC  C
M4         DEC  C
           JR   Z,M5
           ADD  A,A
           RL   (IX)
           INC  E
           BIT  3,E
           JR   Z,M4
           INC  IX
           LD   E,0
           JR   M4

M5         INC  HL
           DJNZ M7

           POP  HL
           LD   BC,8
           ADD  HL,BC

           POP  BC
           DJNZ M1

           DEC  E
M6         INC  E
           RET  Z

           BIT  3,E
           RET  NZ

           SLA  (IX)
           JR   M6

    ᫥ 㧪 ணࠬ  ᪠, ⢥, ⠪ 
㦭 㤥 ८ࠧ   ࢮ砫쭮 . 
ᮮ⢥ 楤 (᫨ ࠭ ⭮,  
祭 ⠭,    ⨬஢):

SOURCE     EQU  #8000 ; ᯮ 㯠 ,
DESTINY    EQU  #C000 ;  㤥 ᯠ뢠...
KOLVO      EQU  #100  ;⢮ ᨬ (1-256).

font_sx    EQU  1 ;. । 楤.
font_sy    EQU  1
font_x     EQU  5
font_y     EQU  6

           ORG  #6000

           LD   HL,DESTINY
           PUSH HL
           LD   DE,DESTINY+1
           LD   BC,KOLVO*8-1
           LD   (HL),0
           LDIR

           LD   IX,SOURCE
           POP  HL
           LD   E,8
           LD   D,(IX)
           LD   B,KOLVO

M1         PUSH BC
           PUSH HL

           LD   BC,font_sy
           ADD  HL,BC

           LD   B,font_y

M7         LD   C,font_x
           XOR  A
M3         SLA  D
           ADC  A,A
           DEC  E
           JR   NZ,M2
           LD   E,8
           INC  IX
           LD   D,(IX)
M2         DEC  C
           JR   NZ,M3

           LD   C,8-(font_sx+font_x)
           INC  C
M4         DEC  C
           JR   Z,M5
           ADD  A,A
           JR   M4

M5         LD   (HL),A
           INC  HL
           DJNZ M7

           POP  HL
           LD   BC,8
           ADD  HL,BC

           POP  BC
           DJNZ M1

           RET

    祬, ᫨  室  ⨢ ,
 ⠢    ᦠ⮬ , ⢮ ᪮
.   ⮡ ᪮ -⠪  祭 ࠤ, 
ᯮ짮  ᪮쪮 񬮢 ⨬樨. ਬ, ᫨
⠥ ஡,  ॥ 㤥  
ᮮ⢥饥   ࠭.   ᨬ 
 ᭠砫 ⠭  ࠦ  ᯥ樠쭮 
 㦥 㤠 뢮  ࠭, 뢠  ⮬,  ᫨
⠥ ᨬ  ⥬  ,   ।騩,  
ࠦ 㦥 ନ஢   (᢮ࠧ
஢). ஢ઠ ᮢ  ᨬ  
ॠ ਬ୮ ⠪:

        ...............    ;⠥ ᨬ  ॣ A,
        CP      0          ;ࠢ    ।饣
LAST_S  EQU     $-1        ;ᨬ (࠭  ᠬ ).
        JR      Z,GO_PRN   ;᫨ ᮢ, 뢮 ᮤন
                           ;,
        LD      (LAST_S),A ;   ᨬ 
        ...............    ;ନ㥬  ࠦ  .
GO_PRN  ...............    ;뢮  ࠭ ᮤন .

      ᯮᮡ 㬥襭 ࠧ ,  
ᯮ짮 ᮢ⭮  ।騬, - 㤠  
ᯮ㥬 ᨬ.  ⮣  ᯮ짮
⠪ 楤ன:

SOURCE  EQU     #8000 ; 室  (256 ᨬ).
DESTINY EQU     #C000 ; ८ࠧ .
HIGH    EQU     8     ;쪮 ⮢   ᨬ.

        ORG     #6000

        LD      IX,TAB_DEL
        LD      HL,SOURCE
        LD      DE,DESTINY
        XOR     A          ;騩 ᨬ.

NEXT_S  PUSH    AF
        CALL    CHECK
        LD      BC,HIGH
        JR      NZ,NO_LDIR
        LDIR               ; BC.
NO_LDIR ADD     HL,BC
        POP     AF
        INC     A
        JR      NZ,NEXT_S

        RET

; 㤠塞 ᨬ ।⠢
;  ⮢ ᨢ ࠧ஬  256
;⮢ (32 ). ᫨  ᨢ
;ࠢ , ᮮ⢥騩 ᨬ
;㤥 㤠  .

TAB_DEL DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000
        DB %00000000,%00000000

;楤 CHECK ।祭 
;ࠡ  ⮢묨 ᨢ 
; 256 ⮢.
;
;室:  IX -  ᨢ,
;        A -  .
;
;室: ᫨ ᮮ.  ᨢ
;       ࠢ 0, 䫠 Z ⠭.
;       祭 A .
;
;᫨   BIT  SET 
;RES,   ⮫쪮 ஢ 祭
;⮢ ᨢ,    .

CHECK   PUSH    AF ;࠭  .

;   ⮬ ᨢ ந室
;   BIT N,(IX+S), 
;। ⨬ ନ  .
;祭 N  S   㫥:
;S = 訥 5 ⮢  
;(   ᨢ,  室
; 㦭 );
;N = 8 - 訥 3   
;(    ᨢ; 
; ᯮ   ᫥ ࠢ,
;   㬥 ).
;
;    4  
;룫廊 ⠪:
;
;#DD #CB S %01NNN110
;        
;                BIT, SET, RES
;            
;          %01  BIT, %11  SET, %10  RES
;       ᬥ饭
;  䨪

        AND     7
        RLCA
        RLCA
        RLCA
        XOR     %01111110 ;%11111110  SET, %10111110  RES.
        LD      (CHECK_1+3),A
        POP     AF
        RRCA
        RRCA
        RRCA
        AND     %00011111
        LD      (CHECK_1+2),A
CHECK_1 BIT     0,(IX)

        RET

       ⠪,   ᠬ  ,  
ᨬ ந  襩 ணࠬ,   - .  ⮬
砥 ⠢  楤  ᨬ ਢ 
ࠣ    ணࠬ. ᫥ 砭  ࠡ
 ⮢ ᨢ TAB_DEL  ᢥ  ⮬,  ᨬ
 㤠   ( ⠪  ଠ,    ।饬
ਬ).  ࠡ ⠪:   맮 楤
 ᨬ ᮮ⢥騩   ᨢ ,  
१ ࠢ묨      ᨢ,
 ᮮ⢥ ᨬ,  ࠧ  ⠢訬  
६ ࠡ ணࠬ.

;砫 楤 :   -
; ⠥ ᨬ.

        PUSH    AF
        PUSH    IX
        LD      IX,TAB_DEL
        CALL    RES_BIT
        POP     IX
        POP     AF
        ............  ;த 楤 .
        RET

;ᯮ⥫쭠 楤, 筠
;ᬮ७  楤 CHECK:

RES_BIT PUSH    AF
        AND     7
        RLCA
        RLCA
        RLCA
        XOR     %10111110
        LD      (CHECK_1+3),A
        POP     AF
        RRCA
        RRCA
        RRCA
        AND     %00011111
        LD      (CHECK_1+2),A
CHECK_1 RES     0,(IX)
        RET

TAB_DEL DB #FF,#FF,#FF,#FF
        DB #FF,#FF,#FF,#FF
        DB #FF,#FF,#FF,#FF
        DB #FF,#FF,#FF,#FF
        DB #FF,#FF,#FF,#FF
        DB #FF,#FF,#FF,#FF
        DB #FF,#FF,#FF,#FF
        DB #FF,#FF,#FF,#FF

     ᯮ짮 ⠪    ஡
  ᨬ,   -  ᫥ ᬥ饭  砫
,  ஬ 室 ࠦ  ᨬ. 
  ᯮ짮 ⠡ 㤠 ᨬ, 
४஢  ⥪⮢ ᮮ饭, 뢮  ணࠬ.

    ⮡  㬥 ⢮ ᯮ㥬 ᨬ, 
  뢮 ⥪ ᪨ 㪢  宦 
⠭ ⨭᪨.  ᮮ⢥ 楤:

TEXT       EQU  #8000 ; 砫 ⥪.
LENGTH     EQU  #1234 ; ⥪.

           ORG  #6000

           LD   HL,TEXT
           LD   BC,LENGTH

M1         LD   DE,TABLE-1
M2         INC  DE
           LD   A,(DE)
           INC  DE
           AND  A
           JR   Z,M3
           CP   (HL)
           JR   NZ,M2
           LD   A,(DE)
           LD   (HL),A
M3         INC  HL
           DEC  BC
           LD   A,B
           OR   C
           JR   NZ,M1

           RET

; ᨬ -    :

TABLE      DB   "","A"
           DB   "","B"
           DB   "","C"
           DB   "","E"
           DB   "","H"
           DB   "","K"
           DB   "","M"
           DB   "","O"
           DB   "","P"
           DB   "","T"
           DB   "","X"
           DB   "","a"
           DB   "","c"
           DB   "","e"
           DB   "","k"
           DB   "","n"
           DB   "","o"
           DB   "","p"
           DB   "","x"
           DB   "","y"
           DB   0       ;ਧ  ⠡.

    㦭 ⮫쪮 ᫥, ⮡ ࠦ 㪢  ᯮ㥬
 뫨 ⢨⥫쭮 宦. ᫨ , ਬ, ⨭᪨
㪢   믮 ⮫ ᪨,  १ 㤥, 
 . 3.

                Ŀ
                ris_3.scr                   
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                

                            . 3

    ᫨  襩 ணࠬ ᯮ  6x8,  
  ନ஢ ࠧ ᨬ   32-127
।⢥  ६ , ᯮ  .  ਬ
让 ணࠬ,  ନ ⠪ ᯮᮡ  
ᯥ뢠  ࠭  稢訥 ᨬ.

        ORG     #6000

        LD      HL,#3D00 ;  .
        LD      DE,#8000 ; 㤥  6x8.
        LD      BC,#300  ; .

NEXT_B  LD      A,D      ;   ᨬ ࠧ 
        CP      #82      ; 㯯:
        JR      Z,NO_IZM ;1) #2F-#5F
        CP      #80      ;2) #20-#2E,#60-#7F
        JR      NZ,IZM_1 ;  ८ࠧ ᨬ
        LD      A,E      ;⢫ -ࠧ,
        CP      15*8     ; ᨬ  ⮣, 
        JR      C,NO_IZM ; 㯯  ਭ.

IZM_1   LD      A,(HL)   ;८ࠧ ᨬ
        PUSH    BC       ;ࢮ 㯯.
        PUSH    AF
        AND     %00001111
        RLCA
        LD      B,A
        POP     AF
        AND     %11110000
        OR      B
        POP     BC
        JR      BYTE_OK

NO_IZM  LD      A,(HL)   ;८ࠧ ᨬ
BYTE_OK RLCA             ;ன 㯯.
        AND     %11111100
        LD      (DE),A
        INC     HL
        INC     DE
        DEC     BC
        LD      A,B
        OR      C
        JR      NZ,NEXT_B

; 6x8 ⮢, ⥯ ⠥
; 祭 ᨬ:

        LD      HL,#8000-#100
        LD      (#5C36),HL
        CALL    3435
        LD      A,2
        CALL    5633

        LD      A," "
PRINT_S PUSH    AF
        RST     16
        POP     AF
        INC     A
        CP      128
        JR      NZ,PRINT_S
        RET

                Ŀ
                ris_4.scr                   
                                            
                                            
                                            
                                            
                                            
                                            
                                            
                

                            . 4

     稬,  뫮  ਬ  ᯮᮡ 
-⫠稪 STS - ⠬  ࠧ ᯮ  6x8.
   ᢮襣   뫮  ॠ 
⮬ ⫠稪 -  ...

     ᪠ ᪮쪮 ᫮  ᯥ樠쭮 ᯮᮡ ࠭
  ,  ஬ 楤  뢠 
ன  ⪮.
    筮   ࠭ ᭠砫 ᥬ ⮢, ࠧ
ࠦ ࢮ ᨬ, ⥬ ᥬ ⮢ ண ᨬ
 ⠪ .
      ᨬ 室 ᭠砫 (    
ᯮ   ) ᫨ ,  ஬
室   ࠦ ᨬ,  ⥬  ।
  ࠦ  뢠   .
      ᨬ   ,   
(塞  न⠬ )   ॣ஢  DE
 ⭮,   ᯮ   FONT.  楤
 㤥 룫拉 ਬ୮ ⠪:

        LD   H,0     ;᫥ 
        LD   L,A     ;ࠧ ᨬ
        ADD  HL,HL   ;(10 ⮢/65 ⠪⮢).
        ADD  HL,HL
        ADD  HL,HL
        LD   BC,FONT
        ADD  HL,BC

        LD   B,8     ;뢮  ࠭ ( 襭 ᪮
M1      LD   A,(HL)  ;横  ).
        LD   (DE),A
        INC  HL      ;᫨  ᯮ  ,
        INC  D       ;⭮ 8, -   INC L.
        DJNZ M1
        RET

    "    ⭮" - ᪠ -.  
ᯮ.  ⮫쪮   , ᪮쪮 ᮢ
  ᫥  ࠧ ᨬ.  ᫨ 
ᨬ 㤥  ᥬ ᥫ, , ᪠, ᥬ? 
ணࠬ   ᫮,  㦥   ६
ᤢ,   㬭  ᥬ...
     ⥬,  ࠧ  䥪⨢ ᯮᮡ
࠭   :  稭  , ⭮
256,   256  ᫥⥫쭮 ᯮ 孨
ப  ᨬ,  ᫥ 256  -  ᢥ
ப,  ⠪ .  ⮬ 砥, ᨬ  
ᨬ, ᫥  ࠧ ᨬ  
ࠪ᪨  ॡ ᮢ.  ਬ 楤 
ᨬ:

        LD   H,FONT/256  ;᫥ 
        LD   L,A         ;ࠧ ᨬ
                         ;(3 /11 ⠪⮢).

        LD   B,8     ;뢮  ࠭ ( 襭 ᪮
M1      LD   A,(HL)  ;横  ).
        LD   (DE),A
        INC  H
        INC  D
        DJNZ M1
        RET

     ࠢ , ࠧ 䥪⨢? ࠢ,  
⮪: ᫨   ࠭ ࠧ   256 ᨬ,
 ᫥ ८ࠧ  㤥     .
( 饬 砥 ࠧ 㤥 ࠢ H*256 ⮢,  H - 
ᨬ.)

     楤, ४   筮
।⠢   䥪⨢:

SOURCE     EQU  #8000 ; ᯮ 室 .
DESTINY    EQU  #C000 ; ࠧ ८ࠧ .
HIGH       EQU  8     ; ᨬ.

           LD   HL,SOURCE
           LD   DE,DESTINY

M1         PUSH DE
           LD   B,HIGH

M2         LD   A,(HL)
           LD   (DE),A
           INC  HL
           INC  D
           DJNZ M2

           POP  DE
           INC  E
           JR   NZ,M1

           RET

      楤, 믮 ⭮ ८ࠧ:

SOURCE     EQU  #8000 ;㤠.
DESTINY    EQU  #C000 ;㤠.
HIGH       EQU  8     ; ᨬ.

           LD   HL,SOURCE
           LD   DE,DESTINY

M1         PUSH HL
           LD   B,HIGH

M2         LD   A,(HL)
           LD   (DE),A
           INC  H
           INC  DE
           DJNZ M2

           POP  HL
           INC  L
           JR   NZ,M1

           RET

    ⠫ ⮫쪮 ᪠, ,  ⠪ ᯮᮡ ࠭
 ⠥ 쭮 ,    ६ 
।   ⢮.  ᪠   
GoBLiN/BMZ - ᯠᨡ!
