;******************************************************************************* ; /\______ /\______ /\________ ; __\\\___ \_ __\\\___ \_ __\\\______ \ ; | / / | / / | _____/ \_ ; | / /____| / /____| \ | ; | \____ : _____/ : \ | ; | / \ \ | ; | / . \ . \ | ; __ _|_ / \ \ _|_ __ ; \ \\_\ \\__\ _/ : \_ : \_ /__// /_// / ; |____/_ _ :______ _ :______ _ | ; \\\____________| \\\____________| \\\____________| ; ; _______ _______ _______ _______ _______ _______ ; _\\\__ \___\\\__ \___\\\__ \___\\\_____ \___\\\_____ \___\\\__ \_ ;| /______/| / /| / /| / | / | / / ;\ | / /_| / /_| / | / | / /_ ;|\_______ : _____/ : \_____/ : / : / : \____ | ;| / . \ . \ . / . / . / | ;| / \ \ / / | ;|___ :___ :___ :___\ :___ :___/ sns | ; \\_________: \\_________: \\_________: \\_________: \\_________: \\_________| ; ; R E D S E C T O R I N C ; ; Futura 256 bytes nano intro by Baudsurfer/rsi 2016 aka olivier.poudade.free.fr ; Presented at SynchroNY demoparty 2016 New York City / United States of America ; Greetings to BonBon BReWErS CODEX Conscience Flush Lineout Mandarine Onslaught ; Paranoimia Quartex Rebels Razor1911 RiOT Titan and to all assembly programmers ; rsi.untergrund.net twitter.com/red_sector_inc facebook.com/redsectorinc ircnet ; RSI asciilogo by sEnsER/BRK vidcap youtube.com/watch?v=Y5K8yKbcc0A by Fra/MDRN ;******************************************************************************* b equ byte ;,: w equ word ;,?}' d equ dword ;=!J | org 100h ;,*-. ?& mov al,13h ;WP) Y9P int 10h ;YP ,W' mov fs,w[bx] ;,W) ,WW.' mov dx,l ;WW) ,WWW) mov ax,251ch ;7W),WWWW' int 21h ;`WWWWWW' a:and bp,0ffh ;9---W) jnz c ;,,--WPL=YXW=== xor b[cs:l],8 ;(P),CY:,I/X'F9P xor w[f],4a91h;WUT===---/===9) c:mov si,140h ;-HP+----Y(C=9W) mov cl,0ffh ;'9Y3'-'-OWPT- e:mov bx,cx ;'WWLUIECW not bl ;(:7L7C7' cwd ;,P--=YWFL lea ax,[di-10h] ;Y-=:9)UW:L div si ;3-'9=WU/.7 sub ax,0c8h ;,WP9HTFUW'() imul ax,bx ;9W7W))UF 9) add ax,3f03h ;7WYW))PW W sub dx,bp ;7WH)),WC) f:nop ;7L--/XY) nop ;9+-,KY7) imul dx,bx ;W9-Y3+7) add dx,8f03h ;W'=9WI7) add bx,bp ;,W '-YY) mov al,dh ;W ::W , cmp ah,30 ;,T :X) () jc g ;() '9W 'L. () ,- add bl,ah ;(C =:9 '9L () ,T g:and dh,bl ;() ,,-7) 7WL WW ,F' add dh,al ;() , T9) '9WL -- ,YF test bl,0f0h ;() '-/(W -==+PE9P7===O) -, jnz h ;'W, , T+/WX=L-. ,WP+()+3L3,),=WL --==-T- sub ah,27h ;7) -,YW '-=9WPL+PT-- ':--L/=9WP=-' h:or dh,ah ;'W-,.-,++W. WWHP ,,-/ .9CP3) and dh,40h ;W --':-9:7=9W-T ,-=FT''=++,(TFYW=====---, loopz e ;W .-='/. 7W-,WE=--,,=-:9H=9W''~~~~~~' inc ah ;() ':'/Y, (L-9PXWWW,YWWX,(U3C xor al,bl ;9' ,,::/Y,/, 7LW+'-'7)()-'(MWW) and ax,3f03h ;,,-/:',T,'-:',) ,3WWW, .Y=W'.(+WPW) mul ah ;,F=T:9/:':C' /W),WMW9PO),m-+--9+WYW) aam 5 ;,3Y:/--.'-,',F=FHWWE/LMWU.'--X3CWW(WL jz i ;YP:/:' -/'-Y-,W-T)9X,WCWWWX=WWWW39/OW shld ax,cx,0ch;7WF:=,/:-:P:,P(-'))PWWHYT79WWWHPW0W7W' add al,10h ;'WU7C-:=-=-C9'WF,):):H7L '7CI7WEXP' i:mov b[fs:di],al;7L-,Y==3F:::,=,:-/,'P=., ':79UWEW) inc di ;'WEW9P=/,)/ -:,P: / L7:'-=,-+YMWWW) jnz c ;'W)+=T,T()/-,F,,,),) ',.-+(L=W9WW. xor cx,cx ;'+C/:I'''',P:''/ ' ''9. == '-'7- mov bx,28h ;(W-+'. ,YF )/:' ')-. ,-:FX-L fld d[gs:bx] ;'WM/',/CP /,:' ..:) ,T','/: 'W, j:cwd ;W--,YXT /'') ,P=-/',P' '(:' 'W, mov ax,cx ;(WEXWF Y' ,) ,/'-,,YT /// ,,'W. div bx ;,WWWWT,,' .Y:/.',,-,=',- ,YY(). +3,W) push dx ;WFXF:,'P ,,)/ ,',P',,- ,FI,))) I3'W) cwd ;-HP,X'',/ ' ,/,/' ,/',,P3'I(:) W) W) /=+=, div bx ;9WY).,/' ,/'-' ,-=9-/'Y'((',W) PW /' '-==L, push ax ;'WY,' ,/,P ,YP- C/',',)( (W'(WW. /' '7==L. push dx ;()' /:/' ,,WT' 3F',' /)W (W (K() /' . '7X mov si,sp ;() ,P,P',)T=:- ,WP'.' ,P,T (W (-9L ,Y)' ,X//, . Y:P fild w[si] ;,F ,F,',--,/:' ,+P' ' Y):) (E' YHWLWT)-''-9/',-' ,,,WF fild w[si+2] ;,P.,P,)-3-- ,-,' ,WF. ,Y (' (L-WCTWEW30V-/',:'=/P+E7WF fild w[si+4] ;W- Y,P/C)',Y',' ,WT Y) : (P-=Y:UW9CX)3-=- ,W:9/PXXW. k:fld st3 ;/T./:P/)' ,P',' YW- ,P'', 9M).())WTHW3,C' 9C9='W3WW) fsincos ;,EPOP/YR. /F ,',/W) /' : (W)'W979WO0=WC:,..9LPXWWP- fmul st0,st2 ;3H:WL-R' /' /' /WF ,) ,, (U'(HW=WWXO:--:,:'(W=WWF' fxch st1 ;,WLWWWI:,F' /-'3WF ' Y ) , (),T(0)WO9YPL.' ',WP==' fmul st0,st3 ;--YWX-F Y',WWT' :': (' ()7) (MT: WP)3C)-'' 3C' faddp st1,st0 ;WF /' YW--, , Y W (),YM+C' 9+I3UV:' .YP' fld st4 ;(T 3',H3-.. ,.. .,) ,) ()F-=T-. (0,9L,' /P' fsincos ;,W Y' 33P . / Y Y) (Y' R,: 7)Y+-),,=W' fmulp st4,st0 ;/',F.,W) ,,.' ,) ,W) +) 3), (WT9XW=3P' fmulp st2,st0 ;/F:T.:WF. '..:' :' (W. 7) '=), 'WT7WWP ' fxch st1 ;,P,F''WF . , :-': ,) YC../) 'HY. WP0WC' fsubp st2,st0 ;,P:9::YP ' '(' : W) .W) +3) 9TLWC fxch st2 ;(P/Y(,P' ... '':, .,) ,W) :3) X+. WFUW) cmc ;'WW),I',' .., = ': ,O+' ,W' )9, 99U() jc k ;7W,='.,' ' :.'. . ' ,W) =3 )+. ,OH:O) fistp w[si] ;'L,F,: '. :C::' ' (W) 9W 7+ 'H,:L add w[si],50h ;7W'++: .. ,':' ' YT Y). :-. XU:W imul di,[si],140h ;(T':,''','',' 3' ,-) ,-' 77XW fistp w[si] ;(W),J.-:/-:))' P )9) :,Y . T,9) add di,[si] ;(WUI:TY:,,,:, /' ,- W) YC: 9/7) fistp w[si] ;(U),-:-''.'= (:,F' (W) ,Y. 3=:L lodsb ;(),:::',)/' ,,F9W' YW) /L. .7=9W, add al,[fs:di+bx] ;(LUL-L.T-'.' ,WXM(W) 3W) 'U. ,)-W shr al,4 ;3X=((:,' ' ,WMWF-(+' WW' '=,' ,ICW xor al,18h ;,T)=)K-=':-WPIWP':,: ,WW +/, ..' :+,9) mov b[fs:di+bp],al ;Y):LX:.:=EHR,PU:'/'' (WW I:=, .,-9CO) inc di ;()-+,,HPT+C:W9= ,)' /WT' T.: --PCXCKF' add sp,6 ;7LIHTP+OY3LW'3:,L.. WW) ,,(W('MX'WT' loop j ;7T,I-:XF:WF(: ,) ':WWT ,=PT:T(AY) W fiadd w[7] ;(PWW)W3=/P,P , ,'WW),YP,WH,)Y)TWX9) fstp d[gs:bx] ;3)OWRE)-YUY'... ' ..(WWXWW)9W+C)WUP9P3' dec cx ;,WTHEF:LOP:W ' ,. ,:(WPY(W,(P::)W(P3+) les si,[0] ;(P3WF/:WM:() :.: (WHY)39HC'U()(W,W) mov di,158dh ;(LW9/CWY-,E' ,' 'YPL/T:WP:,(()3Y W) fs rep movsb ;(TLUEEP=7W+.,:) -P-:,PWT.:Y()() W+ jmp a ;(EP/30-OAT .'3 . . . .C,P):WP Y)()3C:PW l:dec bp ;(PWMH:FXW'',-(, ' ',97WMU(7: )LW W .WW mov dx,331h ;(WOWF-7EP)-X3., , ,,WP+WYY+YW' )WW 3 .W7) mov al,3fh ;9W93UOY):.)/.- :YWCWU-EIMC)E (-WP + ,WW' out dx,al ;(XWYUWY.,:'.,,YE3-7WE3WXV(UT,( W),T =P' dec dx ;(PT709),)C:/FY9)T.(W9YHL/Y(C T,W)') W. mov al,99h ;(+UTYH-:-=C-(P(-).WWF3:))3(U))(W)() P' out dx,al ;3P7Y3)/'XP:)WP(J. WXCWKV:)()))(W'U)() mov ax,bp ;7OLY3',H9),YW'F ),W)CT)/Y((-))'W,U)() aam 8 ;7F=T-/T(=)A3C,)3)(WA()=)TY(CY'YWY(::) jnz m ;W9C=()L/3,9'/('Y,YWU(XE/))()E.YT)3:)L mov al,24h ;W=P:F:(,)),,'F'/:WP+3OY':)(R+ /T,T')W out dx,al ;-=WRHX9C9-W'=,),)'A,A)XW779EXWK+.()3W),(, out dx,al ;,W=-'L,,XX)/)+'I 3)39I(UHE-+LX39TWH/LUP)(H) m:iret ;,P:. ,-90/,(F0'/:,W //'(YOC':--YY3/IRW'9LT')