Subversion Repositories NedoOS

Rev

Rev 995 | Rev 1035 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

  1.         ld sp,STACK
  2.         OS_HIDEFROMPARENT
  3.         ld e,3
  4.         OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode)
  5.         ld e,0
  6.         OS_SETSCREEN
  7.         ld e,0 ;color byte
  8.         OS_CLS
  9.         ld e,1
  10.         OS_SETSCREEN
  11.         ld e,0 ;color byte
  12.         OS_CLS
  13.  
  14.         ld de,file_path
  15.         OS_CHDIR
  16.  
  17.         OS_GETMAINPAGES
  18. ;dehl=pages in 0000,4000,8000,c000  
  19.         ld a,l
  20.         ld (tpgs+0),a
  21.  
  22.         ;OS_GETSCREENPAGES
  23. ;de=страницы 0-го экрана (d=старшая), hl=страницы 1-го экрана (h=старшая)
  24.         ld a,(user_scr1_high) ;ok
  25.        if EGA
  26.          ;ld (scrpg7),a
  27.        else
  28.          ld (getttexpgs_basepg7),a
  29.        endif
  30.        
  31.         OS_NEWPAGE
  32.         ld a,e
  33.         ld (tpgs+6),a
  34.  
  35.         ld hl,texfilename
  36.         ld b,ntexfilenames
  37. getttexpgs0
  38.         push bc
  39.         ld a,(hl)
  40.         or a
  41.         ld a,(tpgs+0)
  42.         jr z,getttexpgs7
  43.         ld a,(hl)
  44.        if EGA==0
  45.         cp 7
  46. getttexpgs_basepg7=$+1
  47.         ld a,0
  48.         jr z,getttexpgs7
  49.        endif
  50.         push de
  51.         push hl
  52.         OS_NEWPAGE
  53.         ld a,e
  54.         pop hl
  55.         pop de
  56. getttexpgs7
  57.         ld c,(hl)
  58.         ld b,tpgs/256
  59.         ld (bc),a
  60.         inc hl
  61.         push hl
  62.         SETPG32KHIGH
  63.  
  64.         ld a,(hl)
  65.         cp ' '
  66.         jr nc,gettexpgs_noskipdata
  67.         inc hl
  68. gettexpgs_noskipdata
  69.         ex de,hl
  70.         push af
  71.         OS_OPENHANDLE
  72.         pop af ;CY=skip data, a=number of 8Ks to skip
  73.         jr nc,gettexpgs_noskipdata2
  74.         push bc
  75.         ld de,0
  76.         ld hl,0
  77.         rra
  78.         rr h
  79.         rra
  80.         rr h
  81.         rra
  82.         rr h
  83.         OS_SEEKHANDLE ;dehl=offset
  84.         pop bc
  85. gettexpgs_noskipdata2
  86.         push bc
  87.         ld de,0xc000 ;addr
  88.         ld hl,0x4000 ;size
  89.         OS_READHANDLE
  90.         pop bc
  91.         OS_CLOSEHANDLE
  92.                
  93.         pop hl
  94.         ld b,1
  95.         xor a
  96.         cpir ;after 0
  97.         pop bc
  98.         djnz getttexpgs0
  99.         jp JP_ST
  100.  
  101.         align 256
  102. tpgs
  103.         ds 64
  104.        
  105. quit
  106.         ld hl,0 ;result
  107.         QUIT
  108.        
  109. PT128   LD      A,6;Cтандартная страница
  110.         JR      MEM
  111.  
  112. MEM7    LD      A,7
  113. MEM     OR      %11011000
  114. _128    ;LD     BC,#7FFD
  115.         ;OUT    (C),A
  116.         ld b,tpgs/256
  117.         and 7
  118.         ld c,a
  119.         ld a,(bc)
  120.         SETPGC000
  121.         RET
  122.  
  123. LODmlz  LD HL,#4000 ;c компр
  124.         ;CALL WT
  125. ;WT
  126.         RLCA
  127.         ADD     A,L
  128.         LD      L,A
  129.         JR      NC,wWT_
  130.         INC     H
  131. wWT_    LD      A,(HL)
  132.         INC     HL
  133.         LD      H,(HL)
  134.         LD      L,A
  135.         ;RET
  136.         XOR A
  137.         CALL MEM
  138.         ;JP DELPC
  139.  
  140. ;DEC40
  141.         include "unmegalz.asm"
  142.  
  143. file_path
  144.         db "ufo2",0
  145.  
  146. texfilename
  147.         db 0,"ufo20.dat",0
  148.         db 1,"ufo21.dat",0
  149.         db 3,"ufo23.dat",0
  150.         db 4,"ufo24.dat",0
  151.         ;db 6,"br6.dat",0
  152.         db 7,"ufo27.dat",0
  153.         if EGA==0
  154. ntexfilenames=5
  155.         else
  156.         endif
  157.  
  158. findsprfilename
  159. ;a=#=1..74
  160.         ld hl,sprfilenames
  161. findsprfilename0
  162.         dec a
  163.         ret z
  164.         push af
  165.         xor a
  166.         ld b,a
  167.         ld c,a
  168.         cpir ;hl=после 0
  169.         pop af
  170.         jr findsprfilename0
  171.  
  172. sprfilenames
  173.         DEFB "xm2.dat",0;       0,0 ;#1 (m2)
  174.         DEFB "xm3.dat",0;       1,150 ;#2 (m3)
  175.         DEFB "xm4.dat",0;       3,49 ;#3 (m4)
  176.         DEFB "xm5.dat",0;       7,5 ;#4 (m5)
  177.         DEFB "xm10.dat",0;      10,247 ;#5 (m10)
  178.         DEFB "xm7.dat",0;       14,152 ;#6 (m7)
  179.         DEFB "xm8.dat",0;       19,133 ;#7 (m8)
  180.         DEFB "xm9.dat",0;       22,169 ;#8 (m9)
  181.         DEFB "xm6.dat",0;       26,94 ;#9 (m6)
  182.         DEFB "xm11.dat",0;      29,173 ;#10 (m11)
  183.         DEFB "xm12.dat",0;      33,58 ;#11 (m12)
  184.         DEFB "xm13.dat",0;      37,213 ;#12 (m13)
  185.         DEFB "xm14.dat",0;      42,77 ;#13 (m14)
  186.         DEFB "xm15.dat",0;      44,11 ;#14 (m15)
  187.         DEFB "xm16.dat",0;      45,217 ;#15 (m16)
  188.         DEFB "xm17.dat",0;      47,209 ;#16 (m17)
  189.         DEFB "xm18.dat",0;      49,120 ;#17 (m18)
  190.         DEFB "xm19.dat",0;      51,58 ;#18 (m19)
  191.         DEFB "xm20.dat",0;      53,29 ;#19 (m20)
  192.         DEFB "XL2.LND",0;       54,198 ;#20 (l2)
  193.         DEFB "end.bin",0;       56,127 ;#21 (end)
  194.         DEFB "XL3.LND",0;       62,199 ;#22 (l3)
  195.         DEFB "XL4.LND",0;               64,84 ;#23 (l4)
  196.         DEFB "XL5A.LND",0;              66,26 ;#24 (l5a)
  197.         DEFB "XL5B.LND",0;              67,244 ;#25 (l5b)
  198.         DEFB "XL5C.LND",0;              69,154 ;#26 (l5c)
  199.         DEFB "XL5D.LND",0;              71,94 ;#27 (l5d)
  200.         DEFB "XL6A.LND",0;              72,247 ;#28 (l6a)
  201.         DEFB "XL6B.LND",0;              75,7 ;#29 (l6b)
  202.         DEFB "XL6C.LND",0;              77,43 ;#30 (l6c)
  203.         DEFB "XL6D.LND",0;              79,58 ;#31 (l6d)
  204.         DEFB "x2.bin",0;                81,67 ;#32 (X2) ;???
  205.         DEFB "XL7.LND",0;       81,71 ;#33 (l7)
  206.         DEFB "XL8A.LND",0;      83,32 ;#34 (l8a)
  207.         DEFB "XL8B.LND",0;      84,248 ;#35 (l8b)
  208.         DEFB "XL8C.LND",0;      86,214 ;#36 (l8c)
  209.         DEFB "XL8D.LND",0;      88,174 ;#37 (l8d)
  210.         DEFB "XL9.LND",0;       90,128 ;#38 (l9)
  211.         DEFB "x3.bin",0;        92,99 ;#39 (X3)
  212.         DEFB "XL10A.LND",0;     92,103 ;#40 (l10a)
  213.         DEFB "XL10B.LND",0;     93,141 ;#41 (l10b)
  214.         DEFB "XL10C.LND",0;     94,179 ;#42 (l10c)
  215.         DEFB "XL10D.LND",0;     95,225 ;#43 (l10d)
  216.         DEFB "XL11.LND",0;      97,14 ;#44 (l11)
  217.         DEFB "XL12.LND",0;      98,210 ;#45 (l12)
  218.         DEFB "XL13.LND",0;      100,74 ;#46 (l13)
  219.         DEFB "XL14.LND",0;      102,38 ;#47 (l14)
  220.         DEFB "XL15.LND",0;      103,88 ;#48 (l15)
  221.         DEFB "XL19.LND",0;      105,16 ;#49 (l19)
  222.         DEFB "XL17.LND",0;      105,217 ;#50 (l17)
  223.         DEFB "XL18.LND",0;      107,46 ;#51 (l18)
  224.         DEFB "XL16.LND",0;      108,109 ;#52 (l16)
  225.         DEFB "XL20.LND",0;      109,188 ;#53 (l20)
  226.         DEFB "up1.bin",0;       111,18 ;#54 (up1) ;???
  227.         DEFB "up2.bin",0;       116,94 ;#55 (up2)
  228.         DEFB "up3.bin",0;       121,183 ;#56 (up3)
  229.         DEFB "up4.bin",0;       127,21 ;#57 (up4)
  230.         DEFB "up5.bin",0;       131,62 ;#58 (up5)
  231.         DEFB "up6.bin",0;       138,99 ;#59 (up6)
  232.         DEFB "up7.bin",0;       150,43 ;#60 (up7)
  233.         DEFB "up8.bin",0;       161,37 ;#61 (up8)
  234.         DEFB "up9.bin",0;       172,200 ;#62 (up9)
  235.         DEFB "up10.bin",0;      184,174 ;#63 (up10)
  236.         DEFB "up11.bin",0;      191,192 ;#64 (up11)
  237.         DEFB "up12.bin",0;      202,114 ;#65 (up12)
  238.         DEFB "up13.bin",0;      206,254 ;#66 (up13)
  239.         DEFB "up14.bin",0;      211,239 ;#67 (up14)
  240.         DEFB "up15.bin",0;      217,97 ;#68 (up15)
  241.         DEFB "up16.bin",0;      225,4 ;#69 (up16)
  242.         DEFB "up17.bin",0;      231,142 ;#70 (up17)
  243.         DEFB "up18.bin",0;      238,185 ;#71 (up18)
  244.         DEFB "up19.bin",0;      249,150 ;#72 (up19)
  245.         DEFB "up20.bin",0;      3,246 ;#73 (up20)
  246.         DEFB "theend.bin",0;    15,13 ;the end
  247.  
  248.