<solrize>
cc-by for the paper maybe but it looks like they didn't release the VM code! i emailed the guy
<solrize>
i'm trying to port this avr-gcc program to sdcc and sdcc barfs at an awful lot of gcc features
pabs3 has quit [Quit: Don't rest until all the world is paved in moss and greenery.]
vagrantc has joined #riscv
pabs3 has joined #riscv
peepsalot has quit [Read error: Connection reset by peer]
peepsalot has joined #riscv
jtdowney has quit [Quit: Bye]
jtdowney has joined #riscv
mahmutov_ has quit [Ping timeout: 268 seconds]
<dh`>
this is why even in the embedded world you shouldn't write compiler-specific code without a good reason
<dh`>
I mean, good reason is not hard to come by, but I feel like lots of people don't even spend ten seconds thinking
zjason has joined #riscv
aburgess_ has quit [*.net *.split]
Noisytoot has quit [*.net *.split]
cwebber has quit [*.net *.split]
mwbrown has quit [*.net *.split]
khem has quit [*.net *.split]
CarlosEDP has quit [*.net *.split]
geertu has quit [*.net *.split]
enthusi has quit [*.net *.split]
oaken-source has quit [*.net *.split]
mifr has quit [*.net *.split]
xypron has quit [*.net *.split]
crest_ has quit [*.net *.split]
ats has quit [*.net *.split]
rah has quit [*.net *.split]
wigyori has quit [*.net *.split]
aburgess_ has joined #riscv
khem has joined #riscv
cwebber has joined #riscv
mwbrown has joined #riscv
CarlosEDP has joined #riscv
crest_ has joined #riscv
oaken-source has joined #riscv
xypron has joined #riscv
ats has joined #riscv
rah has joined #riscv
mifr has joined #riscv
wigyori has joined #riscv
geertu has joined #riscv
enthusi has joined #riscv
nmeum has quit [Remote host closed the connection]
Noisytoot has joined #riscv
GenTooMan has quit [*.net *.split]
freakazoid333 has quit [*.net *.split]
khilman has quit [*.net *.split]
solrize has quit [*.net *.split]
paddymahoney has quit [*.net *.split]
elastic_dog has quit [*.net *.split]
leah2 has quit [*.net *.split]
pavelow has quit [*.net *.split]
leah2 has joined #riscv
freakazoid333 has joined #riscv
elastic_dog has joined #riscv
paddymahoney has joined #riscv
GenTooMan has joined #riscv
khilman has joined #riscv
pavelow has joined #riscv
solrize has joined #riscv
nmeum has joined #riscv
elastic_dog has quit [Max SendQ exceeded]
nmeum has quit [Remote host closed the connection]
CarlosEDP has quit [Ping timeout: 272 seconds]
psydroid has quit [Ping timeout: 252 seconds]
nmeum has joined #riscv
EmanuelLoos[m] has quit [Ping timeout: 276 seconds]
khem has quit [Ping timeout: 272 seconds]
pierce has quit [Ping timeout: 268 seconds]
Raito_Bezarius has quit [*.net *.split]
mthall has quit [*.net *.split]
awordnot has quit [*.net *.split]
kbingham_ has quit [*.net *.split]
gktrk has quit [*.net *.split]
geist2_ has quit [*.net *.split]
gktrk has joined #riscv
kbingham_ has joined #riscv
Raito_Bezarius has joined #riscv
mthall has joined #riscv
geist2_ has joined #riscv
awordnot has joined #riscv
nmeum has quit [*.net *.split]
zjason has quit [*.net *.split]
gatecat has quit [*.net *.split]
mobius has quit [*.net *.split]
DynamiteDan has quit [*.net *.split]
geist has quit [*.net *.split]
olofj has quit [*.net *.split]
jcm has quit [*.net *.split]
pjw has quit [*.net *.split]
sorear has quit [*.net *.split]
smaeul has quit [*.net *.split]
jrjsmrtn has quit [*.net *.split]
foton has quit [*.net *.split]
koorogi has quit [*.net *.split]
jn has quit [*.net *.split]
jonasbits has quit [*.net *.split]
AEtherC0r3 has quit [*.net *.split]
smaeul has joined #riscv
jonasbits has joined #riscv
foton has joined #riscv
pjw has joined #riscv
olofj has joined #riscv
geist has joined #riscv
koorogi has joined #riscv
sorear has joined #riscv
DynamiteDan has joined #riscv
mobius has joined #riscv
zjason has joined #riscv
nmeum has joined #riscv
jn has joined #riscv
gatecat has joined #riscv
jcm has joined #riscv
AEtherC0r3 has joined #riscv
jrjsmrtn has joined #riscv
elastic_dog has joined #riscv
kaji has quit [Ping timeout: 276 seconds]
nmeum has quit [Remote host closed the connection]
q66 has quit [*.net *.split]
nmeum has joined #riscv
q66 has joined #riscv
haritz has quit [*.net *.split]
Amanieu has quit [*.net *.split]
guerby has quit [*.net *.split]
danielinux_ has joined #riscv
aurel32 has joined #riscv
greaser|q has joined #riscv
haritzondo has joined #riscv
dilfridge has joined #riscv
Amanieu has joined #riscv
ln5 has joined #riscv
adamse has joined #riscv
ln5 is now known as Guest3162
adamse has joined #riscv
adamse has quit [Changing host]
agraf has joined #riscv
merry has joined #riscv
mrkajetanp has joined #riscv
guerby has joined #riscv
pierce has joined #riscv
<solrize>
dh`, i think the gcc features were there for a reason and anyway i don't think the sdcc targets are important for this app. next thing after the avr would be a riscv or arm, i.e. with gcc support
CarlosEDP has joined #riscv
jc has quit [Ping timeout: 268 seconds]
EmanuelLoos[m] has joined #riscv
psydroid has joined #riscv
vagrantc has quit [Quit: leaving]
BOKALDO has joined #riscv
solrize has quit [Read error: Connection reset by peer]
<xentrac>
yeah, they barely mention it. however, they mention that the MakeCode VM is only 500 bytes, which means that (a) it must implement an extremely simple instruction set, barely more than SWEET16, and (b) it would be relatively straightforward to disassemble
<xentrac>
it might be to your advantage not to disassemble it, though, if you want to write something similar and legally license it as free software
hendursa1 has quit [Quit: hendursa1]
hendursaga has joined #riscv
<solrize>
the virtualbox image is for the microbit which is an arm
<solrize>
xentrac, yeah the question is what instructions to use for maximal code density. it would take a fair amount of expirimentation to figure that out, so i was hoping to see one that had already been done
<solrize>
that is also why i tried to compile the avr app for the 8051 to see how much difference it made, but that failed pretty miserably
<xentrac>
oh bummer
<xentrac>
well, you already saw my notes on elisp, right? and of course on Smalltalk and Forth and the like
<solrize>
well i might try again
<solrize>
i don't remember seeing the elisp one but elisp bytecode has tons of lisp stuff in it, lisp is garbage collected etc
<solrize>
i think what happened with the 8051 is that the avr gcc libraries have tons of gcc dependencies, but i think the application itself doesn't have so many. so if i refactor the app a lot which will be necessary anyway, switching compilers will be easier
<solrize>
i just figured i didn't really care about sdcc that much because it's all 8 bit targets and the idea of switching from the avr would be to go to 32 bit (or barely conceivably the msp430)
<xentrac>
yeah, recompiling avr-libc for 8051 is not gonna work ;)
<xentrac>
you'll have to rewrite substantial parts of avr-libc to do that
<solrize>
it's not libc it's the include files
<xentrac>
well, the header files for avr-libc are part of avr-libc even if they aren't part of libc.a
<xentrac>
this is probably off-topic here though. want to take it to #swhack?
<solrize>
well i don't know that there's that much else to say about it. i did see that microlisp page and micropython works ok with 32k of ram and can sort of get by with 16k
<solrize>
brb
<xentrac>
well, I thought the relevant part of microlisp.md was the Elisp bytecode instruction set
<xentrac>
a little of which, yes, is related to Lisp
<xentrac>
but actually neither of my Elisp examples does any heap allocation or uses car or cdr, so they're really just using Lisp syntax, not the stuff that makes Lisp different from C
<xentrac>
well I guess Lisp arrays are indexed by words and C arrays are indexed by bytes ;)
<solrize>
you should look at the hedgehog lisp vm
<solrize>
thing is these are simple stack machines designed for easy implementation and not too inefficient execution but probably not so great for code density