00:00:00 --- log: started forth/21.02.24 00:16:19 --- quit: dave0 (Quit: dave's not here) 00:32:46 --- join: dave0 joined #forth 00:52:12 --- join: hosewiejacke joined #forth 01:42:30 proteus-guy: thanks 01:44:33 I have tried writing more horizontal or idiomatic forth and it just never turns out as easy to read https://raw.githubusercontent.com/Veltas/aoc20/master/1-2-big.fs 01:45:14 It become more vertical writing code designed to fit on the spectrum's 32x24 character display as well 02:03:46 --- join: f-a joined #forth 02:28:05 --- join: X-Scale` joined #forth 02:29:28 --- quit: X-Scale (Ping timeout: 246 seconds) 02:29:30 --- nick: X-Scale` -> X-Scale 04:25:26 --- quit: Zarutian_HTC (Remote host closed the connection) 05:03:27 in "starting forth", it says that a cell is 2 bytes, but that seems to be different on my system (CELL leaves 8 on the stack) 05:03:34 is that because I'm on a 64 bit machine 05:04:46 yeah cell abstracts AUs (which is really a fancy name for bytes, apparently) 05:05:07 and yeah, because of different arch 05:06:49 ok, that makes sense 05:07:00 so a single-length number on my system is 8 bytes 05:07:06 similar to what an int would be in other languages 05:08:55 I suppose, if that is what one cell is, or are number lengths and cells different 05:09:35 I would rather say an *address* length 05:09:40 a number could the shorter 05:09:44 think about it this way 05:09:52 your machine is 64bit, right? 05:10:19 yeah 05:10:32 then it means that to address memory, you need a 64bit pointer (there is more to it, but let us cut some corners) 05:11:01 that 64bit number, in bytes, is 8byte 05:11:10 hence 05:11:21 1 cells . 8 ok 05:13:45 yeah 05:13:58 so how big are single-length numbers? (the book talks about single and double length numbers) 05:14:04 signed 64 bit on a 64 bit system? 05:14:27 they're 16 bit on a 16 bit system 05:14:30 so I guess so? 05:15:16 well 05:16:51 in ans forth you have only (defined): cells, chars and AUs 05:17:12 and no «types» as we know them 05:17:24 so anything pushed on the stack will take 64bit 05:18:21 (wait for someone more experienced to answer tho) 05:18:26 ok 05:18:31 when you *compile* definitions, you can of course get creative 05:18:49 but that is up to you 05:19:23 (say, instead of allotting a whole cell allotting 3 chars idk seems silly just to save some space — probably on older machines they did it) 05:21:12 no wait I am *sure* someone did it 05:21:21 that mad lad who ported a forth to the CHIP-8 05:39:05 I want to try porting a forth to the TIC-80 05:39:12 but I'm not sure how you would build a forth really 05:39:54 well 05:40:00 get yourself acquainted with forth 05:40:01 and then 05:40:05 1. https://www.forth.com/starting-forth/9-forth-execution/ read this chapter 05:40:09 2. read JonesForth 05:40:33 once you get «threaded model» (the «inner» interpreter) you are on the right path I think 05:41:37 alright 05:41:56 TIC-80 also uses a lua runtime so I'm not sure how to do performant implementations of things in that. It'd be a lot of learning 05:41:59 still, a fun project probably 05:43:45 http://angg.twu.net/miniforth-article.html if you want to take inspiration 05:43:52 it is a nice article to read through and through 05:44:30 thanks 05:48:46 f-a, you should check out double numbers 05:49:01 they take up two stack slots but are treated as one object by words like d+ or d- 05:50:37 indeed indeed 05:58:59 f-a have you decided on your threading model yet? ITC, DTC, etc? See http://www.bradrodriguez.com/papers/moving1.htm if you're not familiar with what these mean. DTC is probably the easiest that has decent performance, FYI. 05:59:47 --- quit: jedb_ (Ping timeout: 240 seconds) 06:00:06 thanks! 06:00:11 --- quit: proteusguy (Quit: Leaving) 06:00:33 --- join: proteusguy joined #forth 06:00:33 --- mode: ChanServ set +v proteusguy 06:02:08 thanks proteusguy 06:04:13 --- quit: f-a (Read error: Connection reset by peer) 06:08:30 --- join: f-a joined #forth 06:10:51 --- join: elioat joined #forth 06:25:13 --- join: jedb joined #forth 06:39:22 nihilazo: I still recommend Starting FORTH 1st ed, despite the many outdated things. You can ask about them in here or find out yourself referring to i.e. latest standard or your forth's reference. 06:39:33 I'm reading it right now! 06:39:40 I'm at the end of chapter 8 06:40:37 When Starting FORTH was written I think most systems you would see Forth on were 8-bit, and it would generally implement 16-bit cells which would match the address size, and is a more convenient size for a general-purpose integer. 06:40:52 the online version should be fixed though 06:41:04 Unfortunately the online version seems to have issues 06:41:11 I don't think it's a high-effort update 06:41:31 I've been reading a lot about colorForth lately -- one thing I've never seen mention of is *how* you'd actually change the color when writing a program in it. Does anyone know what the interface was for that? 06:41:32 And for accounting purposes or more accurate measurements you probably want 32-bit at least, hence double numbers 06:41:58 I know that on some versions they have a special hardware button for it 06:45:44 wild! 06:45:45 thanks 06:50:33 also see http://www.greenarraychips.com/home/documents/greg/cf-editor.htm 06:51:29 nihilazo: And for accounting purposes or more accurate measurements you probably want 32-bit at least, hence double numbers. 128-bit numbers now on 64-bit are overkill, and floating point numbers replace the need for those kinds of mostly fixed-point operations anyway. 06:51:43 yeah, makes sense 06:53:24 --- join: Zarutian_HTC joined #forth 06:54:26 You still want fixed point in embedded or retro without an FPU 06:54:50 yeah 06:55:09 patrickg thanks! This is exactly what I was wondering about 06:58:29 --- join: jedb_ joined #forth 07:01:04 --- quit: jedb (Ping timeout: 246 seconds) 07:35:14 that is amazing and scary at the same time patrickg 07:35:31 so, are items on the stack a cell long 07:36:29 yes 07:36:33 ok 07:51:01 --- quit: shmorgle (Quit: [TalkSoup] via NEXTSPACE) 07:52:40 --- join: shmorgle joined #forth 07:54:35 is there any standard words for networking stuff in scheme or is it all down to the implementation? 07:54:44 s/scheme/forth/ 07:54:49 my brain isn't working today with names lol 07:55:07 No 07:55:51 nihilazo: if you use gforth and similar stuff, you can somehow call C stuff 07:57:57 It's not standard but there is definitely support for it (it's not standard in C or C++ either afaik). 08:00:07 https://github.com/forthy42/gforth/blob/master/unix/socket.fs 08:00:55 --- quit: gravicappa (Ping timeout: 264 seconds) 08:04:55 nihilazo: FORTH predates IP be >10 years ;) 08:05:11 yeah I know, but standards have happened since then 08:05:30 * nihilazo told a friend he would write an IRC bot in forth, and now wants to do it even though other languages are a better choice 08:06:33 I would advise writing stuff in forth, and not starting with an IRC bot 08:07:42 I don't see the harm in trying but I just think you'd do a much better job after writing something else first 08:08:06 Or you could do it and then post results in here and maybe someone will look at it and give suggestions for refactoring or taking advantage of forth's features better 08:08:15 yeah 08:08:24 I don't really know IRC either as a protocol 08:08:29 so it'd be diving head first into two things 08:08:58 veltas: agree. But having a project you are passionate about makes things more bearable. 08:08:59 is there a way to get the length of a create/allot-ed array in forth? 08:09:02 The IRC part is not too hard 08:09:07 hosewiejacke: that's true 08:09:38 nihilazo: No, not as far as I know. The technique is to use HERE at start and end of array and calculate, or use a word to automate that 08:09:57 I started programming in Forth by writing a compiler for it :) 08:10:03 Well rather if you're using CREATE, use HERE at end and name of the thing 08:10:34 hosewiejacke: Me too, well after a bit of project euler. I can't say if that was the right thing to do, I think programming forth is different to programming with forth though 08:11:26 nihilazo: e.g. CREATE ARR 1 , 2 , 3 , HERE ARR - 1 CELLS / CONSTANT #arr 08:11:33 thanks 08:11:49 Quite often CELL is defined as 1 CELLS 08:12:13 veltas: seems to be a common pattern (writing an implementation before programming in it) 08:13:07 mecrisp had a similar journey (I think) 08:13:33 I think to do forth correctly you have to actually apply it to something, and I am trying to do that myself. I want to use my forth to create useful limited 80s-style business programs on the spectrum and write a manual with good examples containing that code 08:14:02 veltas: for pleasure? 08:14:39 For me programming is fulfilling, there are fleeting moments of pleasure. If I only pursue pleasure I will not be happy or fulfilled. 08:15:44 sure! 08:15:48 I think the spectrum is a valid small business machine for the 80s, and some people like games but I also happen to like useful software. I think things like accountancy and database software is useful 08:19:47 --- quit: hosewiejacke (Ping timeout: 240 seconds) 08:23:19 --- quit: Zarutian_HTC (Ping timeout: 246 seconds) 08:31:12 --- quit: dave0 (Quit: dave's not here) 08:31:21 --- quit: crest (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) 08:36:02 --- join: crest joined #forth 08:40:20 --- join: Zarutian_HTC joined #forth 09:37:45 --- quit: elioat (Quit: elioat) 09:48:17 --- quit: f-a (Quit: leaving) 09:53:31 --- join: elioat joined #forth 10:05:52 --- quit: Zarutian_HTC (Ping timeout: 246 seconds) 10:15:05 re financial software, i sure hope your not using floating point :P 10:15:05 --- quit: Vedran (Read error: Connection reset by peer) 10:15:42 --- join: Vedran joined #forth 10:16:32 --- quit: proteusguy (Remote host closed the connection) 11:16:37 --- join: f-a joined #forth 11:21:24 --- quit: f-a (Read error: Connection reset by peer) 11:21:43 --- join: f-a joined #forth 11:41:18 --- join: bjorkintosh joined #forth 11:41:32 has anyone tried this? https://github.com/jamesbowman/swapforth 11:42:19 nope 11:44:42 --- join: [1]MrMobius joined #forth 11:45:24 --- quit: MrMobius (Ping timeout: 264 seconds) 11:45:25 --- nick: [1]MrMobius -> MrMobius 11:55:14 pity! 11:56:10 I mean what is the selling point of this one 11:57:25 running on FPGA CPUs I guess 11:58:38 --- join: hosewiejacke joined #forth 11:59:26 --- quit: hosewiejacke (Client Quit) 12:12:04 the selling point? 'because why not!' 12:13:15 hehe true! 12:14:13 that seems to be the selling point of basically all forth I've encountered so far 12:14:18 "why forth?" "why not forth?" 12:14:41 (well, there are obviously actual reasons why forth, but to me, I'm just having fun) 12:14:58 that madlad at collapseOS liked forth for its qualities 12:15:59 collapseOS is an interesting project to me tbh 12:16:29 like, I don't really understand the point of it existing exactly (spend your time *trying to prevent* the collapse instead, lmao) 12:17:04 and post-collapse humans, should a collapse happen, would probably make their own OS post-collapse to serve their post-collapse needs 12:17:25 but still, building an entire new OS for improvised 8-bit hardware in the 2020s? Really awesome! 12:17:56 yeah, I think it is an awesome project, but also wonder if doing something to cheap ARM processors, like those in android devices would be more pragmatic for the stated causes 12:18:31 like, I feel like we should be doing more to prevent the collapse rather than giving in 12:18:33 every prepper scenario is a very very narrow one 12:18:40 but there are lot of them preppers 12:18:48 so you believe in the end one will be lucky 12:18:50 also yeah, I feel like what we will probably end up with in the case of a collapse is probably tons of bad smartphones 12:18:56 rather than 8-bit hardware from the 80s 12:19:17 exactly 12:19:23 I wonder if z80 is more robust than new stuff 12:19:27 but I habe kein idea 12:19:31 I'm not a prepper but I super empathise with the "world's falling apart, we need to have working stuff then" 12:19:41 6502 processor are very low power, which is nice 12:19:49 like, people with ham radios setting up comms for when the phone network goes down? That's legitimately practical and awesome 12:20:03 nihilazo: me too, I suspect a slide ruler would be- yeah ham radio way more useful would be 12:20:11 also simply some calculus books 12:20:16 but in a real post-collapse situation, can you realistically expect to do any computing/calculation besides the analogue sort using things like homebrew slide-rules? 12:20:19 but society collapsing is going to be a slow burn of things starting to fail rather than straight back to mad max 12:20:29 ↑ 12:20:55 * nihilazo has never seen mad max and just hopes he got the reference correct via cultural osmosis 12:21:07 I don't really see the collapse that preppers are planning for happening 12:21:20 but I *do* see an imminent collapse of society in a less immediately drastic form 12:22:23 yeah, so many preppers seem to like the idea of collapse since it puts them in a place of power 12:22:37 I think when it does happen it'll be as you say, a slow burn where things just slowly fall apart 12:23:17 like, I think what we need to be doing if we're actually prepping for a collapse is like, teach people how we can rebuild 12:23:54 This podcast is about just that, http://www.liveliketheworldisdying.com 12:24:05 http://www.liveliketheworldisdying.com/2021/01/11/were-all-preppers-now/ 12:24:14 if that makes sense. Like, build communities that can stick around with other stuff fails, and can provide for people's needs as we find our way around post-scarcity 12:25:26 I'll check it out 12:25:57 but hey, when we rebuild enough post-collapse to get power running again, I sure want to check out a weirdo forth OS on my 6502 machine :D 12:26:05 I mean, I'd do the same pre-collapse, but either way 12:26:17 right! 12:26:19 I want it right now 12:26:37 I'm watching this for sort of similar reasons, https://wiki.xxiivv.com/site/uxn.html 12:27:22 sort of similar to freeputer if you are familiar with that 12:27:56 uxn is cool, I've been kinda following devine on mastodon and they've been talking a lot about it there 12:28:17 yeah, that is where I found it too! 12:28:24 small world 12:28:35 which makes sense for the forth irc channel, I suppose :P 12:29:20 I'm gonna give live like the world is dying a listen 12:29:42 I already listen to too many podcasts but one more can't hurt 12:30:38 also yeah, I'm pretty sure a large amount of people who hang out in a forth IRC channel will know devine's work already, there seems to be a bit of a network between like, all kinds of miminal computing type things 12:30:50 and forth is almost the ultimate in minimal computing things 12:31:14 for sure 12:33:35 I'm hard pressed to think of something more minimal :) 12:33:40 Other than asm ofc 12:42:05 Assembly is easier than forth sometimes, in my opinion 12:43:11 People who wait for disaster are missing out 99 times out of 100, and not even that much better prepared when it happens 12:43:32 --- quit: f-a (Remote host closed the connection) 12:44:48 I knew coronavirus was going to cause a lockdown while everyone including media was still saying it was 'just a cold', I bought a bit of long-life food before anyone else was 'panic buying'. Did this help? No, not at all, food wasn't even scarce. 12:45:24 I didn't stock up on toilet roll, but I did take a last-minute holiday assuming it would be my last chance for a nice break in a while, that was good. 12:45:28 yeah, the covid situation ended up a lot less dire for most people than some predicted it to be 12:45:35 I mean, it's still really not great 12:45:48 many, many preventable deaths. but still, it's not like 12:45:54 the world didn't run out of food 12:46:08 It's been dire for the economy, and it did still kill a bunch of people probably before their time. You're right though, it's no spanish flu, thank god 12:46:26 veltas, install a bidet. they're cheap. 12:46:46 I'm not installing a bidet in the house I'm renting :P 12:46:59 you can take it with you. it's just an attachment. 12:47:27 fits right on top of the seat or under it, and attaches to the existing plumbing. 12:47:38 --- join: f-a joined #forth 12:47:55 I don't have a problem with toilet roll and never ran out 12:48:07 I don't imagine there will be another 'shortage' in my life 12:48:19 But thanks for the suggestion 12:48:52 it's really better. it's hygiene 2.0 12:48:54 really cheap. 12:49:00 :-) 12:49:35 Life Changer, said a critic. Bad ass, unpunned another. 12:51:14 I should get one 12:52:26 By the way, the world doesn't need to "run out of food" before it becomes scarce in an area 12:53:07 Supply chains aren't magic, they require society to be functioning at some level to work 12:53:11 running out of access to it, is the trouble. 12:55:48 Just because some people have the food you need doesn't mean you'll get it 12:57:33 Just because some people have the money you need, doesn't mean you'll get it. FTFY :-) 12:58:18 You can give people all the money in the world, if they can't buy food with it it's worthless 12:58:47 buying is not the only option. there's hunter/gathering, and ... gardening. 12:59:05 sure it takes a little bit of time, but it pays off. 12:59:16 Yes let's tell millions of people to go hunter/gather in their suburbs :P 13:00:12 Yes. Let's. 13:01:18 sad 13:01:26 tho I would like to tend a garden 13:01:37 gardening is good 13:02:09 You can tend a garden, but don't expect to get food out of it for a while, and you probably won't be able to live solely off of it. 13:02:12 also elioat I just read that article and it mirrors my thoughts on a bunch of stuff, especially on how dumb individualism is in a time of crisis 13:02:47 doesn't hurt to find out about how to identify edible plants that grow in your area, if any, either 13:02:47 veltas: but if many people start gardens, and we share food, we can live off what we each produce. And in a time of crisis, the skills we develop gardening can be put to use on a larger scale to rebuild farms etc 13:02:57 * nihilazo needs to go sleep 13:03:11 That's not how it works lol 13:03:57 If we all only tend gardens that are each too small for one household, then we will all starve. 13:04:46 Case study WW2, Britain had smaller population and was dependent on merchant navy despite attempts to grow food absolutely everywhere and nationwide rationing 13:05:14 And frankly I don't think our gov today would do a better job organising us 13:05:46 we are prolly too much to tend our gardens 13:05:48 but it does not hurt 13:05:58 also to know the location of your fat neighbours 13:13:43 I find it interesting how people say that like 90% of the useful functionality of computers today was possible on machines in the 90's, running 100 times slower with 100 times less memory etc etc 13:14:30 And I think that's one of the reasons I'm interested in trying to get useful stuff running on the spectrum, because it seems like it could be capable of some useful stuff, although certainly not 90% of what people do. 13:15:30 But it's a generally interesting question to me, what can you do with less, and forth is definitely involved in that question. A forth environment can be 1/100th of your average C compiler and have all the capability, but how much of the productivity? 13:18:27 that is a super goal veltas 13:18:37 and could be «academically» interesting too 13:18:42 now then 13:18:48 in jonesforth 13:19:26 every dictionary entry has some flags added to the «length» character 13:19:39 it seems very efficient 13:19:47 but also maybe unneeded nowadays 13:19:59 what do modern implementations like gforth do? 13:20:15 I am browsing the code 13:20:27 (the flags are «immediate» «hidden» ) 13:23:47 f-a: If nobody answers then ask on comp.lang.forth 13:24:01 Anton Ertl I think is the maintainer of gforth and he reads/replies there regularly 13:24:52 I will have a look at source code in case I can spot your answer, I'm not familiar but I do use gforth so it's not a waste of my time 13:25:18 thanks veltas 13:25:44 I will wait a bit and then fire in the group, forth simplicity really highlight different design choices 13:32:10 --- quit: elioat (Quit: elioat) 13:41:16 --- join: Zarutian_HTC joined #forth 13:58:32 https://mecrisp-stellaris-folkdoc.sourceforge.io/words.html apparently mecrisp uses the most straightforward path 13:58:54 i.e. having flags not «mixed» with the number 13:59:17 lots of flags tho 14:03:06 the flags are still necessary, and the spot there works as long as you don't intend to have words longer than 63 characters, so why change? 14:13:49 --- quit: xek (Ping timeout: 256 seconds) 14:13:55 You could get away without the flags with a bit of creativity (like split word-lists into four lists for the 4 different flag states?) 14:14:02 But why.... 14:15:31 I am reading gforth's source and struggling to find out dictionary format, it seems that some of it is built with GCC, and at least some parts like the threading model can be changed with build options (different threading model for gforth-fast maybe?) 14:15:35 to boldly code as little I possible 14:15:43 I wonder if .macro is turing complete 14:16:29 I think you can save code using flags in the name size bits 14:16:44 that is what jonesforth does 14:16:59 (uses the unused bits of the «size» part (char?)) 14:17:02 And what's the point of saving code if not to save space? 14:20:35 I will introduce you to my lazyness 15:15:46 --- quit: inode (Quit: ) 15:47:56 --- quit: f-a (Read error: Connection reset by peer) 15:48:05 --- join: f-a joined #forth 16:47:18 --- join: wingsorc joined #forth 16:48:40 how do I access raw memory in forth. I want to read/write to memory mapped registers 16:49:56 @ and ! 16:50:27 depends on the forth and where it is running 16:51:27 I ported zforth to risc-v microcontroller. @ and ! seem to address relative to a internal dictionary 16:51:53 but yeah @ ( addr -- cell ) and ! ( cell addr -- ) 16:51:54 DOes it make sense to offset the addresses for @! so that they coincide with the global memory map of my device? 16:52:18 depends on the device 16:52:53 but @ and ! are meant for raw memory access is that right? 16:53:00 but usually that is what is done 16:53:56 have not looked ar zforth in detail so I cannot say but in eForth and figforth that is the case 16:56:18 you might want to look at how (variable) or dovar is implemented because that those words using that as their implementation are usually what precedes ! and @ 16:56:23 in zforth the dictionary is a static allocated array. This gets put into the bss which I then map to some non-zero address. This then means that 256 @ is not address 256 in the global memory map but rather 0x1c000000 or more 16:57:43 bss? so there is some sort of minimal elf executable loader on this device or? 16:58:46 or is the executable consumed by some proccess that spits out a raw .hex file or .srec file? 16:59:27 zforth is written in c so a static array gets mapped to the bss section. In my linker script I just throw that into ram somewhere (ram is mapped to 0x1c00_0000). Yes there is initialization of the bss during the c runtime setup (crt0.S) 16:59:57 so this isnt quite bare metal? 17:00:15 yes I'm running it bare metal 17:01:03 hmm, look if there is c@ and c! or p@ and p! words 17:02:23 usually, forth that run on mcus (microcontrolers) do not have any c runtime anywhere 17:03:34 but then what language is the interpeter written in? 17:03:43 the boot vector points to raw_boot subroutine that sets the registers up for doing forth code 17:04:20 oh boy, you have tumpled down this deep rabbit hole :) 17:04:29 in forth there a 17:04:45 re two 'interpreters' 17:05:16 the outer one that takes forth source code and 'compiles' it 17:05:50 while there is an inner one that is much much simpler one 17:07:30 so the short answer is: the inner one and a few primitive words are written in assembly 17:08:34 Ok I see but I think I haven't said exactly what I want to run: I want to have a forth shell running on the mcu (interaction over uart) 17:10:39 look for the definition of KEY? and EMIT in zforth 17:12:47 is https://github.com/zevv/zForth what you are working from? 17:13:01 ah yes 17:14:13 hmm seems to have emit but no key 17:18:20 https://github.com/zevv/zForth/blob/master/src/zforth/zforth.c#L694 looks somewhat promising 17:20:17 you need to read a char from the uart in that case block, I gather 17:22:03 or define key to do a char get sys call 17:22:43 wingsorc: does this help you at all? 17:23:50 Oh I have zforth up and running on the mcu (wrote the glue already). I just was looking on how to add a memory access primitive that has a global view 17:24:10 but I think the syscall thing could work. I could add a syscall that reads and writes from memory and give it a name? 17:24:51 I tbink there are @@ and !! which seem to me to be the raw versions 17:25:14 ah indeed 17:26:08 btw what terminal program are you using to talk to the mcu? 17:27:18 minicom 17:28:19 the hardware is running on a fpga 17:28:33 and I thought I could put forth as a fallback mode into the bootrom 17:28:45 pretty much same but I often throw together a tcl/tk program or script to act as an application spefic terminal 17:29:55 sound idea but I highly recommend eforth instead but you might have to do tedious port by translating the assembly 17:30:17 * Zarutian_HTC did it for dcpu-16 for the hell of it 17:31:30 well I'm already halfway down the rabbit hole :) 17:32:51 eforth is quite old but the e stands for education and porting it teaches one how a forth works inside out 17:34:32 and the version I wrote took only about 6 KibiBytes 17:34:41 in memory 17:35:17 the assembler file grew to something like 256 KibiBytes 17:35:31 is it from this website? http://www.forth.org/eforth.html 17:35:37 yebb 17:37:21 highly recommend the eforth materials plus the books Learning Forth and Thinking Forth which should be on that site 17:39:34 and if you are into implementing the inner interp in fpga the I recommend https://excamera.com/sphinx/fpga-j1.html as something to look at 17:59:21 --- quit: cp- (Ping timeout: 256 seconds) 18:01:45 --- join: cp- joined #forth 18:30:09 --- join: boru` joined #forth 18:30:11 --- quit: boru (Disconnected by services) 18:30:14 --- nick: boru` -> boru 18:45:37 --- quit: cp- (Quit: Disappeared in a puff of smoke) 18:47:00 --- join: cp- joined #forth 19:07:24 --- quit: wingsorc (Quit: Leaving) 19:25:50 --- quit: f-a (Quit: of course it would use leeches as a currency) 19:30:45 Zarutian_HTC: I remember reading the book by C.H. Ting on eForth on the Atmega528 and the main thing that came off on me was how horrible of a platform it is to target for Forth 19:32:22 tabemann: oh? I have only looked into porting eforth to atmega328p (the same chip ardunio uno uses) 19:32:50 wait 19:33:02 I must've misspoken then 19:33:16 because it did target the arduino chip 19:33:26 though it needs the modified bootloader that I have not found again 19:34:16 the one that has the 'write to program flash' modification 19:35:09 but yeah 19:35:20 the Atmega328p is not a good platform for Forth 19:35:50 that is the only horribleness of that particular atmega chip that I recall at the moment 19:36:06 my zeptoforth runs on the STM32F407, STM32L476, and the STM32F746, and they're all much better platforms for Forth 19:36:15 and the anemic ram too 19:37:32 the one thing the atmega328p has going for it is it abundant availability 19:37:46 the reason why the Atmega328p is so popular is that it was one of the first MCU's to come out with on-board flash ROM 19:38:17 oh? not pic16f877? 19:38:28 well, one of them 19:39:52 but yeah, the Cortex-M's, except for some which have ridiculous write page sizes, are better for Forth than the likes of the Atmega328p or most of the PIC's (the PIC32, which is really a MIPS, aside) 19:40:27 I have mulled on if I could solve the ram issue with a very cheap sram spi chip 19:40:53 I'd expect SPI to come with a performance hit 19:41:18 I am not targetting dsp speeds here 19:41:47 if money is no object, I'd just go with one of the Cortex-M4 or Cortex-M7 MCU's 19:42:15 those have plenty of RAM and plenty of flash 19:42:59 I have looked at the cortex arm stuff and it is way too complex and expensive than what I have in mind 19:44:06 if money is an object, I'd go for the Cortex-M0+ chips; those are less capable than the Cortex-M4 or Cortex-M7 chips, but they still have a far nicer design than the Atmega328p 19:44:13 cortex is usually meant for embedded linux or RTOS stuff 19:44:39 Cortex-M are microcontrollers; Cortex-A runs linux 19:44:51 and the hardware interfacing I do not understand on cortex 19:45:29 Cortex-M chips may have MPU's but do not have traditional MMU's, so they can't run Linux 19:45:49 embedded linux != linux 19:46:27 and Cortex-M0 and Cortex-M0+ are really lightweight chips; they're never going to run even, say, uClinux 19:46:39 basically the former runs all processes in the same address space iirc 19:46:51 you mean uClinux 19:47:04 most likely 19:48:44 but it might be that the cortex datasheet is strangely organized regarding which device registers are where 19:48:46 uClinux targets Cortex-M3/M4/M7, not M0 or M0+ 19:50:27 my main issue is that if I go with one of the stms you mentioned, I have to order it from overseas and then wait for the shipping 19:50:56 and not with the Atmega328p? 19:51:15 local reseller has it in bulk stock 19:52:14 that's why you buy in bulk (drives down the unit prices too); of course, it's expensive, and you have to be certain that you will be using the same MCU for all your projects from then out 19:52:40 I know tp from #Mecrisp has a massive stockpile of M0 chips because he did just that 19:52:48 (he has the same problem) 19:53:05 and I can get the dip packaged ones out of the ardunio boards easily (might even use the ardunio board too) 19:54:09 yebb, and I do not have the storage space or even the long term commitment 19:54:53 I know some companies provide free shipping 19:55:09 like tp uses arrow a lot IIRC because they'll ship to australia for free 19:56:30 does arrow accept direct iban/swift payments or any of the cybercoins because I had it with credit card companies 19:57:04 dunno 19:57:16 I highly doubt you can pay arrow in bitcoin 19:58:43 "oh the address on the card doesnt match the shipping address" "yes it does but your software does not know to handle char entities used" or other kind of shit like that 19:59:40 oh credit card companies not properly handling thorns, eths, and acute accents's gotta be a pain 20:01:19 * Zarutian_HTC nearly dislocated the shoulder of an toll flunky because the toll authority sat on my package for two weeks, he ended up paying the damn fees out of his own pocket 20:04:26 btw, you mean customs; "toll" in English means what you pay for using, say, a road, whereas its cognate in German, "Zoll", indeed means customs 20:05:23 same thing 20:06:45 I'm gonna hit the sack (and it's later for you than it is for me!) 20:06:54 cya 20:08:30 g'night 20:43:11 --- join: gravicappa joined #forth 20:53:07 --- quit: sts-q (Ping timeout: 264 seconds) 20:57:56 --- join: sts-q joined #forth 22:02:58 --- quit: Zarutian_HTC (Remote host closed the connection) 23:17:15 --- join: xek joined #forth 23:25:07 --- join: dave0 joined #forth 23:59:59 --- log: ended forth/21.02.24