?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. EDITON  DEFB 0
  2. SPRN    DEFB 0
  3. DIML    DEFB 0
  4. EEX     EQU MAN
  5. EEY     EQU MAN+1
  6. EEF     EQU MAN+2
  7. EET     EQU MAN+11
  8. UNDO    DEFB 63
  9.  
  10. ESTAY   LD DE,(EEX) ;поставь спр
  11.         LD (TX),DE
  12.         CALL INFR
  13.         JR C,ESTA1
  14.         CALL CENTR
  15.         CALL ALLSPF
  16.         JR ESTAY
  17. ESTA1   LD A,(XMAX)
  18.         CP E
  19.         RET C
  20.         LD A,(YMAX)
  21.         CP D
  22.         RET C
  23.         CALL GSP
  24.         LD BC,(SPRN)
  25.         CP C
  26.         JR Z,ESTA2
  27.         LD (UNDO),A
  28.         EXX
  29.         LD A,(SPRN)
  30.         LD (HL),A
  31. ESTA2   JP PXY
  32.  
  33. EDITOR  LD BC,#FEFE
  34.         IN A,(C)
  35.         CPL
  36.         AND 3
  37.         RET NZ
  38.         LD B,#BF  ;редактор
  39. ;K/L - sprn-/+, J-pos pntr, ENTER - 8X2/4X4
  40. ;QAOP+Space - put spr & move (+K -pntr move), 1+2 -clear 16x16,3 -undo
  41.         IN A,(C)
  42.         CPL
  43.         AND %11111
  44.         OR A
  45.         JR Z,XEE0
  46.         LD (EDITON),A
  47.         LD C,A
  48.         XOR A
  49.         LD (EET),A
  50.         LD A,#C9
  51.         LD (BEEP),A
  52.         LD (ACT_0),A
  53.         LD HL,SPRN
  54.         RES 7,(HL)
  55.         LD A,C
  56.         RRA
  57.         JR NC,XEE44
  58.         LD HL,DIML
  59.         LD A,(HL)
  60.         XOR 1
  61.         LD (HL),A
  62.         PUSH AF
  63.         CALL Z,SET4x4
  64.         POP AF
  65.         CALL NZ,SET8x2
  66.         LD HL,0
  67.         LD (EEX),HL
  68.         CALL LCOUNT
  69.         JP ALLSPF
  70. XED1    RRA
  71.         JR NC,XEE0
  72.         LD HL,(PPX)
  73.         LD (EEX),HL
  74.         JP ALLSPF
  75. XEE22   RRA
  76.         RET C
  77. XEE44   RRA
  78.         JR NC,XEE3
  79.         INC (HL)
  80.         JR XEE0
  81. XEE3    RRA
  82.         JR NC,XED1
  83.         DEC (HL)
  84. XEE0    LD A,(EDITON)
  85.         OR A
  86.         RET Z
  87.         LD A,(FLR)
  88.         LD (EEF),A
  89.         CALL CONTR
  90.         LD A,(CONTRB)
  91.         BIT 4,A
  92.         CALL NZ,ESTAY
  93.         LD A,(CONTRB)
  94.         RRA
  95.         JR NC,XEE4
  96.         LD HL,EEY
  97.         DEC (HL)
  98.         LD A,#81
  99.         CP (HL)
  100.         JR NC,XEEe
  101.         INC (HL)
  102.         JR XEEe
  103. XEE4    RRA
  104.         JR NC,XEM
  105.         LD HL,EEY
  106.         INC (HL)
  107.         LD A,(YMAX)
  108.         CP (HL)
  109.         JR NC,XEEe
  110.         DEC (HL)
  111.         JR XEEe
  112. XEM     RRA
  113.         JR NC,XEE1X
  114.         LD A,(XMAX)
  115.         LD HL,EEX
  116.         INC (HL)
  117.         CP (HL)
  118.         JR NC,XEEe
  119.         DEC (HL)
  120.         JR XEEe
  121. XEE1X   RRA
  122.         JR NC,XEEE
  123.         LD HL,EEX
  124.         DEC (HL)
  125.         LD A,(HL)
  126.         CP #81
  127.         JR C,XEEe
  128.         INC (HL)
  129. XEEe    LD HL,(EEX)
  130.         LD (TX),HL
  131.         CALL INFR
  132.         JR C,XEEE
  133.         CALL CENTR
  134.         CALL ALLSPF
  135. XEEE
  136. XEE     CALL Xeee
  137.         JP LOOPER
  138. Xeee    LD A,2
  139.         LD (HIGH),A
  140.         CALL STS
  141.         CALL MEM7
  142.         LD HL,#01D
  143.         LD (SX),HL
  144.         LD A,(SPRN)
  145.         CALL WB
  146.         LD HL,#91D
  147.         LD (SX),HL
  148.         LD A,(EEX)
  149.         CALL WB
  150.         LD HL,#C1D
  151.         LD (SX),HL
  152.         LD A,(EEY)
  153.         CALL WB
  154.         LD HL,#31D
  155.         LD (SX),HL
  156.         CALL PT128
  157.         LD HL,(EEX)
  158.         LD (TX),HL
  159.         CALL GSP
  160.         PUSH AF
  161.         CALL MEM7
  162.         POP AF
  163.         CALL WB
  164.         LD HL,#1104
  165.         LD (SX),HL
  166.         LD A,(FLR)
  167.         CPL
  168.         ADD A,3
  169.         CALL WB
  170.         XOR A
  171.         LD (HIGH),A
  172.         CALL PT128
  173.         LD A,(SPRN)
  174.         AND #7F
  175.         LD L,0
  176.         SRL A
  177.         RR L
  178.         ADD A,#B0
  179.         LD H,A
  180.         LD DE,DSCR+256
  181.         PUSH DE
  182.         LD B,64
  183. XEE7    INC HL
  184.         LD A,(HL)
  185.         LD (DE),A
  186.         INC HL
  187.         INC DE
  188.         DJNZ XEE7
  189.         CALL MEM7
  190.         CHN$ NEG_
  191.         LD HL,#110D
  192.         LD BC,#204
  193.         POP DE
  194.         CALL PUTSIM
  195.         LD A,#78
  196.         CALL ATRBAR
  197.         CALL STS
  198.         CALL PT128
  199.         LD BC,#F7FE
  200.         IN A,(C)
  201.         AND 7
  202.         CP 4
  203.         JR Z,EFILL
  204.         CP 3
  205.         RET NZ
  206.         LD A,(UNDO)
  207.         LD (SPRN),A
  208.         JP ESTAY
  209.  
  210. EFILL   LD HL,(EEX);заполн 16X16
  211.         LD A,H
  212.         AND #F0
  213.         LD H,A
  214.         LD A,L
  215.         AND #F0
  216.         LD L,A
  217.         LD (EEX),HL
  218.         LD C,16
  219. EFI0    LD B,16
  220. EFI1    PUSH BC
  221.         CALL ESTAY
  222.         POP BC
  223.         LD HL,EEX
  224.         INC (HL)
  225.         DJNZ EFI1
  226.         LD A,(HL)
  227.         SUB 16
  228.         LD (HL),A
  229.         INC HL
  230.         INC (HL)
  231.         DEC C
  232.         JR NZ,EFI0
  233.         JP ALLSPF
  234.