mark4 changed the topic of #forth to: Forth Programming | do drop >in | logged by clog at http://bit.ly/91toWN backup at http://forthworks.com/forth/irc-logs/ | If you have two (or more) stacks and speak RPN then you're welcome here! | https://github.com/mark4th
lispmacs[work] has quit [Remote host closed the connection]
lispmacs[work] has joined #forth
dave0 has quit [Quit: dave's not here]
pbaille has joined #forth
pbaille has quit [Ping timeout: 252 seconds]
<KipIngram> remexre: How involved was the process of getting your QEMU set up so you could target it?
<remexre> not too bad; overengineered script for starting it is https://git.sr.ht/~remexre/stahl/tree/main/item/run.py#L74
<KipIngram> That doesn't look too bad.
<KipIngram> I'm contemplatinng a computer buy. If I spring for it setting up something along those lines is of interest to me.
<remexre> oh, this isn't doing hardware virtualization
<KipIngram> Oh, ok.
<remexre> but you'd just add "-accel","kvm" to cmd to get it to do so
<remexre> and it looks about the same to the guest
<remexre> oh, and you might need to switch -cpu cortex-a53 to -cpu host
<KipIngram> I'd still continue the work I'm already doing on the other end of things, but it would be neat to get to start pecking at the bare metal side of things too.
<KipIngram> And to set up an ARM target so I could test that as well.
<remexre> but all the peripherals and such look the same, whether KVM is being used or not
<remexre> yeah, if you end up getting a pinebook pro or a rockpro64 (the two target devices I have), I wrote up https://remexre.xyz/pbp-osdev/hello-world/ as a very basic intro to just getting something that boots
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<KipIngram> Cool. I may decide not to drop the money - the nice ones aren't exactly cheap.
<KipIngram> It would offer a number of convenience factors though - I'd suddenly again be able to do all the stuff my work has shut down.
<KipIngram> I think I mentioned it - they've turned off writing to the usb ports.
<KipIngram> Except they failed to turn off DVD burning, so they really accomplished nothing.
<remexre> oof
sts-q has quit [Ping timeout: 240 seconds]
sts-q has joined #forth
Zarutian_HTC1 has quit [Ping timeout: 252 seconds]
gravicappa has joined #forth
Zarutian_HTC has joined #forth
pbaille has joined #forth
ovf has quit [Disconnected by services]
ovf_ has joined #forth
Monev has joined #forth
Zarutian_HTC has quit [*.net *.split]
Kumool has quit [*.net *.split]
rixard has quit [*.net *.split]
koisoke has quit [*.net *.split]
jyf1 has quit [*.net *.split]
koisoke has joined #forth
jyf1 has joined #forth
Zarutian_HTC has joined #forth
rixard has joined #forth
pbaille has quit [Ping timeout: 252 seconds]
mtsd has joined #forth
pbaille has joined #forth
kiedtl|ltbx has quit [*.net *.split]
xybre has quit [*.net *.split]
xybre has joined #forth
kiedtl|ltbx has joined #forth
<KipIngram> So, a few weeks ago someone mentioned inlining code even on a direct or indirect threaded machine. That looks like it would be pretty easy. When you arrive at the CFA of the inline code word, IP will be pointing at the start of the code, so you just need to do jmp <ipreg> to start it. Then that code does whatever it does, adds some cell size multiple to IP to jump it past the code, and runs NEXT. Should
<KipIngram> work really simply.
<KipIngram> The jmp <ipreg> and the add <ipreg> <val> are overhead, though - you wouldn't have those if it were a regular primitive.
<KipIngram> So I'm not sure you really gain anything other than a bit of code anonymity.
<KipIngram> Well, maybe the jmp <ipreg> isn't overhead.
<KipIngram> Or maybe it is. :-) Need caffeine.
<KipIngram> Anyway, it's cute.
<KipIngram> Ok, on reflecting on it I do think the jmp <ipreg> is overhead. So this adds two instructions to your machine code. Depending on what the code was doing, there might be some compensating savings, but that wouldn't be guaranteed.
<KipIngram> If you could control the NEXT part of the word just before this, you could have it jump straight to this code; that would save the jmp <ipreg>. But that would be convoluted as heck to arrange.
<KipIngram> Same kind of problem there as trying to mix sizes - you could switch around amongst 16 bit, 32 bit, and 64 bit sizes all you wanted - but only if the word BEFORE the new size knows it needs to do that.
<KipIngram> I've thought about something like that at times, and always wind up coming up dry.
<KipIngram> It's interesting to note, though, that you COULD do something like this:
<KipIngram> 32bitA 32bitB 32bitC 32->16 16bitA 16bitB 16->32 32bitD ...
<KipIngram> If you're willing to inject those "size change" words, that can work.
<KipIngram> You know, it occurs to me that the inline code thing might make a lot more sense for producing inline versions of several straight primitives. You'd avoid all the extra NEXTs. That actually may be worth considering. Just recognize opportunities for that automatically.
<KipIngram> Did you notice the pdf I posted a few weeks ago on cuckoo hashing?
<KipIngram> A CS friend of mine brought that to my attention, and it was interesting that he did so just before I got on the Lisp bandwagon. I think cuckoo hasing would be a really good way to handle symbol storage for Lisp.
<KipIngram> It's quite clever how it arranges to get high utilization density in the hash table.
<KipIngram> Oh sorry guys - thought I was in a private channel. :-|
pbaille has quit [Read error: Connection reset by peer]
pbaille_ has joined #forth
pbaille has joined #forth
pbaille_ has quit [Read error: Connection reset by peer]
pbaille_ has joined #forth
pbaille has quit [Ping timeout: 240 seconds]
pbaille has joined #forth
pbaille_ has quit [Ping timeout: 240 seconds]
pbaille_ has joined #forth
pbaille has quit [Ping timeout: 260 seconds]
Zarutian_HTC has quit [Remote host closed the connection]
proteus-guy has joined #forth
<cmtptr> please take it back
<KipIngram> :-)
pbaille_ has quit [Remote host closed the connection]
pbaille has joined #forth
pbaille has quit [Ping timeout: 240 seconds]
pbaille has joined #forth
pbaille has quit [Ping timeout: 268 seconds]
pbaille has joined #forth
pbaille has quit [Ping timeout: 240 seconds]
pbaille has joined #forth
wineroots has quit [Remote host closed the connection]
Zarutian_HTC has joined #forth
<KipIngram> Well, just sprung for a new notebook.
<KipIngram> First computer I've bought for MYSELF in nearly 9 years.
<KipIngram> To busy buying them for daughters to be able to think about myself.
gravicappa has quit [Ping timeout: 252 seconds]
actuallybatman has joined #forth
ovf_ has quit [Ping timeout: 250 seconds]
dave0 has joined #forth
<dave0> maw
dnm has quit [Ping timeout: 258 seconds]
guan has quit [Read error: Connection reset by peer]
rann has quit [Ping timeout: 245 seconds]
guan has joined #forth
dnm has joined #forth
ovf has joined #forth
rann has joined #forth
pbaille has quit [Remote host closed the connection]
pbaille has joined #forth
pbaille has quit [Ping timeout: 240 seconds]
pbaille has joined #forth
pbaille has quit [Ping timeout: 268 seconds]
pbaille has joined #forth
mtsd has quit [Ping timeout: 252 seconds]
dave0 has quit [Quit: dave's not here]
pbaille has quit [Ping timeout: 240 seconds]
<KipIngram> Howdy dave0.
pbaille has joined #forth
pbaille has quit [Ping timeout: 252 seconds]
pbaille has joined #forth
pbaille has quit [Ping timeout: 240 seconds]
<KipIngram> So, calculator groupies - anyone know if the TI nSpire CX is an interesting tinkering target?
<KipIngram> Ah, I see this:
joe9 has quit [Quit: joe9]
joe9 has joined #forth
dave0 has joined #forth
<dave0> maw