?login_element?

Subversion Repositories NedoOS

Rev

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

  1. ;*Z80
  2.         ORG     23845
  3. ORGX
  4. *D+
  5.  
  6. INIT    EQU 0;пересылка main блока НЛО2
  7. DSCR    EQU #4000
  8. SCR     EQU #C000
  9.         DEFM " * UFO-2 Disk 2 *"
  10.         DEFM " Wrote by Slava MEDNONOGOV *"
  11.         DEFM " (c) 1996, COPPER FEET *"
  12.         DEFM " (812) 143-3303 * "
  13. ;Декомпрессор
  14. ;HL-откуда DE-куда
  15. COLOR   DEFB #42
  16. DLPCB   DEFS 4,1
  17. DELPC   PUSH DE
  18.         LD DE,DLPCB
  19.         LD BC,4
  20.         LDIR
  21.         POP DE
  22. xpD0    LD A,(HL)
  23.         BIT 7,A
  24.         JR NZ,xpD1
  25.         PUSH AF
  26.         AND 1
  27.         LD B,A
  28.         LD A,(HL)
  29.         AND #E
  30.         RRCA
  31.         ADD A,3
  32.         LD C,A
  33. xpD0X   INC HL
  34.         LD A,E
  35.         SUB (HL)
  36.         INC HL
  37.         PUSH HL
  38.         LD L,A
  39.         LD A,D
  40.         SBC A,B
  41.         LD H,A
  42.         LD B,0
  43.         LDIR
  44. D00     POP HL
  45.         POP AF
  46.         RLCA
  47.         RLCA
  48.         RLCA
  49.         RLCA
  50.         AND #F
  51.         JR Z,xpD0
  52.         JR xpDRR
  53. xpD1    INC HL
  54.         BIT 6,A
  55.         JR NZ,xpD2
  56.         AND #3F
  57.         JR Z,xpDEND
  58. xpDRR   LD C,A
  59. xpDLO   LD A,(HL) ;неразрушающий
  60.         RRCA
  61.         LD (DE),A
  62.         INC DE
  63.         INC HL
  64.         DEC C
  65.         JP NZ,xpDLO
  66.         JR xpD0
  67. xpD2    AND #3F
  68.         ADD A,4
  69.         LD C,A
  70.         LD A,(HL)
  71.         PUSH AF
  72.         AND #F
  73.         LD B,A
  74.         JR xpD0X
  75. xpDEND  LD HL,DLPCB
  76.         LD C,4
  77.         LDIR
  78.         RET
  79.  
  80. WAIT    LD BC,#BFFE
  81.         IN A,(C)
  82.         RRA
  83.         JR NC,DISK1
  84.         LD B,33
  85. WTR0    EI
  86.         HALT
  87.         DI
  88.         DJNZ WTR0
  89.         LD A,(COLOR)   
  90.         XOR #4
  91.         LD (COLOR),A
  92.         LD HL,#5800
  93.         LD DE,#5801
  94.         LD (HL),A
  95.         LD BC,777
  96.         LDIR
  97.         JR WAIT
  98. DISK1   LD HL,0
  99.         PUSH HL
  100.         JP #3D2F
  101.  
  102.         DEFS    256+ORGX-$
  103.  
  104.         DEFW    S,S,S,S,S,S,S,S,S,S,S,S,S,S
  105.  
  106. WARN
  107. *B ..\data\xdisk2.lpc
  108.         ENT $
  109. S
  110. START   ;начало warning
  111.         DI
  112.         IM 1
  113.         LD SP,#8000
  114.         LD HL,#5B01
  115.         LD DE,#5B00
  116.         LD BC,7000
  117.         XOR A
  118.         OUT (254),A
  119.         LD (HL),A
  120.         LDDR
  121.         LD HL,WARN+2
  122.         LD DE,#4800
  123.         CALL DELPC
  124.         JP WAIT