From e8b57d8bdeba390cb4719591d9e93f5745d357f6 Mon Sep 17 00:00:00 2001 From: Devine Lu Linvega Date: Sat, 6 Aug 2022 06:35:01 -0700 Subject: [PATCH] Progress on memory management --- etc/sapphire14.uf2 | Bin 0 -> 8448 bytes etc/ss10x10.chr | Bin 4096 -> 4096 bytes src/assets.tal | 5 +++++ src/desktop.tal | 7 ++++++- src/draw.tal | 8 +++++--- src/potato.tal | 29 +++++++++++++++++++---------- 6 files changed, 35 insertions(+), 14 deletions(-) create mode 100644 etc/sapphire14.uf2 diff --git a/etc/sapphire14.uf2 b/etc/sapphire14.uf2 new file mode 100644 index 0000000000000000000000000000000000000000..ed61654fe6b53943a0c0b56a17ae7e712cae1600 GIT binary patch literal 8448 zcmeHJJ#5=X6s9DGKhlY$?ZTlN#-eK1Nr4RK$c>fwN9UwS12lCqW(WdV2ABdZQU(qh zHwh{ZhMU0%G!$)y44yi7=-^R$+j+@HS}E4S-q^2AYgywJ55p ztSU-gmDIeX%5;CzJVAAnmM79XW=EPOU zoLpJ?xWqB<8{QTZ1HpzJNXGfYv1Zuxgbi#SUy5B5NwkTId#IEc*+Yd^@fMEeI$MG- zcqGDENos+9gkj*v0Uz7gu#e6LGp#G1qsr$Y$w0$wp|w@hd?O9^I@FEln)$;rsT-+vwwo(H4Q0Pu?$EweZ^hGIMuVK|eM z3nSyLoSe&qJiNhu9*6Y>`^+a(34O?pLw(2}``-QK)N8}Gpv`f^Tp)} z-I!luxZQPs!x(ol9GW)0JaxHPR5N2|t}y)a#kp(kt-Vd9?K3Q@!;|+MXWG)aeQ&4d z0wF40&QpB|j}q$l4lEih6zZ4j&2{zEsgZ2iX7<__?`$f@fgtv}49mJ%fg1)FZ227x z@#|N=jFY{$osP$7fv zsb&^F3wWEv6M*J^CZ~_&viR`^$p7{FTANiA;xYMX|8;&pVE^9QbDPx6c9M^sj}qbe zEI7YnmW*2KM<&1i>W}^1{oUO+uhtpHYcH(Pks)L5#s7~X&X&mUfZe>2&G z9up9eh32l){NVdHcsVky?Y(1po24g)AaVO5Ivwa|*~H~HU#~!G{vG76QM;|l<*Wz` zF#h5l5z-6F;WO$DIDc$?eS}_iRt`<`c@LqkAh5jEvtqfv$mE5mJ>vOL!FKrm*VxyE zc279p*R$&@C5j)F@H)Zw_6fTUv^!p3u`cvk91Igh1jJzbg54nYU=7C1FHMf#a~@Ta zVjhReO?-Z4wpx7{_%kWQkh$;x;|BwHw`Pq&e#Z3!%aJ8>Vf8|7kbZF#A3!}CXdkQ$ z&pZbEvqN_48Mn!E!(;1&`(M2@oQYP94dAP6)Le|+0sDtbla)1EfO3^Pn=!>;$nBq> zTb&L60C6JBPvBV_WFMs2{$u)QX^Ky88{uO8JY>(|_ZNiF=v~Lzr#Jfe#`LR?e#d7? zOu&oA=7rU2b#>+xFAy*tQo(z8W^F3z|4;yAq0N2UtSiR+4UV{aRG$^&U*k7aeaPY$ z>hrh9UxvNBLi6XlSbPF16lgSQe$9TwG4wXx#_qNqVkiN6VF=$0@m9wZygi?UI9k8X zKY_vdJueU#yGWn_SiJthoZW!}5EVGh#MsA!{$7GOgr7Zuwf-0U0Yx%GrrS?&Jhvn# z3F0NNc0c|Tgjy&5ONgc*^+4)@)B~vpQV*maNIj5xAoW1%fz$)32T~8D9{8Vn;2(2* BXp8^= literal 0 HcmV?d00001 diff --git a/etc/ss10x10.chr b/etc/ss10x10.chr index c4167bbc931f1ed9d9b6470f3918a2e6f1ffb21a..607ffbb0e114ccdf8af2de4b3c66dc34573a4d37 100644 GIT binary patch delta 83 pcmZorXi!+dXb%Jb(Ev;wovz;xfl%d>8(Bmr3ozzvKEUX}2LSs ) +@mem-req ( len* -- ) - ( TODO: check for space ) - .bounds LDZ2 ADD2 .bounds STZ2 - ;mem + ( ptr ) ;mem .bounds LDZ2 ADD2 BUG2k + ( update ) SWP2 .bounds LDZ2 ADD2 .bounds STZ2 + +JMP2r + +@mem-rel ( ptr* len* -- ) + + ( update bound ) + .bounds LDZ2 OVR2 SUB2 .bounds STZ2 + + BUG2 BUG2 JMP2r @mem-type ( addr* -- type ) DUP2 ;mem LTH2 ,&static JCN - DUP2 ;mem .bounds LDZ2 ADD2 LTH2 ,&dynamic JCN - - .length LDZ #00 EQU ,&free JCN - POP2 #03 + ( DUP2 ;mem .bounds LDZ2 ADD2 LTH2 ,&dynamic JCN ) + ( free ) POP2 #02 JMP2r - &static POP2 #02 JMP2r + &static POP2 #00 JMP2r &dynamic POP2 #01 JMP2r - &free POP2 #01 JMP2r + &selected POP2 #02 JMP2r ( directory operations )