<tabemann>
I'm mentally designing my integer print routine
<tabemann>
because I want it to copy the integer into a provided buffer
<tp>
I'm having fun writing V2 of my diagnostics program, I ran into the dreaded "jump too far" problem with my user menu, but just split it up
<tabemann>
but I want ot handle the case of that buffer being either at the top of the stack or in the PAD space
<tabemann>
but I want to use one of those two for constructing the printed text
<tp>
sounds complicated
<tabemann>
I'm thinking of constructing the string in place, in reverse order, then reversing in place, then using MOVE to move the string to the target destination
<tabemann>
as MOVE properly handles overlapping buffers
<tp>
are you talking about ." " ?
<tp>
or .
<tp>
here is my new simple V2 interface
<tp>
-------
<tp>
Summary
<tp>
-------
<tp>
Serial Number: $D43BA754
<tp>
Part: STM32F1 series
<tp>
Flash bytes, declared: 65536
<tp>
128kB Flash present
<tp>
t - Test for HIDDEN second 64kB Flash block: PASSED
<tp>
p - Print Summary
<tp>
x - Print XML data
<tp>
e - Extra Menu
<tp>
q - QUIT
jedb has quit [Remote host closed the connection]
<tp>
there is a blank line before the menu that starts with "t"
jedb has joined #forth
<tabemann>
tp: the function called by .
<tp>
it's just not shown in xchat
<tp>
ahh
<tabemann>
neat
<tp>
the menu works well, really easy to do and it drops into the "Extra Menu" and back to the first menu with "q"
<tp>
I can now tell which of 3 possible clones the MCU may be
<tabemann>
have you tested each of these clones?
<tp>
no, I dont have any clones
<tp>
i have to rely on people who use my program to do the clone testing
<tp>
but I get a reasonable amount of testing. My V1 dowloads are up to 120 so far
<tp>
thats why I also have a XML dump of all the acquired data with the chip ID as the suggested filename
<tp>
tabemann, it's hard to get a bonafide fake STM32F103, basically one has to buy blue pill boards and wait until they get a fake chip
* tabemann
just discovered that the cortex-m3 has division instructions but no modulus instructions
<tabemann>
rather one has to divide, and then execute multiply-and-subtract (or separate multiplication and subtraction instructions)
<tp>
ouch
<tp>
well the M3 is pretty old
<tp>
16 years
pierpal has joined #forth
<tabemann>
well, it's a bit of extra silicon that is unlikely to get heavy use
<tabemann>
and it's not like a div instruction, where software implementations will be drastically slower
<tabemann>
I'm surprised that the M0 lacks a div instruction
<tp>
as a Forth user I have /mod but Ive never looked to see if my chip has it
<tp>
well the f0 is the smallest chip, very few transistors
<tp>
so I guess some things couldnt be done with the resources available
<tabemann>
it's just that software divisors are sllooooowww
<tp>
yes
<tp>
I find dividing by N*2 is pretty fast ;-)
<tabemann>
yah
<tabemann>
it's when you want to divide by arbitrary numbers that things get bogged down
pierpal has quit [Quit: Poof]
pierpal has joined #forth
<tp>
true
dddddd has quit [Ping timeout: 260 seconds]
dave0 has joined #forth
<tabemann>
okay, I'm gonna hit the sack
<tabemann>
g'night
<tp>
night-o
Lord_Nightmare has quit [Ping timeout: 265 seconds]