00:00:00 --- log: started forth/19.12.20 00:01:04 --- quit: jedb__ (Ping timeout: 260 seconds) 00:02:05 --- join: jedb joined #forth 00:19:41 --- join: f-a joined #forth 00:36:26 --- quit: ryke (Ping timeout: 268 seconds) 01:09:35 tpbsd, hey mate, do you recall the guy who had the quality... erm... RGB thingies? 01:11:36 seems code for shady business =D 01:12:47 ahh the 'thingies' 01:14:20 https://wp.josh.com/2016/10/29/a-quick-test-for-crappy-ws2812b-neopixels/ 01:14:44 f-a, how goes your Forth ? 01:15:42 good I am solving simple euler problems with it to cut my teeth. Still no board though, I could write something for the Speccy tho 01:15:53 I was a tad busy releasing a game 01:16:55 that would keep a person busy! 01:20:26 --- join: dys joined #forth 01:27:37 tpbsd, ta 01:28:59 jsoft, no problemo 02:00:23 --- part: payphone` left #forth 02:14:16 --- join: iyzsong joined #forth 02:20:55 --- quit: WickedShell (Remote host closed the connection) 03:47:36 --- quit: f-a (Ping timeout: 268 seconds) 03:48:53 --- join: f-a joined #forth 03:59:10 morning 03:59:25 evening :) 03:59:34 uhhhh midday? 03:59:51 crab1, I dint follow your "I guess 32 is 4 bytes/instruction = 2600/4 = 650 instructions?" 04:00:18 2300 hrs here f-a :) 04:00:41 and 25,93 C 04:01:47 f-a, one town in Australia hit 49.9C yesterday 04:02:34 yeah i have read it, they wrote 'highest temp everin Au' 04:03:39 i dont think so, we have had around 53C in some places in the last decade I believe 04:04:08 lucky we are in a ice age hey ? 04:04:16 Id hate it to get really hot! 04:04:21 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 04:06:47 well night folks, it's zzz time here! 04:06:53 ciao tpbsd 04:24:05 tpbsd: you said the binary of that forth was 26kB, I was converting it to how many ARM instructions that would be, considering each instruction is 32 bits or 4 bytes. I wrote it wrong though it should be 26000/4 = 6500 instructions 04:26:18 "kB" doesn't help me visualize how much of a program it can hold as knowing the number of assembly instructions it would hold, so I was converting, I know the conversion isn't exactly how it works because you have data + instructions but still 04:38:00 --- quit: smokeink (Ping timeout: 265 seconds) 05:03:00 --- quit: f-a (Quit: leaving) 05:16:39 --- quit: crab1 (Ping timeout: 260 seconds) 07:19:18 --- join: dddddd joined #forth 07:20:42 --- join: crab1 joined #forth 07:24:57 --- join: rcabaco joined #forth 07:25:17 --- quit: crab1 (Ping timeout: 268 seconds) 07:41:54 --- quit: tabemann (Ping timeout: 260 seconds) 08:34:50 --- join: crab1 joined #forth 08:53:38 --- quit: dys (Ping timeout: 252 seconds) 09:12:10 --- quit: crab1 (Ping timeout: 258 seconds) 09:22:14 --- quit: jsoft (Ping timeout: 260 seconds) 09:27:22 --- join: crab1 joined #forth 09:48:21 --- quit: crab1 (Ping timeout: 268 seconds) 10:10:20 --- join: ryke joined #forth 10:31:06 --- quit: X-Scale (Ping timeout: 268 seconds) 10:35:42 --- join: X-Scale joined #forth 11:31:00 --- join: WickedShell joined #forth 12:52:11 --- join: crab1 joined #forth 12:55:12 --- quit: gravicappa (Ping timeout: 268 seconds) 14:12:42 --- quit: crab1 (Ping timeout: 258 seconds) 14:14:51 --- join: TwoNotes joined #forth 14:52:51 --- join: crab1 joined #forth 15:35:32 --- quit: ryke (Ping timeout: 268 seconds) 16:07:36 G'Day Forthlings :) 16:08:13 hi tpbsd 16:09:08 hi crc 16:19:58 good evening 16:20:15 hiya crab1 ! 16:20:23 how are ya 16:20:30 I'm good, you ? 16:21:14 am alright, still deciphering ARM 16:22:03 crab1, regarding kB of a binary image for a Forth, there are also the definition headers which aren't instructions, plus text strings 16:22:32 that's what I mean by data 16:22:42 crab1, in fact the binary releases I make have a large amount of text 16:23:27 about how much is text vs executable stuff? 16:23:44 I'm not a programmer, so I see text as text and data as numbers due to my lack of programming education :) 16:24:02 in my releases a lot 16:24:54 menues and register legends in text really add up, it can be 100kB easily 16:25:49 the minimum size of mecrisp is about 14kB, but that still includes definition headers 16:26:25 what's the regular size 16:27:18 mecrisp is MSP430 which is 16 bit, so it's slightly smaller than Mecrisp-Stellaris which is cortex-m but Thumb 16:27:36 Mecrisp-Stellaris is about 19kB 16:28:12 and the new RISC-V 32 Bit binary is about 17kB using the 'compressed 16 bit instruction set' 16:28:57 from all the small embedded forths Ive seen, 20kB would be a reasonable average size 16:29:26 just think 16:29:40 programs with 1GB+ binaries are COMMON 16:29:47 yeah 16:30:30 smaller Forth binaries can be made that have only a few definitions, but then the user has to build up a useful dictionary 16:30:40 right 16:30:49 Mecrisp-Stellaris has a fairly extensive dictionary 16:31:10 including fixed point and 'pictured numerical output' 16:31:39 so it has everything one would usually need as default 16:31:59 including various Words to manipulate Flash 16:32:14 --- join: dave0 joined #forth 16:32:34 I made use of those recently in the STM32F103 bootable binary 'tool kit' I released 16:33:22 with careful text minimisation I just got the binary in under 64kB 16:33:58 even the ARM ISA seems convoluted :( 16:34:54 how manu ISA's are you familiar with ? 16:35:28 basically none 16:36:02 a really good ISA to start with is MSP430, it's well designed and smooth as silk, but 16 bit only 16:36:05 I mean I've written a couple bits of x86 assembly, but as far as familiarity with the machine instructions goes, basically none 16:36:24 the author of Mecrisp-Stellaris made his first Forth using MSP430 16:37:08 arm is a pretty hard ISA to start with I'm my opinion 16:37:46 the layer between assembly and machine instructions is more complicated than I realized, usually it's presented as an uber-thin layer where each thing you write in asm is just bam replace text with proper bits 16:37:50 but it's not like that 16:38:21 I mean it doesn't seem like it's a crazy jump from machine to asm or anything but it's not as thin as I expected 16:39:23 can qemu do MSP430? 16:39:50 Im only familiar with Thumb and reading machine code from the PDF and comparing to a assembly listing seems fairly straight forward to me 16:40:45 no 16:41:03 perhaps RISC-V 32 Bit may be a better place to start ? 16:41:17 qemu does RISC-V 32 Bit and 64 bit 16:41:52 --- join: tabemann joined #forth 16:41:56 tpbsd: well there are things like the MOV instruction can present different ways, first of all there is MOV(immediate) and MOV(register) which are different and then MOV(immediate) has two different encodings and blah blah blah 16:41:59 people seem to like the RISC-V 32 Bit assembly but I havent tried any yet. It does look much nicer than Thumb in 32 bit at least 16:42:44 I could try RISC-V, I was just told by somebody the other day that ARM was easier than RISC-V, so I'm getting varying opinions everywhere 16:42:48 crab1, yeah, but those seem straightforward to me considering their limitations 16:43:13 wdym "considering their limitations" 16:44:34 I havent written a single line of RISC-V 32 Bit, only browsed the ISA so Im certainly not well informed. But Ive written a small amount of Thumb and my experience there was learning work-arounds to do stuff I once easily did in 6800 assembly 16:44:58 hey guys 16:45:01 well thumb immediate cant handle 32 bit numbers 16:45:09 hey tabemann :) 16:46:11 ello 16:46:15 tabemann, is vamiliar with those limitations also 16:46:24 familiar 16:46:36 I'll have to look at ARM and RISC-V and compare 16:46:51 reevaluate and then choose one 16:47:06 crab1, I think the exercise would be worthwhile 16:47:12 I wrote a rather complicated routine for generating 32-bit literals on Thumb 1 16:47:36 tabemann, does the same as the Mecrisp-Stellaris registerliteral. ? 16:47:42 registerliteral, 16:47:44 now I need to find an opcode chart for Thumb 2 so I can create a routine for generating more compact code for generating 32-bit literals on Thumb 2 16:47:53 tpbsd: yes 16:49:26 tabemann, Matthias first Mecrisp-Quintus binary for RISC-V 32 Bit uses 32 bit ISA and came in at about 26kB, then he rewrote it using RISC-V 32 Bit 'compressed 16 bit isa' and now it's 17kB 16:49:49 yeah, you told me bout that 16:49:52 ahh 16:50:15 --- join: ryke joined #forth 16:50:40 but it uses some special debian toolset that I havent been able to locate and use, so my interest is waining ... too bleeding edge for me 16:51:13 besides, cortex-m chips are way cheaper, and american made 16:51:40 I think RISC-V 32 Bit may well take over eventually but much growth is needed forst 16:53:00 well, cortex-m chips are british-designed 16:53:25 the cores are 16:53:33 yeah 16:53:52 and actually I was wrong, I use STM32 and theyre european 16:54:07 STM is a massive conglomeration 16:54:09 european is still better than chinese 16:54:14 absolutely 16:54:36 I rate european and USA tech on a similar level 16:54:44 gtg 16:54:48 do you know where I can find an opcode chart for thumb-2? 16:54:51 cya crab1 16:54:52 see ya crab 16:54:59 byebye 16:55:02 not an instruction chart 16:55:15 but a chart that details the bits for every single opcode 16:55:31 didnt i paste one up for you a while back ? 16:56:28 this? http://infocenter.arm.com/help/topic/com.arm.doc.qrc0001m/QRC0001_UAL.pdf 16:56:40 ARM7TDMI-S Data Sheet ? 16:57:33 could you send me that again? 16:58:05 no I didnt supply the QRC0001_UAL.pdf 16:58:34 i have to upload it somewhere and Im throttled so it will take a minute 16:58:37 --- quit: TwoNotes (Remote host closed the connection) 16:59:03 --- join: TwoNotes joined #forth 16:59:26 --- quit: crab1 (Ping timeout: 265 seconds) 16:59:28 oh, I found it 16:59:35 cool 16:59:41 that may be what you want 16:59:48 but it talks just about 'Thumb' and 'ARM' 16:59:52 not 'Thumb-2' 17:00:11 it's all probably thumb2 now 17:00:12 ? 17:00:32 I think ARM7TDMI is somewhat older 17:01:01 tpbsd: nope, the Cortex-M0 chips are Thumb-1 only 17:02:37 I didnt know that, but then Im just a Forth user 17:03:03 when Ive checked the ARM7TDMI-S Data Sheet against my assembly listings they looked the same 17:03:19 if they had been different I'd have deleted it 17:03:31 but of course Ive only checked a few things 17:08:06 why must they make this so hard? 17:08:11 I found this http://infocenter.arm.com/help/topic/com.arm.doc.100166_0001_00_en/arm_cortexm4_processor_trm_100166_0001_00_en.pdf 17:08:16 which details all the instructions 17:08:24 but says nothing about the opcode formats 17:09:18 i don't think anyone makes it hard deliberately. Arm is pretty old now and there are literally tons of arm docs 17:09:41 plus it was sold recently to the Japanese and a lot of old links dont work 17:10:23 tabemann, perhaps RISC-V 32 Bit might suit you better ? 17:15:30 I am not downloading the RISC-V toolchain lol 17:17:37 oh yeah, I forgot about that monster! 17:19:45 but ... apparently you just need the latest recent one included in current Debian 10, which has fewer bugs 17:20:11 thats what matthias used to build the latestmexrisp-quintus 17:22:11 good! (since I have a recent debian installed) 17:22:31 but I've already got a DISCOVERY board, which I intend on making use of 17:22:52 oh, btw 17:23:01 loading literals is much simpler in thumb 2 17:23:07 there are two instructions 17:23:22 load 16imm low and load 16imm high 17:23:28 oh! 17:23:47 well that wont help my 480 cortex-m0 chips :) 17:23:51 .faucet 17:23:51 so loading 32 bit values is much simpler and presuably much faster 17:23:56 oops wrong channel 17:24:09 dave0, .tap 17:24:39 tabemann, nice to see they have it at least 17:24:40 hehe hi tpbsd 17:25:12 dave0, for $50 I wont tell anyone your password ;-) 17:25:37 on ##truth it gives you money! 17:25:45 then you can gamble it 17:26:02 it's a money bot ehehe 17:26:15 dave0, for $100 I wont tell anyone you have a gambling addiction ;-) 17:26:33 haha 17:26:37 double or nothing ! 17:26:41 LOL 17:28:10 tabemann, your disco board is a M4 iirc, so you could use full blown 32 bit ARM ISA ? 17:28:59 from what I read M0 is Thumb-1, M3 and M4 are Thumb-2 17:29:20 wait 17:29:26 --- quit: reepca (Read error: Connection reset by peer) 17:29:53 is Thumb-2 just Thumb-1 + ARM? 17:32:44 --- join: reepca joined #forth 17:32:50 lol, beats me 17:34:17 I specify ".thumb" in my assembly code for binutils 17:35:47 -mthumb 17:35:47 Enable Thumb only instruction decoding. 17:35:59 well I found a very simple synopsis of Thumb-2 17:36:09 -mthumb-interwork 17:36:09 but I can't find any damn opcodes! 17:36:10 Specify that the code has been generated with interworking between 17:36:10 Thumb and ARM code in mind. 17:36:53 damn you ARM 17:36:56 damn YOU 17:37:10 such a hater! 17:37:11 (that wasn't supposed to be uppercase) 17:40:47 * tabemann frothes at the mouth in hatred 17:41:16 s/frothes/forths/ 17:41:57 * tpbsd forths at the mouth 17:42:22 there's a lisp to it 17:42:41 hahahahahah 17:43:07 wow, my Forth based STM32F103C8-DIAGNOSTICS.bin has been downloaded 20 times as of today! 17:43:46 you guys at ARM Holdings or whatever it's called now are keeping me from writing my Forth which will take advantage of 32-bit instructions! 17:43:48 and 5 of those just today 17:44:02 I will come over to the UK and show you personally! 17:44:34 it's called 'secret Japanese ARM for Samurai" now 17:54:26 aaagggh 17:54:37 --- join: iyzsong joined #forth 17:54:43 I swear, they're deliberately hiding this vital information 17:54:49 --- join: jsoft joined #forth 17:55:05 do they want to prevent people from writing assemblers for ARM Cortex-M4? 17:57:03 they didnt stop matthias ? 17:59:13 and I want to know where matthias got his docs! 18:03:27 okay, I've gotta go - bbl 18:04:48 tabemann, cya 18:07:49 --- quit: tabemann (Ping timeout: 260 seconds) 18:59:30 --- quit: djinni_ (Write error: Connection reset by peer) 19:10:07 --- quit: reepca (Remote host closed the connection) 19:12:00 --- join: reepca joined #forth 19:17:27 --- join: djinni joined #forth 19:45:55 --- join: smokeink joined #forth 19:47:45 --- quit: dave0 (Quit: dave's not here) 19:49:05 --- join: tabemann joined #forth 19:53:30 I don't know that 'rewriting' is the right word for getting RISC-V compressed instructions. You just tell the assembler that 'compressed instructions are OK' and it will generate the compressed instructions where it can. 19:55:42 It is directive ".option rvc" 20:09:57 --- quit: ryke (Ping timeout: 268 seconds) 20:11:27 --- join: DabsR joined #forth 20:15:43 --- quit: DabsR (Client Quit) 20:24:30 --- join: gravicappa joined #forth 20:33:49 TwoNotes, of course! 20:36:49 TwoNotes, matthias did also say "I had to take care of alignment issues and to change the register map of the whole project, in order to put the most common values in registers that fit into the small opcodes" 20:37:59 TwoNotes, He also added "enhancements for the new instructions to code generator, disassembler and emulator were necessary" 20:43:15 Oo, so the compiler will generate compressed instructions too? 20:43:33 I forgot about the register numbering part 20:45:56 I'm not sure why he went for the compressed instructions as the only chip I've used with it so far has 128kB of flash and like ARM the compressed instructions will no doubt have plenty of compromises ? 20:47:00 plus the premade toolkits are a drama if one doesnt run Debian 10 I think 20:47:08 I have only used RISC-V. The win with compressed instructions is if more of your program will fit in the I-cache. On the SiFive FE350, that is 16 KB 20:47:41 for instance I cant find a RISC-V-64 toolkit that allows me to rebuild mecrisp-quintus 20:48:06 ahh. maybe thats why 20:49:16 riscv64-unknown-elf-as? 20:49:28 no, wont compile 20:50:02 The opcode have to distinguish between 32- and 64-bit ops on load and store 20:50:51 I haven't tried it - I only have an FE350 and it is 32b 20:51:32 it needs "riscv64-linux-gnu" 20:51:39 -march=rv64ima? 20:52:20 -march=rv32im 20:52:49 Wait, you wanted to rebuild quintus for a 64b RISC-V machine? 20:53:00 this is for the gd32vf103cb chip 20:53:02 whats the practical difference between VALUE and VARIABLE? 20:53:22 TwoNotes, no, this is Matthias Makefile 20:55:19 How to assemble: 20:55:32 You need a few packages which come with Debian 10: 20:55:47 apt-get install binutils-riscv64-linux-gnu binutils-mipsel-linux-gnu qemu-user-static srecord 20:57:37 --- quit: TwoNotes (Quit: Leaving) 20:58:42 mecrisp-quintus-gd32vf103cb.bin = 18880 bytes 20:58:51 MrMobius, was your question for me ? 20:59:07 tpbsd, just a general Forth question 20:59:11 looking at this left join junkdrawer.jshepard.CA_CD_SD_LD_fix b 20:59:11 on 20:59:11 a.countyname =b.countyname and 20:59:11 a.countycode =b.countycode and 20:59:12 a.precinctname =b.precinctname and 20:59:12 a.precinctnumber =b.precinctnumber and 20:59:13 a.ballotbox =b.ballotbox and 20:59:13 a.precinctnum =b.precinctnum and 20:59:14 a.precinctsplit =b.precinctsplit 20:59:14 left join [VFD].[CA].[CA_CustomDistricts_20191219_NewNew] c 20:59:16 woops 20:59:26 thats not what I wanted to paste 20:59:41 left join junkdrawer.jshepard.CA_CD_SD_LD_fix b 20:59:41 on 20:59:41 a.countyname =b.countyname and 20:59:41 a.countycode =b.countycode and 20:59:41 a.precinctname =b.precinctname and 20:59:42 a.precinctnumber =b.precinctnumber and 20:59:43 a.ballotbox =b.ballotbox and 20:59:43 a.precinctnum =b.precinctnum and 20:59:44 a.precinctsplit =b.precinctsplit 20:59:44 left join [VFD].[CA].[CA_CustomDistricts_20191219_NewNew] c 21:00:07 ok well I give up posting the link 21:02:37 "A VALUE is a widely used hybrid of VARIABLE and CONSTANT... However, we can change a VALUE as though it were a VARIABLE" 21:04:14 so whats the difference btw VARIABLE foo 5 foo ! and 5 VALUE foo 5 TO foo ? 21:04:44 MrMobius, I've no idea I don't have a VALUE in the Forth I use 21:06:23 http://galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm 21:06:50 ahh John Noble 21:07:25 apparently clipboard synchronization has to be turned on individually for each virtual desktop client, not just the server. hence the copy and paste fail above :((( 21:18:58 --- join: ryke joined #forth 21:20:14 --- join: dave0 joined #forth 22:48:24 --- quit: ryke (Ping timeout: 265 seconds) 22:54:59 --- quit: WickedShell (Remote host closed the connection) 23:11:15 --- quit: smokeink (Ping timeout: 268 seconds) 23:23:18 --- join: smokeink joined #forth 23:59:59 --- log: ended forth/19.12.20