?login_element?

Subversion Repositories NedoOS

Rev

Rev 1029 | Blame | Compare with Previous | Last modification | View Log | Download

  1.         DEVICE ZXSPECTRUM128
  2.         include "../../_sdk/sys_h.asm"
  3.  
  4. BINADDR=0x4000
  5.  
  6. scrbase=0x4000
  7. sprmaxwid=32
  8. sprmaxhgt=32
  9. scrwid=160 ;double pixels
  10. scrhgt=200
  11. clswid=40 ;*8
  12. clshgt=200
  13.  
  14. STACK=0x4000
  15. tempsp=0x3f06 ;6 bytes for prspr
  16. INTSTACK=0x3f00
  17.  
  18. SND_PAGE=0;(0^INVMASK)
  19. SPTBL_PAGE=1;(6^INVMASK)
  20. PAL_PAGE=2;(4^INVMASK)
  21.  
  22. SPBUF_PAGE0=3;(8^INVMASK)
  23. SPBUF_PAGE1=4;(9^INVMASK)
  24. SPBUF_PAGE2=5;(10^INVMASK)
  25. SPBUF_PAGE3=6;(11^INVMASK)
  26.  
  27. CC_PAGE1=7;(13^INVMASK)
  28. CC_PAGE2=8;(14^INVMASK)
  29. CC_PAGE3=9;(12^INVMASK)
  30.  
  31. GFX_PAGE=10;(16^INVMASK) ;и далее
  32.  
  33. IMG_LIST =0xd000;#1000
  34.  
  35. ;смещения в SND_PAGE
  36.  
  37. AFX_INIT =#4000
  38. AFX_PLAY =#4003
  39. AFX_FRAME=#4006
  40. PT3_INIT =#4009
  41. PT3_FRAME=#400c
  42. PT3_MUTE =#400f ;NEW for TFM
  43. TURBOFMON=#4012 ;NEW for TFM
  44.  
  45. MUS_COUNT=#49fe
  46. SMP_COUNT=#49ff
  47. SFX_COUNT=#5000
  48.  
  49. MUS_LIST =#4a00
  50. SMP_LIST =#4d00
  51. SFX_DATA =#5100
  52.  
  53.         macro MDebug color
  54.         push af
  55.         ld a,color
  56.         out (#fe),a
  57.         pop af
  58.         endm
  59.  
  60.         macro MSetShadowScreen
  61.         call setpgsscr40008000
  62.         endm
  63.  
  64.         macro MRestoreMemMap012
  65. ;TODO переделать на (pgmain4000) и т.п. (сейчас с пересчётом по таблице)
  66.         ld a,CC_PAGE3
  67.         call setpgc000;SETPG32KHIGH
  68.         ld a,CC_PAGE1
  69.         call setpg4000;SETPG16K
  70.         ld a,CC_PAGE2
  71.         call setpg8000;SETPG32KLOW
  72.         endm
  73.  
  74.         macro MRestoreMemMap12
  75.         ld a,CC_PAGE1
  76.         call setpg4000;SETPG16K
  77.         ld a,CC_PAGE2
  78.         call setpg8000;SETPG32KLOW
  79.         endm
  80.  
  81.         org PROGSTART
  82. begin
  83.         ld sp,STACK
  84.         OS_HIDEFROMPARENT
  85.  
  86. ;        ld b,25
  87. ;waitcls0
  88. ;        push bc
  89. ;        YIELD
  90. ;        pop bc
  91. ;        djnz waitcls0 ;чтобы nv не перехватил фокус при вызове через комстроку
  92.  
  93.         ld e,0+128 ;+128=keep
  94.         OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode)
  95.         ld e,0
  96.         OS_SETSCREEN
  97.         ld e,0 ;color byte
  98.         OS_CLS
  99.         ld e,1
  100.         OS_SETSCREEN
  101.         ld e,0 ;color byte
  102.         OS_CLS
  103.        
  104.         OS_GETMAINPAGES
  105. ;dehl=номера страниц в 0000,4000,8000,c000
  106.         ld a,e
  107.         LD (pgmain4000),A
  108.         ld (tpages+CC_PAGE1),a
  109.         ld a,h
  110.         LD (pgmain8000),A
  111.         ld (tpages+CC_PAGE2),a
  112.         ld a,l
  113.         ld (tpages+CC_PAGE3),a
  114.         call setpgsmain40008000 ;записать в curpg...
  115.  
  116.         ld de,res_path
  117.         OS_CHDIR
  118.  
  119.         ld de,fnaddr
  120.         OS_OPENHANDLE
  121.         push bc
  122.         ld de,jpaddr ;addr
  123.         ld hl,2 ;size
  124.         OS_READHANDLE
  125.         pop bc
  126.         OS_CLOSEHANDLE
  127.  
  128.         ld hl,sndfilename
  129.         call loadpage ;CY=error
  130.         ld (tpages+0),a
  131.         ld hl,sprtblfilename
  132.         call loadpage ;CY=error
  133.         ld (tpages+1),a
  134.         ld hl,palfilename
  135.         call loadpage ;CY=error
  136.         ld (tpages+2),a
  137.  
  138.         ld de,tpages+GFX_PAGE
  139.  
  140.         ;ld b,NUMBER_OF_PAGES
  141. loadloop0
  142.         ;push bc
  143.         push de
  144.         ld hl,texfilename
  145.         call loadpage ;CY=error
  146.         pop de
  147.        jr c,loadloop0q
  148.         ld (de),a
  149.         inc e
  150.         ld hl,texfilename_pgnumend
  151. loadloop_nextdigit0
  152.         dec hl
  153.         ld a,(hl)
  154.         inc a
  155.         cp "0"+10
  156.         ld (hl),"0"
  157.         jr z,loadloop_nextdigit0
  158.         ld (hl),a
  159.         jr loadloop0
  160.         ;pop bc
  161.         ;djnz loadloop0
  162. loadloop0q
  163.        
  164.         ld hl,tpages+SPBUF_PAGE0
  165.         ld b,4
  166. mkpages0
  167.         push bc
  168.         push hl
  169.         OS_NEWPAGE
  170.         pop hl
  171.         ld (hl),e
  172.         inc l
  173.         pop bc
  174.         djnz mkpages0
  175.  
  176.         call initsfx
  177.  
  178.         call swapimer
  179.  
  180.         call setpgsmain40008000
  181.         call RestoreMemMap3
  182.         ld de,fnbin
  183.         ld hl,0x4000
  184.         call loadbinpg
  185.         ld de,fnbin2
  186.         ld hl,0x8000
  187.         call loadbinpg
  188.         ld de,fnbin3
  189.         ld hl,0xc000
  190.         call loadbinpg
  191.        
  192.         ld de,CURPAL
  193.         OS_SETPAL
  194.  
  195.         call _swap_screen
  196. jpaddr=$+1
  197.         call 0
  198.  
  199. quit ;TODO
  200.         call swapimer
  201.         call _music_stop
  202.         halt
  203.         QUIT
  204.  
  205.         ds 0x0200-$
  206. tpages
  207.         ds 256 ;pages
  208.  
  209. loadbinpg
  210.         push hl
  211.         OS_OPENHANDLE
  212.         pop de ;addr
  213.         push bc
  214.         ld hl,-BINADDR ;size
  215.         OS_READHANDLE
  216.         pop bc
  217.         OS_CLOSEHANDLE                
  218.         ret
  219.  
  220. loadpage
  221. ;заказывает страничку и грузит туда файл (имя файла в hl)
  222. ;out: hl=после имени файла, a=pg
  223. ;or else CY
  224.         push hl
  225.         ex de,hl
  226.         OS_OPENHANDLE
  227.         pop hl
  228.         or a
  229.         scf
  230.         ret nz
  231.         push hl
  232.        push bc
  233.         OS_NEWPAGE
  234.        pop bc
  235.         pop hl
  236.         ld a,e
  237.         push af ;pg
  238.        push bc
  239.         SETPGC000
  240.        pop bc
  241.         push hl
  242.         ex de,hl
  243.         ;OS_OPENHANDLE
  244.         push bc
  245.         ld de,0xc000 ;addr
  246.         ld hl,0x4000 ;size
  247.         OS_READHANDLE
  248.         pop bc
  249.         OS_CLOSEHANDLE                
  250.         pop hl
  251.         ld b,1
  252.         xor a
  253.         cpir ;after 0
  254.         pop af ;pg
  255.         or a ;CY=0
  256.         ret
  257.  
  258. CURPAL
  259. ;DDp palette: %grbG11RB(low),%grbG11RB(high), инверсные
  260.         STANDARDPAL
  261.  
  262. sndfilename
  263.         db "page_0.bin",0
  264. sprtblfilename
  265.         db "page_1.bin",0
  266. palfilename
  267.         db "page_2.bin",0
  268.  
  269. texfilename
  270. texfilename_pgnumend=$+7;8
  271.         db "page_10.bin",0
  272.  
  273.  
  274.  
  275.  
  276. setpgsmain40008000
  277. pgmain4000=$+1
  278.         ld a,0
  279.         SETPG4000
  280. pgmain8000=$+1
  281.         ld a,0
  282.         SETPG8000
  283.         ret
  284.  
  285. setpgsscr40008000_current
  286.         call getuser_scr_low_cur
  287.         SETPG4000
  288.         call getuser_scr_high_cur
  289.         SETPG8000
  290.         ret
  291.  
  292. setpgsscr40008000
  293.         call getuser_scr_low
  294.         SETPG4000
  295.         call getuser_scr_high
  296.         SETPG8000
  297.         ret
  298.  
  299. setpgscrlow4000
  300.         call getuser_scr_low
  301.         SETPG4000
  302.         ret
  303.  
  304. setpgscrhigh4000
  305.         call getuser_scr_high
  306.         SETPG4000
  307.         ret
  308.  
  309. getuser_scr_low
  310. getuser_scr_low_patch=$+1
  311. getuser_scr_low_patchN=0xff&(user_scr0_low^user_scr1_low)
  312.         ld a,(user_scr1_low) ;ok
  313.         ret
  314.  
  315. getuser_scr_high
  316. getuser_scr_high_patch=$+1
  317. getuser_scr_high_patchN=0xff&(user_scr0_high^user_scr1_high)
  318.         ld a,(user_scr1_high) ;ok
  319.         ret
  320.  
  321. getuser_scr_low_cur
  322. getuser_scr_low_cur_patch=$+1
  323. getuser_scr_low_cur_patchN=0xff&(user_scr0_low^user_scr1_low)
  324.         ld a,(user_scr0_low) ;ok
  325.         ret
  326.  
  327. getuser_scr_high_cur
  328. getuser_scr_high_cur_patch=$+1
  329. getuser_scr_high_cur_patchN=0xff&(user_scr0_high^user_scr1_high)
  330.         ld a,(user_scr0_high) ;ok
  331.         ret
  332.  
  333. changescrpg_current
  334.         ld hl,getuser_scr_low_patch
  335.         ld a,(hl)
  336.         xor getuser_scr_low_patchN
  337.         ld (hl),a
  338.         ld hl,getuser_scr_high_patch
  339.         ld a,(hl)
  340.         xor getuser_scr_high_patchN
  341.         ld (hl),a
  342.         ld hl,getuser_scr_low_cur_patch
  343.         ld a,(hl)
  344.         xor getuser_scr_low_cur_patchN
  345.         ld (hl),a
  346.         ld hl,getuser_scr_high_cur_patch
  347.         ld a,(hl)
  348.         xor getuser_scr_high_cur_patchN
  349.         ld (hl),a
  350.  
  351.         ld a,1
  352. curscrnum=$+1
  353.         xor 0
  354.         ld ($-1),a
  355.         ret
  356.        
  357. changescrpg
  358. ;TODO убрать
  359.         call changescrpg_current
  360.         ld e,a
  361.         OS_SETSCREEN
  362.         ret
  363.  
  364. setpg4000
  365.         ld b,tpages/256
  366.         ld c,a
  367.         ld a,(bc)
  368.         SETPG16K
  369.         ret
  370.  
  371. setpg8000
  372.         ld b,tpages/256
  373.         ld c,a
  374.         ld a,(bc)
  375.         SETPG32KLOW
  376.         ret
  377.  
  378. setpgc000
  379.         ld b,tpages/256
  380.         ld c,a
  381.         ld a,(bc)
  382.         SETPG32KHIGH
  383.         ret
  384.  
  385. setShadowScreen
  386.         MSetShadowScreen
  387.         ret
  388.  
  389. _clear_screen
  390.         and 15
  391.         ld l,a
  392.         ld h,high colorMaskTable
  393.         ld e,(hl)
  394.         call setShadowScreen
  395.         ld hl,#4000
  396.         ld (hl),e
  397.         ld de,#4001
  398.         ld bc,#7fff
  399.         call _fast_ldir
  400. RestoreMemMap12
  401.         MRestoreMemMap12
  402.         ret
  403.  
  404. _swap_screen
  405.         push ix
  406.         ;push iy
  407.  
  408.         ld a,(spritesActive)
  409.         or a
  410.         push af
  411.         jr z,.noSpr0
  412.         call setShadowScreen
  413.         call updateTilesToBuffer
  414.         call prspr
  415. .noSpr0
  416.  
  417.         halt
  418.  
  419.         ld a,(_screenActive)
  420.         xor 2
  421.         ld (_screenActive),a ;for select sprqueue
  422.         call changescrpg
  423.  
  424.         pop af
  425.         jr z,.noSpr1
  426.  
  427.         call setShadowScreen
  428.         call respr
  429.         call updateTilesFromBuffer
  430.         call RestoreMemMap3;0
  431.         call RestoreMemMap12
  432. .noSpr1
  433.         ;pop iy
  434.         pop ix
  435.         ret
  436.  
  437. pal_get_address
  438.         ld h,0
  439.         ld l,a
  440.         add hl,hl
  441.         add hl,hl
  442.         add hl,hl
  443.         add hl,hl
  444.          set 7,h
  445.          set 6,h
  446.  
  447.         ld a,PAL_PAGE
  448.         jp setpgc000;SETPG32KHIGH
  449.  
  450.  
  451. _pal_select
  452.         call pal_get_address
  453.  
  454.         ld de,_palette
  455.         ld bc,16
  456.         ldir
  457.  
  458.         ld a,d
  459.         ld (_palChange),a
  460. RestoreMemMap3;0
  461.         ld a,CC_PAGE3;0
  462.         jp setpgc000;SETPG32KHIGH
  463.  
  464.  
  465.  
  466. _pal_bright
  467.         cp 7
  468.         jr c,.l1
  469.         ld a,6
  470. .l1
  471.         ld h,a
  472.         ld l,0
  473.         srl h
  474.         rr l
  475.         srl h
  476.         rr l
  477.         ld (_palBright),hl
  478.         ld a,1
  479.         ld (_palChange),a
  480.         ret
  481.  
  482.  
  483.  
  484. _pal_copy
  485.         push de
  486.         call pal_get_address
  487.  
  488.         ld de,palTemp
  489.         ld bc,16
  490.         ldir
  491.  
  492.         ld a,CC_PAGE3;0
  493.         call setpgc000;SETPG32KHIGH
  494.  
  495.         pop de
  496.         ld hl,palTemp
  497.         ld bc,16
  498.         ldir
  499.         ret
  500.  
  501.  
  502.  
  503. ;более быстрая версия ldir, эффективна при bc>12
  504. ;из статьи на MSX Assembly Page
  505. ;в отличие от нормального ldir портит A и флаги
  506. _fast_ldir
  507.         xor a
  508.         sub c
  509.         and 63
  510.         add a,a
  511.         ld (.jump),a
  512. .jump=$+1
  513.         jr nz,.loop
  514. .loop
  515.         dup 64
  516.         ldi
  517.         edup
  518.         jp pe,.loop
  519.         ret
  520.  
  521.         align 256       ;#nn00
  522. tileUpdateXTable
  523.         dup 8
  524.         db #01,#02,#04,#08,#10,#20,#40,#80
  525.         edup
  526. .x=0
  527.         dup 64
  528.         db .x>>3
  529. .x=.x+1
  530.         edup
  531.  
  532.  
  533.         align 256       ;#nn00
  534. colorMaskTable
  535.         db #00,#09,#12,#1b,#24,#2d,#36,#3f      ;для двух пикселей
  536.         db #c0,#c9,#d2,#db,#e4,#ed,#f6,#ff
  537.         db #00,#01,#02,#03,#04,#05,#06,#07      ;для ink
  538.         db #40,#41,#42,#43,#44,#45,#46,#47
  539.         ds 16,0
  540.         db #00,#08,#10,#18,#20,#28,#30,#38      ;для paper
  541.         db #80,#88,#90,#98,#a0,#a8,#b0,#b8
  542.  
  543.  
  544.         align 256
  545. _sprqueue
  546. _sprqueue0      ;формат 4 байта на спрайт, idh,idl,y,x (idh=255 конец списка)
  547.         ds 256,255
  548. _sprqueue1
  549.         ds 256,255
  550.  
  551.         align 256
  552. palBrightTable
  553.         db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff      ;bright 0
  554.         db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff
  555.         db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff
  556.         db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff
  557.         db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f      ;bright 1
  558.         db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f
  559.         db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f
  560.         db #df,#df,#df,#9f,#df,#df,#df,#9f,#df,#df,#df,#9f,#5f,#5f,#5f,#1f
  561.         db #ff,#ff,#bf,#fd,#ff,#ff,#bf,#fd,#7f,#7f,#3f,#7d,#ef,#ef,#af,#ed      ;bright 2
  562.         db #ff,#ff,#bf,#fd,#ff,#ff,#bf,#fd,#7f,#7f,#3f,#7d,#ef,#ef,#af,#ed
  563.         db #df,#df,#9f,#dd,#df,#df,#9f,#dd,#5f,#5f,#1f,#5d,#cf,#cf,#8f,#cd
  564.         db #fe,#fe,#be,#fc,#fe,#fe,#be,#fc,#7e,#7e,#3e,#7c,#ee,#ee,#ae,#ec
  565.         db #ff,#bf,#fd,#bd,#7f,#3f,#7d,#3d,#ef,#af,#ed,#ad,#6f,#2f,#6d,#2d      ;bright 3
  566.         db #df,#9f,#dd,#9d,#5f,#1f,#5d,#1d,#cf,#8f,#cd,#8d,#4f,#0f,#4d,#0d
  567.         db #fe,#be,#fc,#bc,#7e,#3e,#7c,#3c,#ee,#ae,#ec,#ac,#6e,#2e,#6c,#2c
  568.         db #de,#9e,#dc,#9c,#5e,#1e,#5c,#1c,#ce,#8e,#cc,#8c,#4e,#0e,#4c,#0c
  569.         db #1f,#5d,#1d,#1d,#8f,#cd,#8d,#8d,#0f,#4d,#0d,#0d,#0f,#4d,#0d,#0d      ;bright 4
  570.         db #3e,#7c,#3c,#3c,#ae,#ec,#ac,#ac,#2e,#6c,#2c,#2c,#2e,#6c,#2c,#2c
  571.         db #1e,#5c,#1c,#1c,#8e,#cc,#8c,#8c,#0e,#4c,#0c,#0c,#0e,#4c,#0c,#0c
  572.         db #1e,#5c,#1c,#1c,#8e,#cc,#8c,#8c,#0e,#4c,#0c,#0c,#0e,#4c,#0c,#0c
  573.         db #ec,#ac,#ac,#ac,#6c,#2c,#2c,#2c,#6c,#2c,#2c,#2c,#6c,#2c,#2c,#2c      ;bright 5
  574.         db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c
  575.         db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c
  576.         db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c
  577.         db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c      ;bright 6
  578.         db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c
  579.         db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c
  580.         db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c
  581.  
  582.         align 256       ;#nn00
  583. scrTable
  584. adr=#4000
  585.         dup 25
  586.         db low adr
  587. adr=adr+(40*8)
  588.         edup
  589.         align 32        ;#nn20
  590. adr=#4000
  591.         dup 25
  592.         db high adr
  593. adr=adr+(40*8)
  594.         edup
  595.  
  596.         align 256       ;#nn00
  597. tileUpdateMap   ;битовая карта обновившихся знакомест, 64x25 бит
  598.         ds 8*25,0
  599.  
  600.         export _pal_select
  601.         export _pal_copy
  602.         export _pal_bright
  603.         export _swap_screen
  604.         export _clear_screen
  605.         export _fast_ldir
  606.  
  607.         include "../_sdk/lib_int.asm"
  608.         include "../_sdk/lib_tiles.asm"
  609.         export _draw_tile
  610.         export _draw_image
  611.         export _select_image
  612.         export _draw_tile_key
  613.         export _color_key
  614.  
  615.         include "../_sdk/lib_sprites.asm"
  616.         export _sprites_start
  617.         export _sprites_stop
  618.  
  619.         include "../_sdk/lib_input.asm"
  620.         export _joystick
  621.         export _keyboard
  622.         export _mouse_apply_clip
  623.  
  624.         include "../_sdk/lib_sound.asm"
  625.         export _music_play
  626.         export _music_stop
  627.         export _sample_play
  628.         export _sfx_play
  629.         export _sfx_stop
  630.  
  631. ;переменные
  632.  
  633. musicPage       db 0
  634. tileOffset      dw 0
  635. spritesActive   db 0    ;1 если вывод спрайтов разрешён
  636. tileUpdate      db 0    ;1 если выводились тайлы, для системы обновления фона под спрайтами
  637. palTemp         ds 16,0
  638. keysPrevState   ds 40,0
  639.         ifdef TFM
  640. ;turboFM        db 0    ;!=0 если есть TFM
  641.         else
  642. turboSound      db 0    ;!=0 если есть TS
  643.         endif
  644.  
  645. ;экспортируемые переменные
  646.  
  647.         macro rgb222 b2,g2,r2
  648.         db (((r2&3)<<4)|((g2&3)<<2)|(b2&3))
  649.         endm
  650.  
  651.         align 16
  652. _palette
  653.         rgb222(0,0,0)
  654.         rgb222(0,0,2)
  655.         rgb222(2,0,0)
  656.         rgb222(2,0,2)
  657.         rgb222(0,2,0)
  658.         rgb222(0,2,2)
  659.         rgb222(2,2,0)
  660.         rgb222(2,2,2)
  661.         rgb222(0,0,0)
  662.         rgb222(0,0,3)
  663.         rgb222(3,0,0)
  664.         rgb222(3,0,3)
  665.         rgb222(0,3,0)
  666.         rgb222(0,3,3)
  667.         rgb222(3,3,0)
  668.         rgb222(3,3,3)
  669.  
  670. _borderCol      db 0
  671. _palBright      dw 3<<6
  672. _palChange      db 1
  673. _screenActive   db 0    ;~1 или ~3
  674. _mouse_dx       db 0
  675. _mouse_dy       db 0
  676. _mouse_x        db 80
  677. _mouse_y        db 100
  678. _mouse_cx1      db 0
  679. _mouse_cx2      db 160
  680. _mouse_cy1      db 0
  681. _mouse_cy2      db 200
  682. _mouse_btn      db 0
  683. _mouse_prev_dx  db 0
  684. _mouse_prev_dy  db 0
  685. _time           dd 0
  686.  
  687.         export _borderCol
  688.         export _palBright
  689.         export _palChange
  690.         export _sprqueue
  691.         export _screenActive
  692.         export _mouse_dx
  693.         export _mouse_dy
  694.         export _mouse_x
  695.         export _mouse_y
  696.         export _mouse_cx1
  697.         export _mouse_cx2
  698.         export _mouse_cy1
  699.         export _mouse_cy2
  700.         export _mouse_btn
  701.         export _time
  702.         export _palette
  703.  
  704.        
  705. res_path
  706. ;в этом относительном пути будут лежать все загружаемые данные игры
  707.         ;db "nedoload"
  708.         include "_temp_/sets.asm"
  709.         db 0
  710. fnbin
  711.         db "page_101.bin",0
  712. fnbin2
  713.         db "page_102.bin",0
  714. fnbin3
  715.         db "page_103.bin",0
  716. fnaddr
  717.         db "addr.bin",0
  718. end
  719.         savebin "nedoload.com",begin,end-begin
  720.         LABELSLIST "..\..\..\us\user.l"
  721.