?login_element?

Subversion Repositories NedoOS

Rev

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

  1. txt_setup:          db 0x0A,"Necronomicon (Book of dead)",0x0D,0x0A
  2.                     db "(c) 2006 Flight of Navigator",0x0D,0x0A
  3.                     db "(c) 2006 I Turned into a Martian!",0x0D,0x0A
  4.                     db "----------------------------------------",0x0D,0x0A
  5.                     db "language setup",0x0D,0x0A
  6.                     db 0x0D,0x0A
  7. ;                    db "3. Russian",0        
  8.                     db "1. ",0x90,0xe3,0xe1,0xe1,0xaa,0xa8,0xa9,0x0D,0x0A,0
  9. txt_censor_setup:
  10.                     db 0x0D,0x0A
  11.                     db "----------------------------------------",0x0D,0x0A
  12.                     db "Censorship? (If available)",0x0D,0x0A
  13.                     db 0x0D,0x0A
  14.                     db "1. Yes",0x0D,0x0A
  15.                     db "2. No",0x0D,0x0A
  16.                     db 0
  17. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        
  18. import_push:
  19.        
  20.         call store8000c000
  21.  
  22.         ld a,(load_buf1)
  23.         SETPG8000
  24.  
  25.         ld a,(load_buf2)
  26.         SETPGC000
  27.  
  28.         ld hl,0x8005
  29.         ld de,PUSH_DATA
  30.  
  31.         ld b,8
  32. import_push_loop:
  33.         push bc
  34.  
  35.  
  36.         push hl
  37.         ld b,8
  38. import_push_iloop1:
  39.         ld a,(hl)
  40.         ld (de),a
  41.         call DHL
  42.         inc de
  43.         djnz import_push_iloop1
  44.         pop hl
  45.  
  46.         set 6,H
  47.         push hl
  48.         ld b,8
  49. import_push_iloop2:
  50.         ld a,(hl)
  51.         ld (de),a
  52.         call DHL
  53.         inc de
  54.         djnz import_push_iloop2
  55.         pop hl
  56.  
  57.         res 6,H
  58.         set 5,H
  59.  
  60.         push hl
  61.         ld b,8
  62. import_push_iloop3:
  63.         ld a,(hl)
  64.         ld (de),a
  65.         call DHL
  66.         inc de
  67.         djnz import_push_iloop3
  68.         pop hl
  69.  
  70.         set 6,H
  71.         push hl
  72.         ld b,8
  73. import_push_iloop4:
  74.         ld a,(hl)
  75.         ld (de),a
  76.         call DHL
  77.         inc de
  78.         djnz import_push_iloop4
  79.         pop hl
  80.  
  81.         res 6,H
  82.         res 5,H
  83.         inc hl
  84.  
  85.         pop bc
  86.         djnz import_push_loop
  87.         jp restore8000c000
  88. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;        
  89. pre_init
  90.     ld e,6+0x80  //set TEXT mode  keep
  91.     OS_SETGFX
  92.  
  93.         ld e,0
  94.         OS_CLS
  95.  
  96.         OS_GETMAINPAGES
  97. ;dehl=??N?a ???a?? o 0000,4000,8000,c000
  98.         ld a,d
  99.         ld (winpage0),a
  100.         ld a,e
  101.         ld (winpage1),a
  102.         ld a,h
  103.         ld (winpage2),a
  104.         ld a,l
  105.         ld (winpage3),a
  106.  
  107. ; get music page page
  108.         OS_NEWPAGE
  109.         or a
  110.         jp nz,memoryerror
  111.         ld a,e
  112.         ld (music_buf),a
  113.  
  114. ; get gfx load buffer  2 pages
  115.         OS_NEWPAGE
  116.         or a
  117.         jp nz,memoryerror
  118.         ld a,e
  119.         ld (load_buf1),a
  120.  
  121.         OS_NEWPAGE
  122.         or a
  123.         jp nz,memoryerror
  124.         ld a,e
  125.         ld (load_buf2),a
  126.  
  127. ; get ingame gfx buffer pages 6 pages
  128.         OS_NEWPAGE
  129.         or a
  130.         jp nz,memoryerror
  131.         ld a,e
  132.         ld (scr_buf1),a
  133.  
  134.         OS_NEWPAGE
  135.         or a
  136.         jp nz,memoryerror
  137.         ld a,e
  138.         ld (scr_buf2),a
  139.  
  140.         OS_NEWPAGE
  141.         or a
  142.         jp nz,memoryerror
  143.         ld a,e
  144.         ld (mem_buf1),a
  145.  
  146.         OS_NEWPAGE
  147.         or a
  148.         jp nz,memoryerror
  149.         ld a,e
  150.         ld (mem_buf2),a
  151.  
  152.         OS_NEWPAGE
  153.         or a
  154.         jp nz,memoryerror
  155.         ld a,e
  156.         ld (font_page),a
  157.  
  158.        jr skip_setup ;////!!!!!!!!!!!!!!!!!
  159.  
  160. ;language setup
  161. ;----------------------------------------
  162.         ld hl,txt_setup
  163.         call print_hl
  164. setup_lp:        
  165.         YIELDGETKEYLOOP
  166.         cp "1"
  167.         jr z,setup_is1
  168. ;        cp "2"
  169. ;        jr z,setup_is2
  170. ;        cp "3"
  171. ;        jr z,setup_is3
  172.         jr setup_lp
  173. setup_is1:
  174.           ;xor a
  175.           ld a,1
  176.           jr setup_set
  177. ;setup_is2:
  178. ;         ld a,1
  179. ;          jr setup_set
  180. ;setup_is3:
  181. ;         ld a,2
  182. setup_set:
  183.         ld (language),a
  184.  
  185. ;censor setup
  186. ;----------------------------------------
  187.         ld hl,txt_censor_setup
  188.         call print_hl
  189. setup_lpc:        
  190.         YIELDGETKEYLOOP
  191.         cp "1"
  192.         jr z,setup_isc1
  193.         cp "2"
  194.         jr z,setup_isc2
  195.         jr setup_lpc
  196. setup_isc1:
  197.           ld a,1
  198.           jr setup_setc
  199. setup_isc2:
  200.          xor a
  201. setup_setc:
  202.         ld (censor_mode),a
  203. ;setup is done
  204. ;----------------------------------------
  205.  
  206. skip_setup:
  207. ;-----------------------------------------
  208.         ;go to resources directory
  209.         ld de,res_path
  210.         OS_CHDIR
  211.         or a
  212.         jp nz,dirchangeerror
  213.  
  214.         ;----------------------
  215.         ;--load music player
  216.  
  217.  
  218.               call setmusicpage
  219.                 ld a,(mus_mode)
  220.                 ld hl,mus_modes
  221.                 call sel_word
  222.  
  223.                 ld de,buf
  224.                 call copystr_hlde
  225.                 ld hl,mus_plr_path
  226.                 call copystr_hlde
  227.                 xor a
  228.                 ld (de),a
  229.                 ld (wlock),a
  230.  
  231.                 ld de,buf
  232.                 call openstream_file
  233.                 or a
  234.                 jp nz,fileopenerror
  235.  
  236.                 ld hl,0x1000 ;len
  237.                 ld de,player_load ;addr
  238.                 call readstream_file
  239.                 or a
  240.                 jp nz,filereaderror
  241.  
  242.                 call closestream_file
  243.  
  244.              call unsetmusicpage
  245. ;load font
  246. loadfont:
  247.               call setfontpage
  248.               ld de,font_file  
  249.               call openstream_file
  250.               or a
  251.               jp nz,fileopenerror
  252.  
  253.               ld hl,0x4000 ;len
  254.               ld de,FONT ;addr
  255.               call readstream_file
  256.               or a
  257.               jp nz,filereaderror
  258.  
  259.               call closestream_file
  260.  
  261.               ld de,font_file2  
  262.               call openstream_file
  263.               or a
  264.               jp nz,fileopenerror
  265.  
  266.               ld hl,0x1000 ;len
  267.               ld de,FONT2 ;addr
  268.               call readstream_file
  269.               or a
  270.               jp nz,filereaderror
  271.  
  272.               call closestream_file
  273.  
  274.  
  275.  
  276.               call unsetfontpage
  277.  
  278.         call int_set
  279.  
  280.         ;set mode
  281.         ld e,0+0x80  //set EGA mode keep
  282.         OS_SETGFX
  283.  
  284. ;prepare animation
  285.         call clear_screen
  286. deb_lnk
  287.         ld hl,anim_w
  288.         call load_gfx_to_load_buf_nopal
  289.         call import_push
  290. ;;
  291.  
  292.  
  293.         ld de,PERSISTSAVE
  294.         call openstream_file
  295.         or a
  296.         jr nz,_no_dc
  297.         ld a,1
  298.         jr _dc_c
  299. _no_dc:
  300.         xor a
  301. _dc_c:
  302.         ld (dc_enabled),a
  303.  
  304. ;я╕исжм mem_buf. щ▓пям╝ш┤еє▓╜аыбк э╛зэ▒нчб╜ы▒аыЛК        
  305.         ld a,(mem_buf1)
  306.         SETPGC000
  307.         ld hl,0xc000
  308.         ld de,0xc001
  309.         ld bc,16383
  310.         ld (hl),0
  311.         ldir
  312.         ld a,(mem_buf2)
  313.         SETPGC000
  314.         ld hl,0xc000
  315.         ld de,0xc001
  316.         ld bc,16383
  317.         ld (hl),0
  318.         ldir
  319.         ret
  320. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  321.  
  322. introduction
  323.         ;---load resources
  324.         ; '1' - load image
  325.  
  326.  
  327.         ld hl,TABLE_W
  328.         ld (CODEPAGE),hl
  329.  
  330.         ld hl,intro_pic1
  331.         call load_big_img_dark2
  332.         call palette_precalc
  333.         call fade_fromblack
  334.  
  335.         call _intr_pause
  336.  
  337.         call fade_toblack
  338.         ld hl,intro_pic2
  339.         call load_big_img_dark2
  340.         call palette_precalc
  341.         call fade_fromblack
  342.  
  343.         call _intr_pause
  344.  
  345.         call fade_toblack
  346.         ld hl,intro_pic3
  347.         call load_big_img_dark2
  348.         call palette_precalc
  349.         call fade_fromblack
  350.  
  351.         call _intr_pause
  352.  
  353. _intr_exit:
  354.         call fade_towhite
  355.         ld a,1
  356.         ld (intro_switch),a
  357.         ret
  358.  
  359.  
  360. ;_intr_pause:
  361. ;          ld b,0x7f ;ff //450
  362. ;_ppp_halt_loop:
  363. ;        halt
  364. ;        djnz _ppp_halt_loop      
  365. ;        ret
  366.  
  367. _intr_pause:
  368.           ld b,0x7f ;450
  369. _ppp_halt_loop:
  370.         halt
  371.         call getkey
  372.         cp NOKEY
  373.         jr nz,_ppp_exit
  374. _ppp_p2:
  375.         djnz _ppp_halt_loop      
  376.         ret
  377. _ppp_exit:
  378.         pop hl
  379.         jp _intr_exit