Thanks Mikael! This helps, I'll learn more by experimentation.
Hi, The parameter and return stack sizes in task creation makes sense but I'm not very clear on the other two parameters. Can't tasks use variables that are declared normally? what is the benefit of allocation variable address for a task? I also do understand how to allocate space for the TIB. When is it useful and how to decide on the size. -amt
I've tested this on the Atmega328p and it works well. I'll try testing on a PIC24F256GA704 in a few days. Need to set up the circuit.
I've tested the latest code and it works well. Thank you! I also tried power-cycling the chip between the transient word calls. Using the EEPROM to store it is a good move in hindsight. This way random crashes during development won't mess things up.
I tested the transient-definitions feature and it works perfectly on an Atmega328p. Could you add this to the Flashforth forth directory, please? Here's the (slightly cleaned) tested code: \ Transient definitions. Load TRANSient code in high memory \ (e.g. assembler) and DISCARD when no longer needed. -tdf marker -tdf 2variable tmplnk \ Call this before defining the temporary defines \ Size tells how big the transient region is : trans ( size -- ) aligned latest @ align ihere tmplnk 2! flash hi ram...
Thank you! The Transient definitions seems perfect for this. It seems to be a very elegant solution because all the benefits of Forth can be used while assembling. I'll try this approach first. The interpret mode solution is what I was originally looking for. It'd be quite feasible to have Python automate the assembly transparently.
I want to create a new word where all the instructions are inline assembly and then unload asm.fs to save space. Is there a way to create a new word with the contents being filled with opcodes manually?
Fixed exception when the history file is missing. Added help for quitting the terminal