<tp>
Alternate function 7 for TX and RX pins of USART2 on PORTA
<tabemann>
back
<tp>
tabemann, I've flashed your latest, no response from board that talks to Mecrisp-Stellaris
<tabemann>
you've got Mecrisp-Stellaris working?
<tp>
yeah
<tp>
Mecrisp-Stellaris RA 2.5.3 for STM32F407 by Matthias Koch
<tabemann>
are you using USB for your serial?
<tp>
no
<tp>
(TX on PA2, RX on PA3)
crab2 has quit [Read error: Connection reset by peer]
crab1 has quit [Read error: Connection reset by peer]
crab1 has joined #forth
<tabemann>
back
<tabemann>
I've got a cheap Chinese what-is-probably-an-FTDI-clone here
<tp>
the f407 cant do usb without a forth usb driver
<tp>
so it's TX on PA2, RX on PA3
<tabemann>
I've got TXD and RXD marked on my FTDI clone
<tp>
that would work
<tabemann>
does TXD on the clone go to PA3 on the board, and RXD on the clone go to PA2 on the board, or is it the other way around
<tp>
I think the reason you have USB on your L476 is because of the V2 SWD ?
<tp>
the actual L476 also needs a Forth USB driver to use USB natively
<tabemann>
the L476 supports dropping files onto it (ugh) - I noticed that when I booted up my linux box once with the L476 attached it displayed a message about an sdb existing
<tp>
the older F407 only had stlink V2 (oops the later one is V3 ? )
<tabemann>
mine says stlink V2-1
<tp>
yeah, the latest stlink has a virtual com port and that stupid DnD thing
<tp>
ahh, thats the version them
<tp>
they should have named it V3 I think
<tabemann>
how do I connect up my cheap chinese clone to my F407 board?
<rdrop-exit>
Your trial version probably came with some PDF docs
<tp>
shynoob, Id say the top of the heap is probably something from forth.inc but there are many alternatives that are Free, such as Retro, Gforth, and many others
<shynoob>
yeah rdrop-exit,
<tp>
shynoob, you windows or unix ?
<shynoob>
windows
<tp>
than forth.inc would have an edge
<tp>
most FLOSS is targeted for Linux/Unix (but not all)
<shynoob>
I don't mind free or nonfree.. but right now I cant avail nonfree stuff yet
<tp>
generally there isnt a lot of nonfree stuff for Windows that isnt junk or virus ridden imho
<tp>
windows = $$
<tp>
it's a commercial OS
<shynoob>
ikr
<rdrop-exit>
For windows you probably want to use either SwiftForth or MPE's VFX
<tp>
rdrop-exit, agreed
<rdrop-exit>
If doing embedded from Windows then there's Forth Inc's SwiftX
<rdrop-exit>
I believe SwiftX uses SwiftForth on the PC side
<tp>
shynoob, I think youd have a much better Forth Windows experience using Swiftforth
<shynoob>
hm I have downloaded that free stuff.. is it very different from the paid one?
<tp>
rdrop-exit, shynoob is interested in writing games I believe
<tp>
shynoob, probably not
<rdrop-exit>
ah
<shynoob>
games is more like an ambition...
<shynoob>
so nothing serious for now
<tp>
shynoob, but it would have some limitations which they do name on their website I believe
<rdrop-exit>
I'm not a Windows user, can't help you on the details
<tp>
shynoob, but I'm sure it's usable enough to provide all you need to evaluate it
<shynoob>
thats what I was confused about
<shynoob>
what does it mean by being able to evaluate
<rdrop-exit>
I'll check their website, brb
<tp>
it means enough functionality to use it and decide if you like it
<rdrop-exit>
it doesn't specify on the website what the limitations of the evaluation version are, maybe check the readme file
<tp>
shynoob, I'm curious, most who are new to programming just jump on the C bandwagon, (rightly or wrongly), what led you to want to try Forth ?
<tp>
actually thesedays they probably start with Python as it's so popular for some reason
<shynoob>
yeah.. well I was checking out which one is the most efficient one.. and forth popped as one of them
<shynoob>
I was just looking so I dont really know
<rdrop-exit>
swiftforth-win32 is probably the user manual, maybe it has a tutorial, I don't know
<shynoob>
yeah so I'll check out the handbook
<tp>
my preferrence would always be forth.inc
<rdrop-exit>
Yes, that's a tutorial book
<rdrop-exit>
It might not be for complete programming beginners though
<tp>
shynoob, I use Forth for controlling the gear I build, all embedded stuff on micro controllers
<shynoob>
good to know
<shynoob>
the online version of starting forth is slightly different than the pdf
<shynoob>
It is our pleasure to now present both a downloadable PDF of Starting FORTH (First Edition) as will as an updated online edition, with great appreciation for work done by Marcel Hendrix to generate the web version on which these pages were based.
<rdrop-exit>
Go with the updated online edition, so you're sure the examples run on your system
<shynoob>
yeah
<shynoob>
thanks
<tp>
shynoob, theyre both Starting Forth tho, which is ancient
<shynoob>
but the only resource for complete newbies in the realm of programming and comp sci.
<tp>
shynoob, in a way reading Starting Forth, finding what works and what doesnt with the Forth you're using is like 'doing the hard yards' .... if you finish then Forth is for you
<tp>
we all had to do it
<rdrop-exit>
The first edition follows the '79 standard so it's of no use, the 2nd edition follows the '83 standard which is better. This online edition I believe follows the ANS standard and is therefore better suited to your needs.
<veltas>
"Fossil stores content using an enduring file format in an SQLite database"
<tp>
thats right, it's 'enduring' because fossil wont allow anything to be deleted
<veltas>
SQLite is pretty good but as soon as a general purpose database is broken out *I* lose interest, git's data makes way more sense it's just compressed snapshots of every file, stored under its checksum name. Every commit can verify itself. It's all distributed but just on the filesystem rather than in a database.
<veltas>
Unfortunately git is quite bloated these days, but in principle it had a very elegant design and it doesn't get in my way so if I want SCM I'll use git
<veltas>
For personal stuff I usually just store snapshots, I don't bother with SCM beyond .tgz's
<tp>
sure, like editors, OSes, programming languages etc, SCM's are a personal choice
<tp>
fossil was made by the author of sqlite as the SCM for it
<veltas>
You can still discuss what is better, even if it's difficult or potentially impossible to say one is objectively better
<veltas>
Ah right that makes sense
<veltas>
I do really like SQLite, it's my favourite database software
<veltas>
But I hate databases in general
<tp>
veltas, only with reasonable forthers who are a pleasure to compare favorite apps with
<tp>
I love databases and have for at least 3 decades
<tp>
having a database does give fossil some unique capabilities
<veltas>
Oh yes?
<veltas>
Did you know that a single relational query can implement any polynomial time algorithm?
<tp>
for instance, I use a home made 'forth project builder' that supplies all the development aids and templates for every new project in about 0.1 second on this pc
<tp>
veltas, no I dont even know what that means (Im a tech not a programmer)
shynoob has quit [Remote host closed the connection]
<veltas>
It means anything that can be done in a reasonable amount of time on a computer can be implemented in one SQL query
<tp>
but some of the fossil configs can only be done thru the cli or web interface AFTER the fossil repo is created
<tp>
ahh :)
<veltas>
Roughly
<tp>
however, as fossil uses a database, I pre populate it from my project manager before the repo is fully created
<tp>
so by the time the repo is done, all my special requirements are in place
<rdrop-exit>
Block-based Forths are their own repository
<tp>
initially I asked on #fossil, but no one had any idea (no Forth users there) so I had to do the unthinkable ... read the fossil doc!
<tp>
rdrop-exit, and 'well written code is self documenting'
<veltas>
rdrop-exit: What does that mean?
<tp>
veltas, what rdrop-exit means is that if your trousers have a pocket, then you don't need a dustbin for the bones from the chicken you just ate ;-)
<rdrop-exit>
Everything is in one memory space. Whether it's source, binary, docs.
<rdrop-exit>
You just take a snapshot of the whole thing.
<tp>
rdrop-exit, caveats please ?
<tp>
1) cannot use on a small embedded system with a self hosted Forth
<tp>
2) if you loose your documentation 'shadow block' youre screwed
<tp>
3) no SCM
<rdrop-exit>
1) use a tether
<rdrop-exit>
2) you lose a file your also screwed
<rdrop-exit>
3) store your snapshot in your prefered SCM
<tp>
Before I met rdrop-exit I used to think that the answer to everything was "42", now I know it's "use a tether"
<rdrop-exit>
of course ;)
<veltas>
My prefered SCM is the many snapshots model
<rdrop-exit>
My host forth is one file
<tp>
my host Forth is one chip
<rdrop-exit>
it is?
<tp>
it is
<tp>
it always has been
<veltas>
If I carry out my Forth to its conclusion I will be writing self-built copies of it to cassette tapes, and keeping them on one big tape at different timestamps
<tp>
veltas, I'm wondering if you have ever saved data on a casette tape before ?
<rdrop-exit>
I thought you developed on a pc
<veltas>
That is my SCM
<veltas>
rdrop-exit: I do now
<veltas>
I will then as well because the ZX Spectrum is a "Personal Computer" it says so on the box
<tp>
rdrop-exit, I develop on a single chip, but all my files are created, saved,scm'd etc on a pc
<rdrop-exit>
I only ever have one file
<veltas>
tp: Yes I have
<rdrop-exit>
veltas, I meant tp, I thought he developed on a PC
<tp>
veltas, and the utter slowness and unreliability doesnt bother you ?
<veltas>
I am potentially going to design my own format with redundancy and error-correcting codes
<veltas>
As for the slowness, how often do you take snapshots?
<tp>
rdrop-exit, think of my PC as a super terminal with a scm
<rdrop-exit>
tp, sure but you have a bunch of files I suppose
<rdrop-exit>
I only need 1 file
<tp>
veltas Im the wrong person to ask :) this system has taken snapshots every 15 minutes for the last 2 years
<veltas>
I might also fit some simple compression in as well, to improve the speed
<tp>
rdrop-exit, can you be more specific ? ;-)
<rdrop-exit>
It's a block based Forth running on a PC, the blocks are contained in a single file
<tp>
rdrop-exit, at ant time I have a heap of files with comments, a single file with the same data as all the seperate files, and another single file with no comments
<tp>
i feed the single file with no comments to the mcu every time I click the 'make' button on my editor
<tp>
at 460800 baud with hardware handshaking, so it's pretty fast
<tp>
but from a programmers poc I have a GVIM gui editor with color syntax highlighting, advanced search, blah blah...
<tp>
pov
<rdrop-exit>
I just use a block editor
<rdrop-exit>
(that's part of the Forth itself)
<tp>
I just use a modern editor with every conceivable geegaw I want
<rdrop-exit>
I have just what I need
<tp>
thats what I just said
<tp>
note the "I want" :)
<tp>
I use nothing out of the box, this is Forth, I get to do whatever I like
<rdrop-exit>
that's right
<tp>
same as you :)
<tp>
tho admittedly your system is much more targeted than mine
<tp>
mine is just a techs tool box, full of bits of stuff,half rolls of electrical tape, various tools
<tp>
and rusty
<tp>
but it's exactly what I need to do stuff
<rdrop-exit>
I'm was just answering veltas' question on blocks
<rdrop-exit>
I'm not trying to tell you how you should do things
<rdrop-exit>
I'm sure the way you do it is best suited to your needs
<rdrop-exit>
It's not a competition
<rdrop-exit>
It's an exposition of different approaches
<rdrop-exit>
there's more than one way to skin a cat
<tp>
actually, your efforts showing me how unsuitable my stack comments were resulted in massive improvements here, I'm very glad you took the time
<rdrop-exit>
no problemo
<tp>
i apologise if I come over as antagonistic, or forceful, I'm just a excitable lad!
<rdrop-exit>
no problem
<tp>
some may say 'keen'
<tp>
some may say 'PITA' theyre all probably right ;-)
<rdrop-exit>
going back to tethers for a sec
<tp>
:)
<rdrop-exit>
a tethered Forth can be used to lay down a standalone forth on a target
<tp>
you even inspired me to spend a day fixing a long standing problem with one area of my XSLT, and finally after about 2 years, it's fixed!
<tp>
yes, I have a tethered Forth
<rdrop-exit>
tethering doesn't preclude anything, it just gives more flexibility
<tp>
I love tethers, I wish I had one for the STM32F0
<tp>
absolutely agree
<tp>
I'm definitely not arguing against tethers, I love them
<rdrop-exit>
now if the host (i.e. pc-side) Forth of your tether happens to be block based, it makes SCM very simple
<rdrop-exit>
evertying is in one file (the blocks)
<tp>
I do tend to get a bit carried away trying to show that 'if you can't have the tether you want, love the hosted Forth you have"
<rdrop-exit>
you just take a snapshot of your blocks, which includes everything about your projects, even if you have multiple projects
<rdrop-exit>
and store that in your SCM
<tp>
sure
<rdrop-exit>
the snapshot already includes source, binary, tools, everything
<rdrop-exit>
no dealing with multiple files and directories
<rdrop-exit>
I like the simplicity, although I can of course understand it's not for everyone
<tp>
it does have it's charm
<tp>
but doesnt suit the system I have. Even my tethered Forth has exactly the same dev system that my hosted Forth has
<tp>
it's always the same argument, blocks or files, windows or unix, vim or emacs :)
<rdrop-exit>
no argument here, just another take on the infinite variations of Forth
<veltas>
I have been intrigued by the block based approach of old Forths, that's still resident on modern forths and still popular among many forthers
<veltas>
I inspired me to use something a little similar to Forth's blocks for something I'm writing at work right now
<veltas>
It* inspired
<tp>
I actually like blocks, I first experienced them with 'Riscy Pygness' Forth by Frank Sargant
<rdrop-exit>
Blocks were one of the simplifiers of Forth that were abandoned en mass
<tp>
and I made a 1.44MB minifloppy drive Forth block filesystem for a Rockwell 65F11 Forth system in 1987
<rdrop-exit>
Similar to what happened with metacompilation
<tp>
Ive forgotten a lot but iirc floppy drive sectors make great blocks ?
<rdrop-exit>
cool
<tp>
the programmers would just load the block numbers from the floppy
<rdrop-exit>
yes, blocks were not always 1 kilobyte each, that came later
<tp>
i was so impressed I spent the next 33 years planning to 'look into Forth oneday'
<rdrop-exit>
they were whatever unit made most sense for the drive
<tp>
it was dead easyto build
<tp>
I used a floppy controller chip, made the pcb, used a std 1.44MB floppy and connected it to the Forth data bus
<tp>
but time has moved on, most cortex-M4's come with 1024 MB of flash inside the chip
<rdrop-exit>
Fig-Forth had things such as bbytes per buffer, blocks per screen, sectors per block, etc...
<rdrop-exit>
The standard 1 kilobyte block size was put in place in the '79 standard
<rdrop-exit>
Elizabeth Rather use to say that Forth had the only portable data format in the world with the 1k block
<rdrop-exit>
* storage format
<tp>
shes my personal hero!
<tp>
her embedded skills are extraordinary
<rdrop-exit>
It's too bad she's retired, her posts had some of the best SNR
dddddd has joined #forth
<tp>
oh yeah, right on
<tp>
shes still active in that slime pit called CLF
<veltas>
Has anyone here applied Forth blocks to raw FLASH?
<rdrop-exit>
much less than before sadly
<tp>
I've stopped reading it again, NTS is too high for me
<tp>
veltas, not me, I'm a Forth user not a Forth system programmer
<rdrop-exit>
it's been done
<veltas>
I'm wondering what method they used
<rdrop-exit>
depends on the specifics I suppose
<tp>
i know it involved chickens and a virgin
<rdrop-exit>
there's a Forther who's in the flash business, can't recall his name atm
<rdrop-exit>
dinner is served, then probably another video binge with the wife
<rdrop-exit>
catch you guys soon, stay healthy
rdrop-exit has quit [Quit: Lost terminal]
<tp>
cya thanks for the chat!
<tp>
veltas, rdrop-exit is isolated in his apartment in Manilla like everyone else atm
<veltas>
Right
<tp>
well i didnt mean that we are all in manilla :)
<tp>
Im in Australia
<tp>
veltas, why not use a kickarse high density, industrial 20GB SCSI tape drive instead ?
<tp>
of a cheap and nasty audio tape drive ?
<tp>
theyre dirt cheap on ebay in old gear
iyzsong has quit [Ping timeout: 272 seconds]
<veltas>
tp: Authenticity
<tp>
?
<tp>
I dont understand
<veltas>
The Spectrum was designed to work with a tape, I want to produce a system that would've been useful to a home user in the 80s
<veltas>
the 20GB SCSI tape drive is from a different era
<tp>
yeah, a decade later
<veltas>
Hmm
<veltas>
It's a cool idea but I will save that for some early 90s computing tech maybe
<tp>
I was around in the 80's, lol and the 70's,60's, and 50's
<tp>
and I owned a few tape drive computers
<veltas>
Nice
<tp>
sadly no, they utterly sucked
<veltas>
lol
<tp>
those tape drives were terrible, I was always adjusting the volume to try and get the data to save reliably
<veltas>
I know they still use cassette tapes for backups, can't be beat for price+density, but access time is total garbage compared to anything else.
<tp>
when I got my first 8" fixed format floppy of 180KB I cant tell you how much my life changed!
<veltas>
This tech is all very impressive really, isn't it?
<tp>
even the scsi 1/2 tapes take ages to read, probably a hour to index, but theyre still the most reliable data storage known to man
<veltas>
And we keep pushing the limits
<veltas>
So we can run more static copies of chrome to run electron apps
<tp>
apparently a 1/2 DAT tape of 20GB kept in a vault thats climate controlled can be relied on for 50 years!
<tp>
hahahah
<tp>
you and I both know there is only one really reliable storage medium
<tp>
... cuneiform clay tablets
<veltas>
Absolutely (I have no idea what that is)
<tp>
like they used in Summeria
<tp>
haha
<veltas>
FLASH is the ultimate storage, we will make it high density and more reliable than anything else
<tp>
there are still millions of them that havent been read
<veltas>
Have you ever used or heard of FRAM?
<tp>
but theyre mostly "omar bought a donkey of akash for 2 shekels"
<tp>
sure
<tp>
Ti uses it in their MSP430 chips
<veltas>
It is better than FLASH in every way, totally reliable, 'solves' every storage problem we have. Except it is not very high density, and it is expensive for what it is.
<veltas>
It's good as a small storage area for vital configuration, or FLASH wear-leveling bookkeeping
<tp>
hmm, I hear that FRAM has it's pros and cons like everything else
<tp>
it's FAST
<tp>
but it wears on read cycles
<veltas>
Yes but it's good for 100s of years of read cycles
<veltas>
Like you can read constantly and it won't break for 100 years at least
<tp>
you may be right, I havent used it
<veltas>
That is the rating of the last FRAM spec I read anyway
<tp>
only 100 years! but then Ill have to replace it ;-)
<veltas>
That is just current FRAM tech, one day it might last longer (I can imagine applications where over 100 years reliability is needed)
<tp>
personally I think the only long term memory we will ever invent is 'organic' and even then it will lose bits and wont be free
<tp>
it will cost a lot in cokes and hamburgers etc
<tp>
not to mention pizza
<veltas>
I've heard pizza is a worse fuel for your organic memory
<tp>
hahah
<veltas>
But it can fix a broken motivator chip
<tp>
yeah but the latest 100PB organomems demand it even tho they know it raises their cholesterol
<tp>
wish it could, Id get some
<veltas>
I wonder how much data humans could theoretically memorise
<tp>
not a human, it's just a brain in a box!
<tp>
you have to put the pizza thru a blender before they can consume it
<tp>
pour it into the tiny feeder tray
<veltas>
If you had to guess what C+! does.... ?
<veltas>
You'd assume it was a: ( n addr -- ) that adds n to the character at addr right?
<tp>
yes
<veltas>
tp: Do you have such a word?
<tp>
not in the Forth I use
<veltas>
It seems too convenient to me not to have
<veltas>
I've got room for about 128 forth words which will occupy a single byte in colon definitions
<veltas>
(It's a tokenized forth)
<tp>
written in C ?
<veltas>
It's written in assembly
<tp>
oh
<tp>
youve seen my disclaimer about not being a programmer I hope :)
<tp>
and on the 6502 ?
<veltas>
No, Z80
<tp>
oh ok
<veltas>
Making it tokenized is going to save serious space
<tp>
is space a issue ?
<tp>
the Z80 has a external data bus of 64kB
<tp>
and you could easily page it
<veltas>
I'm just using the built-in RAM
<tp>
the board I made for 65f11 had 8 ram chips soldered on each other each with the chip select pin bent out
<veltas>
Space is an issue when you know that you *will* run out, and you want to be able to get as much *stuff* in there as possible
<veltas>
I know if I write games with my Forth system, for instance, that I will run out of space and if I have a way of fitting more logic in with less RAM usage I should do that
<veltas>
tp: Nice lol
<tp>
the client wanted it that way
<veltas>
3D RAM
<veltas>
Before its time
<tp>
looked funny with this stack of ram
<veltas>
I wonder why they wanted that
<tp>
worked fine, is a known technique, or used to be whan ram chips were small
<tp>
more static ram
<tp>
it was a fair project, a UAV controller plus other stuff
<tp>
it was a underwater autonomous vehicle with hydrophones that recorded the propeller sounds of shipping
<veltas>
Okay
<tp>
I only made the hardware
<tp>
it would then run the sound against known propellor sounds to find a match
<veltas>
Did they find any U-Boats?
<tp>
I don't know, I only had a small part in the build
<tp>
hey it's midnight here, time for some zzzzz, thanks for the chat
<veltas>
Okay you too
<veltas>
Sleep well
dave0 has quit [Quit: dave's not here]
cartwright has quit [Read error: Connection reset by peer]
cartwright has joined #forth
proteus-like has joined #forth
proteus-dude has quit [Ping timeout: 258 seconds]
_whitelogger has joined #forth
jsoft has quit [Ping timeout: 256 seconds]
<tabemann>
hey guys
<tp>
hey tabemann
<tabemann>
for some reason my board stopped responding, and then started responding again
<tabemann>
the f407 board that is
<tabemann>
I did change it so that it used a slightly faster baud rate (i.e. strict 115200) not the "ein ganz kleines bisschen langsamer" one that matthias was using
<tp>
what was the interval ?
<tp>
the a bit slower ?
<tabemann>
it was $46, I changed it to $45
<tp>
the "a bit slower" ?
<tabemann>
yes
<tabemann>
"a little bit slower"
<tp>
Ive found the baud rate settings not to be too critical
<tabemann>
maybe it's my cheapo FTDI clone that's at fault
<tabemann>
or maybe my cheapo dupont cables
<tp>
mine are really cheap <$1
<tp>
and I a;ways run at 460800 baud with them
<tp>
you using the external clock which comes from the xtal controlled programmer mcu ?
<tabemann>
yeah, I'm using the external clock
<tabemann>
I have to figure out how to get flash working properly with this board
<tp>
i ran your binary btw
<tabemann>
yeah?
<tp>
yeah got the welcome message
<tp>
added 2 + 2
<tp>
just couldnt use read the dictionary
<tp>
-use
<tp>
but it was looking good!
<tabemann>
yeah, there was a bug in that
<tp>
i was expecting it I saw your log comment
<tp>
when I can use it I'll add hardware handshaking and post the patch for you
<tabemann>
okay, I've narrowed it down to when you first create a flash word
<tabemann>
where it complains about flash already being written
<tabemann>
however if I write to flash using flash,
<tabemann>
it has no problems
<tp>
yeah I got that also
<tabemann>
but you can add 2 2 + . you said?
<tp>
I tried to upload one of your Forth files
<tp>
yea
<tp>
nice to see you send a \r\n also
<tp>
unlike Mecrisp-Stellaris where only a \n is sent
<veltas>
Over serial?
<tp>
yeah
<tp>
it's the right unix protocol but all the usual serial terminals are set up for windows
<tp>
even Screen wants a cr as well as a newline
<tp>
so the first thing I do with a new Mecrisp-Stellaris release is ass a \r to the \n and recompile it
<tp>
ass = add
<veltas>
Actually it's the wrong protocol, the protocol is based on a serial for a VT100, ANSI terminal, and similar. There are UNIX controls for automatically generating a carriage return on line feed which are usually enabled
<veltas>
I'm not sure at what level but serial is definitely below that
<veltas>
So even UNIX tools generate a \r\n at the right level
<tp>
ah
<veltas>
So Mecrsip-Stellaris is doing it wrong if it only outputs \n on serial
<tp>
it definitely only outputs \n on serial
<veltas>
I only know this because I work on a product that has very low-level control of serial, and we work with a range of terminals
<tp>
luckily being GPLd and Forth there are plenty of ways for the user to change it
<tp>
veltas, cool, thanks for the info
<tp>
veltas, so only emitting a \n is a vt100 thing ?
<veltas>
No
<veltas>
If we're talking serial, nothing uses only \n unless it works under a misconception
<tabemann>
back
<veltas>
In UNIX \n translates to \r\n for text mode streams, it makes it easier to specify "a new line" in C basically
<veltas>
And I don't think that convention started in UNIX
<veltas>
It's for the programmers, the system translates text streams when going to the terminal to have the appropriate carriage return
<tabemann>
I know that web protocols such as HTTP and IRC traditionally use \r\n
<tabemann>
*Internet protocols
<tp>
sadly Mecrisp-Stellaris 'stair steps' so the user has to fix it
<veltas>
It probably uses the same logic for both serial and other mechanisms
<tp>
which is why it was nice to see that tabemann's Forth emits a \r\n
<veltas>
The correct fix is in the serial driver, translate \n to \r\n, that is what I would do if I was on that platform
dddddd has quit [Ping timeout: 256 seconds]
<tp>
sure, I did suggest that to the author but he's not interested in changing it
<veltas>
I'm not working with serial so my CR just sets the "row" and "column", but I did remember to also set the column so the carriage return made it ;)
<veltas>
tp: I wonder why, he probably doesn't think he's doing it wrong
<tp>
veltas, he agreed he should do it, but wants it as it is
<veltas>
It's likely a big shared misconception about \r\n vs \n being a windows v linux thing, programmers only normally see that difference, the fact UNIX actually cares about the carriage return and even has special controls for it is hidden from most people
<tp>
one does have to take special steps for flash, ram has spoilt us!
<tabemann>
something really weird is going on
<tabemann>
if I write series of halfwords to flash (using my flash, routine which takes a 32-bit value, breaks it up into 32 bit values, and writes them individually)
<tabemann>
it works fine
<tabemann>
but if I first call flash,
<tabemann>
then call bflash, , wihch writes a single byte to flasah
<tabemann>
it complains
* tp
plays the tune for the Twilight Zone ...
<veltas>
Is the word size of the flash a byte?
<tabemann>
yes
<tabemann>
and the flash, routine increments flash-here by four, as expected
<tp>
bbl folks :)
gravicappa has quit [Ping timeout: 240 seconds]
<tabemann>
tp: oh, btw, I got flash working
<tabemann>
it was really an incredibly stupid bug resulting from me copying and pasting part of matthias's code but not all of it
<tabemann>
and it was so obvious when I saw it
<veltas>
Nice
<tabemann>
now the problem is that my interrupt-driven IO is losing characters
<tabemann>
this is probably a side effect of that this board is running at 8 MHz
<tabemann>
because that's how Matthias configured it in the code I copied
<tabemann>
(there's a reason my code is GPL3 - lol)
<veltas>
Why is it GPL3?
<tabemann>
because it allows me to copy Matthias's code
<veltas>
I now license code as 'public domain' equivalents because I don't think I have the right to hold potential legal power or stress over people that use my code
<veltas>
I have also actually seen people avoid stuff because they don't want to include copyright info, but would happily use it if it was like e.g. sqlite where they don't have to attribute or anything
<tabemann>
I've had the problem with zeptoforth that I've had to guess what the correct copyright notice is
<tabemann>
because I've copied code from Matthias but he didn't put a proper copyright notice on his own code
<tabemann>
so I don't know the proper copyright date to use
<veltas>
Hmm
<veltas>
As open source code you're probably going to attribute anyway, or at the least you would admit you copied it if confronted
<tabemann>
so I figure "well, most of his code is from 2013, so this code probably as well"
<veltas>
So I wonder what the point of using copyright law is here to 'force' people to put the 'correct' message down 'somewhere'.
<veltas>
Microsoft actually got complaints for putting MIT copyrights in Windows, because email worms would pick up those addresses and spam the recipients at totally ridiculous rates, millions of emails a day
<veltas>
I mean email addresses in the notices they copied
<tabemann>
ah
<tabemann>
why, MIT notices require email addresses?
<veltas>
They do if you put the email in there
<veltas>
You can imagine Microsoft's logic here anyway, "just put the whole thing in so we can't possibly get in trouble" and then people are angry anyway
<tabemann>
I never put my email in my copyright notices - lol
<tabemann>
putting one's email in a copyright notice seems insane
<veltas>
I am doing public domain equivalent licenses, because it says "you know what, if you take the code and don't attribute me I would not like that, but I will not sue you".
<veltas>
tabemann: Old GPL template (and probably current template) suggests putting an actual address, not just an email, in the copyright
<tabemann>
obviously whoever wrote that did not live in the modern age
<veltas>
How else do you prove it is you who is said to own the code?
<veltas>
The criteria for that proof used to be stricter
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
<veltas>
And I won't call Richard Stallman not living in the modern age, not when he's attributed on so much of the software I use every day
<tabemann>
what I mean is that 1990 wasn't the modern age
<tabemann>
one didn't have to worry about doxxers and email bots in that age
<tabemann>
sometimes I wonder if it was as bad idea for me to actually do my software development under my actual name
<veltas>
No I think that's the best approach
<patrickg>
RMS has a significant impact on the modern age but that doesn't mean he lives in it
<veltas>
Hide in plain sight
<tabemann>
my point was that when the old GPL was written it was in an age before doxxers and email harvesting bots
<tabemann>
where you didn't have to worry about being swatted and whatnot
<patrickg>
I have my full address on my website (as required by law) and I don't particular fear swatting. seems more of a country specific quirk
<veltas>
There have always been people you don't want to make enemies of, and it's never been as simple as just speaking your mind and expecting no fallout or backlash.
<tabemann>
full address on your website?
<tabemann>
the only thing I ever put my full address on is my resume, and I often doubt the wisdom of that
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
<veltas>
Say what you can afford
<patrickg>
tabemann: German media laws: anything that's considered commercial media needs to identify a responsible person. While my site isn't commercial in nature (ads would make it commercial already), the interpretation of that stuff changes over time, and there are less issues with putting an address there than potentially having to deal with a cease&desist
<tabemann>
that seems like it essentially bans privacy
<patrickg>
it depends, I could probably drop the section, but I'd always have to look out for whether what I do requires to put it back
<patrickg>
and for a long time (before GDPR) for .de domains that data was available through whois anyway
<tabemann>
here in the US such information is available via whois by default, but there are ways of anonymizing
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
<tabemann>
ugh
<tabemann>
getting interrupt IO working on the L476 was a breeze compared to this
<tabemann>
again, this is running with an 8 MHz clock while the L476 was running at a 48 MHz clock
<tabemann>
then again, I deliberately slowed down the systick to try to alleviate issues
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
reepca has quit [Read error: Connection reset by peer]