Hello and happy Friday!
It seems that when you load a buffer with a block from the CF card, the buffer number is left on the stack. I can’t figure out where this is happening and so I cannot submit a proposed fix. Sorry!
To reproduce:
- With a CF card installed, do
1 list
. Then do0 o
. This will prompt you to enter text for line0
on block 1. Enter1 2 3 4
. - Type
flush
to save the block. - Repeat the process with block 2, except with text
5 6 7 8
. - Type
xx
to make sure that the stack is cleared. - Type
1 2 thru
to load and execute blocks 1 and 2. - Check the stack with
.s
- On my machine the result is:
20953 1 2 3 4 20953 5 6 7 8
This is the buffer address followed by the contents of the block. I imagine the buffer address will vary on different machines. - The expected stack result is:
1 2 3 4 5 6 7 8
.
You can verify the expected result by running the same test using Tali Forth in py65mon, using 4 block-ramdrive-init
and editor-wordlist >order
to initialize the block ramdrive system before performing the above tests. You can also run the block-ramdrive-init version on the Planck machine and it will work the same way.
If it would be better for me to submit this on the Gitlab site, I’m glad to do so.
Best wishes, Ben