From 9afb6925cd36a84afd4fc3f8fbf3e822a46a8f58 Mon Sep 17 00:00:00 2001 From: Jeremy Penner Date: Sun, 25 Apr 2021 12:12:57 -0400 Subject: [PATCH] FINE I'll implement arrow keys --- 8Bitsy.dsk | Bin 143360 -> 143360 bytes game/player.fnl | 17 +++++++++-------- link/mame.fnl | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/8Bitsy.dsk b/8Bitsy.dsk index 47fa2537ee4e5bddd6de187a0c1fd2c39a75b17c..4b832d86e7f8647453fe0138082e0c06714fb12f 100644 GIT binary patch delta 692 zcmZp8z|ru4V?og5`@xEnf)tZKy1DZxXz-ZuDlnVy{^90xhp=im`P`8tKwN|ps6>F2 z3GZVDkOYYJ70%*hgo!Nyin;SlW@L&{0NSy_wVUTVPdCu6|Nn#drt-?Twef7{m2ya=zUx|E4>uLJ?Yw@I)q=IOR=9rWnF`bx;I@``GEiR51w!kC`P+GC z0u2GFVRV~Z6>LTcY1~-upmFuwxY+UqSr2*43S7Vcm+g1_u^4d~3MC z^sP~X#TBY(sx!zKu=;~Mt9gR>4g&EBKCl4D)t(F{yxa_eu2XsKfm%#>8UAnQoeZ?k zgx3ow!vT_U;Ee=J{bztlc>|?H!J3M}GK_E;U!V*ZSf&?Z93xQA< z6(X?C0M%^gz2qwGu*uEDVLR^)ARp+mle`QJz@WVa3MJkz5OaVw{Br%{y4TGD`mYZ_`>#lk^SZkvF_ZADw}^~{AXlTnfxQmneo(Qn`{Zj cSCd1tZP{12a`JKsKAhYbl-`uHEQj$300lzUuK)l5 delta 698 zcmZp8z|ru4V?oel#URDx3vTW_3K~2nyb8=Fynndgx0wAx+2^OU%D z^XR*+kJ}`efZ-rYM4@k`e*U7Vkjf@3>N~iMfar1Rc^xMw64=4$CjH2U7 zh;w^f-FX()typVtU}3|zh6_yJ8YLzLDb};NLKRMR1{np`(+%{rCqoe5R9-EhtO+l} z|Lwd*K;un#y}+UlVA1~!Fi~%?Xc$t)VG73z7^;fkRAX3gKS<6RK1;dqpP&TL^l(M?Y!H8e4yh_@-i?0BV{L0?Nr{& zP!qTF-gLd~I>*g|52)f6FC$0=$V_DOeuK^X>uTrB$=d^pSAX6_XHbYqxlHB@)zmI= zUCqPj(#EqI=mJItWFEtR7;gs1bqpnwlR|a)_}pdy)mi{uy1?au>*hJ3*O?ekZZ3)V z&Ejatr2kY~e}z&>TZ+WdpHj=4SEWiWI&XXb=p_NgLz<39UpyAQ{KQ`H_8GfX+trV6 zTdLrcW*mCwK>+7_<))KSiE_=GH^jPgGcs@fk@26Ak$LiuEN8}*lWnpk7*9?P&9>!g Vcje^e5D< diff --git a/game/player.fnl b/game/player.fnl index 2513560..2225a3d 100644 --- a/game/player.fnl +++ b/game/player.fnl @@ -3,12 +3,15 @@ (local {: walkable} tile.flag-to-bit) +(vm:word :either= ; target val1 val2 -- f + :>rot :over := :>rot := :|) + (vm:word :movement-dir ; key -- dyx - (vm:case [(string.byte "I") 0xff00] - [(string.byte "J") 0x00ff] - [(string.byte "K") 0x0001] - [(string.byte "M") 0x0100] - [:else 0x0000])) + (vm:ifchain [:dup (string.byte "I") 0x0b :either=] [:drop 0xff00] + [:dup (string.byte "J") 0x08 :either=] [:drop 0x00ff] + [:dup (string.byte "K") 0x15 :either=] [:drop 0x0001] + [:dup (string.byte "M") 0x0a :either=] [:drop 0x0100] + [:drop 0x0000])) (vm:def :yx+ ; yx yx -- yx [:lda vm.TOP :x] @@ -68,9 +71,7 @@ :swap :itile-at :lookup-flags :&) (vm:word :player-key ; key -- - (vm:ifchain - [:movement-dir :dup] - [:try-move-player :load-next-level] + (vm:ifchain [:movement-dir :dup] [:try-move-player :load-next-level] [:drop])) (vm:word :full-redraw :drawmap :player-redraw) diff --git a/link/mame.fnl b/link/mame.fnl index 01e126b..7aad450 100644 --- a/link/mame.fnl +++ b/link/mame.fnl @@ -23,7 +23,7 @@ (set self.breakpoints {})) (fn Machine.boot [self] (when (not self.pid) - (set self.pid (start-mame :apple2p)))) + (set self.pid (start-mame :apple2e)))) (fn Machine.run [self] (self:boot) (self:connect))