?login_element?

Subversion Repositories NedoOS

Rev

Rev 964 | Go to most recent revision | 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. pgmusic=$+1
  202.         ld a,0
  203.         SETPG4000
  204.         ld hl,0x4008 ;stop
  205.         OS_SETMUSIC
  206.         halt
  207.         QUIT
  208.  
  209.         ds 0x0200-$
  210. tpages
  211.         ds 256 ;pages
  212.  
  213. loadbinpg
  214.         push hl
  215.         OS_OPENHANDLE
  216.         pop de ;addr
  217.         push bc
  218.         ld hl,-BINADDR ;size
  219.         OS_READHANDLE
  220.         pop bc
  221.         OS_CLOSEHANDLE                
  222.         ret
  223.  
  224. loadpage
  225. ;заказывает страничку и грузит туда файл (имя файла в hl)
  226. ;out: hl=после имени файла, a=pg
  227. ;or else CY
  228.         push hl
  229.         ex de,hl
  230.         OS_OPENHANDLE
  231.         pop hl
  232.         or a
  233.         scf
  234.         ret nz
  235.         push hl
  236.        push bc
  237.         OS_NEWPAGE
  238.        pop bc
  239.         pop hl
  240.         ld a,e
  241.         push af ;pg
  242.        push bc
  243.         SETPGC000
  244.        pop bc
  245.         push hl
  246.         ex de,hl
  247.         ;OS_OPENHANDLE
  248.         push bc
  249.         ld de,0xc000 ;addr
  250.         ld hl,0x4000 ;size
  251.         OS_READHANDLE
  252.         pop bc
  253.         OS_CLOSEHANDLE                
  254.         pop hl
  255.         ld b,1
  256.         xor a
  257.         cpir ;after 0
  258.         pop af ;pg
  259.         or a ;CY=0
  260.         ret
  261.  
  262. CURPAL
  263. ;DDp palette: %grbG11RB(low),%grbG11RB(high), инверсные
  264.         STANDARDPAL
  265.  
  266. sndfilename
  267.         db "page_0.bin",0
  268. sprtblfilename
  269.         db "page_1.bin",0
  270. palfilename
  271.         db "page_2.bin",0
  272.  
  273. texfilename
  274. texfilename_pgnumend=$+7;8
  275.         db "page_10.bin",0
  276.  
  277.  
  278.  
  279.  
  280. setpgsmain40008000
  281. pgmain4000=$+1
  282.         ld a,0
  283.         SETPG4000
  284. pgmain8000=$+1
  285.         ld a,0
  286.         SETPG8000
  287.         ret
  288.  
  289. setpgsscr40008000_current
  290.         call getuser_scr_low_cur
  291.         SETPG4000
  292.         call getuser_scr_high_cur
  293.         SETPG8000
  294.         ret
  295.  
  296. setpgsscr40008000
  297.         call getuser_scr_low
  298.         SETPG4000
  299.         call getuser_scr_high
  300.         SETPG8000
  301.         ret
  302.  
  303. setpgscrlow4000
  304.         call getuser_scr_low
  305.         SETPG4000
  306.         ret
  307.  
  308. setpgscrhigh4000
  309.         call getuser_scr_high
  310.         SETPG4000
  311.         ret
  312.  
  313. getuser_scr_low
  314. getuser_scr_low_patch=$+1
  315. getuser_scr_low_patchN=0xff&(user_scr0_low^user_scr1_low)
  316.         ld a,(user_scr1_low) ;ok
  317.         ret
  318.  
  319. getuser_scr_high
  320. getuser_scr_high_patch=$+1
  321. getuser_scr_high_patchN=0xff&(user_scr0_high^user_scr1_high)
  322.         ld a,(user_scr1_high) ;ok
  323.         ret
  324.  
  325. getuser_scr_low_cur
  326. getuser_scr_low_cur_patch=$+1
  327. getuser_scr_low_cur_patchN=0xff&(user_scr0_low^user_scr1_low)
  328.         ld a,(user_scr0_low) ;ok
  329.         ret
  330.  
  331. getuser_scr_high_cur
  332. getuser_scr_high_cur_patch=$+1
  333. getuser_scr_high_cur_patchN=0xff&(user_scr0_high^user_scr1_high)
  334.         ld a,(user_scr0_high) ;ok
  335.         ret
  336.  
  337. changescrpg_current
  338.         ld hl,getuser_scr_low_patch
  339.         ld a,(hl)
  340.         xor getuser_scr_low_patchN
  341.         ld (hl),a
  342.         ld hl,getuser_scr_high_patch
  343.         ld a,(hl)
  344.         xor getuser_scr_high_patchN
  345.         ld (hl),a
  346.         ld hl,getuser_scr_low_cur_patch
  347.         ld a,(hl)
  348.         xor getuser_scr_low_cur_patchN
  349.         ld (hl),a
  350.         ld hl,getuser_scr_high_cur_patch
  351.         ld a,(hl)
  352.         xor getuser_scr_high_cur_patchN
  353.         ld (hl),a
  354.  
  355.         ld a,1
  356. curscrnum=$+1
  357.         xor 0
  358.         ld ($-1),a
  359.         ret
  360.        
  361. changescrpg
  362. ;TODO убрать
  363.         call changescrpg_current
  364.         ld e,a
  365.         OS_SETSCREEN
  366.         ret
  367.  
  368. setpg4000
  369.         ld b,tpages/256
  370.         ld c,a
  371.         ld a,(bc)
  372.         SETPG16K
  373.         ret
  374.  
  375. setpg8000
  376.         ld b,tpages/256
  377.         ld c,a
  378.         ld a,(bc)
  379.         SETPG32KLOW
  380.         ret
  381.  
  382. setpgc000
  383.         ld b,tpages/256
  384.         ld c,a
  385.         ld a,(bc)
  386.         SETPG32KHIGH
  387.         ret
  388.  
  389. setShadowScreen
  390.         MSetShadowScreen
  391.         ret
  392.  
  393. _clear_screen
  394.         and 15
  395.         ld l,a
  396.         ld h,high colorMaskTable
  397.         ld e,(hl)
  398.         call setShadowScreen
  399.         ld hl,#4000
  400.         ld (hl),e
  401.         ld de,#4001
  402.         ld bc,#7fff
  403.         call _fast_ldir
  404. RestoreMemMap12
  405.         MRestoreMemMap12
  406.         ret
  407.  
  408. _swap_screen
  409.         push ix
  410.         ;push iy
  411.  
  412.         ld a,(spritesActive)
  413.         or a
  414.         push af
  415.         jr z,.noSpr0
  416.         call setShadowScreen
  417.         call updateTilesToBuffer
  418.         call prspr
  419. .noSpr0
  420.  
  421.         halt
  422.  
  423.         ld a,(_screenActive)
  424.         xor 2
  425.         ld (_screenActive),a ;for select sprqueue
  426.         call changescrpg
  427.  
  428.         pop af
  429.         jr z,.noSpr1
  430.  
  431.         call setShadowScreen
  432.         call respr
  433.         call updateTilesFromBuffer
  434.         call RestoreMemMap3;0
  435.         call RestoreMemMap12
  436. .noSpr1
  437.         ;pop iy
  438.         pop ix
  439.         ret
  440.  
  441. pal_get_address
  442.         ld h,0
  443.         ld l,a
  444.         add hl,hl
  445.         add hl,hl
  446.         add hl,hl
  447.         add hl,hl
  448.          set 7,h
  449.          set 6,h
  450.  
  451.         ld a,PAL_PAGE
  452.         jp setpgc000;SETPG32KHIGH
  453.  
  454.  
  455. _pal_select
  456.         call pal_get_address
  457.  
  458.         ld de,_palette
  459.         ld bc,16
  460.         ldir
  461.  
  462.         ld a,d
  463.         ld (_palChange),a
  464. RestoreMemMap3;0
  465.         ld a,CC_PAGE3;0
  466.         jp setpgc000;SETPG32KHIGH
  467.  
  468.  
  469.  
  470. _pal_bright
  471.         cp 7
  472.         jr c,.l1
  473.         ld a,6
  474. .l1
  475.         ld h,a
  476.         ld l,0
  477.         srl h
  478.         rr l
  479.         srl h
  480.         rr l
  481.         ld (_palBright),hl
  482.         ld a,1
  483.         ld (_palChange),a
  484.         ret
  485.  
  486.  
  487.  
  488. _pal_copy
  489.         push de
  490.         call pal_get_address
  491.  
  492.         ld de,palTemp
  493.         ld bc,16
  494.         ldir
  495.  
  496.         ld a,CC_PAGE3;0
  497.         call setpgc000;SETPG32KHIGH
  498.  
  499.         pop de
  500.         ld hl,palTemp
  501.         ld bc,16
  502.         ldir
  503.         ret
  504.  
  505.  
  506.  
  507. ;более быстрая версия ldir, эффективна при bc>12
  508. ;из статьи на MSX Assembly Page
  509. ;в отличие от нормального ldir портит A и флаги
  510. _fast_ldir
  511.         xor a
  512.         sub c
  513.         and 63
  514.         add a,a
  515.         ld (.jump),a
  516. .jump=$+1
  517.         jr nz,.loop
  518. .loop
  519.         dup 64
  520.         ldi
  521.         edup
  522.         jp pe,.loop
  523.         ret
  524.  
  525.         align 256       ;#nn00
  526. tileUpdateXTable
  527.         dup 8
  528.         db #01,#02,#04,#08,#10,#20,#40,#80
  529.         edup
  530. .x=0
  531.         dup 64
  532.         db .x>>3
  533. .x=.x+1
  534.         edup
  535.  
  536.  
  537.         align 256       ;#nn00
  538. colorMaskTable
  539.         db #00,#09,#12,#1b,#24,#2d,#36,#3f      ;для двух пикселей
  540.         db #c0,#c9,#d2,#db,#e4,#ed,#f6,#ff
  541.         db #00,#01,#02,#03,#04,#05,#06,#07      ;для ink
  542.         db #40,#41,#42,#43,#44,#45,#46,#47
  543.         ds 16,0
  544.         db #00,#08,#10,#18,#20,#28,#30,#38      ;для paper
  545.         db #80,#88,#90,#98,#a0,#a8,#b0,#b8
  546.  
  547.  
  548.         align 256
  549. _sprqueue
  550. _sprqueue0      ;формат 4 байта на спрайт, idh,idl,y,x (idh=255 конец списка)
  551.         ds 256,255
  552. _sprqueue1
  553.         ds 256,255
  554.  
  555.         align 256
  556. palBrightTable
  557.         db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff      ;bright 0
  558.         db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff
  559.         db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff
  560.         db #ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff,#ff
  561.         db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f      ;bright 1
  562.         db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f
  563.         db #ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#ff,#ff,#ff,#bf,#7f,#7f,#7f,#3f
  564.         db #df,#df,#df,#9f,#df,#df,#df,#9f,#df,#df,#df,#9f,#5f,#5f,#5f,#1f
  565.         db #ff,#ff,#bf,#fd,#ff,#ff,#bf,#fd,#7f,#7f,#3f,#7d,#ef,#ef,#af,#ed      ;bright 2
  566.         db #ff,#ff,#bf,#fd,#ff,#ff,#bf,#fd,#7f,#7f,#3f,#7d,#ef,#ef,#af,#ed
  567.         db #df,#df,#9f,#dd,#df,#df,#9f,#dd,#5f,#5f,#1f,#5d,#cf,#cf,#8f,#cd
  568.         db #fe,#fe,#be,#fc,#fe,#fe,#be,#fc,#7e,#7e,#3e,#7c,#ee,#ee,#ae,#ec
  569.         db #ff,#bf,#fd,#bd,#7f,#3f,#7d,#3d,#ef,#af,#ed,#ad,#6f,#2f,#6d,#2d      ;bright 3
  570.         db #df,#9f,#dd,#9d,#5f,#1f,#5d,#1d,#cf,#8f,#cd,#8d,#4f,#0f,#4d,#0d
  571.         db #fe,#be,#fc,#bc,#7e,#3e,#7c,#3c,#ee,#ae,#ec,#ac,#6e,#2e,#6c,#2c
  572.         db #de,#9e,#dc,#9c,#5e,#1e,#5c,#1c,#ce,#8e,#cc,#8c,#4e,#0e,#4c,#0c
  573.         db #1f,#5d,#1d,#1d,#8f,#cd,#8d,#8d,#0f,#4d,#0d,#0d,#0f,#4d,#0d,#0d      ;bright 4
  574.         db #3e,#7c,#3c,#3c,#ae,#ec,#ac,#ac,#2e,#6c,#2c,#2c,#2e,#6c,#2c,#2c
  575.         db #1e,#5c,#1c,#1c,#8e,#cc,#8c,#8c,#0e,#4c,#0c,#0c,#0e,#4c,#0c,#0c
  576.         db #1e,#5c,#1c,#1c,#8e,#cc,#8c,#8c,#0e,#4c,#0c,#0c,#0e,#4c,#0c,#0c
  577.         db #ec,#ac,#ac,#ac,#6c,#2c,#2c,#2c,#6c,#2c,#2c,#2c,#6c,#2c,#2c,#2c      ;bright 5
  578.         db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c
  579.         db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c
  580.         db #cc,#8c,#8c,#8c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c,#4c,#0c,#0c,#0c
  581.         db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c      ;bright 6
  582.         db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c
  583.         db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c
  584.         db #0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c,#0c
  585.  
  586.         align 256       ;#nn00
  587. scrTable
  588. adr=#4000
  589.         dup 25
  590.         db low adr
  591. adr=adr+(40*8)
  592.         edup
  593.         align 32        ;#nn20
  594. adr=#4000
  595.         dup 25
  596.         db high adr
  597. adr=adr+(40*8)
  598.         edup
  599.  
  600.         align 256       ;#nn00
  601. tileUpdateMap   ;битовая карта обновившихся знакомест, 64x25 бит
  602.         ds 8*25,0
  603.  
  604.         export _pal_select
  605.         export _pal_copy
  606.         export _pal_bright
  607.         export _swap_screen
  608.         export _clear_screen
  609.         export _fast_ldir
  610.  
  611.         include "../_sdk/lib_int.asm"
  612.         include "../_sdk/lib_tiles.asm"
  613.         export _draw_tile
  614.         export _draw_image
  615.         export _select_image
  616.         export _draw_tile_key
  617.         export _color_key
  618.  
  619.         include "../_sdk/lib_sprites.asm"
  620.         export _sprites_start
  621.         export _sprites_stop
  622.  
  623.         include "../_sdk/lib_input.asm"
  624.         export _joystick
  625.         export _keyboard
  626.         export _mouse_apply_clip
  627.  
  628.         include "../_sdk/lib_sound.asm"
  629.         export _music_play
  630.         export _music_stop
  631.         export _sample_play
  632.         export _sfx_play
  633.         export _sfx_stop
  634.         include "../_sdk/wyzplay.asm"
  635. PT3_INIT =pt3player.INIT
  636. PT3_FRAME=pt3player.PLAY
  637.  
  638. ;переменные
  639.  
  640. musicPage       db 0
  641. tileOffset      dw 0
  642. spritesActive   db 0    ;1 если вывод спрайтов разрешён
  643. tileUpdate      db 0    ;1 если выводились тайлы, для системы обновления фона под спрайтами
  644. palTemp         ds 16,0
  645. keysPrevState   ds 40,0
  646.         ifdef TFM
  647. ;turboFM        db 0    ;!=0 если есть TFM
  648.         else
  649. turboSound      db 0    ;!=0 если есть TS
  650.         endif
  651.  
  652. ;экспортируемые переменные
  653.  
  654.         macro rgb222 b2,g2,r2
  655.         db (((r2&3)<<4)|((g2&3)<<2)|(b2&3))
  656.         endm
  657.  
  658.         align 16
  659. _palette
  660.         rgb222(0,0,0)
  661.         rgb222(0,0,2)
  662.         rgb222(2,0,0)
  663.         rgb222(2,0,2)
  664.         rgb222(0,2,0)
  665.         rgb222(0,2,2)
  666.         rgb222(2,2,0)
  667.         rgb222(2,2,2)
  668.         rgb222(0,0,0)
  669.         rgb222(0,0,3)
  670.         rgb222(3,0,0)
  671.         rgb222(3,0,3)
  672.         rgb222(0,3,0)
  673.         rgb222(0,3,3)
  674.         rgb222(3,3,0)
  675.         rgb222(3,3,3)
  676.  
  677. _borderCol      db 0
  678. _palBright      dw 3<<6
  679. _palChange      db 1
  680. _screenActive   db 0    ;~1 или ~3
  681. _mouse_dx       db 0
  682. _mouse_dy       db 0
  683. _mouse_x        db 80
  684. _mouse_y        db 100
  685. _mouse_cx1      db 0
  686. _mouse_cx2      db 160
  687. _mouse_cy1      db 0
  688. _mouse_cy2      db 200
  689. _mouse_btn      db 0
  690. _mouse_prev_dx  db 0
  691. _mouse_prev_dy  db 0
  692. _time           dd 0
  693.  
  694.         export _borderCol
  695.         export _palBright
  696.         export _palChange
  697.         export _sprqueue
  698.         export _screenActive
  699.         export _mouse_dx
  700.         export _mouse_dy
  701.         export _mouse_x
  702.         export _mouse_y
  703.         export _mouse_cx1
  704.         export _mouse_cx2
  705.         export _mouse_cy1
  706.         export _mouse_cy2
  707.         export _mouse_btn
  708.         export _time
  709.         export _palette
  710.  
  711.        
  712. res_path
  713. ;в этом относительном пути будут лежать все загружаемые данные игры
  714.         ;db "nedoload"
  715.         include "_temp_/sets.asm"
  716.         db 0
  717. fnbin
  718.         db "page_101.bin",0
  719. fnbin2
  720.         db "page_102.bin",0
  721. fnbin3
  722.         db "page_103.bin",0
  723. fnaddr
  724.         db "addr.bin",0
  725. end
  726.         module pt3player
  727. BUFFER_DEC
  728. ;unknown size > 256 bytes!!!
  729.         endmodule
  730.         savebin "nedoload.com",begin,end-begin
  731.         LABELSLIST "..\..\..\us\user.l"
  732.