scotws / TaliForth2

A Subroutine Threaded Code (STC) ANS-like Forth for the 65c02
Other
86 stars 22 forks source link

The documentation needs to be updated for 64tass #264

Closed SamCoVT closed 3 years ago

SamCoVT commented 3 years ago

I've also been re-reading it and found a few errors. Here's my current list for tracking down later and fixing up. I'll keep re-reading and then go back and fix up everything all at once.

* Running Tali Forth
- [ ] Perhaps after the Command-Line History section, it might be good to
  mention Starting Forth and encourage the user to try that book on Tali2 before
  continuing through this manual.
* Tali Specific Words section
- [ ] In "Tali Specific Words" section, the 1 and 2 stack notes show that they
  put a 0 on the stack.
  - Probably just a copy-pasta from the 0 case.
- [ ] In "Tali Specific Words" section, in digit?, perhaps use "true" and
  "false" in the stack notes (rather than just having f for a flag in both
  situations)
  - What is there is OK, but perhaps it could be clearer
- [ ] In "Tali Specific Words" section, in hexstore, replace "as the
  association" with "has the association"
* Wordlists and Search Order section
- [ ] The "however those are not fully populated..." is no longer true.
* Major Components - Blocks section
- [ ] Replace "had smaller buffers.)" with "had smaller buffers)." as the
  enclosed portion is not a complete sentence.
* The Line-Based Editor
- [ ] Change instructions to use conditional compilation on 64tass version.
- [ ] "your using base ten" should be "you're using base ten"
- [ ] "Note that evaluate will handle line feeds" has an accent mark over N in
  the PDF.
* The Assembler
- [ ] Change the name of the example word from "one-to-tos" to "print-a-one" or
  similar because it doesn't leave the one on the stack.  This name is used in
  several places.
- [ ] The assembler instruction and
* How Tali Forth Works
- [ ] In the Memory Map subsection, just below the memory map diagram, it says
  to refer to definitions.txt but should refer to definitions.asm
- [ ] In the memory diagram, the section at the beginning of RAM is described as
  "User variables", however some of the user variables were moved to the
  beginning of the dictionary space (256 bytes are reserved for user variables
  with the base address obtainable by using the word USERADDR).  This includes
  the block variables and wordlist variables with others possibly being moved if
  we get multitasking working.
  Perhaps "system variables" or similar would be a better for the diagram
* The Data Stack
- [ ] Is that supposed to say that the UPPER half of zero page is available for
  the kernel?  That first paragraph needs to be rewritten to be clearer and/or
  correct.
* Underflow Detection
- [ ] "stripping it out during for user-defined words" needs to be rewritten
  (the during and for don't go together - perhaps "while compiling" would be
  better)
* Elements of the Header
- [ ] Never Native might also be because the word contains flow control
* Input
- [ ] The words "output" and "input" are swapped.  It should also be mentioned
  that the routines should not mess with X or Y if coded in assembly.
* The Word evaluate
- [ ] The files have been renamed to end in .fs instead of .asc
- [ ] Should mention that the *_words.fs files are "minimized" and assembled
  directly into the ROM image as strings.  The way it is written now makes it
  sound like the 65C02 can read them directly from the PC.
* The Ophis Assembler
- [ ] This should be replaced with instructions on how to download and compile
  64tass.
** Processing Regular (Non-Immediate) Words
 - [ ] .scope and .scend need to be modified
 - [ ] _ lables I believe are now only local to the space between normal labels.
SamCoVT commented 3 years ago

In the code, "modern forths to it" -> do it (noted by larsks with a pull request, but I want to make sure it gets into the 64tass branch as that will eventually become the new master)

SamCoVT commented 3 years ago

Completed with #267