From b852c2bda104b011711b5919ac4bbf340b4a335a Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Sat, 18 Apr 2020 16:53:11 -0400 Subject: [PATCH] catalog, jopl track rewrite, some sound effects --- bass1.sbi | Bin 0 -> 52 bytes bink.sbi | Bin 0 -> 52 bytes boot.jim | Bin 1360 -> 1360 bytes catalog.exe | Bin 0 -> 27128 bytes debug.jim | Bin 1382 -> 1431 bytes debug.jor | 5 ++- defs.jim | Bin 2255 -> 2255 bytes egamap.h | 4 +-- entity.jim | Bin 1698 -> 1698 bytes footer.jim | Bin 1833 -> 1833 bytes game.jim | Bin 5795 -> 5831 bytes game.jor | 8 ++++- gameboot.jor | 1 + garbage.sbi | Bin 0 -> 52 bytes input.jim | Bin 532 -> 532 bytes jiles.jim | Bin 1648 -> 1648 bytes job.jim | Bin 1113 -> 1113 bytes jopl.jim | Bin 8975 -> 9367 bytes jopl.jor | 73 ++++++++++++++++++++++++++------------- lev00001.jim | Bin 1023 -> 1076 bytes lev00001.jor | 5 +++ lev00002.jim | Bin 1123 -> 1123 bytes lev00003.jim | Bin 2333 -> 2333 bytes level.jim | Bin 517 -> 517 bytes map.jim | Bin 1160 -> 1160 bytes neuttowr.exe | Bin 130421 -> 131343 bytes neuttowr.prj | Bin 5784 -> 5784 bytes save.sav | Bin 2 -> 2 bytes sound.jim | Bin 0 -> 1674 bytes sound.jor | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++ state.jim | Bin 271 -> 271 bytes testbed.c | 27 ++++++--------- timer.jim | Bin 453 -> 453 bytes title.jim | Bin 1198 -> 1248 bytes title.jor | 9 ++--- 35 files changed, 179 insertions(+), 48 deletions(-) create mode 100755 bass1.sbi create mode 100755 bink.sbi create mode 100755 catalog.exe create mode 100755 garbage.sbi create mode 100755 sound.jim create mode 100755 sound.jor diff --git a/bass1.sbi b/bass1.sbi new file mode 100755 index 0000000000000000000000000000000000000000..00fa94bd066fa8c73ad2dd0b594bcaa043e5e53f GIT binary patch literal 52 bcmWG`@|0pA02CA&4t%XH5n^WK2CD=BTw(-% literal 0 HcmV?d00001 diff --git a/bink.sbi b/bink.sbi new file mode 100755 index 0000000000000000000000000000000000000000..dfb4ee84eda5222deed7752104c89b4d85722b05 GIT binary patch literal 52 bcmWG`@|0pA09Y6p)PG#t=g+{v2v!LIQn&;F literal 0 HcmV?d00001 diff --git a/boot.jim b/boot.jim index da58d906be0998b347612990441023d8be7e3a78..40999d61c85658dc062e2b5d786e6eb82f7d409a 100755 GIT binary patch delta 678 zcmXX@O=}ZT6umR^Uh?LnIJyX>qO@r=sVFvzA87HTO$vd;gqos4K-*--j*c@!GBtvQ zYC}QAS(GduNEa?dEfjPsqFva93z2TzxKQXHaAUxgdS@sPF87@K?z!*0yQOR?iz&Sq z|D(NyNxB^uU=)M|Ko7GlW&-?+6Q~=ujX(sM(FnAF>wDOk6wm}CkghptEGv+SKr;k= zaDs`@@-Q8Qai+rL^+KtX&lN6K^T<7b5>t?yzMLPOx>BCXAqTA90l(t|~u-3^G523LSyRl1V)|pmTB@ zEXTGSV*zJ87xqqY{TmDDGnqjuSDq*r%a_m-*VpAGID>ceC-OTvocsZag|pF!07tw; zv9CzAlBn}nn8vqO#UtZfe<7Omu2RGDRYk{HzR~oWhClDzcHDMobd7c>SI)y4y^n+M zDJs<6J06;DyUhlQeG;=M))P}02c*G+q0wIgQCG<-epx~#;JB`bLIFLlQfL^afq&n< zA??S8MX5g>?)b1YgqK@t3|z-{XBx1skEu^p2A#aZj-hug4q?+RH{5cE{?^cj_FBaaY61POv8ZZBi^KA%KHeRoNB;v7 Cth3Po delta 678 zcmXX@&ubGw6n?uqlg$1ot{y_EC~aCzDvFI#6)pZ~lR_Xdp{A%1&^Fn%tLyHXY>i-{ z+E7q&4LC~v+daws!M0)Y!L8bqI7XzNuw@Vp#yzhJSzBk{z4P`@FtlsFx z|7fpal5WNY7=h6QKo_$NW&-?+6Q~)sjX(sM(Finw>pR$(6wm}Ckg7T(|dYJaZI8$NrQodNsW%Fk$Ippp@ktxVcpUaI*oi9ygkpp1{TWSr|&M;XFsE=^g zMwpLan=OH50$+L6EAW+1$vs>zh|kF|3Fv3G470`+%fZV9?EHbaHD}od@Xj`&PvD(> z!mf*4FViYr#}m-BybSY>Z-w$@YHqP7WeIG{kGS#{SCQ{R8kz4xnGVB!$)uhf&^b8{ zmSbCvv4At42s? zE=#+yVNvQ$g*)Ca4dCUb8Uxp{-I+T4)W_6^Dg)1L`Vql9@1;TP*p$MzA0s7<_s9{9 zA4u{v*9T*7$suu_Y>%OLEe>JRRX5ynoBr0&hW0|m4Qc`Xrm?7MMvKGp(H`Czpa=g0 DU=qHP diff --git a/catalog.exe b/catalog.exe new file mode 100755 index 0000000000000000000000000000000000000000..c63addd5384858e279b8c7aed10fc1af3168a4d6 GIT binary patch literal 27128 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 ReU9x964HKFj=`7E{|DW%Hx&Q? literal 0 HcmV?d00001 diff --git a/debug.jim b/debug.jim index 8b03b7c2adef77633731532cd4552a9c8f9f6ce5..c54b9160307c79332d4806907063e0d52a7bb6ae 100755 GIT binary patch literal 1431 zcmah}U5Fc16uy(WXJ>5oC)8yh?B1Dsqc3SQ3)X#6N|#-`$RcLLCjLP{lg%UzyPJgk z(85+wq5~pBi4Ybc4?ajkS-~Qr=pcPbeGrQj1=$DdgRoCN1^W~$o_o{mw)$WonK|D* z-*@Iab55R$oC_yUJstf32J`1nO^{q|%eh=7r{@S6%ukSfuIQ9Tp~g%VHnR0Cbsl*D zxI3kW0t7Qu#^z3*e2Thf*`y`~3Z+`TA!YU=9zAKs^&S<}qhCMvzFvR|>(UH#m`4Lc z#_wP(6mnO^Z6;`n$&4-?8a}MBcS$2#+D5S!++cf=13V6>4}JJS^I?yjAVs&~$hzob zFLHlg&^J)`7u3nXuc#ssAHHPMWV2GPH+S6QlamM;9s~bl-ZET_J(a_pAG5~f!&xZQy zO^vyCtZBvFcsb#u*PYeG1tcfosuiGHAExY4x1L{5$Zkm}ZfjayCEa|`Gar@^D=X~x zBP@m3rox`JN4@o-h*(o${0Q5%Lt3tZAj95%KkLI)Op;SDiSZ{VefZc0lB+J{D~cE* z++5UsxM9C1Q8j!%d^gHbgCPgehr71GfrwFQcTpeP{n^%$6-TAO=tB|??LG|gPJVs( z%MRn7xY@00rBrUzarR%IJG2RY{_pw(pCKUgm3Jgn%fhiOC|9qtXy;dL-lBnA95ci#SAIbT=!Aop>dH9 zjQ|(nHm%}xT@nG_0k-)HAMNB0%8!sfURyI6SVQCh3!V{=YqDI~z5K7oT~aEjAo{cg z`yyABtJHxOd?k>9_q(PKZwXDyVQ*$bgHRWzTQ1{)=!gsqL<{~9mnyY9FIO78P-&L) ziX?r0D|D?{mc%Q(hsORCVNEs5$rc)F4Y?`jEv|Qj4>XD+c@dL`#%$DwXjIo0a`Hb% gI)BJ_RQm3~Z7O}srI!mYBl*5Y%RlzN93A=p2YK{-{Qv*} literal 1382 zcmah}UuaWT7(X}neBN7A+u%yi{Zlbz4-&{NTjyRzVXJF4I$0WPomztMw0^Jn>k zLScJ|z2L)fgb^4ldn*)?%}sp!Bo$pKXi;3V*WN>626!u_v2T7NgoHHeIa+nZ>?I4--qLb@}A*Rc)nyM_x^}S4! zz(PJl9)>1@Z?S$w@Uyvcr7Bb#A&>6Xqv|>xr5?T7cTUYhp0#KazF{71Ya;#%<57t` zknz`SlpbP&(V`uV!w2jvsitzvn5+&zvW?ItF1INMA8sfdnrtUobgPco7mvLW>PP+O znD-7olW-5S2!z8GHb54Ng-R{&Zj-OEj@Hj2xO^YYO&$2yIXXE#hgp(Z6yXH)83~wR zxu8dFjNjKpw8s8nl#JnyNL{T*IK&XEN$lAc@3kryu-jl-|zC|-Dk3cLH& zp54o)imE7PYHL0uz&Cy9;G6hzxN8Qn?cLN;shBHNE7;q7*f$A&{_pwJ93-Dk9&--N z#wHIYW~SqFhsnFcK*p_CGrlPuP%@z=AV8vOSl2Ca)=#VuSy*;cWoLVLqr dbg-emit @ dup if task-emit ! else drop then cr dup .wordin s" ip: " type dup . dup get-dbg-xp ` type cr - >r .s r .s hT9=Q>=48fbXzFIphIK{+4DMenE&DT{O9?c*>r9?2U>Y| z^;7cRy{2|)I|pQv$wpJTEU|b1Jn)0HF$20ZMtajJ0hie_f~yF8(cA=r0xKYhAUL%T z3Im5Es}T20TfE2?Ftnsm;_E@@3cfn;D6$gjy2F518W3M*DkQS3u%K4L$AFKTOp>wT zP&S5mS1Gd7Xx-KvBoxjdnPa<3!4ZdgeFx1{m&iS&0odEyLSLg!N!)`VsF|{K?7Zl~ z!#-hTPzMrErm`YfK(>XAh|$9MMxTIl2!onHw{?}|GO_ejDjg-3IVRP2TYQnm;f-E` zAz0IW)PN_tLe3^r$5oI z{-7n2j_prqewSJrEPj(#=t0%%5amzQ%#vs-mg&XX?X+F8%1ow)J}COE?xCP<3D%DAl+CSX6GC0+k$00P|Zc8JfASST`r)~~9a z`j=`z8u554EiweakKWp<0F?LZ&T}APYSmhS?^8h!%>7%05B3i~0$x%F) z`Pgw8d;8|7YqI#5CJxuPzsTeg+?^Q*Law7g%J8Y6AvbGb9=wK8pQ)smep%WtkV{rb}WHN?LHo2HbZk zBpb?%b|%D;9w;__^q*#I3h1>X&t0nRPm7SbB#Ul0WO0;jxegT+KWe{n4Rt~3MlCB| oR9QWa>Q%)QgK8V<9ktnQ@oBgCF?x2~f0=b7Y1bcg1=xbCdN%|0k6-yM3UEn?V z*e8q(s6diwJA1#V+^l~_dFsyKNTa`&JlQ5=qBTj5 zgO-?)*q_k)F0?e*+61l8gR7C2>8G>A~7xbg}nIIA&Ckmh}raa${l!#-`6bpE3u2x(5YgW3#9L}J5e{VF@D zf5|2oh{tq;X9z(My|q;#DDT&u*MLN^`4Nm&SefNvRkO9A7Sc>`2PiMKh?db*dIZm9 zJ$7Be-oCl&nrv-U;fL#WJD-K$4W!*Su5(ulYev_3){T0XwV*y^H&K7G_h zsFQFJ^(FXFKSKc3EjBhg3oNo!wF&*684`~U9mW2>ROKP>v8_vD(`7yhB`vsP6YhH? zl8t0WI#T>d41M4D%C_1r_fKy6Ac7CA!O@m=uC_s2rL-VPb5pOq%?tU{+&D6GZINZcU}K9kcvMa=P>@()N~qreeHHC9zbj6!stab0Vd-?GN)%pC(!o6 ze7px-=iv1^f@fNf&+;Z8Ca- zvcsQ|BapEyyJ8e7W@Sw%HrOtw-=A^%cepNhLC(lOW`trRxHBz>;hmCEF4~2hQ34IC zlSkqcLq%8SF9kS;m=V>#6Et$NwGj&Ghg+@K_H$1Wc0spU*p z%NHgIm*?ZcqMYiwU&1BmgEi`*5+%ZMBXiRbVGft*(lgFLjr zFXEe+f1^4or`%%KkX=W08}~KXU1foPfxHh8c^{DjVRtxnM7EDHK3DgJ^%rLPx*C9d zX3;DxVe+TsIo07`s*E6NS{*Aqr)=VLOKq|TqL#PSPT!Ncas^3uSPNbK>`-ZmrtFHQ zd>^N&zNbcD#lB=D-R2>?=5eX#Ls}DqrzS4&mo!>!$#ltjU_`3p6zCFNxJ|Zy*5Q7Q zL%x(*p|D!q{W*M6!|(|$R26U%BLpgF|r;m)=n z9!e{kF6q)R4#!nZ+^TXVQ!y7&{dBCw(|kvJHRkYP_KD{34Ud6U5}yN?abGYf15(-3 zy1}yT)mE$~+o4fZRRD3hS@jx-8yAQ2*sm8w-S|3~EJe?&g?L^gy7WpIQt zONk(?XRS`Jy%^60y`QTC%a%&#n~Gu_*8V3 zAj`~V>0p9-pMIC1lCiq##=_V2u$Y00k<8jztWph&7=<;Qvo!C8o6-+h>Yw%bsD+>D Wy*`>e1*lcMK-cU?of^4`ef}3`htn4T literal 1698 zcmZ`(PiP}m82^%aFG-VTQ)}sAh23`D%)d;^BC;S|;x28qYo!ggt4O;_(wWq8r%A}4 zHr*;{g+LFZ2E+x)f~-O=o_g?Ly@)+jAqVxe;6?YOD7vzOY;o)Ny_s}-kuaI}{l4G( zz3<}8lST9u^GgGr2 z3vLW#IfH+t4(q*LeibR?%m|)Ox#v^p?ee!|7D$y#Rdnt!Lt2a*0{#Tyv%8`n@O9zstYFBu%Su#E2w*!kvH1QFygtRm-KKX;nbS z>co^jc!=B>IH`6+{+=G0+pBC|h~nC~7#_b7_)uof~j^lP~Ngc_s5Id&DxD>9EH zvYg86@-a0G)>^qzYEXVH_Ko85=hOhaBDk1-~-qOjgqUH+FE zf_<^#6&%D-QEm6xwt=IRoS*;;ymvzxK%05=RqA7c# zDUM82eO-&eYH7_%AI)sj=TgsqK+(2n;u61&L3VIIU9thVAhmD`42dq>4l5>I-qAP| zD!Ek(tINHg%kOF!KA}~d`&eI?_eUe4vu8$5B_AI>oi@_O;3ETxupR-LL%bf|YzN_< zG^iVrA&uj37`nJs)mpA*FQfYDM3-mziheQS@^SW*?(!L*fmITp1COyS7?c62tm^&X zluFm?<#aF1CJr{ou^-38#@YUGhfU%a;CW0c2))BwI?jw$$QA8X|L7*`@`La$?(MQN z_Vd1u1?GEby^~ntKkIFF8%q>QQFym>3U43tLygtCQ?vg^rsvkC2N)fGcT+K+ zxt?=`Xeh;l0r-^Iuje+b^f7kuOJWQ3I9m#Sp9;aISzi_cD?0m??4nf{XV0MEiTHhj z96O(2YV9sEr1 V57XqSK&=`Ax@L8Q8o7gg{tr8^#ozz{ diff --git a/footer.jim b/footer.jim index a4dec03b9e855fede63fce9ae5a48a7fb20f3193..8385e4ff5a12d9341dcc68a1d7f453c171f37840 100755 GIT binary patch literal 1833 zcmah}PfQ$T6o1?K-p(vrV6_cety-uQX?Fgi_Rywv+isAE?Ut4h;+kfWl9AP&CL;p1Dnff#I(>w!O>m#e;81Uh8xlOCO3;-)O#d@@OqJp3 zRD1f!i4@rgDWV~P)ZTPw=g}VW*TEc7d!Fn#!H-c7*VP)RIKve+=aoF4 zvz)U>>qKLcg0Jz#dHzF(s!^5h>1S@pYhVuN6C| zwXy);(CXHGxqh#hb3`u+gzk^DD7YnlD1y&vjVw*94A#JL%_81zt)h&|56S)+blnqsDMUb;@~ zqk@&i7xZzqpRfX+B!t_yHD2pDJ)zD^q;s<#YEvl=ID8-g!!~8 z%;IIr7vO8U0_Bo-x_Zu0{bKVt+e?9e=%f1OW=Gp6t;ko2I?o2Fi6#9idsCkyYpgzt z3zXspJ0NHAYmw{|9V5AtWBYU@eg%F~Z>gd@GI($LP4`Y+Zm&W(?>WdS$22abcQ1K6^|ViXkLs+Cg^i4!hT^gPb?y zRyJr8i4{3*&eQzfGAG%jxRR+v7SEbDm}7G7id3f0;gs;guf_jt&d>z9%|>>C=Dc9? zOY%%D&ymF+Dc7e7o@a*g1o)m=3pv{j%Zgo_NO0zgJSqkFD{pJf>lgd_xxU=((1XgO z(gg|vs}}Ob@?gmxS#O0I%Vq(OS!394?W1u<>Ddaa>K3bjeS|)1?I&bc6`iK0uIP04 ztr)oWi|bid4 zJXAl2bC|*HZBNt(NNY|X$5wVXsoTh2qSgJ|ViDIFsz7hU_O==T(ArqUcZP=rPzMn> zK)`eMh$Da)NRT0*&-3#FkO09ZV9?Hw2%r|C;1fXQ2Lw<948{m36;GWK00RXs58S`5UAJm`N)0x*1JqJ+D0sOUB|u?5QBNh=<#r!G zNFls5nBKVuLKJs8#mIU!Lq-TLkZWK#lNlnb3BDoM&apH%B)E~1U^ugj{xkSFCBxqI zKxXJbnrwvMIOFiX5gr+a`(zCc45!D)l7T4*yBbym){`~ZC>MneCCnp(dNEMBvr#Y( zFDeYI-9x;~b+AW?z~EZRW*DW^vCQD$z7g`bK#5XEUfz9xAEOm!l^9g**{YIv%dSUq zv_hTYIW$`%B`&ZNN|N0nEf$n0Ou1gw%ay9!gOM}rwBqA=MTSZ>SDmhK)WR?X`1e#t z&OG+=ZFa{44ld{Wd1WHam=ypD_L?^~b zN~%*xH+(1+@hg=lWbv}P$Y#`&s*lH133{?Uq+u4Ws4EKOiN4P2>|6DybcPv`qtZ>v z{zGJCv0baPZG;t(X^X_xuAL;_Bzr*LKnW$pM_G@VHx!9MvuK^itf%BRYn>X~%Vl%EDu-_<}Blf_s-%&uSa= zLz<`i_=Wx+5ZXz>zeg?nTK}@e$M5tg&^2@`_Jr-gxkP{bwk|^{fW%Dik)40c{+kYx zcc-1|TH1VKSzgj_(EPRL`$#f!%J;p5-Gq`pwMieG&o)TR6mH0X10!`qdo@B>q z&NYKyl7r2hBa3en*XIe&GeSH*?lhVqpL2q;V%O#qJabuoNAmG~gW6j0dZmd;t}l1T z489}JNyjPZGomPzDpTcLZMBuN+JaHU`^FsJHTr3sVfwbgY2_lJ>&!W9GPe=Z-9YzK zQ-?IV`*a{DcVv}iS>7&x(%I9#U|gqz>@c|q7Cw6PP&e6m!Y>N^HGyMBp(cQ42*U;fsQh68#DKxG1e8nT;{sq1fh`1( s{%;B(1W|aU4?~XYI{YQLvbRV2_}YrqE3}*m@!Tk$9rX0^A5j6-ZvX%Q diff --git a/game.jim b/game.jim index cf4d8fb8a3264fb71ef8c5f96db376a393a64291..78fb223fe931aa16bf56c0d9a12b0b28bff13bf3 100755 GIT binary patch literal 5831 zcmZu#e{dW1m0!pEwd^ReMV#3D$lS>!wPYvqU`m?_4zZmkAqLk`Z6ax<)sL05E3LJW z97#6uv`snOk%vx~V(4KG%!IU|h9QJ$=(Mz<<4H+MNXeBpEhRUX_F5=+1xknhN(c8Y z_j%uyY~QtithC?v-uHdq@9%rN$yqYijr=})s%4|U&d-D~rBIp_jyt#8H~Q-ZHCNJ0 zx?1FbZof^)Cq~s|sVH=|2*OT(lTgx=Sv{Bbu7nQ*KA{)&grWW)_^5xiP#8}n)Pgsk z>lJFi;$DAU1tiQmXZ*2RADi*(c9Z?Hzd`tPNjFqT@L7)2*m=Kii_Bj2e`mAFPWYYw z|BSv0*$4h1zs&yNKkRQ4P4=(;YlKpMJeg5eigVmK$lX>mTLlQ zYQ_v@QY~~9OG-)Q%60}Cg$i)2piZRp0tfd7>S{i@&p$A9JM^g${8$d{`^4aY56e}8 z8nD&u?H?K1z5gz(MWJM^Z{Ih(3+sB}^B^A>@eS{z-A>`lKof3cfXH3KS1t0vft@?C z?h~E|c`lzc^f5@=6Br8^jV603;1I_0MYUK|Q{IAl=n$9djet$ii(`d+x|h=)2?Rm= zJ{ao7oH|}2=!b!K0&QZf_I$0$#2{ftp|pjG0rn3ZMl6@9iT38;8X=u8q`X?*F!Fa> z2Ry(JxFc9EWR#+zClVHTfrHgxo$zU5POj_>_5>7w&(~_~@!)N6>5-ski^)DiM8ubf z!a=gH2UeC6(NP`~=sD z>=kT`frCqOg8Q}7wmz9%FM0Y7_sgtZniJjW#OdHF;Q`@41dk*N zLogc$#<#2ze1fy)HUMvjyZ}C!Jr2tF)%ew600*Hyr!0b!fN818N~K9Jf~SaxBkM?> zIdRc835$M4a#$8!felL!NG6+;>MFWm!w!i3BZ-_QvtMu}E=zkPdhZ75H>GQYf{GYT zs+E}bDkbcihhnEh!*M~BJTJGOb!e8S?n=oFM*v3$#bvBQ2Ja|Cqz z5Z;F>?=t&iXeeZ|lc8&bVlso&pg360^(l6Jc-GlFxVF<|$M>1+&mp_ODXbia*-lGj zuJfTXB;OOBY~SRO+1@b42!(HVV<(*PaCjKndAS`P441{z(imj=Jl@`Ox54OTG3pP5$@ZMw6~64DI40xJzvS5?O?nn>@4z^$o~RdX zCL5CNLO$o^wWg?-_`%NumdY=~sGfxRshcBo!VmlCgpWkXP0zti5GR3|eK^@~!WH>H*c0~-wW&ZmLei!iImP6zXN7kTZCbQm*l1mvXRTDvYBvQwL zSk5|G{nL>S+g*k4$AOS^b)ec%IrjRb%ipg9-WMzjLdisjyIVcs}rm%6AE=hzLVml=UopK1e4txvk3>i zhB~1dJOYly>@^3+)p4}~n{_@DBf95e_R59erQQpies!a}1^FK93Eac4LV7!b*5Jc{ z#{N52w_678=ewTTOH}LQ1Z|GjMxlQ^g*f@^jUNYmbDRp>f`{^>L$q%sSTBdYQh~kC z=|(v0Vg+^`r%Q9#o^9x7J|RrU8-zr@ zSgdODr8vp>?fAKtW39Q?bG<*j_Se_`w8dl(f$reAUh<}u11dCr@TU9sFT_lCstT`I zqRcI!D^o13%sNjXa+COA+YynjFC z`cIWPaci&4exnTDU|l}{shBb1aS1$-|G=9pt5l@8TS4udb-Fhlg+d=FsGkMp?&YhH zF69?c6)%WC;=fcO&xor%k8aUmdt1UTqz%24%q+*|)&yd8T%pFF$LgJl20DJtEvvds-s?J|^RRxyw+0an z?>@FlaPhI^FjgiTOE&VE#XuqEa1$uihc{CCk!Q*wWI{D9$q*Sf^lx{c!AZ5MgPRT=;}X@h`v@ZU=2a$htM;0begGOI(VtOP9dTF3#@$sMO^pQ$ zSM{IC6m@N7C+<>}QgW$b+po@x2h}!lZ97d}pMwC&f=VsNlJ}a`viMin{wZ}`6-Vxc zj4MdUwHDbK_4+CquGfNsJMr%kFK>8PZLV%0?f!->QBvR%`;Wj~8?*)(saR5TYJp5_ zMctrAoeVWGnD6tN2E<83^DOUAOwH;?ucT!5U9BumbLde(=fo=PNe=rKVAJlf<5f;c zc#438)=0sn7AO-_`Fw%GD~%0K+`#8+uk<~XqS8|jb zpqdx2^u5_v)aaeM_0BZCY0Q)U)U7gBZMT~2ZB67{u=zWxkNrgpX(ro}#`lmzdWqNr zaao;WucwLoUo_(XlXMu8oRFvio=r=*d}h)E?gOq|zT~R(=PsHST?rL!REpXr8Jn!S z^=f)6Hhe!l;2PPxZ~x#f7rqJX?B6*kxrTS&H9WA}zgwoS0M$)aK++XRg7v4@2>e3@ zK62#JeAu<@JHu^%5yJynmWG9YOWUh1qL_dh^WwW{jcv`42{vb@+hyj>%(ibsNN)1T zY+HtG&oa%`UB$cUDp+cg%A(~0Qd-S)Vep~#4(<|-O=YItPvUl?QE4jk&c?F1p?`IM zQQOeJK4Y?;Or2n{162u50JMr8~RDyw;|lL`(agM zZ$V@kYbv57zzh#B`dY9~w`kYtD@AqcT^Nt{wwJ|`45{B$q3Y7lwM@GYs#HTsmZvgn zgk=7}*f`>jf3w0^*hls17JYR^_6m4IKY>4~H&qQ)QVn%1&&xp7M5lR-YV4T44f(uV z$8@Y)gU>2N-Z7m_ozm-Y49&3^BIPz7DddV4Fb%OR1L2> z0gF%!nQRxJNQ(>~N&yW^W{k#98Z2>G6PZNN5w=NkigiIu;+4lXfq~U4|)hDYUFEO`t4?I#61&ohBU($vHhuw~~$(TG~PfJM8q=PHRrG z&;35h_SXKPr}w@0e((4G{@(lIpWCO`4}2>*)4JBPFv!`smM>1S)Ak*WYduz`XN&1# zS}zDdhsVNl@%!~evA}L^Wo(Dj+svFMDFOGB115jRyaur=C4nOlNdR@RtIY;^#cS*`)G+_QWnV8JB!hp;vyv5arNjYkxj3ioeV+Fr4#ai~9VfB*2CJ)8w}Hh ztX?V-^aJ@#xlM}IUaU3v?*!(4C~ab5fUWWpHL+ZxCR(SriH+s*Np~uj$>a{32Rtke z*yXjd16m=Ij>k>#3j!SR*0BePIk|GZce5M-_+o8}f5!V0xb&p=GF*Cyh=?x{$=(!y z&AUXpS$-N@u3*ar?+e)SFW%4N`5$0K@D%@d?{Tp%fzhMhma3}~TJ~UWLg+;H3N^>T zVYR}+-KN~ut@0M-mhM82%5PR?rCEtv4gRKAV)sB)m~mG63-1c{2z!g&qDX8IW)nc} zTES#yuh|0Ne#i@8BKZ_3N3V}w-w)sb)EAU%K}kSWX)#l2(v9FLAmYe6*POG`f@KmG zJ*3!7i!Q^;%EOAmrXq=LW%Dwy$Zc|fb^8IlI3;8XhN^Vv|B4; z*BlgkS<2WhOV^y4jtjOFxBAY5LzC|+jxQtN|4p&809a;z-uJkJ3g5gJThM)ryKk5-dA~7 z`7eBZK7-HsR8BW>@V&ixJ)H3=|9)ttH_jpa&3cP{0Q=StaR0diz)3zq5HIk;-N_DXHk zwrb58>2dr|Vs!YO4@)CtR}COHMBiv2K~y zvN>r``sVfpi^`t{q*vJL%F9DX!Ey1Xo$l}a(0XpG)H=VFHKu&rZP9pcn3Y{av(DQg(z9z#z466Ad zI`yUiN&2S&(>@0O`cM;nZyrw9O7^uPqmk>M>Z2A!L0)9fgHb#}}O9-r$UV z!9oZ0R>D0D=N>g&?C9 zh(PAD{XB;af@RiQjkvD{FVz_QrCxtm5p%Xy`zl->t@}CI)%8QQ0-Vj0` zl%F&!%(D7%ysIrlW-Q=%gL^`C%)Bt6PzU5YBdzOvq?5{l!Al_vJLJyj6M9BOz-K~@ zHHS)iNw2_W>`#PFp#MgAe2s|L@SkP8GN- zJ3qIZsH|av)`fo?fd1hi;^e6f9|L?{n95qRlk%fWdS1Y`2w1iP`&$9KOTdm)V6O;R zM8J+#U@4vq%RCXH(Ed7fpv$gU(c!fH?PMxk%SP_%MmN*P{ybdI;<-Yhs>#tX$#^>a zYU|T$vTMG%{cCGqTl=rA1}}r|P$^w>k7);WXuNIn)Zm$r!Jn(bE0)+KETKlGcqB4o z_aSlv_@Ck*h84X~I;cCyHB9C^8g~PFOT?#5=niC^gP1#tIR{$ZjLxQb7q(eF-v}F= z2nQm2Mfex~IJwNf5#DW=?FN5viX=8UB7aif%N;AB)hxc^y6) zDNC#64>x|tNeOZ^a#i}XKS6bjJlb>T-b?LIgxYX@AhRP27V`Z>xGYT#Qm(%mnU!4I zRsKd~%gyH1^TWtPA>wffJdppu8+;^Ek>aq1+Bsvt)P52Q{WOC5nb!_4U4(Qc52Gqx zmL|lLD&%?TtIl1n6m0){(2r%(#l(T7*t|80SS@MP_KR5kc(k6SN|}tC7~`aSqGt6d zN9PsdEc3_M9kufc@t3)Z_hYRpea5fQo2+jcSg~L^&zF9C)GjH8pUh9HceWtPr8cS0(*>WKV@MS5Xls~53?&7u z44zP%#l(_9Ar^A9fwjXLQ`;n0?H)YmBqDoJZDfMP9Lhj5u!6AX`5b<9@Pg$v6`iiy zB-l~@Ktp22t%R@)n~2H~M+g#yP>$ioN*DNXn$CcsE{Sy;yce6y9!+5AcAAs!9qyHm zql*|CZb7?H7|&&sdVUe_a?VMqVT0#~>rwB=(0@*78SImj&}DhR@@l+6;p~Kis@@2vL&YE@u_}1Bf2aXxRr$DS@-XD=(v8lKDS+e%x^$ zC;fKVCQOHZagoa9+>6NFvcljujWpI2(+8nJ0^J#9)m~?HXxv`K(ae}PaaI2r+&^+d zWhd@ZolV)Zamp{Qr|Jek;xx?M5q zWT=V3be~J5fH;F_-XZ#vhhk3Pb;WGzIGf*7il{X-yNCa&y3RU_hPhvZdAreUsR~Qy?^xD zmMNYb?ROq@WOGGFrTcc!Ea-^qXp@rE7OB`|)}_ynzJU#&9qo7c?)D4~>~&z`-?Mwq zK-i(|^DF)P0{c{&@vEE6fTJsp1iNvxiHXk;_=J%i6QitYziDCHD;N#Pax@A&JK9)v z0r?zi%t^0|rg(!^9!~LVqpl8>Gi^tQ3n542Op`{oeSLIQbywjqmHNdds4ST#CZ)G) z?HFrly;Ybz#RHnlc@G*R8iWGcr`yZY%AV^m@XDTdM-ASr)iINuu%^sAG}0!ip-ZG7 zTf{kIQ@l1#mi}-fU2iXGD|<-Xmmr+Wd3+?r&q8DsYbuf?z_bV-`WEm`h4vk7xu|bL zRBDECfoPekwp6`mf>$LxkO!BTYG?7pS^8a#?EG3;5S5 zvM`-?e+llnH*RWwIBvmYtYwkJ!b4O1Zx)3x+veL7?f$A5=7Es}9XFVu&fi&Z=vrZt zSi79poYYsJ3Y4XF(81jPi3D}wgu7s)YW|6Y%eh17w54Z5Pb#)W#0fcqCoFW6ijP;- zs(chxd6SE(GL@a%ho|@(5U*- zv6ZodFfRzqa(7bYpcHy0S)C96Az9@iEAvXSi-uDgMrmZF6I9T)`@54AHT}uTx1q(F zR)fz?&n8i`g*swBUc}AV&n4-qnz5JU%`ncDoeLIfD;6x&P%K!ek&u;h$@^l|2+Mqa zDBXyTSBGYc^=+drD`rb8^R4(AJH>YbPlcF9CYkTT9y(zHt$rpV^Hn#e!AXtE+<~_# sUIKLoaX?`>w2apV!ONht_%AE_h~J65v};bltNgZMs+9Scfid|10;Dnl2mk;8 diff --git a/game.jor b/game.jor index 4574162..0ae7db6 100755 --- a/game.jor +++ b/game.jor @@ -126,6 +126,7 @@ defer touch-override ( x y -- b ) : rexx-touch ( x y -- b ) 2dup RUBBLE mapflag? isrexx? and if tile 3 swap b! invalidate-map 0 + sfx-garbage else tile b@ REXX-POD = if move-player S posessed-rexx @ entity.dir ! @@ -359,7 +360,11 @@ does> : door-listener ( ev -- ) dup entering-door? if move-player then - DOOR-OPENED DOOR-CLOSED handle-onoff ; + DOOR-CLOSED responder>tile? swap + DOOR-OPENED DOOR-CLOSED handle-onoff + DOOR-CLOSED responder>tile? != if + DOOR-CLOSED responder>tile? if sfx-doorclose else sfx-dooropen then + then ; : door create-object ' door-listener listener! ; @@ -416,6 +421,7 @@ does> EVTOUCH = isneut? and COMP-ON responder>tile? and if linked-entity dup computer-on? if entity>pos Neut entity.pos! + sfx-zoop else drop then then ; diff --git a/gameboot.jor b/gameboot.jor index d263603..143680f 100755 --- a/gameboot.jor +++ b/gameboot.jor @@ -27,6 +27,7 @@ s" input.jor" loadfile s" timer.jor" loadfile s" entity.jor" loadfile s" footer.jor" loadfile +s" sound.jor" loadfile s" title.jor" loadfile ; execute diff --git a/garbage.sbi b/garbage.sbi new file mode 100755 index 0000000000000000000000000000000000000000..f6cdae5a3f46237860876fed0cf7f04a290a4baa GIT binary patch literal 52 bcmWG`@|0pA03-w$n7^1Xl`}K)fmH$kMr#7s literal 0 HcmV?d00001 diff --git a/input.jim b/input.jim index 91b9ec33a1fbf7968e971b0d58b47cc6990b7f4c..3a2e5aa3878d03e7e71cc33d4d92178a938553ae 100755 GIT binary patch literal 532 zcmXw$F=$g!6o&u2dv6jgwas8ev_s#$AWAY6gIEZ)F@0JwZ5~OAOPZ1mhC>;ccjDlkaSH*hnD{kli&i|i#4@b@Br`$VQC9MN{!RBZ< z)gof)7!Hi66`qoq!CN~{o%NbiA$b=^wm_p;tCUF1;n=p&$W!?cpG~<$We#6WzEG-> zc#Kn%ueybzLvj({ZHC5%OZ6&#npq|1nK8b^FJr8{c)n`n8X&2;Qhv2g%EgRKV$kdc z*&Y1`N3%nIFTKS&A}^mL>LMdQ@R694afEH%3z}r;O@E?xSB|+WE-%MC$1+SLGpsIl ziRIWxEXx~cg}$%*LAL4p-e8|%7xtrcN4%4+h@mdt%ioFH(vV{!7Lkucey~50>kBbX z>?C4Sk?)LHlGu5~M#7V+t8aHa|LT=&xJU0C${|0L6Z+!cXoHJrgKzRW_I&+%I}8G^ zj|XYMQqu^!t(|OJZ+l_Cr765}E2Zw!!Z%eMYvqlqV{Q?{!hdNFWno!e!>$+Z>$W%O fN2v*IT~-OSdNfeCi4FOt+G1m#QuBPmPO1M7Uc7)A literal 532 zcmXw$Jxc>Y5QZnWyCy1rBC${lcLh-rEDWL;lo-zslIW2{LVTaLfs0cQmXw;8dO!SJ&iV49?|Xa&vt{Vghbtb9H-n3rT}}?t^-M-wqxa4LI*V zp_Bd`DY19H?9H%OenFe;8S{>Al>F@@ugq5~4!J1JHEg$LgLQGS#HpP~~EO{Zq)X1(I3+PL+X@ItYS W2O2uM6RJ$)NQ*v*aoQ#?*#8BAtAGUn diff --git a/jiles.jim b/jiles.jim index d2cc6091bd3bc933206de291aea5a1481ebbec96..e35a220c3f43d781f135022d806474e1b4c9cb5e 100755 GIT binary patch literal 1648 zcmc&!-)mb{96#GVrwNU$sngy&+|a8jBU>^Z>|w0MQq298)bwh%F}gS`&AscbS(4tw zHK`!0mEZz-7*pn?6NXBil`-+bhhiT@s1~|`j4}H#A7n2R_8@Mkan|qmoV4^mFpzsc zpYQp8zvuJ)p6|JlaBnDaus@Y;Q?)-6Z6r5Z$Q69Dr>ldgS{w1#X_&mAg-EIBdu7MV zXPpYT5Yne@BfjJMPH8Njcbu$~<>sLc*R1E4tK2rO1=d~3g)j@cT9h`}+gkg&HD0O0 z!j#5>F)2-_v^2HZRwCTqhv1^`oc5eao{apjzXfOv?~4k87if*HP?esQTsE%H(hMu= zD>O>$+Rsp*r3cAg(KU1))CQFK&OuG3AF#UCU}gO=lJ!R>0rbAJR_cd$7!OWY|^M4|h4gk*3unk>>GDX^t2Rv>BLJQ06XUg)V8H zf;yJ8NhQO&4S_vHY%(BW?|b3dPhyg=C4hy&wxoTuA>ctvz^cBToGQFoaz+aUKl>sS z%mI{xdBm<~4a6DNfVV^*Ney<~=nzrGLJ4Ew1ra4o&y!?E@Fk zH(|1%SbW`#B`zjhmIkM!nJ+_lspXUbQ^wqEnE=a#SuFTvf5a)R&rvPZ0U-T%LtDFjFT@B4gq|ce1q^Xz$eIe2z7ueSwZ+J z!0qHV!j}N@>;}Y!&VGNXw^t@HfHs3h7s?zA`Wh;@`!8JetC}0@(F$< z)u@P{h4{mIhJ9?!Qjy~-AAv?k<-tS~go-o7O|mAzQXsa9aP|M7(O@nPY~p zIlsp_#xHW-o}6L-T0{Lut+eqBxx(7b8ok2a3Jxnj^7Tk^UcrwIj^lvzt-YG| zfh1lB)r!&woSRA2QYqRVDs}B9w;kg?Z9D4PFPx8YE(7nhP~GXI%@~>1CC=Uj)`TkV z^O`;cwzh`(_JIEmUfCB(7F@TS=UzW0FPSQI?9fwQsK!wo&>cB1|Il|sxvQL!cSjnm zd*i_P99;;zkk(~=sXOv-I%2$ac}0o6FV3k9NVn;n4TL)jPQ>oR`v F{sZe+qo4o) literal 1648 zcmc&!|7%-S6u;}cw+YQy(^m4{I?%=`5^XjoV-&XD_a#BCZ0)OaLtMI1oA=hZEHAvo zETLe^3T68tLN|0yI%Jfs4*g-!i9fV%AO)GT^cR1aB24kO>HLEJAjA^Sxi>BS4-DkJ z&*yW`Irp4%&wX!RIS|^nV_!1e8sU%nTS<1z%X&U}HquTayp{OtG)$i6AyUZunWB@) zrJXXE5VDtVBfjJMPGLNrbDXr37V^s*rs<4dtO)G{53HM#OJNo~#$&X`3cPJyjh8F1 z;Bgl0RR*cY2dT|kh%`G7&UxP{Wt=l282Mj+H=!}2FHuN%kxtVU8l~qImz~gOX^J`e z3XRb!{|@TodXPLPyN1R|{(|;NN0LYBd#uW9ETeBFX@B%gJU^OsibV%Z>H(W|5E(TO zG4JY&5Z`7)1fL4|TWQgjL78e#u{qcecR9Barr9GIrgKx6SBynk56ozoW~Z@2m-vu| zc`We}EycPGiH9_~$w38se*m5)=~bkb1QrHuiBE1M@UWS{s@_FTdv6zqe;Q zm?=A1c?t_g4t|B}P@CouM!q)&kMm|UQBETs565*== zyT}T{1i)S7KEk5_caxt@MvmJjkK}<3kl!Rr=70^8f6V~Qa=udV$3zZoR$DV;ku7%J zW|L$_nTP4a_t((j5$mU&El;^@$cn-Utr~v_Hex+57kzSG^r7JWiHH@YsQsW-`CXwM5;ngA|5or3!PkJdTA1Cbgv}T!>Hmn;3a~mIF9$kPY1o|Ed#I$V|gX6=rFRQmy{Nnuw Dk`J8? diff --git a/job.jim b/job.jim index cbb34c6e6bd5c2deb063bdfdfcd322cccfa6a5ae..0d39e25f15ab0e9d0e1d46909a84b97fed0b7ac5 100755 GIT binary patch literal 1113 zcmZvaPiPZC6voHyJa@IUO)K#aB3Oum+C8)?ig<}s5odQc*c=1{b<=EYG~LwfE^YB7 zp(`SL=&1~dM?o<32Tnl3xOBO}X9BR8xoW7%}} zDmi_SkoU2WO^>lLDG>QI8I^e*QXC-UD^o>iG@VWVC;A)f>X`G+7!WzSH!cvV``Vp^@fl;m|BRGHL zOY#{DZ`XLXHd&G*kxm z;MyjW;SVqy0F9U|GjzhoA>^immjRb z-Z^WCPP0MQMQnFUzhBDeRnM+?PL?c2F1Js!ZekaULa*whrSWpn@f;bMV;Z@B^V)DK zkuu2H(N{}dPdp1UDbdQ}d;xvHMhSt>M7!dLql&=~QQowxAu0GH!zUvm;F%eex)Fe={ zOlx$5mX#d5F_!5%+o0lpdB^A$C&`K#zdEJoingc; zTAltO+4XVTNhZErM>XrkHj%6lqkNjTgB z$V~w|f>>9~SwyPSfj05oiWtMcEsQK6!tVxx@9smKn=H$o?HYGGN0d6RGb3|Deoi_t`Z1#ki6L!IC<(+{~GPRlb*6boBS9)sSI->1$x@+`z zu9!8N1C`gX(Q8rBIH9H?#*4-(el4-MylITTV*z}|TE#-ub6h=Fsz^WLHIi_VtI+^@ zW82Z^tR^ob>ObuqX!~xa;S$Ff?;z6BVv`sc?(0`;^gOTQpx0TSB0O@NH!hW{IF3Ya zr2gxYue>>gO}@lH+rWv7UgltvFSPil>6urk3eP;^?Zj~(`i?ITK#V!rf}>WA-s=e6 zy(4kb5V67me#1RpWlFeKK;fRhJv(hJqY+l+G;>h41dnJRXtT1R2Yz0QZXrh!2pTF0 zhj48Y_E{lej|D^;1<(1xPgwyxv5tg_K2h-UQWmg7h6oCnF%H@oPeL0JtAc9)e*nk3 BL4p7P diff --git a/jopl.jim b/jopl.jim index 578785fa670d5bf8db3637cc49b55a12cde2b5dd..bf43818ed58f8d9bedb5581c6e8fedd7ae410bfc 100755 GIT binary patch literal 9367 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 I82&!{Z$?9tA^-pY literal 8975 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 DJ3=9K diff --git a/jopl.jor b/jopl.jor index bb6b551..ebccb69 100755 --- a/jopl.jor +++ b/jopl.jor @@ -1,7 +1,8 @@ ' putc task-emit ! :noname s" debug.jor" loadfile ; execute +' seremit dbg-emit ! -s" jopl.log" open seekend fdeactivate const LOGFILE +-1 const LOGFILE : emit-log fdeactivate LOGFILE factivate fputc fdeactivate drop factivate ; : quit LOGFILE factivate close _quit ; @@ -14,7 +15,6 @@ s" jopl.log" open seekend fdeactivate const LOGFILE s" .:: J O P L ( jean OPL2 print loop) ::." type cr dorepl ; task const REPL -REPL start-repl : start-dbg activate ' seremit task-emit ! s" .:: J D B G ( jean debugger) ::." type cr @@ -109,7 +109,7 @@ array semitones current loadinst ; userword : write-sbi-op-reg ( offset -- ) - dup current + b@ fputc current + 5 + b@ fputc ; + dup current + 5 + b@ fputc current + b@ fputc ; : writezeros ( n -- ) 0 for 0 fputc next ; : savesbi ( filename -- ) @@ -131,20 +131,23 @@ array semitones var songticks +var beatcount +4 beatcount ! + var notestate var octave : oct+ octave @ 12 * + ; userword : rest songticks @ begin suspend dup songticks @ != until drop ; userword -: beat begin dup songticks @ swap % 0 != while rest repeat drop ; userword +: beat begin dup songticks @ beatcount @ % 0 != while rest repeat drop ; userword : %O octave ! ; userword : %V voice ! ; userword -: mknote create b, does> ub@ oct+ notestate @ if b, else noteon rest then ; -: %loop 0xfe b, , ; userword +: %loop 0xfe b, ; userword : mod % ; : % notestate @ if 0xf0 b, else rest then ; userword : %% 0 for % next ; userword : %- notestate @ if 0xfd b, else noteoff then ; userword -: %do 0xff b, , ; userword + +: mknote create b, does> ub@ oct+ notestate @ if b, else noteon rest then ; 11 mknote G# userword 10 mknote G userword @@ -160,21 +163,37 @@ var octave 0 mknote A userword array tracks 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , +array tracks-start 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , : track ( i -- p ) cells tracks + ; -: dotrack ( ip -- ip ) - dup if dup 1 + swap ub@ >r - r@ 0xff = if dup @ swap cell + swap execute then - r@ 0xfe = if @ dotrack then - r@ 0xfd = if noteoff then - r@ 0xf0 < if r@ noteon then - rdrop then ; +: vtrack ( -- p ) voice @ track ; -: track-tick ( i -- ) - track dup @ dotrack swap ! ; +: curr-track-start voice @ cells tracks-start + ; +: track-tick ( -- ) + vtrack @ >r r@ if ( r: track ) + songticks @ curr-track-start @ - ( -- index ) -: :track create here 1 notestate ! does> voice @ track ! ; userword -: ;track %loop 0 notestate ! ; userword + ( call instrument word if start of track ) + dup not if r@ cell + @ execute then ( index -- index ) + + ( call "tick" word ) + dup r@ @ execute ( index -- index ) + + 2 cells + r@ + ub@ ( index -- note ) + dup 0xf0 < if noteon + else dup 0xfd = if noteoff + else 0xfe = if songticks @ curr-track-start ! track-tick ( loop ) + then then then + then rdrop ; + +: pad-track ( start end -- ) + swap - beatcount @ mod ( s e -- cpad ) + dup if 0 for % next else drop then ; + +: :track create ' drop , ' noop , here 1 notestate ! does> + beat vtrack ! songticks @ curr-track-start ! ; userword + +: ;track here pad-track %loop 0 notestate ! ; userword : shush 0 voice @ track ! %- ; userword : prev-name ( wordname -- wordname ) @@ -198,6 +217,9 @@ array tracks 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 'name :track type bl swap type bl begin dup ub@ emit-cmd while 1 + repeat drop ; userword +: emit-inst ( pinst -- ) + 11 -1 for dup i + ub@ . next drop s" instrument XXX" type cr ; + ( T E X T ) : setattr-to ( w -- ) 0 for attremit next ; @@ -242,7 +264,7 @@ var tempo userword 1 tempo ! 1 songticks +! songticks @ tempo @ mod 0 = if voice @ - 0 10 for i voice ! i track-tick next + 0 10 for i voice ! track-tick next voice ! then ; @@ -329,10 +351,11 @@ var menuw defer onselect : menu-at ( cp x y w -- ) - :| menuw ! texty ! dup textx ! textleft ! ' emit-direct task-emit ! + :| menuw ! texty ! dup textx ! textleft ! + ' emit-direct task-emit ! 0 task-echo ! 0 menuscroll ! 0 menuy ! execute ' noop ' onselect redefine |; - 0 textleft task-emit preserving ; + 0 textleft task-emit task-echo preserving ; : menu-lines ( -- count ) 24 texty @ - ; : menu-skip menuscroll @ 0 max ; @@ -424,8 +447,6 @@ wordchain opbits 0 0x03 bitfield @wave opbits ' opbits endwordchain -array instreg ' ar-wave , ' ar-sr , ' ar-ad , ' ar-level , ' ar-flags , - : c+op current op @ not if 5 + then ; : count-links 0 swap links each swap 1 + swap more ; @@ -488,7 +509,13 @@ algbits count-links const #algbits :noname + s" jopl.log" open seekend fdeactivate ' LOGFILE redefine + REPL start-repl + 9 -1 for i voice ! default loadinst next startt2 ' emit-direct task-emit ! ; ' onload redefine + +2 %O +:track bassline C % % C % % % G % % % G % % G % % C % % C % % % G 8 %% ;track diff --git a/lev00001.jim b/lev00001.jim index 8dd1ee3752a51b281f551368791dd1d28c5c374b..7e5e12a2c66ca03ec9ce6594c11dfbcde1d24be5 100755 GIT binary patch delta 741 zcmZXSUr1AN6vvOd`{fKKOD?7$ahEbJ@V2XwN%;rTa8TQjQddIzcjs1m&b`~U^r0pM zlEK2dkOdJH5kWmgZxINr)_b2!`12=N3fWr{6uF@ArGo@9^8Ie(B1$ zc%=Zor4A2X7KvLra-k`@L4p@X`F8he@csVD^ zN7AA^$IC_hj9>8!2MGb*ZtLe@9hPw&H*rG*b#Snn5{_sd45*=cauZJy^>R`aq9Bt( z?bO0SLV$aQF!X~5O4v=usfQRO^_h&tS?`2k01v0ub(XV!C>cMP6>lhCOPXvO4f-^2S zYS?R4O--^^!bqDMnQdb((Lk#m=dDEiZNuK{==I6kv&_G<^qB*6mtP^pzHdvv8TPzG zbIF?U^_cb>#}E(x-?wE7!8OxvmJU?ZpG^CVG*J23H0>vn_pq$_&x@8%`Qt0k6lS#$ aW;L+pYvhyunK;lWmeH9Fvmv}3DzM){6xuid delta 688 zcmZXRO=uHQ6oqeR`kJ&z$U=gJ(oRHEE0|8QQBjJBi(0H5i`a@O$t0b*Z^oLW$pq^v z6+!$VM3_R|2#O*u3Lz*+5J7hmUAidLjVl*LXsOg@O$V5Oa01{VDq>xGX8nRn#MKzs9jCwhw=z=@2`gTZh(3^nzrsKOj$Ort4UvZh5h-elCPJtgP_#J=YIx?6x<}63Bfdnyt z#~?um5AZI|Am3s?8#xd&@8$b>lrQ>kx9c{d$!0n2DZ|f-EoIXE zqmGiv8fn_kYP`h$&Y0|+rD_Fj(ia!G4vTV2d{n=YG?ep3!BJ9T#oU<5(y#a;;3w|x zw(ava4{O}*lX`k;Y6W-tPmK2-VqPkX_+p}#szxk#LK+Iy)P>}~_ik8Q_*~3uvZoE} z6U%)gMMN>>)-CskG%Sk$&%LzCaME@s<-wNwj_sD^Gp$3_c30%!v6|YQqAO##?P<=W cF&}8G6Uw2GnDo!YgWdGu-)xNm-Wx8l-~VXc>Hq)$ diff --git a/lev00001.jor b/lev00001.jor index 1c3bdc4..a1319bc 100755 --- a/lev00001.jor +++ b/lev00001.jor @@ -1,6 +1,10 @@ ( L E V E L 0 0 0 0 1 ) +202 13 128 0 17 244 0 39 201 241 18 0 instrument quake +: sfx-quake quake 0 loadsfx %D ; + : intro + sfx-quake 30 sleep 1 quaking ! 30 sleep @@ -8,6 +12,7 @@ hide-footer 10 sleep 0 quaking ! + noteoff jaye say" That was an earthquake!" ; diff --git a/lev00002.jim b/lev00002.jim index d505077cb598db9af869efe230cb97428a9a092d..a4ccca27ea08e35ec88ede150cf7a3c0bb5bba5c 100755 GIT binary patch literal 1123 zcmX|yu-xFvU7*35_$AhbhmKR}>KfSrcVIq}{Q}8}9zG_}H$AW$OR5=a;8e~ebX+F&+AH*PmCoqK_m=B%oa!`QK8AQB-1DvU+_-nku zOYYT<2WZB(@H*bdJM@iCGC9Ntke9{BIET+TQcLMg{J=||i=EDrX9*W@6~E@vJV={# z!78la5B!509I2snhb)k^vKFY@XK=9BpW36$M9F+ZBj31O8nWanj%V9Y#M=3IpBlf82V&J`)k`Lu{ zj&L#O60*=IUdVa*Do3~hhs?q;@lh_zr5xd=9r6xti#7RMuIC6J*(Q=+qbWS9NNrQx z0T0Y3bez1aVvnj&`xLzbZrbeS({xd!NY<&aI?8}MvjNbEpNN<`tt&(fascH06vJv!uYkf>tDIXqFytrFBa(Vrt=t8HyT)9?5tw*p-ikr51P70zzT*etv%WnPnzwf zrMGIqFhwJ#6%Sg``2T>Fv6`t=#0W*gx?yR}K{MH;>xLHBW6`)>cs@Pmo%B_Rn0Gty W|9e?g`^AGXZvpKJX?L7R!(s&4OOhm5 zNj?bTgD^;_hw#s1LQ)S=Sq}w8fkoj%5MfD#FBx^tZubrbzu)(BzUQ7lztmJs-|U5q z>MmSQFQ;7)fu8d5_;m&JTTd6j`NMFa{99r^QUGHxM`9@!A<1=)JP5C#0)4oX<$6cX zz#7zID>ks);K;QU-Hs-nWci3A`ziZb?86kxjgB0J3|zu%IKc8zN6x_@+`>s5W4XzZ z$G{JFa1QUX-0a9n&|m?d;v%}KomxlNDEu{k!nYiLndJRRZWHL6ZupApxJn?)prY3T zN%(~YqEr+KH}q1b``#{5DGH#MgT_-FrREZ+Mm0192#Dln79a2>cxG)>6!3-W# z?dmuKuFD4CdV+>Zs%{2cmJKxci2Z6nO?Zb3OMD}4JMncSXAxR=~%Pj%mix*^X? z71Rwg6b_i7NLVxVSQni;;~_%}hK#mIIIOpsdJrDea_}D&?bHK?t`RT;ZKl=}IUS1| zJ%*`wX@MYFLxvd(n333jLsg&IL8(IFwop(Hn_5S}h@a5)uoly!k(iZuJT>Z>@NT4| Zp3T7j+df}x*S@Hym~JI>YoXhy=O4sDIkEr% diff --git a/lev00003.jim b/lev00003.jim index c5ab01bbbb46f9e89944329dc5d318cdc41f0386..d41a474a6d42886ed6c84d13ab151166139a47e3 100755 GIT binary patch literal 2333 zcmaJ?U5pb|6uz(>c8MgciDKZzyAc+a)Mgh_ndnMk9V)KPm(XmCHH;zio1@?PXv~z0(8T@IDE|gc*in)FUOXo&%nmV z2&Wx%^#(+E*S+T6alZ#(9)WXJ1e)-C<^Jma<^B#pd4ha6e1J6YRHROzwlVk&5 z!#DF`1Teua@DXJ47~jTs@i9I?j)3*fO+WFj+Z-9^lRU$xz{EZVz=f#P{ZMF(9O8_d z0Qd-WGt2={<}Lm_4|$B_*)fD(Yc0kH2qii4GJl<)<%6WsaLRQi$i?9e{GHLQJ95%S zGCH~>y~j6_sweCx9UchJ4$I62djh=0SatNJ0baT_aGQ_Bjttxys7Oa!($H-_7E?DL zfwv!;dv>3a9{1A4tgO*oUMVQrv|=U|Lzy;|Bza`w6W)E0r+JgK%ajWRwP47=rE0;< zE6)_wd_+gu381MnJ*Hadxi!pOMv)5&g&;XyL*M7e_a^)P7r^k6SE^Y74QecrNC1v! zUwEodea~ecXVl>c(truq;Z|c`kMrYdUU#DbWG6A3zX43;6~$1sR3YBY3P6OmG$*N% z1{?U(l%he~&dK0)AC52&gs-`JPTGWzCo+g#TL9?jIQyGOCI?d{{3b^T(@g3Mq z!;I$iB6LumPDADjEtFJaI&DrVX;n)ihAr8f%t;bR<4^a+RheKeE8s$rr6k1X<8QK*=lu<#CoON5#0*+jg zRqQyTd74%-xp>s#DB{_LmD-Z@4d_;Y*dL_ZVk$n8d!Bk zy)ZCQ-n43od8^9y;RKO>P3Sd9x-&vEEI*9tPPEo{mwv(Ou>02i46OT2 z(QjKSkcMuGvDn##R}Rl%GyF6Imnpa}_C?J&0QRWMoV1SMcX8jH{S`^}Q7}*Yh{mbq zqJkTijamDQVT;hllu`lmPCSTbPFoxesOz<%?3&|KoB4Gt6B9b;_sR=Ir@Qrd`hlOI z(PNIl2hOAW0FfI$o~(ZEL4NTy4_D3h_;$QR9A1aFvc>yr_h_KfI%7@h!!L)!tJu*1 zE*!JmU?2oI5Z=5O^yx~FX0+jXb)PmIm=s(*WiM>lX2Yoj6a*DI4I8YGKU-OnJ{N=C zk%Z0OK&tNbL#L!SMbN)4cZb;yZLlgmYWcM3 zaL()m#Qjg-XcM$)@eV!8oN6tg9tQzpwdlGSrkMb3G`ixfu|_k>ENmj<{P<#QrjEZp z_op@0mWE2fSPWJ3LTJ=1UXN}?^mrvqMw4?H51jjA{S!uWgbDP5R3WG(yb!k4shB9P z2!bWyR@Y*DLJj+Rgusjcu-$s`Yb>N2?S7`&hy}kN22yfTnZAtnU DIn=Bn literal 2333 zcmaJ?U1%It6ds$MB-KhHLZL$K4XH^}*O;`$RBO^sveVsZcW1V{lg6|I>FmzkJCpfa zXJ*r`B2)sRV$_FVK`Ph>U!+(CAG8lDh^X~N2)1YoT70vuKQBe9i091grY&N3c3|)M z&j0z&-O5|PyJzT6?tN>o*DluX;uLOn{j#>xf;Wi-+Q2GAjPqW4~QaLZp6}e63u-R{RaW%)P+BD!!^qyk- z2EHCF@;%%)4=wRenmruz1LG0Pivr(hRH*^>9O%7}S~u`g2Y=vPhhz4o<~q)G)cAEa z-|d(~sYf@=!O5P#v~7|9(9BI21ep{|Vp)`@L@gt#;*=_8xQ|D2X7Zrk&*lV4G=*|m zDystM5~-|}!~@e(DON|dUTcC#ds~`Px#d>Xig{5eiv)rc6&ZbxjjW8f{r7BNP0 zj(Prei?6Iw!tzj@nqL@A6N#_}4a0U#kIhezyqLwXMM;*$44IZQVu@tL@_ubv7AEr| zQ58~94vOF=DT9H{6wGK=nT8GuQ#r_7B;^@NoyuvGVos7Xh+#`s#)~`;)OeAlS80N| zEQ1S)sM95kD5*q|SG|7JV{6p zXH-^VXGtqM?Fk~x2oiQ2(Gtmt`C>Y5aU8MVSgtJbPXTWOAp4zoyV-8@R&x06&Gt|V zlL+jBGATimO3I|7N>k82N!6r`D67)m**Iib%khYFg>W~jPAw>qI%X*Oh~%fNAfg63)l=R!el#73yD^TjC2&S2B`Dy)}@(YsJzc|GnS7iMPXOYW%E+Jsb0cTrNjsMNu?aQAt)P zO$u32lZa3N>8b#nBO7Ksyc+2O4dPygdNZ9c8t~+r$GKm1+jIZb!)7gdLJ&`jn2jK6 zUzcBbg(h(*BS-a+)Gg1W#xTVFPv1x#xT$+ha+F%kjEL_60kK+i{fn2Q0dT`f$Z1li z9%t65qsAB{b7v*0m1?=cDe!rNj)8KpxRlw=Zo;tqAqHfq&f?}I&ecnUT=@QAC*s!wCF zN&gs;pE4{L{Yl8-r;Nx$=pue0DsUs8umV~eK^xxCQ(u0&kYVc~j8WhEW!AkA z8F_~-QlGwR7N<6$tgQ2PJ~Z5sp=DO45~=0H^tf<^YPBtP>wcCdk%gaHk^CaFTPP^2 z5uKCu2?d0?X=G!T+OH?-tbI)pS>o)9oXj)v`t%qt$pbp#{)MjO2BqPZ1_}H&+>%dh i8++={eobLET*Pg7=OHv&HF7%Vq0uU6xYYW=!Tkb;qL+XG literal 517 zcmYeAYs1ay^V{zyqrC4V4^D=h)Uwo^w9K4T1}!lLWFYU$#Q+pWmbLNaV@S=-EYU>> zPZwxo@#H9APGjx!_4ZX{(e>3~_G4k?@b)!g`OS_HiD8}KJBOv0)!&zs!Jr^9r64CU zIhA3$z(kwRAi zi06xol7U*ASxx-(vhs@<-T~!g{Gf8Vi3MP}06#qt6C`Kh$Ig(NmjYHBDP}Gd;THlF z@o^1{clC2&U=;iRKMklG#19Ph3;_!K`(NhA%aB}JRFs+r4LWdGxBKxiEN#HBYXpYO3BNWLSHB%LZ7fB8ok0FAzd0-kele_f{51Vod3#ys`f)K7 pCzhqcwa@fZ1ZwEF>1BNYbOcB$Juw#)&atL1SV59;Y+rx@2LOI}m9PK+ diff --git a/map.jim b/map.jim index 5224eae3dcaede02210dceefd48e50cddaeea25d..58b6a379bf4acd064355666581d5516ee3868c0b 100755 GIT binary patch literal 1160 zcmYLHO>7%g5FTge?XK6|q)|$iiXI?Dtw8pnA_q`|cHgdDHEL>Gj;jV7D!K8xU9rV! z*J;I{_!B*`h#aC`!lgp^hEz~{u_`VBda(-X1%wb%FZ95X1H!84%zE8iRx{uG_M7j0 zZ|3(e=87->;k}19?1F7THwgX65B>Enyf_PR!=8lTtt-tiXf?Zj;bL%Mt#-{^@Wm{qfUb#oE#J@m0H1DuB?=bgk|CW7^_rEvL@Jzv zAz2%$#!!11GN>!`~_NOL8BDw*DqRs^1E_M7e1{hyA%Dvu*L66#9blV^V)l zbzT{23)5T9q3N6U3%EG{#(Z1+DVhJDopZ`~*FHIaiLghKpE^uNF|&u;Vq3hc$Knf_ zgZ0kF+dMAv&(pL%hUTH^hB=^3;63Q!?vv_UoYG?PzcezJ{U~^6ym>vGvG}(wr7d1} zg}#ex;+(sSY<8&i@fr?rgU&v5nKi&EIve08Q){B-?%;2@Lxy;FUviP7xteZbEIu0n z7ZTvM8H+Dn13K+?%|sW1_L%dvyM@N&g3{-Er**>& zO=0!$j?37ha>s2X{lDfI;VLvgBJEeaLBioI_NrZ)ymz$^ygt5faz3LN0&knVur`0! z#3uC%NzdQ$^=)r-{T+(nt{sc}uAYgSSH`(MulDevm?4{I)wAl1#SikaI<3Yc_Vi5H zX|~c7nE0#MR5#VoWYXvAoW-=;L~93On9_zCYwVdmP~=)z1I#PsC#L>MO|hZJNOC3H literal 1160 zcmYLHPiPc(6n>j|zuDP|qlV~CMK2~LZDmtvS!Di|vTjxl#@%JJl1M^uo6P9y=muw_ z)V2pL<`9^I1qsshB)FnI1@U0;wiYjYDTONa;!RJA6fET8d$Y6VGQ9WwzWLtw`+o1c z-<|%0d;fBN#8qR+P@!4(-N5zT`6e7l1FRa`p?={~&95)in(pZN+9Is(9Mp&OP~0;# zINw+b+{=xN{=#A-pp&ok)$|`Dp?G4Xx@Rm$_&+UF6(|-?RAZnI_M0+PP8{lgIWrXrdw%V75c%#) zC@KIdDOCjo6o6Eys#-Raa6C6%9gha>fh#1G&sEBWDhWxjLUZ$_*{(qv(buoOJ)VWo1R7-1^BFjbhG8n5P$#=`yZ zmMr%mmfi-ErNCr9SBxpUV7HZw0VeE*5h7Fy)6=8n5|7g1AQ8&BvG|8i;D{x6d*<(f zDdN+EaVXzX{`ny_~kKeZo?VrC0(ikspGB^1}K zewc48e$V3q_cTr0KwsN8Fr#&76L=3=*#20p1|#M2X+4KhUAHo zEtEFSiYdE|Y<4rbfy>yzMLJuunbkq0vkv~eV^*BB*YG*6ks;pQ&u!#rF2|b~imP4V zOawgCLh-AuLc{X{w;3<}GHxb$Y@38;#h*6s?QJ`i2+q{K9_Kgv2CCb$(guxLiR&57 z*M#1}b(=9qTDNDS{(r59aOG=PN&8Eu6LC0;t*T9vx31Q7Ht;8n^XbMg=d6$y*5>c5 zI7@vt>iOHde%9$;e~lt|Y=q*ett5ilrCzSXatmLHL9#g~&&h*2KgczCKn}$N!+8e67Q-*7GT4rZj{M^mq3Q*7u1T*@I_ diff --git a/neuttowr.exe b/neuttowr.exe index e7d5b6875776a9117411ba1f1ba9852273c6ee02..d34b68a986684b47ef1229a67fc8277b8e3e5b0b 100755 GIT binary patch delta 27185 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 delta 25905 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 diff --git a/neuttowr.prj b/neuttowr.prj index b5277a5c086640cf687386b07db925c006c0fbce..ecf67a7e10426f5da4cf01e3e899c8fe849bb6d5 100755 GIT binary patch delta 296 zcmbQCJ41JaIvaCF$fV6$Y!w{LNfy16m-3~v3NXB1(>+;`|1zrvLu$yR$uIfOGjdJd zDKN1=@Oy?M9F`5BI7#KttR2a-cCIzrFC~(Axaezr>Fv$WYxxu6on3M&R z(qNKx@<~BMmg{vr0h9j;wm5-|2yqP#adLIha|RmA!63vClGy?^7Gjhj!-|ZSfdBvb z8z+Mpf(!x-9SrOY|3MsYr^!0PT3jIW{{N2=)6<(gLC9qC4|1zrz!>y#Q$uIfOGcrux zDKN4A|NmFa=NQ{rE--&()?zu#9L(~7A)e(ggE@;dV-#~bvn-1MizQl!oa{F!l2Bc7|{{H&Y-{%BgO$HmB1tmnB)eNvS3mg zOiF@D*2yOY4Oyn-O!b@mPq2j#WJHK-aEOzui=H#Xd+w1g1=wxmqQ diff --git a/save.sav b/save.sav index ac7ac5f062661bdd3e9555ae3ad0b768fb7f9bd9..5407bf3ddf8b5ca61b411342fe54921a2bbb0ec2 100755 GIT binary patch literal 2 JcmZQ#0000600RI3 literal 2 JcmZQ$0000E00#g7 diff --git a/sound.jim b/sound.jim new file mode 100755 index 0000000000000000000000000000000000000000..9770fa9ce8d43299d69515721ba9670c9fb4dad4 GIT binary patch literal 1674 zcmd^9-)kII6uvX}o|(xeH3QnT62%15O5#SaJ3n^QVp6kBC=@zSL=6GmZe}-2Hapwd zZBp_e#y~I+1A-5$B2tRlHxXdzlCV$q;J7}WZpwD=~nSfvnbJm=0>Tkt<{m&=^< zecwIj+;h*&fO()ZpB)`}PHSgA$N*aiDn*|S^)S}Xs4S>Ub33yG&EdsLb9Oiuw9Ktc zzgQI>09)oIuq?9DoDfwa6A6;$n$<7TJc5)37$x+}tYtpXy#XG~T4UW291{0g5qOpn zC%;{=mIx>rg{YyZ5Du5Bg>r*E-7{(gIiK`Hc4NZ|CJF;EMdv}4VBPq#UqV;`Qv1I{#SP(-j> zVvi!WrN>Cx)>t(t%wP*!=FispuCH-j#PvR|)3_pd3?-qTNG^yC?47_K?w1z7WvPh; z2630fesS22pkSw1rPgSMC+GcI6LT2Y(*OEL@P=*3Qb>-%)#TpN+_I~7A1)74GDlmM zbs5W|;|Db<_F$V`;i|p9%L9Y`#p%#j_*r?;*ZEcS``A@}H}VnOuyutR6_iT2cT11a zjMKpy{(Pkw)cghw)YzBfo0Gjq&UnESFHBu~=2id9Tu1oLsl$$7vdvVZ2VE?W!3}mq zChNjypYf!V=KaWhq?{G^V&6|Vn%p959d(u*?nLmW14_M6s}!*Y4>}m0VEY0ddPCH4 zRDX4-)mxcCG3s1GYo&V{zH(j{-($FsFjp&n4x@<2~ud$`#!!#4XmOLP*V*p7uHg|8o})$_-F%3#^&3nmHxXS5;?KgO<0;%4XM4mwS%b|4 zL6}5g?N_+Ml;4(DQ(iB-<5$m3Wq-)t0sRl1p)6;|CZ1wSPd-Z{TF>b_BlvOWK6M)H z2&Qtnd|?} if 5 + then + dup 2 > if 5 + then + + op @ + ; +: opreg create b, does> ub@ op-with-voice ; +: voicereg create b, does> ub@ voice @ + ; + +0x20 opreg ar-flags +0x40 opreg ar-level +0x60 opreg ar-ad +0x80 opreg ar-sr +0xe0 opreg ar-wave +0xc0 voicereg ar-alg + +0xa0 voicereg ar-freq +0xb0 voicereg ar-note + +: op2 3 op ! ; +: op1 0 op ! ; +: loadop ( flags level ad sr wave -- ) + ar-wave adlib! + ar-sr adlib! + ar-ad adlib! + ar-level adlib! + ar-flags adlib! ; + +: readop ( v -- ) + >r r@ 4 + b@ r@ 3 + b@ r@ 2 + b@ r@ 1 + b@ > 0x03 & swap 2 << | 0x20 | ar-note adlib! ; +: noteoff ( -- ) 0 ar-note adlib! ; userword + +array semitones +3520 3520 />ratio , +3729 3520 />ratio , +3951 3520 />ratio , +4186 3520 />ratio , +4435 3520 />ratio , +4699 3520 />ratio , +4978 3520 />ratio , +5274 3520 />ratio , +5588 3520 />ratio , +5920 3520 />ratio , +6272 3520 />ratio , +6645 3520 />ratio , + +: note dup 12 / 8 % swap 12 % cells semitones + @ 440 swap * ub@ oct+ noteon ; + +11 mknote %G# userword +10 mknote %G userword +9 mknote %F# userword +8 mknote %F userword +7 mknote %E userword +6 mknote %D# userword +5 mknote %D userword +4 mknote %C# userword +3 mknote %C userword +2 mknote %B userword +1 mknote %A# userword +0 mknote %A userword + +202 14 24 0 244 2 3 16 3 52 119 1 instrument garbinst +202 1 4 0 248 190 0 0 39 214 79 0 instrument bink +202 4 37 0 67 52 3 1 80 54 119 0 instrument zoop +202 10 134 129 239 1 0 1 3 152 241 0 instrument doorinst + +task const SFX +SFX :noname activate begin receive execute again ; execute + +: loadsfx ( inst oct -- ) octave ! loadinst ; +: sfx-garbage garbinst 4 loadsfx %C ; +: sfx-bink bink 6 loadsfx %C ; +: sfx-confirm bink 6 loadsfx %C rest %E rest %C rest %G rest ; +: sfx-zoop zoop 5 loadsfx %C ; +: sfx-dooropen :| doorinst 4 loadsfx %C rest %E |; SFX send ; +: sfx-doorclose :| doorinst 4 loadsfx %E rest %C |; SFX send ; \ No newline at end of file diff --git a/state.jim b/state.jim index 98ce09ee18d0a484970b5591a8aef779728b3daa..6e16d389963e7dcf55d9bf193545b6a9d5c8ebe2 100755 GIT binary patch literal 271 zcmY!pu;F&G_~F9LDCct5nUgUf$lqNz%+ocTfl-WsLC%GX!Oh3fUDw$^)Gq`m#K>Ua z!pe}AlbBx2pe4rO?7{)zl;o!|Oc!Wl31H=5aAEd!(P3T=X8SO+ax7>0!raRm;KB}3 znx+U;8S7%m*UMV%!paCT%K=0n zmX#qbCo#R4K}(Fm!j=QVDalV`m@d%962QvA;KJ-=tHZn;%=Tes@(J5<_OezSx4TY&sI zKsHEhIgr)M+6vTUSCm+inGe)7k!3l{1fT>rP+}KQ!UiTG2^6>tQJI&X3RY>t+{^j| zq6Q|U0~GqM!pe}7T2xR3RJ5Dry~+`mdnzDtE>(zl9$b7AiwW~l6%o~5RwY#yupXe) z2{CVFh@hP+Cqqe5W_o&RQECcMrj2Dciy{k19^$n|)j2FjSd3U$Ibv8lf$TXfH-R4O zWeo-zmX}|y2sUgvizd+J-Krc6i791?dC93D;Wnr_Z7iFB`g>XDsj@TV=9i`FmVm+l zVox;h39%`>?y6^j25e$!V>t`dQveLW&#KY9_Q2q~s(KS>BLw!c?p5VuC@#s&$wOScEx?ybBQ==1+TpBLw(rWSz3a(IQ*(pW9jK!#|kfeh$n1pt}Ff>{6n literal 453 zcmX|-&r1S96vrogla_3B5~7nb6C@cD)=BaZ{Sl!NtB%XYxGw9W(KT4;Fo!@WV!H*N zBJdL8DG>4^ojr8w+QDPcrMJ5lb9wXmzW04Ust?8F!R9L;E@jy&TP8KBH|;#RU6@;pxvz24ESnh3DB z@bO@P^@<+xIBB*zBIgD-i29VZNvfxPu_+o1z=J8)*m%G@Ue-!@zDqvCj?q)J%GXHS oHKojTb<;I1qZD?ZXP$8LM@~sw3Soy#YA?J&KX_pB9*(W(FXtSC!vFvP diff --git a/title.jim b/title.jim index 77e686435d12b3a07e0a9079011c5853cb9adca7..2e784e4e23ee502b9488c65bc3b8bda1fbe09bdd 100755 GIT binary patch literal 1248 zcmYjQU1$_n6ux%u$&QIOHeQ7Fs?j22hICsuH=R4mBq#-CStJdsFPo|Ul%*Ysv^o5q#*CvK=%6-!Vxb zr-E{+A`yN8p?%qQI_)e|FjwdtU8Cd1Fg$XUKJEO1_pmh&E6xIaLKo2Dfl2yxss*e& z=uZXyI41JoF7aRu)YfONZeH7fjWP_{_t%7!biU zf_2|&2v)#3g#PMIW37ylhdT&TutnD-{&-OGD}y5%=s`1yd*(sgJ1v6WFk4Yp0$D}S zJe|douZ<&y0xl!7SLlwjpxc98gs=#9Gn3Q`6Ecej`6_vAr_I_~vo;Nt<%BGg!$}0P z7E+Z%)xxAbCM$Jv)B0GPX4^?^)StBV18mJKgc+u<j?!t#80TI9xO9;b$Cx9 zD3tvX%=tA2gy8XFY{|+gNq$OQO~r&1TJkUJr2vBy$!^QDB6xtk&@5{bcOZ~Mx@$gf zimhjL!?)o!crZXR20oi_C7bP3gYp+!L&ByQhClf{o#APE5trb1e#OqiAN(nvk2$wr z*lHHP<7zHHWpf+2|F{ROBoF`dljh%g)VeL4AFdWAf`;`}M|!XaNjIaIC@0A0?h=pS zd%m6E8;kY^`At6O#3E+cDAPF;$Bkyj1by# z4eQ$e&yvINN(k{>Yevq4H*Z$O-UG_sngerH%xTZwTp}5P2X3S#alGn;ah}Y) z@h6J}G9WSV1PM9_(}h{oLTwibgwhrlNjGg`w2(rjyHK)lkrrA(u=zRnj(>~u-Z}St z=bZ1Hdv4#CUA4S97Qaj9>`QhP@zZ`rrbx-$u%dJe#f9UfE7TrZq_b#kN5I&yI%xoN zwn2P3?q||jiEyhUN;j-Fx?ta=_@211g7Q0AvjeDiv~xJ!ububN(SmYcJ5N@eeV(tK%R7|mViGIq+m}SgLor;+ROG0YM=`>q%t!Xns>ASHZfaD zW__7M&Hi^2t%zfgf@)B92~QF00W;{TVqb zGvq{skQA#WIoY2}j#tFbbhM1E_SLzT3!e>J2c)bWqy zSWAyeS%fBDGQs!(f!*jj&Oh|BemYx_B*&sS%Co!(XAq(+1xmmcTox z<`?|aLfS_&9O*V)Gk|}vJ6$&~ajSjVujeqtt171xdW45@zg_s8w1)z?&a27(fYjB$ zW-CbH9Wel_e1=}*Q96Zd{R{uVO2A`&6TiRl=k2q2J2P~Ot4%x4Ciigvau<$}1Z?t; zj6+QAL${fLZ@GE`0hG*}mWp)YT_jzNVxaVrVP}yCFwg6V9G59;kNiHLyja8x`+Nq4 z+PN#D^H2hkqD;TTDrx-hRy-{#72g*%mDW>UA*&wEZi9Cbybqs7cmNZk_TcmoeU0A| z-!v$4CG#@-0}56DL5{W2`Nr+=PZ4$3MKI$fvnSRX8GsET#2u||2^ZeHc_5axMdM&R o5GS=>9}h