home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / DFC_3SRC.ZIP / HALL3SRC.ASM < prev    next >
Assembly Source File  |  1996-07-04  |  19KB  |  1,221 lines

  1. ;╔══════════════════════════════════════════════════════╗
  2. ;║ Hallucinogen BBS intro III source code.              ║
  3. ;║ coded by Remdy in June 1996.                         ║
  4. ;║ released to show the entire world how lame i code !! ║
  5. ;║ (NEW ID:Tu sais ce qu'il te reste a faire!)          ║
  6. ;║ This is FREEWARE! enjoy...                           ║
  7. ;╚══════════════════════════════════════════════════════╝
  8.  
  9. .386
  10.  
  11. PILE      SEGMENT STACK USE16
  12.   DW      512 DUP (0)
  13. PILE      ENDS
  14.  
  15.  
  16. BOMBERMAN SEGMENT
  17. include GFX.INC
  18.  
  19. erreur_memory_mess_pattern db 'SICK?',10,13,'$'
  20.  
  21. VIDEO_SEG DW ?
  22. VIDEO_SEG2 DW ?
  23. VIDEO_SEG3 DW ?
  24. VIDEO_SEG4 DW ?
  25. VIDEO_SEG5 DW ?
  26.  
  27. BOMBERMAN ENDS
  28.  
  29.  
  30. ;-----------------------------------------
  31. CODE      SEGMENT USE16
  32.           ASSUME CS:CODE,DS:BOMBERMAN,SS:PILE
  33.  
  34.  
  35.  
  36. ;----------------------------------------------------------------------------
  37.  
  38.  
  39.  
  40. aff proc near
  41.           push dx ax
  42.           mov dx,3dah
  43. txsyncww:   in al,dx  
  44.           and al,8    
  45.          jz txsyncww 
  46.          pop ax dx
  47.  
  48. pusha
  49. push es ds
  50. mov ax,0a000h
  51. mov es,ax
  52. mov ax,bomberman
  53. mov ds,ax
  54. mov ax,ds:[video_seg4]
  55. mov ds,ax
  56. xor di,di
  57. xor si,si
  58. mov cx,64000/4
  59. rep movsd
  60. pop  ds es
  61. popa
  62. ret
  63. aff endp
  64. cube proc near
  65. pusha
  66. push ds es
  67. push cs
  68. pop es
  69.  
  70. ;mov ax,es:[superfuck]
  71. ;cmp es:[superfuck],0
  72. ;je eerretterert
  73. ;sub es:[superfuck],320*2
  74. ;eerretterert:
  75. mov ax,0
  76.  
  77. mov si,0*320
  78. add si,ax
  79.  
  80.  
  81. mov ax,es:[si]
  82. shr ax,5
  83.  
  84. mov bx,320
  85. mul bx
  86. mov di,ax
  87. add di,10
  88. mov ax,bomberman
  89. mov ds,ax
  90. mov ax,ds:[video_seg5]
  91. mov bx,ds:[video_seg4]
  92. mov ds,ax
  93. mov es,bx
  94.  
  95. mov di,320*20+20
  96.  
  97. mov cx,81 ;hauteur
  98. rterrttrtrrt:
  99. push cx si di
  100. mov cx,140
  101. rereerrerereerre:
  102.  
  103. lodsb
  104. add es:[di],al
  105. inc di
  106. dec cx
  107. jnz rereerrerereerre
  108. pop  di si cx
  109. add si,320
  110. add di,320
  111. dec cx
  112. jnz rterrttrtrrt
  113.  
  114. pop  es ds
  115. popa
  116. ret
  117. cube  endp
  118. kelchar proc near
  119. cmp al,'a'
  120. jne rerere
  121. mov si,0
  122. ret
  123. rerere:
  124. cmp al,'b'
  125. jne rerere2
  126. mov si,8*1
  127. ret
  128. rerere2:
  129. cmp al,'c'
  130. jne arerere2
  131. mov si,8*2
  132. ret
  133. arerere2:
  134. cmp al,'d'
  135. jne  drerere2
  136. mov si,8*3
  137. ret
  138. drerere2:
  139. cmp al,'e'
  140. jne frerere2
  141. mov si,8*4
  142. ret
  143. frerere2:
  144. cmp al,'f'
  145. jne trerere2
  146. mov si,8*5
  147. ret
  148. trerere2:
  149. cmp al,'g'
  150. jne yrerere2
  151. mov si,8*6
  152. ret
  153. yrerere2:
  154. cmp al,'h'
  155. jne urerere2
  156. mov si,8*7
  157. ret
  158. urerere2:
  159. cmp al,'i'
  160. jne irerere2
  161. mov si,8*8
  162. ret
  163. irerere2:
  164. cmp al,'j'
  165. jne orerere2
  166. mov si,8*9
  167. ret
  168. orerere2:
  169. cmp al,'k'
  170. jne prerere2
  171. mov si,8*10
  172. ret
  173. prerere2:
  174. cmp al,'l'
  175. jne mrerere2
  176. mov si,8*11
  177. ret
  178. mrerere2:
  179. cmp al,'m'
  180. jne wrerere2
  181. mov si,8*12
  182. ret
  183. wrerere2:
  184. cmp al,'n'
  185. jne xrerere2
  186. mov si,8*13
  187. ret
  188. xrerere2:
  189. cmp al,'o'
  190. jne crerere2
  191. mov si,8*14
  192. ret
  193. crerere2:
  194. cmp al,'p'
  195. jne vrerere2
  196. mov si,8*15
  197. ret
  198. vrerere2:
  199. cmp al,'q'
  200. jne brerere2
  201. mov si,8*16
  202. ret
  203. brerere2:
  204. cmp al,'r'
  205. jne nrerere2
  206. mov si,8*17
  207. ret
  208. nrerere2:
  209. cmp al,'s'
  210. jne qqrerere2
  211. mov si,8*18
  212. ret
  213. qqrerere2:
  214. cmp al,'t'
  215. jne ssrerere2
  216. mov si,8*19
  217. ret
  218. ssrerere2:
  219. cmp al,'u'
  220. jne dssrerere2
  221. mov si,8*20
  222. ret
  223. dssrerere2:
  224. cmp al,'v'
  225. jne ddrerere2
  226. mov si,8*21
  227. ret
  228. ddrerere2:
  229. cmp al,'w'
  230. jne rrrerere2
  231. mov si,8*22
  232. ret
  233. rrrerere2:
  234. cmp al,'x'
  235. jne wwrerere2
  236. mov si,8*23
  237. ret
  238. wwrerere2:
  239. cmp al,'y'
  240. jne wwwrerere2
  241. mov si,8*24
  242. ret
  243. wwwrerere2:
  244. cmp al,'z'
  245. jne vvrerere2
  246. mov si,8*25
  247. ret
  248. vvrerere2:
  249. cmp al,'0'
  250. jne vvrerere2hr
  251. mov si,8*26
  252. ret
  253. vvrerere2hr:
  254.  
  255. cmp al,'1'
  256. jne vvrerere2h
  257. mov si,8*27
  258. ret
  259. vvrerere2h:
  260. cmp al,'2'
  261. jne vvrerere2j
  262. mov si,8*28
  263. ret
  264. vvrerere2j:
  265. cmp al,'3'
  266. jne vvrerere2k
  267. mov si,8*29
  268. ret
  269. vvrerere2k:
  270. cmp al,'4'
  271. jne vvrerere2l
  272. mov si,8*30
  273. ret
  274. vvrerere2l:
  275. cmp al,'5'
  276. jne vvrerere2w
  277. mov si,8*31
  278. ret
  279. vvrerere2w:
  280. cmp al,'6'
  281. jne vvrerere2x
  282. mov si,8*32
  283. ret
  284. vvrerere2x:
  285. cmp al,'7'
  286. jne vvrerere2c
  287. mov si,8*33
  288. ret
  289. vvrerere2c:
  290. cmp al,'8'
  291. jne vvrerere2v
  292. mov si,8*34
  293. ret
  294. vvrerere2v:
  295. cmp al,'9'
  296. jne vvrerere2b
  297. mov si,8*35
  298. ret
  299. vvrerere2b:
  300.  
  301. cmp al,'!'
  302. jne rerere2b
  303. mov si,8*36
  304. ret
  305. rerere2b:
  306. cmp al,'-'
  307. jne rereren2
  308.  
  309. mov si,8*37
  310. ret
  311. rereren2:
  312. cmp al,'/'
  313. jne rerere2h
  314. mov si,8*38
  315. ret
  316. rerere2h:
  317. cmp al,'.'
  318. jne yrerere2hrr
  319. mov si,8*39
  320. ret
  321. yrerere2hrr:
  322.  
  323. cmp al,'█'
  324. jne rerere2hr
  325. ;inc es:[adder_l],40*6 +1
  326. mov es:[viseur_l],10*320+2-8
  327. mov es:[yahoo],0
  328.  
  329. ret
  330. rerere2hr:
  331.  
  332. cmp al,'+'
  333. jne rerere2hrr
  334. mov es:[adder_l],0
  335. mov es:[viseur_l],10*320+2-8
  336. mov es:[yahoo],0
  337.  
  338. ret
  339. rerere2hrr:
  340.  
  341.  
  342. cmp al,';'
  343. jne rerere2hrreerer
  344. add es:[viseur_l],320*10-160
  345. ret
  346. rerere2hrreerer:
  347.  
  348. ret
  349. kelchar endp
  350. afflettre proc near
  351. pusha
  352. push ds es
  353.  
  354. push cs
  355. pop  es
  356. push cs
  357. pop ds
  358. ;..............
  359.          mov si,offset pal
  360.          mov   dx,3c8h
  361.          XOR   al,al
  362.          mov   cx,256+256+256
  363.          out   dx,al
  364.          mov   dx,3c9h
  365. mov cx,256*3
  366. ysaaccvaaaax:
  367.          LODSB
  368.          out   dx,al
  369.          dec cx
  370.          JNZ  ysaaccvaaaax
  371.  
  372. ;.............................
  373. cmp es:[yahoo],1
  374. je rterttrtrtrtree
  375.  
  376.          mov si,offset pal
  377.          mov di,offset pal
  378.          add si,32*3
  379.          add di,160*3
  380.  
  381. mov cx,32*3
  382. rreerreer:
  383. mov al,es:[si]
  384. cmp es:[di],al
  385. je rereerreerer
  386. dec byte ptr es:[di]
  387. rereerreerer:
  388. inc si
  389. inc di
  390. dec cx
  391. jnz rreerreer
  392.  
  393. dec es:[merde]
  394. jnz rterttrtrtrtree
  395.  
  396.          mov di,offset pal
  397.          add di,160*3
  398. mov al,63
  399. mov cx,32*3
  400. rep stosb
  401.  
  402. mov es:[yahoo],1
  403. mov es:[merde],63
  404.  
  405. push es ds
  406. mov ax,bomberman
  407. mov ds,ax
  408. mov ax,ds:[video_seg5]
  409. mov es,ax
  410. mov di,0*320
  411. ertrtertert:
  412. and byte ptr es:[di],127
  413. inc di
  414. cmp di,(60+81)*320
  415. jne ertrtertert
  416. pop  ds es
  417.  
  418. rterttrtrtrtree:
  419. ;...........................................
  420. cmp es:[yahoo],0
  421. je rterttrtrtrtr
  422.  
  423. mov si,offset texte
  424. add si,es:[adder_l]
  425. inc es:[adder_l]
  426. add es:[viseur_l],8
  427. mov al,es:[si]
  428.  
  429. cmp al,' '
  430. je rterttrtrtrtr
  431. call kelchar
  432. ;mov ax,si
  433. ;
  434. ;call affsigne
  435.  
  436. add si,78*320
  437.  
  438.  
  439. mov di,es:[viseur_l]
  440. ;add es:[viseur_l],8
  441.  
  442. mov ax,bomberman
  443. mov ds,ax
  444.  
  445. mov ax,ds:[video_seg5]
  446. mov es,ax
  447.  
  448. mov cx,6
  449. erererreer:
  450. push si di
  451. lodsb
  452.  or es:[di],al
  453. inc di
  454. lodsb
  455.  or es:[di],al
  456. inc di
  457. lodsb
  458.  or es:[di],al
  459. inc di
  460. lodsb
  461.  or es:[di],al
  462. inc di
  463. lodsb
  464.  or es:[di],al
  465. inc di
  466. lodsb
  467.  or es:[di],al
  468. inc di
  469. lodsb
  470.  or es:[di],al
  471. inc di
  472. lodsb
  473.  or es:[di],al
  474. inc di
  475. ;lodsb
  476. ;add es:[di],al
  477. ;inc di
  478. pop di si
  479. add di,320
  480. add si,320
  481. dec cx
  482. jnz erererreer
  483.  
  484. rterttrtrtrtr:
  485. pop  es ds
  486. popa
  487. ret
  488. afflettre  endp
  489.  
  490.  
  491. change_emf_data proc near
  492.  
  493. cmp bl,1
  494. je efggggggggghjj
  495.  
  496. inc dl  ;incremente
  497. cmp dl,10
  498. jb eadfffffffffffffffffffa
  499. sub dl,10 ;mov dl,0
  500. inc dh
  501. eadfffffffffffffffffffa:
  502.  
  503. cmp dh,8 ;10 ;7 ;10 ;40 ;!!!1
  504. jne efghdfghfghjhjg
  505.  
  506. ;mov dh,10
  507. mov dl,1           ;virgule
  508.  
  509. mov bl,1
  510.  
  511. mov cl,0
  512.  
  513.  
  514. ;mov bl,1
  515.  
  516. ;mov bl,100 ;code pour sortir.
  517.  
  518. ;mov al,100 ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!! code ki veut dire fini!!
  519. ;mov bp,100
  520. ;mov bl,0
  521. ;mov dl,1
  522. ;mov ax,remdy3
  523. ;mov es,ax
  524. ;inc es:[time_zoom]
  525.  
  526. efghdfghfghjhjg:
  527.  
  528. ret
  529. efggggggggghjj:
  530.  
  531. dec dl  ;incremente
  532. cmp dl,0 ;-1 10
  533. jne egadfffffffffffffffffffa
  534. add dl,10 ;mov dl,0
  535. dec dh
  536. egadfffffffffffffffffffa:
  537. cmp dh,0
  538. jne edfghdfghfghjhjg
  539. mov bl,0
  540.  
  541. edfghdfghfghjhjg:
  542.  
  543. ret
  544. change_emf_data endp
  545.  
  546. EMF PROC NEAR
  547. push es ds
  548. pusha
  549.  
  550.  
  551. ;CIRCUIT1F     SEGMENT USE16
  552. ;    CIRCUIT1_F    DB 64000 DUP (?)
  553. ;CIRCUIT1F     ENDS
  554.  
  555. ;SPRITE1     SEGMENT USE16 ;pour les sprite (1ere couleur...)
  556. ;ECLIPSE     DB 17000 DUP (?)
  557. ;SPRITE1     ENDS
  558.  
  559. ;SPRITEC2     SEGMENT USE16 ;pour les sprite (2eme couleur...)
  560. ;
  561. ;ECLIPSEC2     DB 64000 DUP (?)
  562.  
  563.  
  564. push ax ;!!!
  565. mov ax,bomberman
  566. mov ds,ax
  567. xor si,si
  568.  
  569. ;push dx
  570. ;shr dx,8  ;pour viseur plus a droite/gauche en fonction du zoomage pour ke ca aille pas a gauche
  571. ;shr dx,1
  572. ;add si,dx ;
  573. ;mov ax,320
  574. ;mul dx
  575. ;add si,ax
  576. ;
  577. ;
  578. ;
  579. ;pop dx
  580. ;;;;;;;;;;;;;;;;;;;;;;;add si,80*320+120
  581.  
  582. ;mov dl,0
  583. ;push dx
  584. ;shr dx,8
  585. ;add si,dx
  586. ; pop dx
  587.  
  588. mov ax,ds:[video_seg]
  589. mov es,ax
  590. xor di,di
  591. pop ax ;!!!!
  592.  
  593.  
  594. mov BP,200 ;00
  595. ;cmp dh,1   ;cas special pour ke ca en affiche pas trop !!! (au debut...)
  596. ;ja dfffffffffdgdgdfgdfdfg
  597. ;mov BP,100
  598. ;dfffffffffdgdgdfgdfdfg:
  599.  
  600. mov cx,0 ;pour le compteur (partie verticalle)
  601. ;mov byte ptr es:[nombre_de_pixels2],0
  602.  
  603. ecfffffffffffffffffffffffffffffffff:
  604.  
  605. mov ch,dh ;on met le nombre de fois repete (valeur entiere dans ch!)
  606. add cl,dl ;on met le nombre de fois repete (valeur virgule dans cl!)
  607. cmp cl,10
  608. jB edirect_line ; si <
  609. sub cl,10
  610. inc ch
  611. edirect_line: ;si son repete la meme ligne...
  612.  
  613. push  BX DX cx di SI BP
  614. ;............................. partie horizontale.
  615.  
  616. ;mov byte ptr es:[nombre_de_pixels],0 ;on remet le compteur pour afficher
  617. ;un seul sprite a 0 (car on commence une nouvelle ligne...
  618.  
  619. xor bx,bx ;c'est le compteur...(pour la virgule...on garde le 'reste' a chaque
  620.          ;fois
  621.  
  622.  
  623. mov bp,320
  624. ephyl:
  625.  
  626. ;mov dh,1
  627. ;mov dl,0
  628.  
  629. xor cx,cx
  630. mov cl,dh ;on met le nombre de fois repete (valeur entiere dans cx!)
  631. add bl,dl ;dans bl on ajoute la partie(post-virgule).constante
  632. ;si bl est >9 on incremente CX!!!
  633. cmp bl,10
  634. jb ecinea ; saute si <
  635. sub bl,10
  636. inc cx
  637. ecinea:
  638. ;..............
  639. lodsb ;AL on utilise AL
  640. dec si
  641. ecine:
  642. stosb  ;AL
  643. inc si ;;!!!!!
  644.  
  645. dec bp
  646. Jz edhhdfdfghfghhdfgfgh
  647. dec cx
  648. jnz ecine
  649.  
  650. ;DANS DH=le nombre de fois k'on repete chaque pixel
  651. ;DANS DL=la virgule du le nombre de fois k'on repete chaque pixel
  652.              ;(0 a 9!!!)
  653. ;DANS COMPTEUR DE VIRGULE
  654.  
  655. jmp ephyl
  656. edhhdfdfghfghhdfgfgh:
  657.  
  658. ;.........................................................fin horyzontal
  659. POP BP SI DI CX DX BX
  660. esexis:
  661. add di,320
  662. add si,320
  663. dec BP
  664. JZ esexycoder ;fin de la routine
  665.  
  666. dec ch
  667.  
  668. JZ edirect_linesuck
  669. ;................... Si son repete la meme ligne... ........................
  670. ;evite de tout recalculer!
  671. push ax si di ds cx
  672. mov ax,ds:[video_seg] ;spritec2
  673. mov ds,ax
  674. mov si,di
  675. sub si,320
  676.  
  677. mov cx,160/2
  678.  
  679. REP MOVSD
  680.  
  681. pop cx ds di si ax
  682. ;add si,320 ;!
  683.  
  684. jmp esexis
  685. ;.........................................................................
  686. edirect_linesuck:
  687. ;--------
  688. ;add si,320     ;la on fait une nouvelle ligne...
  689.  
  690. ;.............
  691. ;cmp si,320*19+247     ;la on fait une nouvelle ligne...
  692. ;jne eghhhtr
  693.  
  694. ;mov si,247 ;!!
  695.  
  696. ;call noping
  697. ;on sort!!!!!!!!!!!cas special.....ca on a recopie tout le logo!!!
  698. ;jmp esexycoder
  699.  
  700. eghhhtr:
  701.  
  702. ;
  703. ;mov cl,dh ;on met le nombre de fois repete (valeur entiere dans cx!)
  704. ;add bl,dl ;dans bl on ajoute la partie(post-virgule).constante
  705. ;si bl est >9 on incremente CX!!!
  706. ;cmp bl,10
  707.  
  708. jmp ecfffffffffffffffffffffffffffffffff
  709. esexycoder:
  710. popa
  711. pop ds es
  712. ret
  713. EMF ENDP
  714.  
  715. truc proc near
  716. ;----------------
  717. mov dh,10
  718. mov dl,1           ;virgule
  719.  
  720. mov bl,1
  721.  
  722. mov cl,0
  723.  
  724. ;DANS bl on met si on doit incrementer ou decrementer AH !!
  725. ;bl:1 on decremente
  726. ;bl:0 on incremente
  727.  
  728.  sdffggggggggde:
  729. ;call noping
  730. call emf
  731. pusha
  732.  
  733. call hory
  734. call verti
  735. call last
  736.  
  737. call afflettre
  738. call cube
  739.  
  740. call aff
  741. popa
  742.  
  743. call change_emf_data
  744.  
  745. cmp bl,100       ;code k'on a balance kan c fini!
  746. je fgeghfghfghhfg
  747.  
  748. ;apres on dirige la pal vers 33,0,23
  749.  
  750.  
  751. in al,60h
  752. cmp al,1
  753. jne sdffggggggggde
  754. fgeghfghfghhfg:
  755. ret
  756. truc endp
  757.  
  758. hory proc near
  759. pusha
  760. push es ds
  761.  
  762. push cs
  763. pop es
  764. add es:[adder2],2
  765. cmp es:[adder2],360
  766. jne rereerrerte
  767. mov es:[adder2],     0
  768. rereerrerte:
  769.  
  770. mov ax,es:[adder2]
  771. mov es:[adder],ax
  772.  
  773. xor di,di
  774. xor si,si
  775. mov ax,bomberman
  776. mov ds,ax
  777. mov ax,ds:[video_seg]
  778. mov bx,ds:[video_seg2]
  779. mov ds,ax
  780. mov es,bx
  781.  
  782. mov cx,75
  783. enrtetrtr:
  784. push si
  785.  
  786. push si
  787.  
  788. push es
  789. push cs
  790. pop es
  791.  
  792. mov si,offset sin
  793. add si,es:[adder]
  794.  
  795. add [adder],2
  796. cmp [adder],360
  797. jne ererre
  798. mov [adder],0
  799. ererre:
  800.  
  801. mov ax,es:[si]
  802. ;call affsigne
  803. sar ax,3
  804. pop es
  805.  
  806. pop si
  807. add si,ax
  808.  
  809. push cx
  810.  
  811. mov cx,320/4
  812. rep movsd
  813.  
  814. pop cx
  815. pop si
  816. add si,320
  817. dec cx
  818. jnz enrtetrtr
  819.  
  820. pop ds es
  821. popa
  822. ret
  823. hory endp
  824.  
  825. verti proc near
  826. pusha
  827. push es ds
  828.  
  829. push cs
  830. pop es
  831. add es:[adder4],4
  832. cmp es:[adder4],360*2
  833. jne rereerrerter
  834. mov es:[adder4],0
  835. rereerrerter:
  836. mov ax,es:[adder4]
  837. mov es:[adder3],ax
  838.  
  839.  
  840. xor di,di
  841. xor si,si
  842. mov ax,bomberman
  843. mov ds,ax
  844. mov ax,ds:[video_seg2]
  845. mov bx,ds:[video_seg3]
  846. mov ds,ax
  847. mov es,bx
  848.  
  849. mov cx,320
  850. rtetrrttr:
  851. push si di cx
  852.  
  853. push es si
  854. push cs
  855. pop es
  856.  
  857. add es:[adder3],2
  858. cmp es:[adder3],360*2
  859. jne errerere
  860. mov es:[adder3],0
  861. errerere:
  862.  
  863. mov si,offset sin
  864. add si,es:[adder3]
  865. mov ax,es:[si]
  866. sar ax,6
  867. mov bx,320
  868. mul bx
  869. pop si es
  870.  
  871. add si,ax
  872.  
  873. mov cx,75
  874. er:
  875. movsb
  876. add si,320-1
  877. add di,320-1
  878. dec cx
  879. jnz er
  880. pop cx di si
  881. inc di
  882. inc si
  883. dec cx
  884. jnz rtetrrttr
  885.  
  886. pop ds es
  887. popa
  888. ret
  889. verti endp
  890. last proc near
  891. pusha
  892. push es ds
  893.  
  894. push cs
  895. pop es
  896. mov bx,es:[FUCK3]
  897.  
  898. mov bx,-15
  899.  
  900. ;inc es:[FUCK3]
  901.  
  902. xor di,di
  903. xor si,si
  904. mov si,320*10
  905.  
  906. add si,bx
  907.  
  908. mov ax,bomberman
  909. mov ds,ax
  910. mov ax,ds:[video_seg3]
  911. push bx
  912. mov bx,ds:[video_seg4]
  913. mov ds,ax
  914. mov es,bx
  915. pop bx
  916. mov cx,50*80 ;16000
  917. rep movsd
  918. mov si,320*10
  919.  
  920. add si,bx
  921.  
  922. mov cx,50*80 ;16000
  923. rep movsd
  924. mov si,320*10
  925. add si,bx
  926. mov cx,50*80 ;16000
  927. rep movsd
  928. mov si,320*10
  929. add si,bx
  930. mov cx,50*80 ;16000
  931. rep movsd
  932.  
  933.  
  934. pop ds es
  935. popa
  936. ret
  937. last endp
  938.  
  939.  
  940. START:                                  ;DEBUT DU PROGRAMME
  941.  
  942.         mov     ax,13h
  943.         int     10h
  944.  
  945. mov ax,bomberman
  946. mov ds,ax
  947.  
  948. TAILLE_DU_FICHIER_EXE EQU 100
  949.  
  950. mov ah,04ah
  951. mov bx,TAILLE_DU_FICHIER_EXE*64
  952. int 21h
  953.  
  954.  
  955. mov bx,4000
  956. mov  ah,48h
  957. int  21h
  958.  
  959. jnc dfgfgfghfghhjfghjg2 ;saute si carry n'est pas a 1...
  960.  
  961. ;----pas assez de memoire pour charger le segment pattern---
  962. mov dx,offset erreur_memory_mess_pattern
  963. mov  ah,09h
  964. int 21h
  965. jmp fuckerreer
  966. dfgfgfghfghhjfghjg2:
  967. ;-----------------------------------------------------------
  968.  
  969. mov ds:[VIDEO_SEG],ax
  970. mov es,ax
  971.  
  972. ;xor si,si
  973. ;xor di,di
  974. ;
  975. ;mov cx,64000
  976. ;rep movsb
  977.  
  978. mov bx,4000
  979. mov  ah,48h
  980. int  21h
  981.  
  982. jnc rdfgfgfghfghhjfghjg2 ;saute si carry n'est pas a 1...
  983.  
  984. ;----pas assez de memoire pour charger le segment pattern---
  985. mov dx,offset erreur_memory_mess_pattern
  986. mov  ah,09h
  987. int 21h
  988. jmp fuckerreer
  989. rdfgfgfghfghhjfghjg2:
  990. ;-----------------------------------------------------------
  991.  
  992. mov ds:[VIDEO_SEG2],ax
  993. mov es,ax
  994.  
  995. mov bx,5000
  996. mov  ah,48h
  997. int  21h
  998.  
  999. jnc rdfgfgfghfghhjfeghjg2 ;saute si carry n'est pas a 1...
  1000.  
  1001. ;----pas assez de memoire pour charger le segment pattern---
  1002. mov dx,offset erreur_memory_mess_pattern
  1003. mov  ah,09h
  1004. int 21h
  1005. jmp fuckerreer
  1006. rdfgfgfghfghhjfeghjg2:
  1007. ;-----------------------------------------------------------
  1008.  
  1009. mov ds:[VIDEO_SEG3],ax
  1010. mov es,ax
  1011.  
  1012. mov bx,5000
  1013. mov  ah,48h
  1014. int  21h
  1015.  
  1016. jnc rrdfgfgfghfghhjfeghjg2 ;saute si carry n'est pas a 1...
  1017.  
  1018. ;----pas assez de memoire pour charger le segment pattern---
  1019. mov dx,offset erreur_memory_mess_pattern
  1020. mov  ah,09h
  1021. int 21h
  1022. jmp fuckerreer
  1023. rrdfgfgfghfghhjfeghjg2:
  1024. ;-----------------------------------------------------------
  1025.  
  1026. mov ds:[VIDEO_SEG4],ax
  1027. mov es,ax
  1028.  
  1029. mov bx,5000
  1030. mov  ah,48h
  1031. int  21h
  1032.  
  1033. jnc trrdfgfgfghfghhjfeghjg2 ;saute si carry n'est pas a 1...
  1034.  
  1035. ;----pas assez de memoire pour charger le segment pattern---
  1036. mov dx,offset erreur_memory_mess_pattern
  1037. mov  ah,09h
  1038. int 21h
  1039. jmp fuckerreer
  1040. trrdfgfgfghfghhjfeghjg2:
  1041. ;-----------------------------------------------------------
  1042.  
  1043. mov ds:[VIDEO_SEG5],ax
  1044. mov es,ax
  1045.  
  1046. xor di,di
  1047. mov al,0
  1048. mov cx,64000
  1049. rep stosb
  1050.  
  1051. ;fabrique le carre...
  1052. ;
  1053. mov di,0*320
  1054. mov al,64
  1055. mov cx,  140
  1056. push di
  1057. rep      stosb
  1058. pop di
  1059. mov cx,80
  1060. rereererre:
  1061. add di,320
  1062. push cx
  1063. push di
  1064. mov al,64
  1065. stosb
  1066. mov al,32
  1067. mov cx,  140-2
  1068. rep      stosb
  1069. mov al,64
  1070. stosb
  1071. pop di
  1072. pop cx
  1073. dec cx
  1074. jnz rereererre
  1075.  
  1076. mov al,64
  1077. mov cx,  140
  1078. push di
  1079. rep      stosb
  1080. pop di
  1081.  
  1082.  
  1083. ;---- affpal
  1084. push cs
  1085. pop  ds
  1086. push cs
  1087. pop  es
  1088.  
  1089.          xor ax,ax
  1090.          mov si,offset pal
  1091.          mov di,offset pal
  1092.          add di,32*3
  1093.  
  1094.  
  1095.          mov cx,32
  1096.          rrerererere:
  1097. ;         lodsb
  1098. ;         add ax,63
  1099. ;         shr ax,1
  1100. ;         stosb
  1101.           lodsb
  1102.          add ax,63
  1103.          shr ax,1
  1104.          stosb
  1105.  
  1106.          movsb
  1107.  
  1108.          movsb
  1109.  
  1110.  
  1111.          dec cx
  1112.          jnz rrerererere
  1113.  
  1114.          mov di,offset pal
  1115.          add di,64*3
  1116.  
  1117.          mov al,63
  1118.          mov cx,32*3
  1119.          rep stosb
  1120. ;................................
  1121.          mov di,offset pal
  1122.          add di,128*3
  1123.          mov al,63
  1124.          mov cx,128*3
  1125.          rep stosb
  1126. ;.................
  1127.  
  1128.          mov si,offset pal
  1129.          mov   dx,3c8h
  1130.          XOR   al,al
  1131.          mov   cx,256+256+256
  1132.          out   dx,al
  1133.          mov   dx,3c9h
  1134. mov cx,256*3
  1135. saaccvaaaax:
  1136.          LODSB
  1137.          out   dx,al
  1138.          dec cx
  1139.          JNZ  saaccvaaaax
  1140. ;----
  1141.  
  1142. call truc
  1143.  
  1144. ;mov ah,08h ;attend la frappe d'un caractere
  1145. ;int 21h    ;
  1146.  
  1147. ;..............;
  1148.  
  1149. fuckerreer:
  1150.  
  1151.         mov    ax,3
  1152.         int    10h 
  1153.  
  1154.  
  1155.   MOV     AX,04C00H
  1156.   INT     21H
  1157.  
  1158. include PAL.INC
  1159.  
  1160. sin Dw  0  , 4  , 8  , 13 , 17 , 22 , 26 , 31 , 35 , 39
  1161. Dw      44 , 48 , 53 , 57 , 61 , 65 , 70 , 74 , 78 , 83
  1162. Dw      87 , 91 , 95 , 99 , 103, 107, 111, 115, 119, 123
  1163. Dw      127, 131, 135, 138, 142, 146, 149, 153, 156, 160
  1164. Dw      163, 167, 170, 173, 177, 180, 183, 186, 189, 192
  1165. Dw      195, 198, 200, 203, 206, 208, 211, 213, 216, 218
  1166. Dw      220, 223, 225, 227, 229, 231, 232, 234, 236, 238
  1167. Dw      239, 241, 242, 243, 245, 246, 247, 248, 249, 250
  1168. Dw      251, 251, 252, 253, 253, 254, 254, 254, 254, 254
  1169. Dw      255, 254, 254, 254, 254, 254, 253, 253, 252, 251
  1170. Dw      251, 250, 249, 248, 247, 246, 245, 243, 242, 241
  1171. Dw      239, 238, 236, 234, 232, 231, 229, 227, 225, 223
  1172. Dw      220, 218, 216, 213, 211, 208, 206, 203, 200, 198
  1173. Dw      195, 192, 189, 186, 183, 180, 177, 173, 170, 167
  1174. Dw      163, 160, 156, 153, 149, 146, 142, 138, 135, 131
  1175. Dw      127, 123, 119, 115, 111, 107, 103, 99 , 95 , 91
  1176. Dw      87 , 83 , 78 , 74 , 70 , 65 , 61 , 57 , 53 , 48
  1177. Dw      44 , 39 , 35 , 31 , 26 , 22 , 17 , 13 , 8  , 4
  1178. Dw      0  ,-5  ,-9  ,-14 ,-18 ,-23 ,-27 ,-32 ,-36 ,-40 ;i want a complete one
  1179. Dw     -45 ,-49 ,-54 ,-58 ,-62 ,-66 ,-71 ,-75 ,-79 ,-84 ;prekak suck! ;)
  1180. Dw     -88 ,-92 ,-96 ,-100,-104,-108,-112,-116,-120,-124;repeat after me:lame
  1181. Dw     -128,-132,-136,-139,-143,-147,-150,-154,-157,-161
  1182. Dw     -164,-168,-171,-174,-178,-181,-184,-187,-190,-193
  1183. Dw     -196,-199,-201,-204,-207,-209,-212,-214,-217,-219
  1184. Dw     -221,-224,-226,-228,-230,-232,-233,-235,-237,-239
  1185. Dw     -240,-242,-243,-244,-246,-247,-248,-249,-250,-251
  1186. Dw     -252,-252,-253,-254,-254,-255,-255,-255,-255,-255
  1187. Dw     -255,-255,-255,-255,-255,-255,-254,-254,-253,-252
  1188. Dw     -252,-251,-250,-249,-248,-247,-246,-244,-243,-242
  1189. Dw     -240,-239,-237,-235,-233,-232,-230,-228,-226,-224
  1190. Dw     -221,-219,-217,-214,-212,-209,-207,-204,-201,-199
  1191. Dw     -196,-193,-190,-187,-184,-181,-178,-174,-171,-168
  1192. Dw     -164,-161,-157,-154,-150,-147,-143,-139,-136,-132
  1193. Dw     -128,-124,-120,-116,-112,-108,-104,-100,-96 ,-92
  1194. Dw     -88 ,-84 ,-79 ,-75 ,-71 ,-66 ,-62 ,-58 ,-54 ,-49
  1195. Dw     -45 ,-40 ,-36 ,-32 ,-27 ,-23 ,-18 ,-14 ,-9  ,-5
  1196. Dw      0  , 4  , 8  , 13 , 17 , 22 , 26 , 31 , 35 , 39
  1197.  
  1198.  
  1199. viseur_l dw 10*320+2-8
  1200. adder_l  dw 0
  1201. merde    dw 63
  1202.                                ;
  1203. include texte.txt
  1204.  
  1205. adder dw 0
  1206. adder2 dw 0
  1207.  
  1208. adder3 dw 0
  1209. adder4 dw 0
  1210.  
  1211. yahoo   dw 1
  1212.  
  1213. FUCK3 dw 0
  1214.  
  1215. superfuck dw 320*100
  1216. super2fuck dw 0
  1217.  
  1218. CODE      ENDS
  1219.  
  1220. END START
  1221.