00:00:00 --- log: started forth/20.03.04 00:01:24 --- quit: jfe (Ping timeout: 265 seconds) 00:02:19 --- join: jfe joined #forth 00:07:22 --- quit: jfe (Ping timeout: 260 seconds) 00:08:43 --- join: jfe joined #forth 00:15:09 --- quit: jfe (Ping timeout: 256 seconds) 00:20:58 --- join: jfe joined #forth 00:25:26 --- quit: jfe (Ping timeout: 258 seconds) 00:28:50 --- join: jfe joined #forth 00:31:28 --- join: mtsd joined #forth 00:33:13 --- quit: jfe (Ping timeout: 240 seconds) 00:34:58 --- join: jfe joined #forth 00:40:02 --- quit: jfe (Ping timeout: 260 seconds) 00:45:03 --- join: jfe joined #forth 00:49:35 --- quit: jfe (Ping timeout: 258 seconds) 00:54:33 --- join: jfe joined #forth 00:59:21 --- quit: jfe (Ping timeout: 256 seconds) 01:03:44 --- join: jfe joined #forth 01:07:42 --- quit: jfe (Remote host closed the connection) 01:07:58 --- join: jfe joined #forth 01:12:23 --- quit: jfe (Ping timeout: 256 seconds) 01:16:40 --- join: jfe joined #forth 01:21:38 --- quit: jfe (Ping timeout: 265 seconds) 01:27:13 --- join: jfe joined #forth 01:31:50 --- quit: jfe (Ping timeout: 255 seconds) 01:35:10 --- join: jfe joined #forth 01:56:05 --- join: xek joined #forth 02:20:47 --- quit: jfe (Remote host closed the connection) 02:21:03 --- join: jfe joined #forth 02:23:41 --- join: john_cephalopoda joined #forth 02:33:56 --- quit: jfe (Ping timeout: 255 seconds) 02:57:14 --- quit: dddddd (Ping timeout: 260 seconds) 03:01:43 --- join: dys joined #forth 03:05:57 --- join: xek_ joined #forth 03:08:33 --- quit: xek (Ping timeout: 256 seconds) 03:14:01 --- join: jfe joined #forth 03:57:38 --- quit: gravicappa (Ping timeout: 255 seconds) 04:22:51 https://github.com/uho/preforth 04:23:07 a minimalistic Forth kernel that can bootstrap 04:23:57 https://fosdem.org/2020/schedule/event/forth_new_synthesis/ 04:27:30 video: https://ftp.osuosl.org/pub/fosdem/2020/AW1.125/forth_new_synthesis.mp4 04:40:24 --- quit: jsoft (Ping timeout: 255 seconds) 04:52:59 Yeah good read and interesting presentation. tp - I like this approach. 04:54:06 cool, it had a deep Forthy look about it so I thought people here may like it 04:54:38 there isnt much Forth stuff about we need to track it down and share it when we find it 04:55:45 --- quit: jfe (Ping timeout: 265 seconds) 04:56:14 --- quit: iyzsong- (Quit: ZNC 1.7.1 - https://znc.in) 05:11:47 I am working on a RETRO Forth kernel that will be able to bootstrap at some point. 05:13:03 the preforth work started years ago, here's a paper from 2018: http://www.complang.tuwien.ac.at/anton/euroforth/ef18/papers/hoffmann.pdf 05:26:18 --- join: jfe joined #forth 05:30:47 john_cephalopoda, for X86 or small embedded ? 05:32:52 --- quit: jfe (Ping timeout: 258 seconds) 06:24:03 --- join: jfe joined #forth 06:28:38 --- quit: jfe (Ping timeout: 260 seconds) 06:47:02 tp: For x86, but planning to also port it to other platforms. 06:47:20 excellent! 06:47:37 Current code is here: https://github.com/jmf/impexus 06:48:12 The assembler is written in RETRO itself, so once it runs, assembling itself should be relatively simple. 06:48:56 I am rewriting the assembler right now though, so the code will change soon. 06:51:02 --- quit: mtsd (Quit: Leaving) 07:03:26 --- join: jfe joined #forth 07:18:21 hey guys 07:41:28 --- quit: tabemann (Ping timeout: 240 seconds) 07:53:54 --- quit: jfe (Ping timeout: 255 seconds) 08:06:55 --- join: dddddd joined #forth 08:21:55 --- join: WickedShell joined #forth 08:49:17 --- join: proteus-guy joined #forth 09:07:32 --- join: gravicappa joined #forth 09:43:28 --- quit: Lord_Nightmare (Quit: ZNC - http://znc.in) 09:44:40 --- join: Lord_Nightmare joined #forth 10:05:15 --- join: masngin joined #forth 10:08:56 --- part: masngin left #forth 10:20:28 --- quit: dys (Ping timeout: 240 seconds) 10:29:39 How do forths typically deal with assembly label support? 10:32:50 My current idea is to have words "LABEL" and "REF", and assembly that consumes a ref with no defined label will add a reference entry to a table that will link it all up at the end 10:49:55 veltas: That's one way to do it. The other way is to have two passes. In the first pass you assemble your code and store the label addresses in label variables. Then you do a second pass where you do the same thing, but this time you're able to use the actual addresses. 10:51:56 That was another way I considered doing it 10:52:15 But I was not sure how to not actually store two copies while doing that 10:52:36 Well I mean without changing too much code 10:53:18 I am actually getting a little turned off by how restrictive my Forth assembly stuff is so I'm going to focus on writing my Forth in an assembly language first 10:53:30 I'll worry about self-hosting later 10:55:23 I hope that doesn't horrify anyone 11:00:04 --- join: jfe joined #forth 11:05:01 --- quit: jfe (Ping timeout: 265 seconds) 11:26:48 --- join: Monev joined #forth 11:27:22 --- quit: Kumool (Read error: Connection reset by peer) 11:37:30 --- join: jfe joined #forth 11:48:25 --- quit: _whitelogger (Remote host closed the connection) 11:51:29 --- join: _whitelogger joined #forth 12:02:46 --- quit: john_cephalopoda (Ping timeout: 260 seconds) 12:03:26 --- join: john_cephalopoda joined #forth 12:04:57 --- quit: _whitelogger (Ping timeout: 256 seconds) 12:08:00 --- join: _whitelogger joined #forth 12:28:54 --- quit: jfe (Ping timeout: 260 seconds) 13:22:50 --- quit: gravicappa (Ping timeout: 255 seconds) 13:34:20 --- join: jfe joined #forth 13:37:36 --- quit: Lord_Nightmare (Quit: ZNC - http://znc.in) 13:40:37 --- join: Lord_Nightmare joined #forth 13:48:43 --- join: dave0 joined #forth 14:28:23 veltas, the Forth I use is written in assembly and cross compiled. I don't see how a Forth for a small embedded MCU can be self-hosting anyway ? 14:36:38 --- quit: jfe (Ping timeout: 255 seconds) 14:52:05 tp: You could write an assembler in Forth. As long as you got an fs driver (SD card), self-hosting shouldn't be an issue. Assuming you got enough memory to run it all. It would get quite complicated to pull of on some tiny AVR thing. 14:54:34 tp: I plan to implement blocks or files using tapes 14:54:50 We'll see lol 14:54:59 I am, by the way, writing for the ZX Spectrum 14:55:09 john_cephalopoda, I think it would be quite impossible on a small device such as the one I use all the time. It only has 64kB of flash and 8 Kb of ram 14:55:31 Yeah I have 48K of RAM 14:55:41 'Plenty' of room 14:56:11 i'm not a real programmer, Im a electronics tech, but I get the impression that 'self-hosting' forths are the domain of the PC ? 14:56:23 The ZX Spectrum is a PC 14:57:01 I hope to be able to build my forth within its own environment, I really like that idea, long way off knowing if even feasible 14:57:56 "not a real programmer" most often said by the real(TM) programmers ;) 14:59:10 veltas, hahah, so people say but I barely know the terminology of programmers and do on, I'm a Forth user really 14:59:35 i just use Forth to make devices, before that I used C 14:59:48 C is a real language IMO 15:00:16 I can see the point of a self-hosting tethered Forth such as the one rdrop-exit is building, as that lives on a PC 15:00:52 but a PC has literally tons of resources 15:01:08 unlike a small mcu such as mine 15:01:36 your ZX has a Z80 cpu which in itself has no resources 15:02:34 I am using RETRO Forth, which I can run on x86 with a ~2K VM and a 54K VM image file. That image file can probably be downsized. 15:02:40 so your ZX is more like a PC, but of course limited to the Z80 address capacity whick is 64k iirc 15:03:15 Yeah I have 48K RAM, and about 6K are eaten up by the framebuffer 15:03:53 john_cephalopoda, which is pretty amazing, I am more and more impressed by Retro 15:04:02 Only 32K runs without the CPU being underclocked to avoid contention with the ULA accessing framebuffer to draw the screen 15:04:20 john_cephalopoda: Did you write RETRO? 15:04:30 veltas: No, it's written by crc. 15:04:41 Oh right I feel like I should know this 15:04:50 I think I was reading its source the other day 15:04:53 I wrote an implementation of the underlying VM in an assembly language written in RETRO though. 15:05:11 tp: Those 52K are actually quite big. They contain tons of words for array processing and similar, which I never use. 15:05:26 john_cephalopoda, I see 15:06:13 john_cephalopoda, the Forth I use on my 64Kb flash/8kb ram has a ton of Words and fits in 19kb, uses 2kB ram 15:06:36 which is about right for a useful self contained Forth 15:08:08 oh WOW. I had just abandoned a project I have been working on for about 4 days, even said so in the last commit as I felt the hardware and tech design was dodgy, then I just now decided to change one component as a final effort ans it's working! 15:08:22 amazing 15:09:39 detection value without a finger on the sensor = 5454 plus or minus 10 15:09:40 --- join: jfe joined #forth 15:11:15 detection with a finger on the sensor = 518 plus or minus 18 15:11:29 thats a excellent signal to noise ratio! 15:12:34 veltas: Developing for ZX Spectrum sounds like a very cool project. I've never done anything with retro-computing before, but I always found it interesting. 15:25:57 --- quit: john_cephalopoda (Quit: Leaving) 15:30:01 --- quit: jfe (Ping timeout: 240 seconds) 17:20:10 --- join: X-Scale` joined #forth 17:20:30 --- quit: X-Scale (Ping timeout: 258 seconds) 17:20:53 --- nick: X-Scale` -> X-Scale 17:28:23 --- join: jfe joined #forth 17:33:24 --- join: tabemann joined #forth 18:12:21 --- quit: WickedShell (Remote host closed the connection) 18:18:12 --- join: boru` joined #forth 18:18:15 --- quit: boru (Disconnected by services) 18:18:17 --- nick: boru` -> boru 18:18:34 --- quit: actuallybatman (Quit: Lost terminal) 18:44:45 tp: I got CREATE and CONSTANT working 18:49:39 awesome! 18:49:50 steady progress tabemann 18:50:13 tabemann, I got the stm32 'touch' peripheral all sorted and working 18:51:18 tabemann, this is something that C users must have the 'HAL' and 'touch library' for 19:00:33 --- quit: jfe (Ping timeout: 256 seconds) 19:02:55 --- join: jfe joined #forth 19:05:45 --- quit: tabemann (Ping timeout: 255 seconds) 19:06:30 --- quit: boru (Ping timeout: 260 seconds) 19:07:59 --- quit: jfe (Ping timeout: 255 seconds) 19:09:48 --- join: jfe joined #forth 19:13:05 --- join: boru joined #forth 19:16:39 --- quit: jfe (Ping timeout: 258 seconds) 19:16:56 --- join: jfe joined #forth 19:21:56 --- quit: jfe (Ping timeout: 255 seconds) 19:24:13 --- join: jfe joined #forth 19:26:34 --- quit: boru (Ping timeout: 260 seconds) 19:27:55 --- join: boru joined #forth 19:28:53 --- quit: jfe (Ping timeout: 256 seconds) 19:33:30 --- join: jfe joined #forth 19:33:47 --- join: tabemann joined #forth 19:34:50 what is "touch"? 19:52:11 --- quit: jfe (Ping timeout: 268 seconds) 19:55:40 --- join: jfe joined #forth 20:01:06 --- quit: jfe (Ping timeout: 255 seconds) 20:02:02 --- quit: cp- (Quit: Disappeared in a puff of smoke) 20:04:05 --- join: cp- joined #forth 20:04:28 --- join: jfe joined #forth 20:06:49 --- quit: cp- (Client Quit) 20:07:30 --- join: cp- joined #forth 20:08:09 --- quit: cp- (Client Quit) 20:08:47 --- quit: jfe (Ping timeout: 258 seconds) 20:08:54 --- join: cp- joined #forth 20:09:48 --- join: jfe joined #forth 20:14:10 --- quit: jfe (Ping timeout: 260 seconds) 20:17:06 --- join: jfe joined #forth 20:24:14 --- quit: jfe (Ping timeout: 265 seconds) 20:31:03 --- join: jfe joined #forth 20:32:04 --- join: boru` joined #forth 20:32:07 --- quit: boru (Disconnected by services) 20:32:10 --- nick: boru` -> boru 20:42:57 --- join: jsoft joined #forth 20:50:15 --- quit: dddddd (Remote host closed the connection) 20:55:44 tabemann, 'touch' is a stm32 peripheral that detects a finger touch, like pressing a button but there is no button, only a copper pad 21:06:17 --- quit: jfe (Read error: Connection reset by peer) 21:06:50 --- join: jfe joined #forth 21:17:54 --- quit: jfe (Ping timeout: 268 seconds) 21:19:13 --- join: jfe joined #forth 21:28:06 --- join: gravicappa joined #forth 22:05:33 --- join: jfe` joined #forth 22:07:06 --- quit: jfe (Ping timeout: 260 seconds) 22:32:19 --- quit: proteus-guy (Ping timeout: 265 seconds) 22:53:13 --- join: actuallybatman joined #forth 23:59:59 --- log: ended forth/20.03.04