diff --git a/Source/Doc/Applications.md b/Source/Doc/Applications.md index 13c40675..cecf0b4d 100644 --- a/Source/Doc/Applications.md +++ b/Source/Doc/Applications.md @@ -596,7 +596,7 @@ 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 at . The author is Brad Rodriguez who is a prolific Forth enthusiast, whose work -can be found here: . +can be found here: . For those are who are not familiar with Forth, I recommend the wikipedia article @@ -618,6 +618,10 @@ words are added to the dictionary. This implementation does not support loading or saving of programs. All programs need to be typed in. Additionally, screen editing and code blocks are not supported. +A CP/M version is not provided with RomWBW, this is only a ROM application. If you need to +run it under CP/M you would need to download it from the camelforth web site, the link is +above. + ### Structure of Forth source files File | Description diff --git a/Source/Doc/Catalog.md b/Source/Doc/Catalog.md index f655598c..f6046b8a 100644 --- a/Source/Doc/Catalog.md +++ b/Source/Doc/Catalog.md @@ -381,11 +381,10 @@ The following files appear in User Area 0 | `GET.COM` | DRI CPM+ Temporarily get console input form a disk file | | `HELP.COM` | DRI CPM+ Display information on how to use commands | | `HELP.HLP` | DRI CPM+ Databse of help information for HELP.COM | -| `HEXCOM.COM` | DRI CPM+ Create a COM file from a hex file output by MAC | +| `HEXCOM.COM` | DRI CPM+ Create a COM file from a hex file (replaces LOAD.COM) | | `INITDIR.COM` | DRI CPM+ Initializes a disk to allow time and date stamping | | `LIB.COM` | DRI object file library manager | | `LINK.COM` | DRI object file linker | -| `LOAD.COM` | DRI loader for Intel hex files | | `MAC.COM` | DRI 8080 macro assembler | | `PATCH.COM` | DRI CPM+ Display or install patch to the CPM+ system or command files | | `PIP.COM` | DRI CPM+ Periperal Interchange Program | diff --git a/Source/Doc/Introduction.md b/Source/Doc/Introduction.md index 7c67d89e..ec7813c3 100644 --- a/Source/Doc/Introduction.md +++ b/Source/Doc/Introduction.md @@ -349,8 +349,7 @@ development of RomWBW. The project can be found at #### Z80 fig-FORTH Dimitri Theulings' implementation of fig-FORTH for the Z80 has a -RomWBW-specific variant. This fig-FORTH is built into the RomWBW -ROM. However, the project itself is hosted at +RomWBW-specific variant. The project is hosted at . #### Assembly Language Programming for the RC2014 Zed diff --git a/Source/Forth/camel80.azm b/Source/Forth/camel80.azm index c1a83e6b..0f8879fe 100644 --- a/Source/Forth/camel80.azm +++ b/Source/Forth/camel80.azm @@ -6,7 +6,7 @@ BF_SYSRESET EQU 0F0h ; RESTART SYSTEM BF_SYSRES_WARM EQU 01h ; WARM START (RESTART BOOT LOADER) -; THE FOLLOWING NEED TO BE SYNCED WITH STD.ASM SO ROMLDR +; THE FOLLOWING NEED TO BE SYNCED WITH INCLUDE.ASM SO ROMLDR ; KNOWS WHERE THIS EXECUTES AT FTH_SIZ EQU 1700h @@ -31,7 +31,7 @@ HB_LOC EQU 0FD80h ; You should have received a copy of the GNU General Public License ; along with this program. If not, see . -; Commercial inquiries should be directed to the author at +; Commercial inquiries should be directed to the author at ; 115 First St., #105, Collingwood, Ontario L9Y 4W3 Canada ; or via email to bj@camelforth.com ; @@ -68,18 +68,18 @@ HB_LOC EQU 0FD80h ; keywords are being passed in a ; macro. ; b1ackmai1er difficultylevelhigh@gmail.com -; 03-Dec 20 v1.02 Add James Bowmans double +; 03-Dec 20 v1.02 Add James Bowmans double ; precision words as per RC2014 -; version. Increase terminal +; version. Increase terminal ; input buffer (TIB) size. -; b1ackmai1er difficultylevelhigh@gmail.com +; b1ackmai1er difficultylevelhigh@gmail.com ; 22-Jan 21 v1.02 Adjust for revised HBIOS ; proxy size. ; b1ackmai1er difficultylevelhigh@gmail.com -; 07-Sep 21 v1.02 Separate additions. +; 07-Sep 21 v1.02 Separate additions. ; 05-Oct 21 v1.02 Add Douglas Beattie Jr.'s ; API call and port read and -; write words. +; write words. ; =============================================== ; Macros to define Forth headers ; HEAD label,length,name,action @@ -296,7 +296,7 @@ dodoes: ; -- a-addr next ; CP/M TERMINAL I/O ============================= - + ;C EMIT c -- output character to console head EMIT,4,EMIT,docode PUSH DE @@ -309,7 +309,7 @@ dodoes: ; -- a-addr POP DE pop BC ; PUT TOP OF STACK IN BC next -; +; ;Z SAVEKEY -- addr temporary storage for KEY? head savekey,7,SAVEKEY,dovar SVKY: DW 0 @@ -318,7 +318,7 @@ SVKY: DW 0 head querykey,4,KEY?,docode PUSH BC ; SAVE TOP OF STACK PUSH DE - PUSH HL ; GET CONSOLE INPUT STATUS VIA HBIOS + PUSH HL ; GET CONSOLE INPUT STATUS VIA HBIOS LD C,CIODEV_CONSOLE ; CONSOLE UNIT TO C LD B,CIOIST ; HBIOS FUNC: INPUT STATUS RST 08 ; HBIOS RETURNS STATUS IN A @@ -334,7 +334,7 @@ key3: LD C,0 LD (HL),B INC HL LD (HL),C - POP HL + POP HL POP DE next @@ -1090,6 +1090,6 @@ ELSE nop ENDIF .DEPHASE - + END diff --git a/Source/HBIOS/layout.inc b/Source/HBIOS/layout.inc index 3c258e34..e2fd12ae 100644 --- a/Source/HBIOS/layout.inc +++ b/Source/HBIOS/layout.inc @@ -63,6 +63,7 @@ BNK1_REMAIN .EQU BNKTOP - BNK1_IMGEND ; REMAINING ; ROM BANK 2 LAYOUT (osimg1.bin) ; ============================== ; +; NOTE FOLLOWING ARE COPY/PASTED INTO camel80.azm !!!!!!!! FTH_LOC .EQU $0200 ; CAMEL FORTH FTH_SIZ .EQU $1700 FTH_END .EQU FTH_LOC + FTH_SIZ diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index 28d2a51f..bcc48ad9 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -2646,7 +2646,7 @@ ra_ent(str_fth, 'F', KY_EX, BID_IMG1, FTH_IMGLOC, FTH_LOC, FTH_SIZ, FTH_LO ra_ent(str_play, 'P', $FF, BID_IMG1, GAM_IMGLOC, GAM_LOC, GAM_SIZ, GAM_LOC) ra_ent(str_net, 'N', $FF, BID_IMG1, NET_IMGLOC, NET_LOC, NET_SIZ, NET_LOC) ra_ent(str_upd, 'X', $FF, BID_IMG1, UPD_IMGLOC, UPD_LOC, UPD_SIZ, UPD_LOC) -ra_ent(str_nvr, 'W', $FF, BID_IMG1, NVR_IMGLOC, NVR_LOC, NVR_SIZ, NVR_LOC) +ra_ent(str_nvr, 'W'+$80, $FF, BID_IMG1, NVR_IMGLOC, NVR_LOC, NVR_SIZ, NVR_LOC) ra_ent(str_user, 'U', $FF, BID_IMG1, USR_IMGLOC, USR_LOC, USR_SIZ, USR_LOC) #endif #if (DSKYENABLE)