Login

Subversion Repositories NedoOS

Rev

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

        ld sp,STACK
        OS_HIDEFROMPARENT
        ld e,3
        OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode)
        ld e,0
        OS_SETSCREEN
        ld e,0 ;color byte
        OS_CLS
        ld e,1
        OS_SETSCREEN
        ld e,0 ;color byte
        OS_CLS

        ld de,file_path
        OS_CHDIR

        OS_GETMAINPAGES
;dehl=pages in 0000,4000,8000,c000  
        ld a,l
        ld (tpgs+0),a

        ;OS_GETSCREENPAGES
;de=╤Б╤В╤А╨░╨╜╨╕╤Ж╤Л 0-╨│╨╛ ╤Н╨║╤А╨░╨╜╨░ (d=╤Б╤В╨░╤А╤И╨░╤П), hl=╤Б╤В╤А╨░╨╜╨╕╤Ж╤Л 1-╨│╨╛ ╤Н╨║╤А╨░╨╜╨░ (h=╤Б╤В╨░╤А╤И╨░╤П)
        ld a,(user_scr1_high) ;ok
       if EGA
         ;ld (scrpg7),a
       else
         ld (getttexpgs_basepg7),a
       endif
       
        OS_NEWPAGE
        ld a,e
        ld (tpgs+6),a

        ld hl,texfilename
        ld b,ntexfilenames
getttexpgs0
        push bc
        ld a,(hl)
        or a
        ld a,(tpgs+0)
        jr z,getttexpgs7
        ld a,(hl)
       if EGA==0
        cp 7
getttexpgs_basepg7=$+1
        ld a,0
        jr z,getttexpgs7
       endif
        push de
        push hl
        OS_NEWPAGE
        ld a,e
        pop hl
        pop de
getttexpgs7
        ld c,(hl)
        ld b,tpgs/256
        ld (bc),a
        inc hl
        push hl
        SETPG32KHIGH

        ld a,(hl)
        cp ' '
        jr nc,gettexpgs_noskipdata
        inc hl
gettexpgs_noskipdata
        ex de,hl
        push af
        OS_OPENHANDLE
        pop af ;CY=skip data, a=number of 8Ks to skip
        jr nc,gettexpgs_noskipdata2
        push bc
        ld de,0
        ld hl,0
        rra
        rr h
        rra
        rr h
        rra
        rr h
        OS_SEEKHANDLE ;dehl=offset
        pop bc
gettexpgs_noskipdata2
        push bc
        ld de,0xc000 ;addr
        ld hl,0x4000 ;size
        OS_READHANDLE
        pop bc
        OS_CLOSEHANDLE
               
        pop hl
        ld b,1
        xor a
        cpir ;after 0
        pop bc
        djnz getttexpgs0
        jp JP_ST

        align 256
tpgs
        ds 64
       
quit
        ld hl,0 ;result
        QUIT
       
PT128   LD      A,6;C╤В╨░╨╜╨┤╨░╤А╤В╨╜╨░╤П ╤Б╤В╤А╨░╨╜╨╕╤Ж╨░
        JR      MEM

MEM7    LD      A,7
MEM     OR      %11011000
_128    ;LD     BC,#7FFD
        ;OUT    (C),A
        ld b,tpgs/256
        and 7
        ld c,a
        ld a,(bc)
        SETPGC000
        RET

LODmlz  LD HL,#4000 ;c ╨║╨╛╨╝╨┐╤А
        ;CALL WT
;WT
        RLCA
        ADD     A,L
        LD      L,A
        JR      NC,wWT_
        INC     H
wWT_    LD      A,(HL)
        INC     HL
        LD      H,(HL)
        LD      L,A
        ;RET
        XOR A
        CALL MEM
        ;JP DELPC

;DEC40
        include "unmegalz.asm"

file_path
        db "ufo2",0

texfilename
        db 0,"ufo20.dat",0
        db 1,"ufo21.dat",0
        db 3,"ufo23.dat",0
        db 4,"ufo24.dat",0
        ;db 6,"br6.dat",0
        db 7,"ufo27.dat",0
        if EGA==0
ntexfilenames=5
        else
        endif

findsprfilename
;a=#=1..74
        ld hl,sprfilenames
findsprfilename0
        dec a
        ret z
        push af
        xor a
        ld b,a
        ld c,a
        cpir ;hl=╨┐╨╛╤Б╨╗╨╡ 0
        pop af
        jr findsprfilename0

