00:00:00 --- log: started forth/21.01.26 00:10:53 --- quit: gravicappa (Ping timeout: 272 seconds) 00:16:04 --- join: gravicappa joined #forth 00:32:44 --- join: X-Scale` joined #forth 00:34:26 --- quit: X-Scale (Ping timeout: 260 seconds) 00:34:26 --- nick: X-Scale` -> X-Scale 00:36:05 --- join: rpcope- joined #forth 00:36:11 --- quit: rpcope (Ping timeout: 260 seconds) 01:18:38 --- quit: sts-q (Ping timeout: 246 seconds) 01:30:46 --- join: sts-q joined #forth 01:55:38 --- quit: gravicappa (Ping timeout: 264 seconds) 02:01:29 --- join: gravicappa joined #forth 02:49:17 --- quit: dysprosaic (Ping timeout: 246 seconds) 03:06:40 lispmacs[work]: IIRC in GForth " [defined] a-name". 03:07:41 --- join: X-Scale` joined #forth 03:08:13 --- quit: X-Scale (Ping timeout: 272 seconds) 03:08:59 --- nick: X-Scale` -> X-Scale 03:18:29 --- join: dysprosaic joined #forth 03:20:03 --- quit: jimt[m] (Quit: Bridge terminating on SIGTERM) 03:20:04 --- quit: siraben (Quit: Bridge terminating on SIGTERM) 03:20:05 --- quit: patrickg (Quit: Bridge terminating on SIGTERM) 03:28:41 --- join: siraben joined #forth 03:36:29 --- join: jimt[m] joined #forth 03:36:29 --- join: patrickg joined #forth 03:47:47 --- quit: dysprosaic (Ping timeout: 256 seconds) 03:48:38 --- join: dysprosaic joined #forth 04:32:18 --- quit: MrMobius (Ping timeout: 240 seconds) 04:42:43 --- join: MrMobius joined #forth 05:52:22 --- quit: dave0 (Quit: dave's not here) 06:30:53 --- quit: Vedran (Ping timeout: 272 seconds) 06:31:12 --- join: Vedran joined #forth 06:58:39 --- quit: dysprosaic (Read error: Connection reset by peer) 06:58:53 --- join: dysprosaic joined #forth 07:32:50 --- quit: gravicappa (Ping timeout: 264 seconds) 07:41:14 --- quit: Vedran (Ping timeout: 264 seconds) 07:59:05 does anyone know any good resources on learning arm assembler (eg for the new raspberry pi pico chip?) 08:04:29 --- join: Vedran joined #forth 08:10:02 For a general introduction to the ARM architecture in general, Steve Furber's book is a good start, albeit a bit dated now (doesn't include arm64). After that, ARM's own documentation is a logical next choice, unless you have more details about which version of the ISA you'd like to target specifically. 08:11:17 I'm sure there are piles of books written about the raspberry poo, as well everyone and their mother writing blogs and articles about doing stuff with them. 08:11:18 --- quit: Vedran (Ping timeout: 240 seconds) 08:11:56 so far nobody seems to have published anything on the assembler side specifically, although I'm sure it'll come. 08:11:59 --- join: Vedran joined #forth 08:12:26 the poo seems to be cortex m0+ 08:12:56 Which one? Up to know, they've all been application processors afaik. 08:13:17 m0 is Thumb1 instruction set with some additions. rather unusual subset compared to most other ARMs 08:13:30 rpi pico (rp2040 MCU) 08:13:54 this device: https://www.raspberrypi.org/products/raspberry-pi-pico/ 08:14:06 "RP2040 features a dual-core Arm Cortex-M0+ processor with 264KB internal RAM and support for up to 16MB of off-chip Flash." 08:14:34 Ah, so a real microcontroller, then.. 08:14:56 boru: is "ARM System-on-Chip Architecture" the furber book you mean? 08:14:57 I was assuming you wanted to learn to program an ARM application processor, as most users who come here do. 08:15:25 boru: I am in fact also interested in this topic, but I thought this was a way of starting small. 08:15:32 Yeah, that's the one. In addition to that, Liu's books I strongly recommend for the cortex-m targets. 08:16:13 "The Definitive Guide to the Cortex-M0 and Cortex-M0+ Microcontrollers" 08:16:20 The reasons I'm asking in here are a) a feeling you guys would tend to know about assembler and b) wondering about doing something with forth with it. 08:16:46 It's also thumb 1 _and_ 2, not just thumb 1. 08:17:00 Plenty of Forth fans here, also. Myself included. 08:17:09 well it's #forth, you would expect this. 08:17:19 Oh, for some reason I thought I was in ##asm 08:17:27 * boru kldload coffee.ko 08:18:12 ##asm would be a more logical place to ask this kind of question I admit. 08:18:39 FWIW, you'll find an intersection of people who like Forth and know a lot about assembly language for various ISAs there, also. 08:19:12 However, those two books, specifically the latter, will set you well on your way to programming the M0+. 08:19:48 armv6-m is a somewhat more limited armv7-m, but the former will give you a good foundation for the latter. 08:20:27 ok a book is on its way to me. 08:21:10 mstevens, also check out mecrisp forth which runs on stm32 M0s among other ARMs 08:21:11 I'm not sure how much this raspberry pi pico is, but ST's series of STM32 discovery boards cost less than a song these days, and have pretty okay documentation most of the time. 08:21:18 hasnt been ported ot pico yet though 08:21:28 boru, $4 08:21:37 For the chip or the board? 08:21:41 board 08:21:44 Not bad at all. 08:21:47 boru: these are like $4. They've published a lot of docs but they seem to be assuming you're working in C at the lowest level. 08:22:23 Although I am vastly ignorant, this is why I want stuff to read :) 08:22:37 mstevens, ya most people dont write asm for ARM unless they have a very specific need. unlike older processors, they are designed to run assembly generated by a compiler not generated by a human 08:22:56 MrMobius: I want to do it for educational fun, 08:23:00 good idea 08:23:06 A noble goal. 08:23:28 we never actually did assembler when I was at uni, I always thought it was a sad gap. 08:24:56 --- join: Zarutian_HTC joined #forth 08:26:33 The other appeal of the rpi board for me is they put in more ram than dev boards often do. 08:27:12 It's 264kb when you're often getting 16k or something. 08:27:50 true especially for that price point though you can get an stm32 board with 8MB of ram iirc for about $20 if you really need a lot 08:28:48 And they've got these io state machine things which I'm told are interesting and I hope to learn more about 08:28:51 They sure have come a long way. I've owned many desktop computers with less RAM than that. 08:29:15 boru: I saw an article about someone using the rpi board to emulate a bbc micro and play Exile 08:29:39 Heh, neat. I still have my model B. 08:31:22 It's not fully functional, but it still boots and will load programs. 08:31:37 mine died :( I suspect the power supply went pop. 08:31:51 Best get out your soldering iron. 08:32:10 I probably could have recapped it but I wanted the space so I sold it. 08:32:20 For shame. 08:34:36 --- quit: Zarutian_HTC (Remote host closed the connection) 08:35:10 --- join: Zarutian_HTC joined #forth 08:39:52 --- quit: Zarutian_HTC (Remote host closed the connection) 09:26:14 --- quit: Vedran (Ping timeout: 264 seconds) 09:26:46 --- join: Vedran joined #forth 09:36:56 --- quit: Vedran (Ping timeout: 260 seconds) 09:38:01 --- join: Vedran joined #forth 09:38:21 --- join: WickedShell joined #forth 09:41:09 --- quit: dysprosaic (Remote host closed the connection) 09:42:00 --- join: Zarutian_HTC joined #forth 09:45:52 --- join: gravicappa joined #forth 09:46:57 --- join: dysprosaic joined #forth 10:43:03 --- quit: Zarutian_HTC (Remote host closed the connection) 11:03:36 --- join: dddddd_ joined #forth 11:06:53 --- quit: dddddd (Ping timeout: 256 seconds) 11:25:22 --- join: Zarutian_HTC joined #forth 11:29:14 --- quit: floatcomplex (Ping timeout: 264 seconds) 11:35:36 --- join: floatcom1lex joined #forth 11:36:11 --- quit: floatcom1lex (Client Quit) 11:49:02 --- quit: Vedran (Ping timeout: 264 seconds) 11:49:57 --- join: Vedran joined #forth 12:14:18 --- quit: crc (Read error: Connection reset by peer) 12:14:41 --- join: crc joined #forth 12:43:38 --- quit: gravicappa (Ping timeout: 240 seconds) 13:10:53 --- quit: dysprosaic (Ping timeout: 246 seconds) 13:11:42 --- join: dysprosaic joined #forth 13:24:35 --- quit: xek_ (Ping timeout: 256 seconds) 13:44:14 --- quit: Vedran (Ping timeout: 264 seconds) 13:45:24 --- join: Vedran joined #forth 14:01:23 --- quit: Zarutian_HTC (Remote host closed the connection) 14:51:53 --- join: dave0 joined #forth 14:59:54 --- quit: djinni (Quit: Leaving) 15:12:09 --- join: djinni joined #forth 15:55:16 --- quit: Lord_Nightmare (Quit: ZNC - http://znc.in) 15:57:03 --- join: Lord_Nightmare joined #forth 16:50:48 --- join: Croran joined #forth 16:58:49 --- quit: dave0 (Quit: dave's not here) 17:01:02 --- quit: Guest68228 (Ping timeout: 264 seconds) 17:49:06 --- quit: WickedShell (Remote host closed the connection) 18:02:15 do primitives put anything on the r stack when not in compile mode other than return addresses and DO/LOOP values? 18:31:33 --- join: boru` joined #forth 18:31:36 --- quit: boru (Disconnected by services) 18:31:38 --- nick: boru` -> boru 18:31:48 Some do. `>r 2>r r> 2>r` come to mind; I'm not sure on others without looking back at the standard doc. 18:37:52 --- join: Guest68228 joined #forth 18:51:54 you mean `>r 2>r r> 2r>` ;) 18:52:23 there's also rdrop, which removes something from the rstack 18:56:53 right 18:57:09 I mean things that use the r stack 18:57:16 for their own purposes 18:57:48 maybe just those 19:26:58 --- join: dave0 joined #forth 19:36:45 --- quit: jn__ (Ping timeout: 272 seconds) 19:46:35 --- join: jn__ joined #forth 20:08:54 --- quit: jimt[m] (*.net *.split) 20:08:54 --- quit: heredoc (*.net *.split) 20:09:08 --- quit: patrickg (*.net *.split) 20:09:08 --- quit: ovf (*.net *.split) 20:11:35 --- join: travisb_ joined #forth 20:12:21 --- quit: travisb (Remote host closed the connection) 20:15:21 --- join: patrickg joined #forth 20:15:21 --- join: ovf joined #forth 20:21:11 --- quit: siraben (Ping timeout: 265 seconds) 20:21:18 --- quit: patrickg (Ping timeout: 258 seconds) 20:23:43 --- quit: dysprosaic (Ping timeout: 272 seconds) 20:24:33 --- join: dysprosaic joined #forth 20:26:54 --- quit: sts-q (Ping timeout: 260 seconds) 20:28:47 --- quit: dysprosaic (Read error: Connection reset by peer) 20:34:12 --- join: heredoc joined #forth 20:36:22 --- quit: heredoc (*.net *.split) 20:38:30 --- join: heredoc joined #forth 20:43:54 --- join: patrickg joined #forth 20:48:59 --- join: dysprosaic joined #forth 20:49:18 3.2.3.3 limits user access to the return stack to using the >r r> 2>r 2r> and r@ words; loops, runtime information, locals, exceptions are all listed as being allowed to use the return stack 20:50:42 --- join: sts-q joined #forth 20:54:45 --- quit: heredoc (*.net *.split) 20:57:29 --- join: heredoc joined #forth 21:04:50 --- quit: patrickg (Ping timeout: 268 seconds) 21:50:06 --- quit: dysprosaic (Ping timeout: 240 seconds) 21:50:26 --- join: dysprosaic joined #forth 21:57:38 --- join: siraben joined #forth 22:02:14 --- join: jimt[m] joined #forth 22:14:04 --- quit: dave0 (Quit: dave's not here) 22:20:55 --- join: patrickg joined #forth 22:24:53 --- join: gravicappa joined #forth 23:02:46 --- quit: zolk3ri (Remote host closed the connection) 23:06:58 --- quit: rpcope- (Ping timeout: 240 seconds) 23:07:59 --- join: zolk3ri joined #forth 23:12:45 --- join: rpcope joined #forth 23:43:27 --- join: X-Scale` joined #forth 23:43:49 --- quit: X-Scale (Ping timeout: 240 seconds) 23:44:45 --- nick: X-Scale` -> X-Scale 23:59:59 --- log: ended forth/21.01.26