_whitelogger has joined #forth
remexre has joined #forth
<remexre> hm, is there a way to do DODOES without needing to be able to write machine code to the dictionary?
<remexre> I'm writing an ITC forth in C, and I'd like it to work across all Linux 64-bit little-endian arches without having to have a separate version of "write a jmp dodoes to the dictionary" for each arch
<tabemann> if it's ITC, you put a primary code pointer and a secondary code pointer in the dictionary; then, when calling a word, you call the function pointed to by the primary code pointer
<crest> remexre: make your pointer a union or cast it to function pointer
<tabemann> and if that word is a colon or does> word, that in turn initiates execution of the forth code poined to by the secondary code pointer
<remexre> tabemann: oh, that's elegant; right now I just have DOCOLON continuing execution immediately after the code pointer
<tabemann> the real purpose of the secondary code pointer is to enable does> to work
<tabemann> note that this all gets harder in the context of a forth like the forth I've been working on, zeptoforth, which operates on an MCU where it has to compile into both RAM and flash
<tabemann> of course zeptoforth is an SRT/NCI forth, not an ITC forth
<remexre> yeah, I'm glad I don't have to work on "weird" arches lol
<tabemann> Cortex-M is not a "weird" arch - lol
<remexre> I think ulrich drepper once called arm weird, but I guess "systems one wouldn't interact with using a mouse" might be a better expansion :)
<crest> ulrich drepper is an idiot
<crest> he closed a bug report for glibc on arch with "works on my i386 laptop"
<crest> because single threaded x86 code doesn't care about about alignment
<remexre> ugh
<crest> while armv5 just hands you a sigbus/sigsegv if you attempt to load aligned words
<crest> ulrich drepper is most of the reason that eglibc was forked
<crest> to collect all the fixes for problems he refused to acklowledge
<tabemann> back
<remexre> yeah, that was kinda darkly hilarious
<tabemann> I was reading back a bit, and ulrich drepper seems like both an idiot and an asshole
<crest> i agree
<crest> he was a smug idiot
<tabemann> at least with zeptoforth I don't have to deal with any of his crap!
<tabemann> gecause aside from gas and ld I answer to no one aside from STMicroelectronics and ARM
<crest> tabemann: if zeptoforth runs into the same problem you have only yourself to blame :-P
<remexre> yeah, my bare-metal project is inspired by similar ideals
<remexre> wrt "only myself to blame"
<tabemann> if I only have myself to blame then I can fix my own problem rather than hoping that someone else fixes it for me!
<tabemann> unless it's a problem with the MCU or board themselves, where then I am fucked
<crest> ROFL
<crest> looking back at least a decade flame wars can be entertaining
<tabemann> FIXED lol
<tabemann> crest
<crest> pong
<tabemann> I have a little suggestion
<tabemann> why don't you put a magic value in your control data for swdcom
<crest> magic value?
<tabemann> so that if it's not there, swdcom can know that it's not been initialized on the MCU side
<crest> it can now because r11 will be zero
<crest> *know
<crest> i want to add a small polling loop to deal with that
<tabemann> hmm maybe it's not zero, because I've been running into issues where swd2 spews out garbage if it's not properly connected
<crest> if you set all indicies to zero before writing to r11 there is no race condition on connect
<tabemann> I'll do some initalization then of r11 in the code on bootup
jedb has joined #forth
<tabemann> yes
<tabemann> it now doesn't spew garbage
<tabemann> okay, it works much more smoothly right now
<crest> (echo "quit forgetram" && cat file1 file2 file3) | swd2 && swd2
<tabemann> I'm happy I got swd2 to really work with zeptoforth
<tabemann> I should go and implement forget-ram
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
Zarutian_HTC has quit [Remote host closed the connection]
cp- has quit [Ping timeout: 240 seconds]
cp- has joined #forth
dys has quit [Ping timeout: 264 seconds]
_whitelogger has joined #forth
_whitelogger has joined #forth
jsoft has joined #forth
proteus-guy has quit [Ping timeout: 258 seconds]
dave0 has quit [Ping timeout: 246 seconds]
dave0 has joined #forth
dave0 has quit [Quit: dave's not here]
gravicappa has joined #forth
jsoft has quit [Ping timeout: 264 seconds]
_whitelogger has joined #forth
xek_ has joined #forth
dys has joined #forth
dddddd has quit [Ping timeout: 260 seconds]
TCZ has joined #forth
xek has joined #forth
xek_ has quit [Ping timeout: 256 seconds]
jsoft has joined #forth
dys has quit [Remote host closed the connection]
X-Scale` has joined #forth
X-Scale has quit [Ping timeout: 246 seconds]
X-Scale` is now known as X-Scale
X-Scale has quit [Ping timeout: 264 seconds]
TCZ has quit [Quit: Leaving]
TCZ has joined #forth
X-Scale has joined #forth
TCZ has quit [Quit: Leaving]
TCZ has joined #forth
TCZ has quit [Client Quit]
[1]MrMobius is now known as MrMobius
jedb has quit [Ping timeout: 256 seconds]
TCZ has joined #forth
jedb has joined #forth
dddddd has joined #forth
pareidolia has quit [Ping timeout: 256 seconds]
pareidolia has joined #forth
<crest> tabemann: the stm32l476 discovery boards has a lot more useful stuff on it
jsoft has quit [Ping timeout: 240 seconds]
Zarutian_HTC has joined #forth
dys has joined #forth
dys has quit [Ping timeout: 244 seconds]
proteus-guy has joined #forth
<crest> tabemann: for how much of the stm32l476 disco board onboard sensors did you write forth drivers?
<crest> *how many
jedb has quit [Ping timeout: 246 seconds]
WickedShell has joined #forth
reepca has joined #forth
TCZ has quit [Quit: Leaving]
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
xek has quit [Ping timeout: 256 seconds]
TCZ has joined #forth
gravicappa has quit [Ping timeout: 246 seconds]
Zarutian_HTC has quit [Read error: Connection reset by peer]
Zarutian_HTC has joined #forth
dave0 has joined #forth
TCZ has quit [Quit: Leaving]
TCZ has joined #forth