diff --git a/Doc/Contrib/Microsoft NASCOM BASIC.docx b/Doc/Contrib/Microsoft NASCOM BASIC.docx index 6e8af1ab..723b449e 100644 Binary files a/Doc/Contrib/Microsoft NASCOM BASIC.docx and b/Doc/Contrib/Microsoft NASCOM BASIC.docx differ diff --git a/Source/Doc/ROM_Applications.md b/Source/Doc/ROM_Applications.md index 401f462c..14bc50ae 100644 --- a/Source/Doc/ROM_Applications.md +++ b/Source/Doc/ROM_Applications.md @@ -84,7 +84,7 @@ A quick guide to using the Monitor program follows: ``` Monitor Commands (all values in hex): B - Boot system -D xxxx yyyy - Dump memory from xxxx to yyyy +D xxxx [yyyy] - Dump memory from xxxx to yyyy F xxxx yyyy zz - Fill memory from xxxx to yyyy with zz H - Halt system I xxxx - Input from port xxxx @@ -108,10 +108,13 @@ returns to the Boot Loader prompt. ## Dump Memory -D xxxx yyyy - Dump memory from hex location xxxx to yyyy +D xxxx [yyyy] - Dump memory from hex location xxxx to yyyy on the screen as lines of 16 hexadecimal bytes with their ASCII equivalents (if within a set range, else a '.' is -printed). A good tool to see where code is located, check +printed). If the end address is omitted then 256 bytes is +displayed. + +A good tool to see where code is located, check for version id, obtain details for chip configurations and execution paths. @@ -206,7 +209,7 @@ to load a program that has been assembled to a hex file on the remote computer. An excellent online resource for looking up opcodes for entry -can be found here: (https://clrhome.org/table) +can be found here: [https://clrhome.org/table](https://clrhome.org/table) ## Run program @@ -263,14 +266,7 @@ ROM | ROM DRIVE START | 04 | ROM | ROM DRIVE END | 0F | 512K ROM SYSTEM ROM | ROM DRIVE END | 1F | 1024K ROM SYSTEM -## NOTES: - -The RTC utility on the CP/M ROM disk provides facilities -to manipulate the Real Time Clock non-volatile Memory. -Use the C or Z option from the Boot Loader to load CP/M -and then run RTC to see the options list. - -# X-modem transfer +## X-modem transfer T xxxx - Receive an X-modem file transfer and load it into memory starting at location xxxx. @@ -281,16 +277,24 @@ protocol. If the monitor is assembled with the DSKY functionality, this feature will be exclude due to space limitions. + +## NOTES: + +The RTC utility on the CP/M ROM disk provides facilities +to manipulate the Real Time Clock non-volatile Memory. +Use the C or Z option from the Boot Loader to load CP/M +and then run RTC to see the options list. + # FORTH CamelForth is the version of Forth included as part of the boot ROM in ROMWBW. It has been converted from the Z80 CP/M version -published here (www.camelforth.com/page.php?5). The author is Brad +published here [www.camelforth.com/page.php?5](www.camelforth.com/page.php?5). The author is Brad Rodriguez who is a prolific Forth enthusiast, whose work can be -found here: (www.bradrodriguez/papers/index.html) +found here: [www.bradrodriguez/papers/index.html](www.bradrodriguez/papers/index.html) For those are who are not familiar with Forth, I recommend the -wikipedia article (en.wikipedia.org/wiki/Forth_(programming_language)) +wikipedia article [en.wikipedia.org/wiki/Forth_(programming_language](en.wikipedia.org/wiki/Forth_(programming_language)) and the Forth Interest Group website [www.forth.org](www.forth.org) ## Important things to know @@ -332,7 +336,7 @@ allocated for addition words. Exceeding the allocated ROM space will generate an message when building. James Bowman's double precision words have been added from his RC2014 version: -(https://github.com/jamesbowman/camelforth-z80) +[https://github.com/jamesbowman/camelforth-z80](https://github.com/jamesbowman/camelforth-z80) Word | Syntax | Description --------|----------------------------|--------------------------------- @@ -344,8 +348,68 @@ M*/ | d1 n2 u3 -- d=(d1*n2)/u3 | double precision mult. div # BASIC +For those who are not familiar with BASIC, it stands for Beginners All purpose Symbolic +Instruction Code. + +ROMWBW contains two versions of ROM BASIC, a full implementation and a "tiny" BASIC. + +The full implementation is a version of Microsoft BASIC from the NASCOM Computer. + +A comprehensive instruction manual is available in the Doc\Contrib directory. + +## ROMWBW specific features + +- Sound +- Graphics +- Terminal Support + +## ROMWBW unsupported features + +- Cassette loading +- Cassette saving + # TastyBASIC +Integer arithmetic only + +## Direct Commands + +- `LIST` +- `RUN` +- `NEW` +- `CLEAR` +- `BYE` + +## Statements + +- `LET` +- `IF` +- `GOTO` +- `GOSUB RETURN` +- `REM` +- `FOR TO NEXT STEP` +- `INPUT` +- `PRINT` +- `POKE` +- `END` + +## Functions + +- `PEEK` +- `RND` +- `ABS` +- `USR` +- `SIZE` + +## Operators + +- `>=` +- `#` +- `>` +- `=` +- `<=` +- `<` + # Play a Game ## 2048 @@ -511,7 +575,7 @@ exiting to the Boot loader as your machine may not be bootable. Option ( D ) - Duplicate flash #1 to flash #2 -This option will make a copy of flash #1 ont flash #2. The purpose of this is to enable +This option will make a copy of flash #1 onto flash #2. The purpose of this is to enable making a backup copy of the current flash. Intended for systems using 2x512Kb Flash devices. Option ( V ) - Toggle Write Verify