sprfilenames
        DEFB "xm2.dat",0;       0,0 ;#1 (m2)
        DEFB "xm3.dat",0;       1,150 ;#2 (m3)
        DEFB "xm4.dat",0;       3,49 ;#3 (m4)
        DEFB "xm5.dat",0;       7,5 ;#4 (m5)
        DEFB "xm10.dat",0;      10,247 ;#5 (m10)
        DEFB "xm7.dat",0;       14,152 ;#6 (m7)
        DEFB "xm8.dat",0;       19,133 ;#7 (m8)
        DEFB "xm9.dat",0;       22,169 ;#8 (m9)
        DEFB "xm6.dat",0;       26,94 ;#9 (m6)
        DEFB "xm11.dat",0;      29,173 ;#10 (m11)
        DEFB "xm12.dat",0;      33,58 ;#11 (m12)
        DEFB "xm13.dat",0;      37,213 ;#12 (m13)
        DEFB "xm14.dat",0;      42,77 ;#13 (m14)
        DEFB "xm15.dat",0;      44,11 ;#14 (m15)
        DEFB "xm16.dat",0;      45,217 ;#15 (m16)
        DEFB "xm17.dat",0;      47,209 ;#16 (m17)
        DEFB "xm18.dat",0;      49,120 ;#17 (m18)
        DEFB "xm19.dat",0;      51,58 ;#18 (m19)
        DEFB "xm20.dat",0;      53,29 ;#19 (m20)
        DEFB "XL2.LND",0;       54,198 ;#20 (l2)
        DEFB "end.bin",0;       56,127 ;#21 (end)
        DEFB "XL3.LND",0;       62,199 ;#22 (l3)
        DEFB "XL4.LND",0;               64,84 ;#23 (l4)
        DEFB "XL5A.LND",0;              66,26 ;#24 (l5a)
        DEFB "XL5B.LND",0;              67,244 ;#25 (l5b)
        DEFB "XL5C.LND",0;              69,154 ;#26 (l5c)
        DEFB "XL5D.LND",0;              71,94 ;#27 (l5d)
        DEFB "XL6A.LND",0;              72,247 ;#28 (l6a)
        DEFB "XL6B.LND",0;              75,7 ;#29 (l6b)
        DEFB "XL6C.LND",0;              77,43 ;#30 (l6c)
        DEFB "XL6D.LND",0;              79,58 ;#31 (l6d)
        DEFB "x2.bin",0;                81,67 ;#32 (X2) ;???
        DEFB "XL7.LND",0;       81,71 ;#33 (l7)
        DEFB "XL8A.LND",0;      83,32 ;#34 (l8a)
        DEFB "XL8B.LND",0;      84,248 ;#35 (l8b)
        DEFB "XL8C.LND",0;      86,214 ;#36 (l8c)
        DEFB "XL8D.LND",0;      88,174 ;#37 (l8d)
        DEFB "XL9.LND",0;       90,128 ;#38 (l9)
        DEFB "x3.bin",0;        92,99 ;#39 (X3)
        DEFB "XL10A.LND",0;     92,103 ;#40 (l10a)
        DEFB "XL10B.LND",0;     93,141 ;#41 (l10b)
        DEFB "XL10C.LND",0;     94,179 ;#42 (l10c)
        DEFB "XL10D.LND",0;     95,225 ;#43 (l10d)
        DEFB "XL11.LND",0;      97,14 ;#44 (l11)
        DEFB "XL12.LND",0;      98,210 ;#45 (l12)
        DEFB "XL13.LND",0;      100,74 ;#46 (l13)
        DEFB "XL14.LND",0;      102,38 ;#47 (l14)
        DEFB "XL15.LND",0;      103,88 ;#48 (l15)
        DEFB "XL19.LND",0;      105,16 ;#49 (l19)
        DEFB "XL17.LND",0;      105,217 ;#50 (l17)
        DEFB "XL18.LND",0;      107,46 ;#51 (l18)
        DEFB "XL16.LND",0;      108,109 ;#52 (l16)
        DEFB "XL20.LND",0;      109,188 ;#53 (l20)
        DEFB "up1.bin",0;       111,18 ;#54 (up1) ;???
        DEFB "up2.bin",0;       116,94 ;#55 (up2)
        DEFB "up3.bin",0;       121,183 ;#56 (up3)
        DEFB "up4.bin",0;       127,21 ;#57 (up4)
        DEFB "up5.bin",0;       131,62 ;#58 (up5)
        DEFB "up6.bin",0;       138,99 ;#59 (up6)
        DEFB "up7.bin",0;       150,43 ;#60 (up7)
        DEFB "up8.bin",0;       161,37 ;#61 (up8)
        DEFB "up9.bin",0;       172,200 ;#62 (up9)
        DEFB "up10.bin",0;      184,174 ;#63 (up10)
        DEFB "up11.bin",0;      191,192 ;#64 (up11)
        DEFB "up12.bin",0;      202,114 ;#65 (up12)
        DEFB "up13.bin",0;      206,254 ;#66 (up13)
        DEFB "up14.bin",0;      211,239 ;#67 (up14)
        DEFB "up15.bin",0;      217,97 ;#68 (up15)
        DEFB "up16.bin",0;      225,4 ;#69 (up16)
        DEFB "up17.bin",0;      231,142 ;#70 (up17)
        DEFB "up18.bin",0;      238,185 ;#71 (up18)
        DEFB "up19.bin",0;      249,150 ;#72 (up19)
        DEFB "up20.bin",0;      3,246 ;#73 (up20)
        DEFB "theend.bin",0;    15,13 ;the end