00:00:00 --- log: started forth/19.06.22 00:15:03 --- quit: dys (Ping timeout: 248 seconds) 00:23:36 --- join: dys (~dys@tmo-082-137.customers.d1-online.com) joined #forth 01:00:45 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 01:01:02 hi 01:24:21 : K 10 LSHIFT ; lol 01:24:28 I will never use kibibytes 01:24:33 never will I ever 01:26:29 what to do if the argument to LSHIFT or RSHIFT is -'ve ? right now it does nothing (acts like 0), but should i trap? 01:27:11 it's weird, they never really taught error handling at school 01:27:56 I think the Shift is interpreted as unsigned therefore result is 0 for negative Shifts. 01:28:11 There is no room for error. 01:28:41 ahthat makes sense 01:30:52 why would you need a negative KB 01:32:04 no no not negative KB ... what to do on negative shift -1 LSHIFT 01:32:49 Shift-in 1's intead of 0's. 01:32:56 haha 01:39:25 --- join: gravicappa (~gravicapp@h83-174-248-9.dyn.bashtel.ru) joined #forth 01:45:32 Me neither, re: kibibytes, worst idea ever 01:48:19 --- join: proteusguy (~proteusgu@cm-58-10-209-120.revip7.asianet.co.th) joined #forth 01:48:20 --- mode: ChanServ set +v proteusguy 01:50:01 dave0: lshift does what it says on the label, always read the label :) 01:52:02 i like it 01:55:17 1000 bytes? what? when is 1000 bytes a thing 01:55:37 If bytes were base 10, maybe that would make sense 01:55:57 i found out how to get all the memory in msdos, it goes from the start of your program to the start of video memory 01:56:56 To paraphrase Treasure of the Sierra Madre: "Types? We don't need no stinkin' types!" 01:57:00 when you say it in base 10 it sounds like more :-) 01:57:18 "a kilobyte is 1024 bytes. Otherwise you end up with things like 62.5 quad precision values per kilobyte." 01:57:38 good argument from hackaday 01:57:55 Powers of two rule in computing, kibibytes makes no sense at all 01:58:46 just you wait until the decimalisation of bits 01:58:47 wait doesn't kibi mean 2^10 ? 01:58:54 with base-10 computing 01:59:17 so your 10 bit byte looks like 19283 27166 01:59:23 then SI will have the last laugh 01:59:24 or rather ch 01:59:40 (wrong window) 02:00:24 I mean the name change, I should have been clearer 02:01:02 Base 10 is optimal :3 . 02:01:46 when I was younger, a kilobyte always meant 1024 bytes, but I suspect that ruthless hardware vendors started using 1000 bytes instead so they could offer smaller drives and claim they were factual 02:02:16 as usual sales droids ruin everything for $$ 02:02:24 --- nick: tpbsd -> tp 02:03:14 those lost 24 bytes add up when you're selling TB's of Kilobytes ? 02:06:28 64gigabytes=59gibibytes 02:06:39 it's 5 more! 02:07:05 There was nothing wrong with the traditional convention 1k=1024, it's perfectly suited to computing. There was no need to screw with it. 02:08:58 The new terminalogy just results in needless confusion. 02:09:18 * terminology 02:10:01 "According to their rules, "Megaman" is an improper use of the prefix "Mega". He is only one man, not 1,000,000 men." 02:10:17 lolled 02:10:35 The mall a block away from me is called Megamall 02:10:53 you sure it's not 1,000,000 malls? 02:11:39 Call the BIPM and report a nonconforming SI shopping mall, please 02:12:19 It feels like it when I have to cross it, it has can hold 4 million people =:-O 02:12:33 https://en.wikipedia.org/wiki/SM_Megamall 02:13:51 gotta dash Forth gang 02:13:54 have a good one 02:14:29 Ciao WilhelmVonW 02:17:05 cya wvw 02:34:53 --- join: Blue_flame (~cdadr@2405:204:9319:10dd:ec0a:1552:6fb3:6183) joined #forth 02:53:38 --- join: Green_flame (~cdadr@49.35.89.120) joined #forth 02:53:51 --- quit: Green_flame (Client Quit) 02:54:15 --- join: Green_flame (~cdadr@2405:204:9319:10dd:ec0a:1552:6fb3:6183) joined #forth 02:54:38 --- quit: Blue_flame (Ping timeout: 252 seconds) 02:55:08 --- quit: Green_flame (Client Quit) 02:55:41 --- join: Blue_flame (~cdadr@2405:204:9319:10dd:ec0a:1552:6fb3:6183) joined #forth 04:20:43 Hi Blue_flame :3 . 04:20:49 You are here as well. 04:42:28 Oh hi! Dkordic! You are from the picolisp channel. Of course I love forth the most. So naturally would be here :D 04:55:59 interesting! I just compiled PIL on my FreeBSD system and no problems :) 05:29:28 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 06:08:15 --- quit: proteusguy (Remote host closed the connection) 06:17:11 --- join: proteusguy (~proteusgu@cm-58-10-209-120.revip7.asianet.co.th) joined #forth 06:17:12 --- mode: ChanServ set +v proteusguy 08:51:33 --- quit: dave0 (Quit: dave's not here) 09:42:07 --- quit: rdrop-exit (Quit: Lost terminal) 10:07:04 --- join: john_metcalf (~digital_w@host86-161-140-152.range86-161.btcentralplus.com) joined #forth 10:09:21 --- join: Green_flame (~cdadr@49.35.100.145) joined #forth 10:10:16 --- quit: Blue_flame (Ping timeout: 258 seconds) 10:20:01 --- quit: Green_flame (Quit: Green_flame) 11:20:21 --- quit: cantstanya (Ping timeout: 256 seconds) 11:24:05 --- join: cantstanya (~chatting@gateway/tor-sasl/cantstanya) joined #forth 11:45:28 back 11:45:33 hey guys 12:00:00 --- quit: gravicappa (Ping timeout: 272 seconds) 12:02:36 --- join: gravicappa (~gravicapp@h83-174-248-9.dyn.bashtel.ru) joined #forth 12:13:26 --- quit: gravicappa (Ping timeout: 248 seconds) 12:14:47 --- quit: dys (Ping timeout: 258 seconds) 12:49:50 --- join: dys (~dys@tmo-116-78.customers.d1-online.com) joined #forth 15:30:25 https://sudoroom.org/serial-over-webaudio/ 15:32:35 pointfree, a modem ? 16:24:49 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 16:31:34 --- quit: john_cephalopoda (Ping timeout: 252 seconds) 16:37:41 --- join: presiden (fwiw@unaffiliated/matematikaadit) joined #forth 16:45:38 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 17:22:46 pointfree: that is just ace 19:16:49 --- quit: dave0 (Quit: dave's not here) 19:25:38 back 19:26:45 now not only do I have backtraces, but I can catch segfaults, illegal instructions, divides by zero, and bus errors from within my forth and then display backtraces without crashing! 19:28:56 wow, can I have some of that for Mecrisp-Stellaris please ? ;-) 19:31:01 I'm doing it by catching those with signal handlers combined with using sigsetjmp/siglongjmp 19:37:20 mecrisp-stellaris is written in Thumb assembly, and not by me but thanks for the tip ") 19:37:58 Matthias Koch who thinks in assembly wrote it, Im just a electronics tech who uses it 19:38:55 he does have catch and throw words which I suspect are used for that kind of thing, but so much to learn! 19:44:39 back 19:45:07 welcome back! 19:45:49 I have try and ?raise words, mostly equivalent to catch and throw, and I do use them for this, but this is for exception-like conditions within the runtime itself 19:46:34 which I call interrupts to distinguish from both Forth exceptions and from signals, even though most of these originate in signals 19:47:17 I plan on adding support for timer interrupts, which could be used for implementing multitasking, but at the present time this is just for error conditions 19:47:51 --- quit: reepca (Ping timeout: 248 seconds) 19:48:57 *preemptive multitasking 19:49:15 we have cooperative multitasking which I use sparingly as each task uses a lot of ram 19:49:31 I already have cooperative multitasking 19:49:51 but it's handy in embedded so I can always have a forth terminal running 19:50:15 nice! 19:50:39 my Forth runs on large systems, so memory isn't as critical 19:55:49 --- join: reepca (~user@208.89.170.37) joined #forth 19:58:41 true 19:59:28 I only do Forth on embedded with ram from 8KB to a whopping 40 KB depending on the chip 20:06:01 --- quit: dddddd (Remote host closed the connection) 20:32:58 --- join: gravicappa (~gravicapp@h83-174-248-9.dyn.bashtel.ru) joined #forth 20:35:07 --- join: dave0 (~dave0@069.d.003.ncl.iprimus.net.au) joined #forth 21:17:58 --- quit: nerfur (Ping timeout: 258 seconds) 21:35:50 back 21:36:25 I would have to severely chop down the memory usage of hashforth to get it to work on any such device 21:42:29 --- quit: rpcope (Ping timeout: 268 seconds) 21:47:19 --- quit: reepca (Read error: Connection reset by peer) 21:47:53 --- join: reepca (~user@208.89.170.37) joined #forth 21:48:49 --- join: rpcope (~GOTZNC@muon.copesystems.com) joined #forth 22:52:01 yes, and then it would be something else ? 22:53:43 the Forth I use runs happily in 20KB of Flash and uses about 3KB of ram or 5KB with two tasks, but it was carefully coded in assembler to keep it low mem usage 22:54:14 but it's just a small Forth for that purpose. The cool thing about Fort is that there are so many of them ;-) 22:54:21 +h 23:02:58 you don't neccesarily need to go assembly to go small 23:03:37 stubforth is C with very little inline assembly sprinkled in 23:03:57 it runs on a MSP430 w/ 16kB flash, 512B RAM 23:04:10 thats pretty small! 23:05:55 and the portability is nice. E.g. I have a ports on arm, m68k, SH-3 and the linux kernel (it invokes syscalls, no libc involved) 23:07:46 targets F4, no F0 target ? 23:08:56 not ready-made, but I think the only thing you need to adjust is the linker script and the Makefile telling gcc the correct target architecture 23:09:03 Ive been using mecrisp-across on MSP430, it can make a standalone blinky with all the startup code in 80 bytes total for the binary, but then it's a tethered Forth 23:09:14 even the floating point word set should work - gcc will just emulate it if the target has no FPU 23:09:17 ok, I might tyr that then 23:09:34 I'm a fixed point user myself 23:10:24 ja, I actually prefer mecrisp on the msp430 to stubforth, since Michael has tailored it pretty good 23:10:59 compile-to flash support is not implemented on msp430 yet… I get around that in stubforth by putting the source into flash and interpreting it at startup >_> … too lazy to do it right 23:11:02 sounds like fun, I'll try stubforth and see if it can fun on a f0 23:11:14 my main motivation was to get interactive development going 23:11:25 yes of course 23:11:51 it was pretty fun to bootstrap my 3D-printer code… trying and tuning physical models while the thing is running… bliss 23:11:56 I gather that getting Flash sorted out is challenging for Forth makers 23:12:19 I have a gallery of the stuff I use it on in the github-wiki: https://github.com/anse1/stubforth/wiki 23:12:40 I'm a hardware guy, and a Forth learner still 23:13:08 depends on the architecture… msp430 should be easier than AVR with its harvard-architecture 23:14:07 nice wiki pics, youre a hardware guy too by the looks 23:14:22 ^^ 23:15:00 i stay away from avr, after making thousands of environmental measuring controllers with them I found them too flaky, I just dont trust them 23:16:04 it may be just me, but I've had no problem with plenty of other micro types going back to 1974 23:18:29 I loved the 6800 assembly however, never played with dragonball but had one in my Palm Pilot 23:19:08 ja, m68k is really nice with its fully orthognal CISCness 23:19:22 btw, I do have one atmega8 running on protoboard in an unshielded case in the switchboard in my parent's house 23:19:50 pretty harsh EMI due to relays close by… in 10 years, the watchdog/brownout has not fired once 23:20:00 the code is a simple state machine though 23:20:04 yes, I loved the m68k orthogonality also 23:20:44 lots of people love AVR's just not me :) 23:21:19 I like PIC's also, they have been incredibly reliable in the past 23:21:33 altho I never did any assembly for them, only C 23:22:05 i preferred AVR for the 8-bitters back them only because of the available gcc-toolchain 23:23:07 i don't really like proprietary toolchains. had to mess with monstrosities of Xilinx/altera at university :-/ 23:23:15 a perfectly good reason, we were seriously short of decent oss for micros for *decades* 23:24:14 I remember my first days there "cool, at least they provide command line tools. I can write Makefiles!" 23:24:26 gahh, Ive never used a FPGA because of the price and manufacturer attitudes towards their super special IP 23:24:53 of course I tried to build with -j4 on my quad-core, and it immediately errored out that I need the $10000 instead to run multiple commands in parallel :-/ 23:25:03 +license 23:25:18 at least I could make up a hex keypad, 7 seg displays and program mcus in machine code around 1985 23:26:19 fortunately my interest has always been in small controllers, industrial, automotive, instrumentation and Ive never needed a FPGA 23:26:43 or ethernet or usb 23:28:07 as a tech Ive never seen fpga's as cool, just a proprietary lump to be avoided 23:28:35 I'm not doing the embedded stuff professional atm… specialized in databases, compilers and embedded systems, but now working as a database consultant 23:29:08 If you want to take a look at them, theres a floss toolchain for lattice ice40 FPGAs 23:29:42 these are rather small, but icestorm/yosys are extremely fast and have the most important features for synthesis 23:29:55 lots of open source hardware for them 23:30:13 e.g., https://www.olimex.com/Products/FPGA/iCE40/ 23:30:44 i know, matthias keeps trying to have a look, and I know that many areas absolutely need FPGA's for their parallel speed, but even a lowly MSP430 would do all i need 23:30:58 trying to get me to have a look ... 23:31:17 i mostly use them for reverse engineering things and SDR 23:31:31 I can see the uses there 23:31:36 try sniffing a 200MHz-DDR-SPI-chip using a µC :-) 23:31:56 I have on in a small 32 ch 400 MHz locic analyser, but I didnt build it or design it 23:32:19 I wouldnt want to sniff a 20Mhz anything with my mcus 23:32:48 mine has a spartan6 I think 23:33:06 incredible speed for sure 23:34:09 I also remember seeing a stack-CPU in verilog for the ice40 somewhere online 23:34:15 I mainly use a 48Mhz stm32F051 for my projects, it has 10x everything I need 23:34:58 there is a mecrisp-ice that runs on a fpga cpu by james bowman 23:35:38 I need to take a look at that :-) 23:36:13 Mecrisp-Ice is an enhanced version of Swapforth and the J1a stack processor by James Bowman, featuring three MSP430 style IO ports, a tick counter, constant folding, inlining and tail-call optimisations. As Mecrisp traditionally has been friendly to flash memory, you can save your Forth programs into the onboard SPI flash, you can even make it run automatically on boot. Ready-to-fly bitstreams for your various HX1K and HX8K targets are included ! 23:36:32 http://mecrisp.sourceforge.net/ 23:39:38 looks like very good platform support here as well… just like his msp430 forth 23:40:15 with stubforth, I only code up platform support to a degree needed for a project, while he does it throughly :-) 23:40:31 actually I much more of a fan of his mecrisp-across 23:41:27 yes, matthias is very focused on doing things thoroughly, a bit of a perfectionist, luckily for me 23:42:05 me ... near enough is good enough 23:59:59 --- log: ended forth/19.06.22