00:00:00 --- log: started forth/20.04.17 00:31:01 Z80 has an exception on divide by zero 00:31:21 It's the "your computer will get stuck in an infinite loop trying to reduce the divisor" 00:31:25 exception 00:32:05 veltas: Haha I was wondering what you were talking about, I don't recall any traps! 00:32:20 Shouldn't have recalled any division lol 00:32:27 Or multiplication 01:08:50 --- join: reepca` joined #forth 01:09:01 --- quit: reepca (Read error: Connection reset by peer) 01:14:03 --- nick: reepca` -> reepca 01:17:53 --- join: rdrop-exit joined #forth 01:23:25 --- quit: WickedShell (Remote host closed the connection) 02:11:28 --- join: dddddd joined #forth 02:28:34 Arithmetic is one of the few things I will bite the bullet and implement properly in assembly despite size because I want reasonably fast maths 02:29:29 nice! 02:29:58 I want to see what Project Euler answers I can write on my forth to run in under a minute 02:30:07 Probably very few 03:13:19 https://www.st.com/resource/en/data_brief/stlink-v3mods.pdf The STLINK-V3MODS is a small size debugging and programming probe for STM32 microcontrollers. 04:03:09 --- join: proteus-guy joined #forth 04:15:11 --- quit: rdrop-exit (Quit: Lost terminal) 04:15:56 --- quit: proteus-guy (Ping timeout: 240 seconds) 04:29:02 --- join: proteus-guy joined #forth 04:43:53 --- quit: nonlinear (Ping timeout: 256 seconds) 04:46:00 --- join: nonlinear joined #forth 04:48:20 crest, were you thinking of something like this ? file:///home/tp/projects/programming-languages/forth/mecrisp-stellaris/mecrisp-unofficial-doc/_build/html/vocabularies.html#voc-howto-registers 04:48:24 oops 04:48:33 better upload it I guess 04:49:47 https://mecrisp-stellaris-folkdoc.sourceforge.io/vocabularies.html#voc-howto-registers 04:59:13 tp: thx i will look into it. i have to work right now :-( 04:59:30 bummer dood3 ! 05:29:13 .regs lr: 0000471F r0: 000028B8 r1: 00000000 r2: 000028B8 r3: 00000000 r4: FFFFFFFF r5: 20001F5C r6: 00000001 r7: 20000280 sp: 20000364 *> 05:29:13 ok. 05:29:15 :) 05:29:28 Mecrisp-Stellaris CPU register print 05:30:52 anyone here named "gustinian" on sourceforge ? 05:35:32 --- join: TCZ joined #forth 05:41:54 --- quit: mtsd (Quit: Leaving) 05:54:43 --- join: MrMobius joined #forth 06:18:06 --- quit: proteus-guy (Ping timeout: 256 seconds) 06:29:59 --- join: proteus-guy joined #forth 06:54:27 --- quit: dave0 (Quit: dave's not here) 06:58:34 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 07:15:47 --- quit: TCZ (Quit: Leaving) 07:45:38 --- quit: Zarutian_HTC| (Ping timeout: 265 seconds) 08:26:45 --- join: Zarutian_HTC joined #forth 09:18:05 --- quit: dys (Ping timeout: 260 seconds) 09:34:23 --- join: TCZ joined #forth 10:02:55 --- quit: jsoft (Ping timeout: 256 seconds) 10:22:24 --- quit: Lord_Nightmare (Quit: ZNC - http://znc.in) 10:29:58 --- quit: TCZ (Quit: Leaving) 10:56:03 --- quit: dddddd (Ping timeout: 250 seconds) 10:57:44 --- join: Lord_Nightmare joined #forth 13:24:36 --- quit: MrMobius (Ping timeout: 240 seconds) 13:25:25 --- join: MrMobius joined #forth 13:50:50 tp: the voc example looks even better than my idea 14:02:52 --- join: TCZ joined #forth 15:06:25 --- join: dddddd joined #forth 15:12:40 --- quit: xek (Ping timeout: 258 seconds) 15:31:10 --- quit: gravicappa (Ping timeout: 256 seconds) 15:49:30 --- join: dave0 joined #forth 16:04:01 --- join: X-Scale` joined #forth 16:06:00 --- quit: X-Scale (Ping timeout: 264 seconds) 16:06:01 --- nick: X-Scale` -> X-Scale 16:11:14 --- quit: TCZ (Quit: Leaving) 16:28:47 hey guys 16:51:13 hey fellow forthlings 16:51:49 a friendly Forth day to y'all 16:55:30 utc wise it jus five minutes or so left of this day 16:56:21 yes, but would people in greeenland notice ? 16:56:39 I finally found out how to to this! 16:56:51 .regs lr: 0000471F r0: 000028B8 r1: 00000000 r2: 000028B8 r3: 00000000 r4: FFFFFFFF r5: 20001F5C r6: 00005000 r7: 20000288 sp: 20000360 *> 16:58:41 tp: in danish because I do not know enough of the Inuit language: jeg kan ikke sige on dat men dat er et godt spørsmål 16:59:14 s/dat/det/ 17:00:42 I have many good questions, and few answers :) 17:01:28 Jeg har mange gode spørsmål, og få svar 17:02:04 google translate, eh? 17:02:24 yeah, danish is unknown to me 17:02:50 I use Google translate a lot when trying you understand Mecrisp-Stellaris 17:02:56 you = to 17:03:16 as most of the excellent comments are in German 17:03:46 had to learn the bare minimum in elementary. I am not fond of the language due to too many borrowed words from french, english and german 17:04:15 jahwëll! 17:04:22 and you have to carry around a potato to insert in your throat to speak it ? 17:05:08 naah, just immitate the speach impedent one half danish king had 17:05:12 --- quit: dave0 (Quit: dave's not here) 17:05:18 aha 17:08:09 once, for an electronics course work I had to read a twenty or so page booklet written entirely in german. But the language was so clear that a short glossary was all that was required to understand it 17:08:44 yes, I now know a bit of German for reading 17:09:05 the things one learns while doing Forth ! 17:09:12 I have strived to be as concise and clear in my writings regarding tech topics 17:09:35 excellent, I also try to achieve the same 17:10:17 but some have are much better at writing, I'm convinced that writing is a 'gift' rather than a learned skill 17:16:08 well, you can get a long way by translating drafts into lojban. It is an excelent way to find unnoticed ambiguities 18:22:25 tabemann, very interesting reading your changelog :) 18:38:14 --- join: iyzsong joined #forth 18:38:28 --- join: boru` joined #forth 18:38:31 --- quit: boru (Disconnected by services) 18:38:33 --- nick: boru` -> boru 18:39:04 back 18:39:23 I assume you noticed the double words 18:39:58 I'm now starting to write documentation for the double words, since I figured I should document them before releasing them 18:41:22 I didnt actually 18:41:44 awesome, thats the time to do doc, when you write the code 18:42:32 I've found that for me, Forth doc has absolutely no penality 18:42:57 because my system strips all comments before uploading 18:43:20 --- join: dave0 joined #forth 18:59:19 tp: I have documentation in with the code 18:59:29 but I'm separating it out and improving it 18:59:52 so someone doesn't have to dig through my kernel code to get at some comments 18:59:53 Doxygen! 19:00:00 ;-) 19:00:18 well I'm also writing stack signatures, because I had neglected to write them originally 19:01:00 yeah, theyre essential I think (now that rdrop-exit made me aware of the correct use) 19:01:26 I've learnt a lot lately reading matthias code 19:15:01 tabemann, so how do you determine free memory if not using the chip 'flashsize' register contents ? 19:15:55 tp: it's hard compiled in 19:16:33 that precludes a paramater driven word tho ? 19:16:47 guess it doesnt matter 19:16:52 I have another file, ihex_manual.fs 19:17:01 where you can just hand-specify a number of bytes 19:18:23 I find it much easier to remember how much flash space my boards have than to remember some address to read the size out of 19:18:37 the problem with dynamically scanning flash is some models use "0xFF" for erased and some use "0x00" but the biggest problem is if one scans memory that's NOT there ... EXCEPTION! 19:19:20 is there a way to look for a exception and recover from it ? 19:19:26 Im not aware how 19:19:52 that way one would only need to scan flash and wait for a exception 19:20:13 tp: in hashforth I was able to do just that; with zeptoforth I was hoping that I could do something similar 19:20:20 bbiab 19:20:24 no problemo 19:24:41 dave0, cortex-m can detect divide by zero is enabled: SCB->CCR onfiguration and Control Register: contains enable bits for trapping of divide-by-zero 19:25:01 is = if 19:28:13 tp: ah cool 19:28:44 it seems to have exceptions available for everything 19:29:28 tp: i found a simple compare to detect divide by zero and overflow at once, so it checks and just jumps back to QUIT 19:30:14 cool 19:30:14 it doesn't distinguish between / by 0 and overflow, but it does trap properly 19:30:35 i added a check for LSHIFT with a -'ve count, so it traps too :-) 19:31:29 ill get a underflow error on that I think 19:31:36 from Mecrisp-Stellaris 19:31:44 ah 19:32:10 after the discussion about divide, i decided to add checks for as many undefined behaviours as i could 19:32:25 i should turn on the underflow exception and see what happens with Mecrisp-Stellaris 19:32:40 that's one thing that makes C shit... it doesn't check for you and screws up the whole program 19:33:02 my todo list is getting pretty long now 19:33:08 tp: ehehe 19:33:51 thats one advantage of using Fossil as a SCM, it has a inbuilt ticket system 19:34:14 every repo has it's own ticket server 19:34:21 so I just add them 19:35:23 thats what people dont get about GIT, it may be great for linus and the Linux kernel, but it's now where near as useful for private devs doing their own small projects as Fossil is 19:50:32 --- join: onat joined #forth 19:53:01 lol, my IDE is so well developed now that if I get a error from it I really have to dig deep to find it! 20:02:10 hello fellow forthwrights! 20:04:36 back 20:04:39 Throwing this idea for discussion: Is Forth viable as a runtime language? As in, using actual stacks in runtime. Feels quite wasteful to me. 20:05:09 I've been viewing Forth more as a programmable assembler for a while now. 20:05:30 onat: considering just how wasteful much of computing is today... 20:05:57 I mean, Forth is seriously lightweight when compared to the likes of Java and JavaScript virtual machines, especially when compiled to native code 20:06:16 furthermore, there are Forths such as Mecrisp-Stellaris RA that do automatic register assignment 20:06:49 tabemann: totally agree with the waste 20:07:30 Thing is With automatic register assingment, does it lose subroutine call efficiency? 20:07:55 onat: note that it's combined with inlining as well 20:08:06 any good native code Forth will also have inlining 20:08:44 also, I should note that almost all virtual machines out there are stack oriented in reality, just like Forth 20:09:17 there are only a handful (e.g. Lua's) which are register-based 20:11:12 I see, yeah, I want Forth speed to take on C:) 20:11:54 I'm wondering, stack should be always in L1 cache, which is around 3 cycles on modern processors. 20:12:11 and I bet a subroutine threaded / native code inlining / register assigning Forth will give that to you 20:13:54 Can you recommend such a Forth for Linux? 20:14:11 I'm wondering about the generated code. 20:16:51 the main Forth that fits that description I know is Mecrisp-Stellaris RA, but that is for Cortex-M (even though it has a version that can run under Linux on ARM) 20:17:28 but there are fast PC Forths as well, e.g. gforth (which is fast, so I hear, even though it's a behemoth as well) 20:23:41 tp: 20:23:55 I now have made a new release, 0.2.0, of zeptoforth 20:23:57 tabemann, 20:24:02 ah cool 20:24:29 Thanks, I didn't check Mecrisp-Stellaris yet. 20:24:34 it includes the double-cell words, along with deferred words and XON/XOFF 20:24:48 tabemann, nice 20:24:56 onat: note that there are two different kinds of Mecrisp-Stellaris, RA and non-RA 20:25:16 onat, Forth has every advantage C does depending on the type of Forth 20:25:58 Forth is like the love child of assembly and Lisp, as I like to say 20:26:23 tabemann, and C if you use a tethered Forth 20:26:35 tabemann: huh, what's the difference? optimizations? 20:27:02 it's like assembly in just how low level it can be 20:27:31 it's like lisp in that it provides a REPL and a lot of support for metaprogramming, reflection, and "macros" 20:27:47 oh, about RA 20:28:06 RA goes and assigns values on the top of the stack to registers when possible 20:28:17 rather than using the stack in memory all the time 20:29:22 and with a tethered forth, multiple passes to further optimise the binary output 20:30:16 tabemann: How much faster is that? Any resources/papers on the speedup? 20:30:44 Should've mentioned I'm also writing a colorForth inspired system. 20:30:45 haven't seen anything 20:31:19 I speculate the speed difference should be that much actually 20:31:33 *shouldn't 20:31:59 you seem really concerned about how fast Forth is - from what you are saying, you wouldn't accept anything slower than assembly - but mind you that everything is slower than assembly, oftentimes dramatically slower 20:32:23 Juggling registers back and from memory and between the function calls, it could be actually slower. 20:32:42 if you're ruling out Forth because it doesn't match assembly, you might as well rule out all programming languages other than assembly 20:33:23 even C was designed for the PDP-11, not for modern superscalar processors 20:35:01 You're totally right, I'm imagining I would use "Forth runtime" for cold code and assembly generated by Forth for hot code. 20:35:37 read all about it!!! tabermann burnt at the stake by angry crowd of hooded C programmers .... 20:35:54 When I say runtime, I'm saying the register allocation for a specific task, still featuring a data and return stack. 20:37:05 :))) I'm a C programmer and I don't like it anymore, I write more Forth-like-C. I don't find textual Forth that workable either. 20:38:14 An IDE seems necessary to become productive with Forth, yet so many people write without an IDE. 20:38:24 Forth is infinitely more extensible and interactive than C 20:38:36 So I'm thinking maybe I'm missing something. 20:38:44 Totally! 20:38:59 and it is probably the only interactive language even close to C in performance 20:39:43 I've had close to interactive programming in C with hot-reloading. 20:40:12 I need more from the environment, like instant visualisation of memory structures. 20:40:17 the main way to make C interactive is to embed another language in it, such as Lua 20:40:30 Built-in debugger, no printfs. 20:41:17 tabemann, or Forth 20:41:18 The main way, yeah. You can also hotload the C application just as Lua allows. 20:41:30 that sounds like Java, but Java will not give you the performance, extensibility, or interactivity that you want 20:41:41 tp: yes, e.g. ficl 20:41:41 If coded in a certain way. 20:41:42 tabemann, I know a guy who runs a Forth embedded in his C application 20:42:06 Java is awful, doesn't give any visualisation AFAIK 20:42:30 he uses "atlast" 20:43:14 onat: Java gives you a moderate amount of debugger support when combined with an IDE designed for it, such as IntelliJ 20:43:40 onat, tell us more about C "hot reloading" ? 20:43:41 whereas Forth is more about poking and prodding your code from the REPL 20:43:52 tp: I think onat means dlopen() 20:44:00 tabemann, ahh, on a PC 20:44:14 tabemann, thanks 20:44:40 but dlopen() doesn't allow you the interactivity that a REPL allows 20:45:21 you still have to separately compile your code, then tell the application to load it - and you can't just poke and prod your code at runtime 20:45:44 so much for it as a 'alternative' then 20:46:24 a closer thing to interactive C is gdb 20:46:43 but that doesn't allow you to change your program at runtime 20:46:53 --- quit: onat (Ping timeout: 260 seconds) 20:47:10 --- join: onat joined #forth 20:47:10 Oh dang, my internet just disconnected for 260 seconds sorry! 20:47:20 Oh dang, my internet just disconnected for 260 seconds sorry! 20:47:25 look at the logs 20:47:29 Yeah:) 20:48:01 Exactly, with dlopen! Allocate some piece of memory at the startup, pass that to the DLL, works like magic. 20:48:51 but you can't just sit down at a REPL and start entering code to execute right then and there 20:48:58 Yeah, that doesn't allow for runtime changing of some piece of code, you have to change the whole DLL. 20:49:14 which super-simplifies the debugging process 20:49:30 onat, there is no C alternative for interactive programming on small embedded, what youre describing is only any good on a PC 20:50:06 tp, yes, for embedded Forth is unrivaled. 20:50:27 tabemann: I haven't used REPL that much. 20:50:30 onat, almost, there is a BASIC for cortex-m I think ;-) 20:50:49 :)) 20:51:12 beware microPython and eLua though 20:51:33 tabemann, not on cortex-m0 :) 20:52:12 tabemann, because neither will run on coertex-m0 20:53:33 onat, here is a sample of a cortex-m0 REPL in use 20:53:36 scb. 20:53:36 SCB_CPUID $410CC200 20:53:36 SCB_CPUID BASE REGISTER 20:53:36 | CONS- | 20:53:36 --IMPLEMENTER--|VARIANT|-TANT--|------PART NUMBER------|RE- 20:53:37 3|3|2|2|2|2|2|2|2|2|2|2|1|1|1|1|1|1|1|1|1|1| |-VISION 20:53:38 1|0|9|8|7|6|5|4|3|2|1|0|9|8|7|6|5|4|3|2|1|0|9|8|7|6|5|4|3|2|1|0 20:53:42 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 20:53:52 it's reading the SCB register in real time 20:54:14 :O awesome 20:54:18 the SCB_CPUID register to be exact 20:54:32 how about some actual CPU registers ? 20:54:49 ok. 20:54:50 .regs lr: 0000471F r0: 000028B8 r1: 00000000 r2: 000028B8 r3: 00000000 r4: FFFFFFFF r5: 20001F64 r6: 0000002A r7: 20000288 sp: 20000364 *> 20:55:31 so instead of stepping through code, you enter new code to be executed immediately. 20:55:42 yes 20:56:00 say you want to turn on a LED on a board ? 20:56:19 "ledon" might be a Forth Word youve made to do that 20:56:31 you enter "ledon" and the led turns on 20:56:47 or 'motor-on" 20:56:53 in zeptoforth I have words for controlling LEDs at runtime as the user pleases 20:57:16 I can even create new tasks and make them execute on the fly 20:57:24 predefined Words for those with weak LED-FU 20:57:31 like 20:57:47 : stars begin ." *" 500 ms again ; 20:58:06 ' stars 256 256 256 spawn constant stars-task 20:58:14 stars-task enable-task 20:58:19 ******************************************************** 20:58:21 tabemann, why the 500ms delay ? 20:58:47 tp: otherwise it will spew out asterisks as fast as the CPU will allow 20:58:50 tabemann, does no delay strip the phosphor of your screen ? 20:58:53 and it will never yield 20:59:06 of course you could add a pause for that 20:59:09 tabemann, aha, of course 20:59:10 tabemann: very interesting 21:00:08 tabemann, or have the terminal use a interrupt ;-) 21:01:08 tp: the RX and TX in zeptoforth are interrupt-driven, so no PAUSE would not prevent the stars from being output 21:01:12 however 21:01:21 no PAUSE means that the REPL will freeze 21:01:54 cooperative tasks? 21:02:07 PAUSE was yield AFAIR 21:02:29 tasks in Forth are cooperative typically, even though there are preemptive Forths as well 21:02:51 (e.g. another Forth of mine, hashforth, is preemptive) 21:04:03 I've got two guys on my shoulders now, whispering to my either ears. 21:04:27 One says do it the purest way, write own Forth in assembly, use textual input. 21:05:17 The other says, do a complex editor in C, use Vulkan for rendering, custom-binary pre-parsed format. 21:06:07 tabemann, how can no pause freeze a interrupt driven usart ? 21:06:15 Maybe do the first purely in asm, then go on to do the complex binary pre-parsed in that later but what's the point anyway, just needs to exist. 21:06:26 the interrupt driven usart MUST respond 21:06:58 tp: it doesn't - but the lack of a PAUSE prevents REFILL from reading text into the input buffer 21:07:15 tabemann, aha, thanks for explaining that 21:07:25 eventually the RX and TX circular buffers will fill up 21:07:46 wait 21:08:02 the TX circular buffer won't fill - it will be starved instead 21:08:03 The interesting thing with pre-parsed format is that the editor will be complex but the Forth core/loader will be MUCH simpler. 21:08:11 the RX circular buffer will fill 21:08:50 tabemann, cant the usart interrupt call refil ? 21:09:32 the USART interrupt handler does not know about REFILL 21:10:23 onat, people new to Forth often imagine all kinds of improvments they will do, perhaps without realising that Forth has been polished by 10's of thousands of programmers since the 70's 21:11:05 tabemann, obviously, but does that mean it is impossible ? 21:12:02 onat, if you want a Forth that produces code as optimised as a C binary output, you just use a 'tethered Forth 21:12:39 onat, that way you get all the advantages of a REPL and all the advantages of a multi pass compiler 21:13:25 tp, I should check out tethered Forths, first time I'm hearing about those. 21:13:32 tabemann, darn, the M0 has no div by zero setection! 21:13:52 onat, https://mecrisp-across-folkdoc.sourceforge.io/ 21:13:53 tp: the M0 has no div 21:14:20 about REFILL, well, the input buffer cannot receive input at any point in time 21:14:21 tabemann, lol, is that why ? 21:14:49 tabemann, re REFIl, I see 21:15:31 because if the main task is interpreting code in the input buffer, and then the RX handler shoves in more data, it will corrupt it while it is being executed 21:15:53 rather, data can only be read into the input buffer within REFILL, when it is safe to do so 21:16:21 and REFILL uses KEY to get bytes from the RX circular buffer 21:16:52 if there is no PAUSE, REFILL will never execute, and thus it will never call KEY to read bytes in 21:17:35 even if there were an automatic means for refilling the input buffer via the interrupt handler 21:17:49 that code would never be executed without PAUSE 21:18:10 tabemann, thanks, I'l try and limit stupid questions in future :) 21:18:30 the only way to do it would be to make a preemptive kernel 21:18:42 PAUSE is fine 21:19:22 tabemann, how cool is this ? 21:19:24 .regs lr: 0000471F r0: 000028B8 r1: 00000000 r2: 000028B8 r3: 00000000 r4: FFFFFFFF r5: 20001F64 r6: 0000002A r7: 20000288 sp: 20000364 *> 21:19:24 ok. 21:19:43 tabemann, it's a compile time option in Mecrisp-Stellaris 21:19:50 disabled by default 21:20:32 How does one handle namespace collision in Forth? 21:20:42 tp: nice 21:20:55 onat, careful driving ? 21:21:03 I know Forth is hyperstatic 21:21:08 onat, vocabularies 21:21:39 note that not all Forths have vocabularies 21:22:24 onat, see RETRO for that as RETRO uses vocabularies; http://forth.works/book.html#retro-a-modern-pragmatic-forth 21:22:39 (my zeptoforth for instance only has approximately two vocabularies, one for Flash, and one for RAM) 21:22:53 tabemann, mecrisp has them available 21:23:59 tp, RETRO looks quite nice! 21:24:03 tabemann see common/experimental/vocs 21:24:08 onat it IS! 21:24:25 onat CRC here is the author 21:24:37 awesome, thanks for recommending! 21:25:02 and thank you CRC:) 21:25:19 I like RETRO a LOT, but I'm still learning it as it's quite different to the Forth I normally use (Mecrisp-Stellaris) 21:25:53 RETRO is a very non-traditional Forth, whereas Mecrisp-Stellaris is far more traditional 21:26:38 all forths are "non-traditional" in that every one varies for every other one in some way 21:27:06 I wouldnt say that RETRO is "very" non traditional, I can use it 21:27:20 it's a level of degree 21:27:21 it's just a bit different, still Forth tho 21:27:23 yeah 21:28:04 tp: on another note, I have a very stupid question 21:28:06 Take "LUA", thats a *really* non traditional Forth, nothing is the same ;-) 21:28:13 lolol 21:28:22 or BASIC 21:28:30 hehe, please ask it 21:28:42 with <# # #>, does # fill the buffer right to left or left to right? 21:28:57 er... um .... 21:29:15 left to right I think 21:29:42 but Im mostly a pictured numerical output noob 21:30:16 tabemann, is there a test I can run for you to help decide ? 21:31:50 I've got gforth installed, I'll try that 21:32:12 cool 21:33:25 okay, it's right to left 21:34:52 I was close ;-) 21:35:12 tabemann, see http://dpaste.com/2QYYPW6 for a way to run Mecrisp-Stellaris on your pc in a terminal 21:36:33 tabemann, or even Zeptoforth 21:39:35 I gotta sleep, was nice talking to you, thanks. 21:39:51 cya onat 21:39:54 g'night 21:40:05 isn't the Thumbulator Thumb-1 though? 21:40:07 cya soon, goodnight! 21:40:09 --- quit: onat (Quit: Lost terminal) 21:40:29 tabemann, dunno is Mecrisp-Stellaris for M4 written in thumb1 ? 21:40:50 no 21:41:07 then thumbulator isnt thumb1 only 21:41:26 well, it depends 21:41:30 checking ... 21:42:30 ok, it may be 21:42:42 forget that suggestion, use QEMU instead 21:43:16 it's far better than thumbulator anyway 22:03:53 my concern is emulating the peripherals 22:04:16 because zeptoforth can't do anything without working peripherals 22:05:20 it can do all the core stuff like <# # #>, 22:18:40 my issue is that you wouldn't be able to use all the STM32L476 or STM32F407 peripherals 22:18:51 sure 22:23:44 and... pictured numerical output works! 22:25:50 well done! 22:26:00 that means you can use my svd2forth! 23:03:17 --- join: gravicappa joined #forth 23:20:05 okay, time to go night night 23:59:59 --- log: ended forth/20.04.17